react-chrono
Version:
A Modern Timeline component for React
109 lines • 3.28 kB
TypeScript
import { TimelineI18nConfig } from '../models/TimelineI18n';
/**
* Hook for managing internationalization in the timeline component
*/
export declare function useI18n(i18nConfig?: TimelineI18nConfig): {
texts: Required<TimelineI18nConfig>;
getText: <K extends keyof TimelineI18nConfig>(category: K, key: keyof Required<TimelineI18nConfig>[K], variables?: Record<string, string | number>) => string;
navigation: {
first: () => string;
last: () => string;
next: () => string;
previous: () => string;
play: () => string;
stop: () => string;
pause: () => string;
resume: () => string;
};
search: {
placeholder: () => string;
ariaLabel: () => string;
clearLabel: () => string;
nextMatch: () => string;
previousMatch: () => string;
resultsCount: (current: number, total: number) => string;
noResults: () => string;
navigationLabel: () => string;
};
theme: {
darkMode: () => string;
lightMode: () => string;
toggleTheme: () => string;
};
layout: {
vertical: () => string;
horizontal: () => string;
alternating: () => string;
horizontalAll: () => string;
switchLayout: () => string;
layoutSelection: () => string;
};
fullscreen: {
enterFullscreen: () => string;
exitFullscreen: () => string;
notSupported: () => string;
errorMessage: () => string;
};
quickJump: {
jumpTo: () => string;
jumpToAriaLabel: () => string;
itemTemplate: (index: number, title: string) => string;
};
content: {
readMore: () => string;
showLess: () => string;
expand: () => string;
collapse: () => string;
cardInteraction: () => string;
};
status: {
loading: () => string;
error: () => string;
noItems: () => string;
empty: () => string;
};
accessibility: {
timelineNavigation: () => string;
timelineContainer: () => string;
timelineItem: () => string;
activeItem: () => string;
timelinePoint: () => string;
timelineCard: () => string;
nestedItems: () => string;
itemPosition: (current: number, total: number) => string;
};
view: {
compact: () => string;
detailed: () => string;
toggleDensity: () => string;
densitySelection: () => string;
};
keyboard: {
arrowKeys: () => string;
homeKey: () => string;
endKey: () => string;
enterKey: () => string;
escapeKey: () => string;
tabNavigation: () => string;
keyboardHelp: () => string;
};
};
/**
* Legacy compatibility helper - maps new i18n structure to old buttonTexts format
*/
export declare function mapI18nToButtonTexts(i18nConfig?: TimelineI18nConfig): {
first: string;
last: string;
next: string;
previous: string;
play: string;
stop: string;
searchPlaceholder: string;
searchAriaLabel: string;
clearSearch: string;
nextMatch: string;
previousMatch: string;
dark: string;
light: string;
};
//# sourceMappingURL=useI18n.d.ts.map