// Importar estilos (los usuarios también pueden importar manualmente desde 'anima-ds-nucleus/styles')
import './style.css';

// Design tokens (fuentes, etc.)
export { FONT_FAMILY_SANS, FONT_FAMILY_MONO } from './designTokens';

// Atoms
export { Button } from './components/Atoms/Button/Button';
export { PrimaryActionButton } from './components/Atoms/PrimaryActionButton/PrimaryActionButton';
export { Typography } from './components/Atoms/Typography/Typography';
export { Badge } from './components/Atoms/Badge/Badge';
export { BadgeAzul, BADGE_AZUL_STYLE } from './components/Atoms/BadgeAzul/BadgeAzul';
export { Alert } from './components/Atoms/Alert/Alert';
export { Icon } from './components/Atoms/Icon/Icon';
export { Avatar } from './components/Atoms/Avatar/Avatar';
export { Spinner } from './components/Atoms/Spinner/Spinner';
export { Progress } from './components/Atoms/Progress/Progress';
export { Divider } from './components/Atoms/Divider/Divider';
export { Skeleton } from './components/Atoms/Skeleton/Skeleton';
export { Toast } from './components/Atoms/Toast/Toast';
export { Tooltip } from './components/Atoms/Tooltip/Tooltip';
export { LogoHexa } from './components/Atoms/LogoHexa/LogoHexa';
export { BadgeContainer } from './components/Atoms/BadgeContainer/BadgeContainer';

// Inputs
export { Input } from './components/Inputs/Input/Input';
export { PrimaryInput } from './components/Inputs/PrimaryInput/PrimaryInput';
export { PrimarySelect } from './components/Inputs/PrimarySelect/PrimarySelect';
export { PrimaryDropdownSelect } from './components/Inputs/PrimaryDropdownSelect/PrimaryDropdownSelect';
export { PRIMARY_DROPDOWN_SELECT_ACTIVE_COLOR } from './components/Inputs/PrimaryDropdownSelect/primaryDropdownSelectStyles';
export { Checkbox } from './components/Inputs/Checkbox/Checkbox';
export { RadioButton } from './components/Inputs/RadioButton/RadioButton';
export { Options } from './components/Inputs/Options/Options';
export { Select } from './components/Inputs/Select/Select';
export { Textarea } from './components/Inputs/Textarea/Textarea';
export { Switch } from './components/Inputs/Switch/Switch';
export { DatePicker } from './components/Inputs/DatePicker/DatePicker';
export { FileUpload } from './components/Inputs/FileUpload/FileUpload';

