Files
start-os/web/projects/shared/src/components/ticker.component.ts
Alex Inkin 02413a4fac Update Angular (#2952)
* fix Tor logs actually fetching od logs

* chore: update to Angular 18

* chore: update to Angular 19

* bump patchDB

* chore: update Angular

* chore: fix setup-wizard success page

* chore: fix

* chore: fix

* chore: fix

* chore: fix

---------

Co-authored-by: Matt Hill <mattnine@protonmail.com>
Co-authored-by: Aiden McClelland <me@drbonez.dev>
2025-05-30 10:34:24 -04:00

40 lines
840 B
TypeScript

import {
ChangeDetectionStrategy,
Component,
ElementRef,
HostBinding,
HostListener,
} from '@angular/core'
@Component({
selector: '[ticker]',
template: '<ng-content />',
styles: `
:host {
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: text-indent 1s;
&:hover {
text-indent: var(--indent, 0);
text-overflow: clip;
}
}
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class TickerComponent {
constructor(private readonly elementRef: ElementRef<HTMLElement>) {}
@HostBinding('style.--indent.px')
indent = 0
@HostListener('mouseenter')
onMouseEnter() {
const { scrollWidth, clientWidth } = this.elementRef.nativeElement
this.indent = Math.ceil(clientWidth - scrollWidth)
}
}