1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-27 01:53:23 +00:00
Files
browser/libs/components/src/table/row.directive.ts
2026-01-22 13:21:37 -05:00

37 lines
852 B
TypeScript

import { Directive, HostBinding, input } from "@angular/core";
/**
* Directive for styling table rows with consistent borders and hover effects.
*/
@Directive({
selector: "tr[bitRow]",
})
export class RowDirective {
readonly alignContent = input<"top" | "middle" | "bottom" | "baseline">("middle");
get alignmentClass(): string {
switch (this.alignContent()) {
case "top":
return "tw-align-top";
case "middle":
return "tw-align-middle";
case "bottom":
return "tw-align-bottom";
default:
return "tw-align-baseline";
}
}
@HostBinding("class") get classList() {
return [
"tw-border-0",
"tw-border-b",
"tw-border-secondary-300",
"tw-border-solid",
"hover:tw-bg-hover-default",
"last:tw-border-0",
this.alignmentClass,
];
}
}