// Layout
export { Layout } from './components/Layout/Layout/Layout';
export { HeaderConBuscador } from './components/Layout/Header/HeaderConBuscador';
export { HeaderCore } from './components/Layout/Header/HeaderCore';
export { HeaderPoint } from './components/Layout/Header/HeaderPoint';
export { HeaderGeneral } from './components/Layout/Header/HeaderGeneral';
export { HeaderCompartido } from './components/Layout/Header/HeaderCompartido';
export { SidebarCore, SidebarCoreMobile } from './components/Layout/Sidebar/SidebarCore';
export { SidebarPoint, SidebarPointMobile } from './components/Layout/Sidebar/SidebarPoint';
export { NavPoint } from './components/Layout/NavPoint/NavPoint';
export { Modal } from './components/Layout/Modal/Modal';
export { ModalInformativo } from './components/Layout/ModalInformativo/ModalInformativo';
export { ModalShell } from './components/Layout/ModalShell/ModalShell';
export { MODAL_SHELL_OVERLAY_BG, MODAL_SHELL_TITLE_STYLE } from './components/Layout/ModalShell/modalShellStyles';
export {
  ModalCatalogoPuestos,
  MODAL_CATALOGO_PUESTOS_DEFAULT_ITEMS,
} from './components/Layout/ModalCatalogoPuestos/ModalCatalogoPuestos';
export {
  MODAL_CATALOGO_PUESTOS_WIDTH_PX,
  MODAL_CATALOGO_PUESTOS_HEIGHT_PX, 
} from './components/Layout/ModalCatalogoPuestos/modalCatalogoPuestosStyles';
export {
  ModalUnidadOrganizativa,
  MODAL_UNIDAD_ORGANIZATIVA_DEFAULT_VALUES,
  MODAL_UNIDAD_ORGANIZATIVA_DEFAULT_EMPRESA_OPTIONS,
  MODAL_UNIDAD_ORGANIZATIVA_DEFAULT_NODO_PADRE_OPTIONS,
  MODAL_UNIDAD_ORGANIZATIVA_DEFAULT_RESPONSABLE_OPTIONS,
} from './components/Layout/ModalUnidadOrganizativa/ModalUnidadOrganizativa';
export { MODAL_UNIDAD_ORGANIZATIVA_WIDTH_PX, MODAL_UNIDAD_ORGANIZATIVA_HEIGHT_PX } from './components/Layout/ModalUnidadOrganizativa/modalUnidadOrganizativaStyles';
export {
  ModalAsignarPersona,
  MODAL_ASIGNAR_PERSONA_DEFAULT_VALUES,
  MODAL_ASIGNAR_PERSONA_DEFAULT_EMPRESA_OPTIONS,
  MODAL_ASIGNAR_PERSONA_DEFAULT_PERSONA_OPTIONS,
  MODAL_ASIGNAR_PERSONA_DEFAULT_UNIDAD_OPTIONS,
} from './components/Layout/ModalAsignarPersona/ModalAsignarPersona';
export { MODAL_ASIGNAR_PERSONA_WIDTH_PX, MODAL_ASIGNAR_PERSONA_HEIGHT_PX } from './components/Layout/ModalAsignarPersona/modalAsignarPersonaStyles';
export { ModalDetalleUnidad, MODAL_DETALLE_UNIDAD_TAB_IDS } from './components/Layout/ModalDetalleUnidad/ModalDetalleUnidad';
export {
  MODAL_DETALLE_UNIDAD_WIDTH_PX,
  MODAL_DETALLE_UNIDAD_HEIGHT_PX,
} from './components/Layout/ModalDetalleUnidad/modalDetalleUnidadStyles';
export { Tabs, buildTabItems, clampTabIndex, TAB_IDS } from './components/Layout/Tabs/Tabs';
export { TabsLegacy } from './components/Layout/Tabs/TabsLegacy';
export { Accordion } from './components/Layout/Accordion/Accordion';
export { Breadcrumbs } from './components/Layout/Breadcrumbs/Breadcrumbs';
export { Pagination } from './components/Layout/Pagination/Pagination';
export { Drawer } from './components/Layout/Drawer/Drawer';
export { Dropdown } from './components/Layout/Dropdown/Dropdown';
export { MenuAcciones } from './components/Layout/MenuAcciones/MenuAcciones';
export { Stepper } from './components/Layout/Stepper/Stepper';
export { Organigrama } from './components/Layout/Organigrama/Organigrama';
export { OrganigramaUnitCard } from './components/Layout/Organigrama/OrganigramaUnitCard';
export { OrganigramaZoomControls } from './components/Layout/Organigrama/OrganigramaZoomControls';
export { ORGANIGRAMA_DEFAULT_TREE } from './components/Layout/Organigrama/organigramaDefaults';
export { layoutOrganigramaTree } from './components/Layout/Organigrama/organigramaLayout';
export {
  ORGANIGRAMA_NODE_HEADER_BG,
  ORGANIGRAMA_NODE_HEADER_SUBTITLE_COLOR,
  ORGANIGRAMA_NODE_HEADER_TITLE_COLOR,
  ORGANIGRAMA_EDGE_COLOR,
  ORGANIGRAMA_CARD_WIDTH_PX,
  ORGANIGRAMA_DEFAULT_ZOOM,
  ORGANIGRAMA_ZOOM_MIN,
  ORGANIGRAMA_ZOOM_MAX,
} from './components/Layout/Organigrama/organigramaStyles';
export {
  STEPPER_ACTIVE_BG,
  STEPPER_ACTIVE_NUMBER,
  STEPPER_COMPLETED_BORDER,
  STEPPER_COMPLETED_FILL,
  STEPPER_COMPLETED_ICON,
  STEPPER_DEFAULT_MAX_WIDTH,
  STEPPER_INACTIVE_BG,
  STEPPER_LABEL_ACTIVE,
  STEPPER_LABEL_INACTIVE,
  STEPPER_LINE,
  getStepperGridTemplateColumns,
} from './components/Layout/Stepper/stepperStyles';
export { Filtros, getFiltrosHasActiveFilters } from './components/Layout/Filtros/Filtros';
export { FiltrosAvanzados } from './components/Layout/FiltrosAvanzados/FiltrosAvanzados';
export { AppliedFilters } from './components/Layout/AppliedFilters/AppliedFilters';
export { SaludoConFechaDashboard } from './components/Layout/SaludoConFechaDashboard/SaludoConFechaDashboard';
export { AccionesRapidas } from './components/Layout/AccionesRapidas/AccionesRapidas';
export {
  AccionesPoint,
  resolveAccionesPointIconName,
} from './components/AccionesPoint/AccionesPoint';
export {
  TareasPendientesPoint,
  TAREAS_PENDIENTES_POINT_WIDTH_PX,
  TAREAS_PENDIENTES_POINT_HEIGHT_PX,
} from './components/Layout/TareasPendientesPoint/TareasPendientesPoint';
export {
  RecibosPoint,
  RECIBOS_POINT_DEFAULT_ITEMS,
  RECIBOS_POINT_DEFAULT_SECTION_TITLE,
  RECIBOS_POINT_SKELETON_ITEM_COUNT,
} from './components/Layout/RecibosPoint/RecibosPoint';
export { DesplegablePerfil } from './components/Layout/DesplegablePerfil/DesplegablePerfil';
export { TenantActive } from './components/Layout/TenantActive/TenantActive';
export { TenantConfig } from './components/Layout/TenantConfig/TenantConfig';
export { UltimaActualizacion } from './components/Layout/UltimaActualizacion/UltimaActualizacion';
export { ConfiguracionMarcaTenant } from './components/Layout/ConfiguracionMarcaTenant/ConfiguracionMarcaTenant';
export { IdentidadVisual } from './components/Layout/IdentidadVisual/IdentidadVisual';
export { ConfiguracionLocalizacion } from './components/Layout/ConfiguracionLocalizacion/ConfiguracionLocalizacion';
export { Preferencias } from './components/Layout/Preferencias/Preferencias';
export { CambiarContrasena } from './components/Layout/CambiarContrasena/CambiarContrasena';
export { Organizacion } from './components/Layout/Organizacion/Organizacion';
export { Cuenta } from './components/Layout/Cuenta/Cuenta';
export { Empresa, DEFAULT_STATUS_OPTIONS } from './components/Layout/Empresa/Empresa';
export { Article } from './components/Layout/Article/Article';
export { ListaEmpresas, LISTA_EMPRESAS_PAGE_SIZE_DEFAULT } from './components/Layout/ListaEmpresas/ListaEmpresas';
export { CardGrande } from './components/Layout/CardGrande/CardGrande';
export { CardsEmpresas } from './components/Layout/CardsEmpresas/CardsEmpresas';
export { ListaPersonas } from './components/Layout/ListaPersonas/ListaPersonas';
export {
  VistaRapidaPerfil,
  VISTA_RAPIDA_PERFIL_WIDTH_PX,
  VISTA_RAPIDA_PERFIL_HEIGHT_PX,
  VISTA_RAPIDA_PERFIL_DEFAULT_RESPONSIVE_MAX_PX,
} from './components/Layout/VistaRapidaPerfil/VistaRapidaPerfil';
export { VistaDocumento } from './components/Layout/VistaDocumento/VistaDocumento';
export {
  VistaDatos,
  VISTA_DATOS_DESKTOP_WIDTH_PX,
  VISTA_DATOS_DESKTOP_HEIGHT_PX,
  VISTA_DATOS_COLUMN_WIDTH_PX,
  VISTA_DATOS_COLUMN_HEIGHT_PX,
  VISTA_DATOS_COLUMN_PANEL_STYLE,
  VISTA_DATOS_COLUMN_TITLE_STYLE,
  VISTA_DATOS_SECTION_LABEL_STYLE,
  VISTA_DATOS_FILE_NAME_STYLE,
  VISTA_DATOS_SEARCH_BOX_STYLE,
} from './components/Layout/VistaDatos/VistaDatos';
export {
  VistaDatosDetalleAlerta,
  VISTA_DATOS_DETALLE_ALERT_STYLE,
  VISTA_DATOS_DETALLE_ALERT_TEXT_STYLE,
  VISTA_DATOS_DETALLE_ALERT_COLOR,
} from './components/Layout/VistaDatos/VistaDatosDetalleAlerta';
export {
  VistaDatosDetallePanel,
  VISTA_DATOS_DETALLE_DEFAULTS,
} from './components/Layout/VistaDatos/VistaDatosDetallePanel';
export {
  VistaDatosDocumentosList,
  VISTA_DATOS_DOCUMENTOS_DEFAULTS,
} from './components/Layout/VistaDatos/VistaDatosDocumentosList';
export { VistaDatosDocumentosPaginacion } from './components/Layout/VistaDatos/VistaDatosDocumentosPaginacion';
export { VistaDatosDocumentoItem } from './components/Layout/VistaDatos/VistaDatosDocumentoItem';
export {
  DOCUMENTO_ESTADO_ICON_SUCCESS_STYLE,
  DOCUMENTO_ESTADO_ICON_ERROR_STYLE,
} from './components/Layout/VistaDatos/documentoEstadoIconStyles';
export { GreenScrollbar } from './components/Layout/VistaDatos/GreenScrollbar';
export {
  GREEN_SCROLLBAR_TRACK_COLOR,
  GREEN_SCROLLBAR_THUMB_COLOR,
} from './components/Layout/VistaDatos/greenScrollbarConstants';
export {
  VISTA_DATOS_DETALLE_EMPRESA_ICON_BOX_STYLE,
  VISTA_DATOS_DETALLE_EMPRESA_NOMBRE_STYLE,
  VISTA_DATOS_DETALLE_ROW_TEXT_STYLE,
  VISTA_DATOS_DETALLE_ROW_LABEL_STYLE,
  VISTA_DATOS_DETALLE_ROW_VALUE_STYLE,
  VISTA_DATOS_DETALLE_DIVIDER_STYLE,
  VISTA_DATOS_DETALLE_STAT_VALUE_STYLE,
  VISTA_DATOS_DETALLE_STAT_LABEL_STYLE,
  VISTA_DATOS_DETALLE_STATS_WRAP_STYLE,
  VISTA_DATOS_DETALLE_STATS_GRID_STYLE,
  VISTA_DATOS_DETALLE_STATS_DIVIDER_STYLE,
} from './components/Layout/VistaDatos/vistaDatosDetalleStyles';
export {
  VistaDatosCountBadge,
  VISTA_DATOS_COUNT_BADGE_STYLE,
} from './components/Layout/VistaDatos/VistaDatosCountBadge';
export {
  AltaEdicionPersonas,
  EMPTY_PERSONA_FORM,
  PersonaDocumentosTablaPanel,
  buildDocumentosAppliedFiltersFromPayload,
  DEFAULT_DOCUMENTOS_FILTROS_BUILD_CONFIG,
} from './components/Layout/AltaEdicionPersonas/AltaEdicionPersonas';
export {
  validatePersonaFotoFile,
  PERSONA_FOTO_MAX_BYTES,
  PERSONA_FOTO_ACCEPT_MIME,
} from './components/Layout/AltaEdicionPersonas/validatePersonaFoto';
export {
  isPersonaEmailFormatValid,
  isPersonaTelefonoDigitCountValid,
  sanitizePersonaTelefonoInput,
  PERSONA_TELEFONO_MIN_DIGITS,
  PERSONA_TELEFONO_MAX_DIGITS,
} from './components/Layout/AltaEdicionPersonas/contactoValidators';
export {
  isoMaxFechaNacimientoParaEdadMinima,
  isoMinFechaNacimientoParaEdadMaxima,
  cumpleEdadMinima,
} from './components/Layout/AltaEdicionPersonas/fechaNacimientoHelpers';
export { CardsPersonas } from './components/Layout/CardsPersonas/CardsPersonas';
export {
  Tabla,
  DEFAULT_TABLA_COLUMNS,
  DEFAULT_TABLA_ROWS,
  tiempoRelativoEnEspanol,
} from './components/Layout/Tabla/Tabla';
export { TablaSearch } from './components/Layout/Tabla/TablaSearch';
export { ConfiguracionOverview } from './components/Layout/ConfiguracionOverview/ConfiguracionOverview';
export { ConfiguracionUsuarios } from './components/Layout/ConfiguracionUsuarios/ConfiguracionUsuarios';
export { ErrorGeneral } from './components/Layout/ErrorGeneral/ErrorGeneral';

