Files
lucide/packages/lucide-react/src/context.ts
T
songkeysandEric Fennis a6e648a66f fix(lucide-react): correct client directives in RSC files (#4189)
* fix(lucide-react): correct client directives in RSC files

* format code

* Add TS ignore

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-03-23 14:57:14 +01:00

43 lines
896 B
TypeScript

'use client';
import { createContext, createElement, type ReactNode, useContext, useMemo } from 'react';
import { LucideProps } from './types';
type LucideConfig = {
size: number;
color: string;
strokeWidth: number;
absoluteStrokeWidth: boolean;
className: string;
};
const LucideContext = createContext<LucideProps>({});
type LucideProviderProps = {
children: ReactNode;
} & Partial<LucideConfig>;
export function LucideProvider({
children,
size,
color,
strokeWidth,
absoluteStrokeWidth,
className,
}: LucideProviderProps) {
const value = useMemo(
() => ({
size,
color,
strokeWidth,
absoluteStrokeWidth,
className,
}),
[size, color, strokeWidth, absoluteStrokeWidth, className],
);
return createElement(LucideContext.Provider, { value }, children);
}
export const useLucideContext = () => useContext(LucideContext);