kawkab-frontend
Version:
Kawkab frontend is a frontend library for the Kawkab framework
57 lines (56 loc) • 3.27 kB
TypeScript
import { ApiClient } from './core/ApiClient';
import { AuthManager } from './core/AuthManager';
import { SocketClient } from './core/SocketClient';
import { ClientStorage } from './core/ClientStorage';
export interface KawkabClientConfig {
apiBaseUrl: string;
socketUrl?: string;
storageType?: 'localStorage' | 'sessionStorage';
auth?: {
tokenKey?: string;
};
}
declare let apiInstance: ApiClient;
declare let authInstance: AuthManager;
declare let socketInstance: SocketClient | null;
declare let storageInstance: ClientStorage;
declare function init(config: KawkabClientConfig): void;
export { init, apiInstance as api, authInstance as auth, socketInstance as socket, storageInstance as storage, };
export { ApiClient, type ApiClientConfig } from './core/ApiClient';
export { AuthManager } from './core/AuthManager';
export { SocketClient } from './core/SocketClient';
export { ClientStorage } from './core/ClientStorage';
export { BaseRepository } from './core/BaseRepository';
export { BaseModel } from './core/BaseModel';
export { createStore, defineStore, persistStore } from './core/createStore';
export { rule } from './validation/zod';
export { env, setEnv } from './env/env';
export { collect } from './utils/collect';
export { Str as str } from './utils/string';
export { Time as time } from './utils/time';
export { Num as num } from './utils/number';
export { formatTranslations } from './utils/translation';
export { Cookie as cookie } from './utils/cookie';
export { LocalStorage as localStorage } from './utils/localStorage';
export { SessionStorage as sessionStorage } from './utils/sessionStorage';
export { translator, t, changeLanguage, getCurrentLanguage, getLanguageDirection, isRTL, isLTR, } from './utils/translator';
export { translate, getI18nInstance, setCurrentLanguage, detectLanguageFromCookies, detectLanguageFromHeader, initLanguageFromRequest, hydrateLanguage, updateDocumentLanguage, initI18n, getI18nDebugInfo, onLanguageChange, } from './utils/i18n';
export { useApi } from './hooks/useApi';
export { useAuth } from './hooks/useAuth';
export { useSocket } from './hooks/useSocket';
export { useForm } from './hooks/useForm';
export { useRouteParams, useQuery } from './hooks/useRouter';
export { useTranslation } from './hooks/useTranslation';
export { useCookie } from './hooks/useCookie';
export { useLocalStorage } from './hooks/useLocalStorage';
export { useSessionStorage } from './hooks/useSessionStorage';
export { TranslationProvider } from './components/TranslationProvider';
export { Meta } from './components/meta/Meta';
export { Links } from './components/meta/Links';
export { Scripts } from './components/meta/Scripts';
export { Kawkab } from './components/Kawkab';
export { Image } from './components/Image';
export { Outlet, Link, NavLink, Form, ScrollRestoration, useNavigate, useNavigation, useParams, useLocation, useFetcher, useLoaderData, useActionData, isRouteErrorResponse, redirect, type RouteObject, type NavLinkProps, type LinkProps, type FormProps, type ActionFunctionArgs, type LoaderFunctionArgs, type ErrorResponse, } from 'react-router-dom';
export type { Collection } from 'collect.js';
export type { Dayjs } from 'dayjs';
export type { ApiError } from './core/ApiClient';