@equinor/fusion-react-styles
Version:
style lib inspired by @material-ui/styles
31 lines • 1.11 kB
TypeScript
/**
* Creates a class name generator function for JSS
*
* This generator creates unique class names with optional seed prefixes.
* The seed prefix is crucial for isolating styles in nested StylesProviders,
* preventing class name collisions in dynamically loaded modules.
*
* Format:
* - Development: `{seed}-{classNamePrefix}-{ruleKey}-{counter}`
* - Production: `{seed}jss{counter}` (shorter for bundle size)
*
* @param seed - Optional seed prefix for class names (e.g., "my-module")
* @returns A function that generates unique class names for each rule
*
* @example
* ```tsx
* const generate = createGenerateClassName('my-module');
* generate({ key: 'root' }); // "my-module-makeStyles-root-1"
* generate({ key: 'button' }); // "my-module-makeStyles-button-2"
* ```
*/
export declare function createGenerateClassName(seed?: string): (rule: {
key: string;
}, sheet?: unknown) => string;
/**
* Default class name generator
*/
export declare const defaultGenerateClassName: (rule: {
key: string;
}, sheet?: unknown) => string;
//# sourceMappingURL=class-name-generator.d.ts.map