// DataDisplay
export { Card } from './components/DataDisplay/Card/Card';
export { CardContent } from './components/DataDisplay/Card/CardContent';
export { CardSkeleton } from './components/DataDisplay/Card/CardSkeleton';
export { CardVacia } from './components/DataDisplay/Card/CardVacia';
export { CardError } from './components/DataDisplay/Card/CardError';
export { DBGrid } from './components/DataDisplay/DBGrid/DBGrid';
export { LineChart } from './components/DataDisplay/LineChart/LineChart';
export { BarChart } from './components/DataDisplay/BarChart/BarChart';
export { AreaChart } from './components/DataDisplay/AreaChart/AreaChart';
export { PieChart } from './components/DataDisplay/PieChart/PieChart';
export { DonutChart } from './components/DataDisplay/DonutChart/DonutChart';
export { ColumnChart } from './components/DataDisplay/ColumnChart/ColumnChart';
export { EmptyState } from './components/DataDisplay/EmptyState/EmptyState';
export { VistaSinDatos } from './components/DataDisplay/VistaSinDatos/VistaSinDatos';
export { StatCard } from './components/DataDisplay/StatCard/StatCard';
export { Timeline } from './components/DataDisplay/Timeline/Timeline';
export { List } from './components/DataDisplay/List/List';
export { TagList } from './components/DataDisplay/TagList/TagList';

// Views
export { LoginForm } from './components/Views/LoginForm/LoginForm';
export { ChangePasswordForm } from './components/Views/ChangePasswordForm/ChangePasswordForm';
export { ChangePasswordConfig } from './components/Views/ChangePasswordConfig/ChangePasswordConfig';
export { ForgotPassword } from './components/Views/ForgotPassword/ForgotPassword';
export { NewPassword } from './components/Views/NewPassword/NewPassword';
export { Chat } from './components/Views/Chat/Chat';

// Providers & i18n (portal: idioma + textos del DS)
export { I18nProvider } from './providers/I18nProvider';
export {
  default as i18n,
  I18N_LANGUAGE_STORAGE_KEY,
  SUPPORTED_PORTAL_LANGUAGES,
  getStoredLanguage,
  setPortalLanguage,
} from './i18n/config';

