Select Git revision
FeaturesMapper.java
heading.component.ts 1.03 KiB
import { TechSharedModule } from '@alfa-client/tech-shared';
import { NgClass } from '@angular/common';
import { Component, Input } from '@angular/core';
import { VariantProps, cva } from 'class-variance-authority';
import { twMerge } from 'tailwind-merge';
export const headingVariants = cva('font-medium', {
variants: {
level: {
'1': 'text-3xl pb-6',
'2': 'text-2xl py-4',
},
},
defaultVariants: {
level: '1',
},
});
type HeadingVariants = VariantProps<typeof headingVariants>;
@Component({
selector: 'ods-heading',
standalone: true,
imports: [NgClass, TechSharedModule],
template: `<div
role="heading"
[attr.aria-level]="level"
[ngClass]="twMerge(class, headingVariants({ level }))"
[attr.data-test-id]="'heading-' + text | convertForDataTest"
>
{{ text }}
</div>`,
})
export class HeadingComponent {
@Input({ required: true }) text!: string;
@Input() level: HeadingVariants['level'] = '1';
@Input() class: string = '';
headingVariants = headingVariants;
twMerge = twMerge;
}