import React from 'react';
/**
* Selector de compañía del tablero de indicadores.
*
* Es una copia deliberada del de MasterCrud, no una abstracción compartida.
* Ese es el patrón del kit: `MasterCrud` tiene el suyo, `MasterPatternView` tiene
* otro (`toolbar/CompanySelector`) y `MasterDocument` monta el propio. Cada módulo
* necesita props distintas —aquí hace falta buscador y opciones deshabilitadas con
* motivo, que los maestros no piden— y factorizarlos en uno solo obligaría a tocar
* un componente del que dependen los maestros para servir a una pantalla nueva.
*
* El aspecto es idéntico al de Ítems, a propósito. Mismo chip azul de marca, mismo icono
* contextual —globo cuando el alcance es Global, edificio cuando es una compañía—, mismo panel
* con divisor, mismo check azul en la activa. Un usuario que cambia de compañía en Ítems y luego
* en el tablero tiene que estar haciendo el mismo gesto sobre el mismo control.
*
* Los colores salen de la escala `primary-*` del kit, no de hexadecimales. El chip usaba
* siete literales y seis de ellos ERAN esos tokens (`#93d1fd` = `primary-300`,
* `#1355b7` = `primary-800`, `#dbeefe` = `primary-100`, `#3c9bf6` = `primary-500`,
* `#0e79fd` = `primary-600`), mientras su propia variante oscura ya los nombraba. La regla del
* módulo (`index.css`) es que ningún componente del tablero declare un hexadecimal; este control
* es del ERP y no una tarjeta del tablero, así que su excepción es usar `primary-*` en vez de
* `--dash-*` — no cablear el valor.
*
* Lo que este añade y los maestros no tienen:
*
* - Buscador, porque un tablero de dirección se consulta en organizaciones
* con muchas compañías y un panel sin filtro deja de ser usable.
* - Opciones deshabilitadas con su motivo, para `Global`: en un maestro
* significa "registro que aplica a todas"; en un tablero significaría consolidar
* varias compañías, que es otra operación — y sumar cifras en monedas distintas
* da un número creíble y sin significado.
*/
export interface DashboardCompany {
uuid: string;
name: string;
code?: string | null;
/** Si el usuario la tiene habilitada. `undefined` oculta la pill de estado. */
enabled?: boolean;
}
/** El uuid con el que los maestros representan el alcance Global. Mismo convenio. */
export declare const GLOBAL_UUID = "000";
/** A partir de cuántas compañías aparece el buscador solo. */
export declare const SEARCH_THRESHOLD = 8;
export interface DashboardCompanySelectorProps {
companies: DashboardCompany[];
selectedCompanyId?: string | null;
onCompanyChange: (company: DashboardCompany) => void;
/**
* Opciones visibles pero no elegibles, con el motivo como tooltip.
* `{ '000': 'Las compañías habilitadas manejan monedas distintas' }`
*
* Se muestran en vez de ocultarse. Quien conoce una opción de otra pantalla
* y no la encuentra aquí asume que falta o que algo se rompió; verla apagada con
* su motivo le dice que existe y por qué hoy no aplica.
*/
optionDisabledReasons?: Record;
/** `'auto'` enciende el buscador a partir de {@link SEARCH_THRESHOLD} compañías. */
searchable?: boolean | 'auto';
disabled?: boolean;
className?: string;
}
export declare const DashboardCompanySelector: React.FC;
//# sourceMappingURL=DashboardCompanySelector.d.ts.map