@ramses-superapp/ramses-ui
Version:
Skinless UI primitives for Ramses Built Apps
17 lines (16 loc) • 647 B
JavaScript
;
import { useMemo } from 'react';
import { useTheme } from "./ThemeProvider.js";
/**
* useThemedStyles - Memoize theme-aware styles with optional dynamic inputs.
* @param styleFn - (theme, ...args) => StyleSheet object
* @param deps - Array of dependencies (besides theme) to trigger recalculation
* @returns Memoized style object
*/
export function useThemedStyles(styleFn, ...args) {
const theme = useTheme();
// Memoize styles based on theme and args
// eslint-disable-next-line react-hooks/exhaustive-deps
return useMemo(() => styleFn(theme, ...args), [theme, ...args]);
}
//# sourceMappingURL=useThemedStyles.js.map