UNPKG

typed-bem

Version:
7 lines (4 loc) 772 B
import { B as BemBlocks, a as BemSchema } from './shared/typed-bem.DsSxeKVt.js'; type KeysOfSet<T> = T extends Set<infer U> ? U : never; declare function generateBemClassNames<B extends BemBlocks<BemSchema>>(): <BlockName extends keyof B, ElementName extends keyof NonNullable<B[BlockName]["elements"]>>(blockName: BlockName, blockModifiersOrElementName?: (KeysOfSet<B[BlockName]["modifiers"]> extends never ? undefined : Partial<Record<KeysOfSet<B[BlockName]["modifiers"]>, boolean>>) | ElementName, elementModifiers?: KeysOfSet<NonNullable<B[BlockName]["elements"]>[ElementName]["modifiers"]> extends never ? undefined : Partial<Record<KeysOfSet<NonNullable<B[BlockName]["elements"]>[ElementName]["modifiers"]>, boolean>>) => string; export { generateBemClassNames };