@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
164 lines (163 loc) • 9.18 kB
TypeScript
type KoliBriComponentsBemSchema = {
'kol-alert': {
elements: {
container: {
modifiers: null;
};
icon: {
modifiers: null;
};
heading: {
modifiers: Set<'h0' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>;
};
content: {
modifiers: null;
};
closer: {
modifiers: null;
};
};
modifiers: Set<'hasCloser' | 'type-default' | 'type-error' | 'type-info' | 'type-success' | 'type-warning' | 'variant-card' | 'variant-msg'>;
};
'kol-avatar': {
elements: {
image: {
modifiers: null;
};
initials: {
modifiers: null;
};
};
modifiers: null;
};
'kol-icon': {
elements: {
icon: {
modifiers: null;
};
};
modifiers: null;
};
'kol-meter': {
elements: {
bar: {
modifiers: null;
};
'bar-label': {
modifiers: null;
};
'bar-state': {
modifiers: Set<'optimum' | 'suboptimal' | 'critical'>;
};
'bar-track': {
modifiers: null;
};
'bar-fill': {
modifiers: Set<'optimum' | 'suboptimal' | 'critical'>;
};
'bar-background': {
modifiers: null;
};
'bar-border': {
modifiers: null;
};
'value-unit': {
modifiers: null;
};
value: {
modifiers: null;
};
unit: {
modifiers: null;
};
};
modifiers: Set<'vertical'>;
};
'kol-quote': {
elements: {
blockquote: {
modifiers: null;
};
cite: {
modifiers: null;
};
figcaption: {
modifiers: null;
};
quote: {
modifiers: null;
};
};
modifiers: Set<'block' | 'inline'>;
};
'kol-skeleton': {
elements: {
container: {
modifiers: null;
};
name: {
modifiers: null;
};
counter: {
modifiers: null;
};
actions: {
modifiers: null;
};
};
modifiers: Set<'has-name' | 'is-hidden'>;
};
'kol-click-button': {
elements: {
label: {
modifiers: null;
};
};
modifiers: null;
};
'kol-span': {
elements: {
container: {
modifiers: null;
};
icon: {
modifiers: Set<'bottom' | 'left' | 'right' | 'top'>;
};
label: {
modifiers: null;
};
slot: {
modifiers: null;
};
};
modifiers: Set<'has-badge' | 'hide-label'>;
};
'kol-spin': {
elements: {
spinner: {
modifiers: Set<'cycle' | 'dot' | 'none'>;
};
'spinner-element': {
modifiers: Set<'1' | '2' | '3' | 'neutral'>;
};
loader: {
modifiers: null;
};
};
modifiers: null;
};
};
export declare const bem: {
<BlockName extends keyof KoliBriComponentsBemSchema, ElementName extends keyof NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>>(blockName: BlockName, blockModifiersOrElementName?: ElementName | ((KoliBriComponentsBemSchema[BlockName]["modifiers"] extends infer T ? T extends KoliBriComponentsBemSchema[BlockName]["modifiers"] ? T extends Set<infer U> ? U : never : never : never) extends never ? undefined : Partial<Record<KoliBriComponentsBemSchema[BlockName]["modifiers"] extends infer T_1 ? T_1 extends KoliBriComponentsBemSchema[BlockName]["modifiers"] ? T_1 extends Set<infer U> ? U : never : never : never, boolean>>) | undefined, elementModifiers?: ((NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] extends infer T_2 ? T_2 extends NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] ? T_2 extends Set<infer U> ? U : never : never : never) extends never ? undefined : Partial<Record<NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] extends infer T_3 ? T_3 extends NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] ? T_3 extends Set<infer U> ? U : never : never : never, boolean>>) | undefined): string;
forBlock<BlockName extends keyof KoliBriComponentsBemSchema>(blockName: BlockName): {
<ElementName extends keyof NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>>(elementNameOrBlockModifiers?: ElementName | ((KoliBriComponentsBemSchema[BlockName]["modifiers"] extends infer T ? T extends KoliBriComponentsBemSchema[BlockName]["modifiers"] ? T extends Set<infer U> ? U : never : never : never) extends never ? undefined : Partial<Record<KoliBriComponentsBemSchema[BlockName]["modifiers"] extends infer T_1 ? T_1 extends KoliBriComponentsBemSchema[BlockName]["modifiers"] ? T_1 extends Set<infer U> ? U : never : never : never, boolean>>) | undefined, elementModifiers?: ((NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] extends infer T_2 ? T_2 extends NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] ? T_2 extends Set<infer U> ? U : never : never : never) extends never ? undefined : Partial<Record<NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] extends infer T_3 ? T_3 extends NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] ? T_3 extends Set<infer U> ? U : never : never : never, boolean>>) | undefined): string;
forElement: <ElementName extends keyof NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>>(elementName: ElementName) => (elementModifiers?: ((NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] extends infer T ? T extends NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] ? T extends Set<infer U> ? U : never : never : never) extends never ? undefined : Partial<Record<NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] extends infer T_1 ? T_1 extends NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] ? T_1 extends Set<infer U> ? U : never : never : never, boolean>>) | undefined) => string;
};
} & {
forBlock: <BlockName extends keyof KoliBriComponentsBemSchema>(blockName: BlockName) => {
<ElementName extends keyof NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>>(elementNameOrBlockModifiers?: ElementName | ((KoliBriComponentsBemSchema[BlockName]["modifiers"] extends infer T ? T extends KoliBriComponentsBemSchema[BlockName]["modifiers"] ? T extends Set<infer U> ? U : never : never : never) extends never ? undefined : Partial<Record<KoliBriComponentsBemSchema[BlockName]["modifiers"] extends infer T_1 ? T_1 extends KoliBriComponentsBemSchema[BlockName]["modifiers"] ? T_1 extends Set<infer U> ? U : never : never : never, boolean>>) | undefined, elementModifiers?: ((NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] extends infer T_2 ? T_2 extends NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] ? T_2 extends Set<infer U> ? U : never : never : never) extends never ? undefined : Partial<Record<NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] extends infer T_3 ? T_3 extends NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] ? T_3 extends Set<infer U> ? U : never : never : never, boolean>>) | undefined): string;
forElement: <ElementName extends keyof NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>>(elementName: ElementName) => (elementModifiers?: ((NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] extends infer T ? T extends NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] ? T extends Set<infer U> ? U : never : never : never) extends never ? undefined : Partial<Record<NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] extends infer T_1 ? T_1 extends NonNullable<KoliBriComponentsBemSchema[BlockName]["elements"]>[ElementName]["modifiers"] ? T_1 extends Set<infer U> ? U : never : never : never, boolean>>) | undefined) => string;
};
};
declare const BEM: KoliBriComponentsBemSchema;
export { BEM };