/** * @decido/ui — Registro de inyección dinámica de dependencias * * Permite romper la dependencia circular entre @decido/ui y @decido/sdk. * El SDK inyecta el hook useSetting en caliente al inicializarse. */ let activeUseSettingHook: any = null; export function setUseSettingHook(hook: any) { activeUseSettingHook = hook; } export function useSetting( key: string, defaultValue?: T ): [T, (newValue: T) => Promise, { isSaving: boolean; isLoading: boolean }] { if (!activeUseSettingHook) { // Fallback de desarrollo inerte si aún no se ha inyectado el SDK return [ defaultValue as T, async () => {}, { isSaving: false, isLoading: false } ]; } return activeUseSettingHook(key, defaultValue); }