AnimationUpdated in v15

Glitch Text

Text with a colour-split glitch, on hover or all the time.

Installation

Import the class, and @use the entry point in your global styles: without it the component renders unstyled.

import { Component } from '@angular/core';
import { WrGlitchText } from 'ngwr/bits/glitch-text';

@Component({ imports: [WrGlitchText] })
export class MyComponent {}
Angular adaptation of an effect by David Haz / reactbits.dev.

Playground

On a card, set background to the card colour.

ERROR
<wr-glitch-text
  text="ERROR"
  [speed]="1"
  [enableShadows]="true"
  [enableOnHover]="true"
  background="var(--wr-color-surface)"
/>

Customize

Speed
1.0
Shadows
On Hover Only
Text

API

NameDescriptionTypeDefault
textrequiredText to glitch. Required — the value populates data-text for the pseudo clones.string—
speedTime multiplier — higher = slower glitching.number1
enableShadowsShow the red / cyan colour-split shadows.booleantrue
enableOnHoverOnly glitch on hover (idle until then).booleantrue
backgroundSurface colour for the clone slices. Pass the colour of the surface the component sits on so the slicing illusion masks cleanly; leave unset (transparent) on the page canvas.string'' (transparent)

CSS variables

Set these on the component's selector or a wrapper, not on :root: the defaults are declared on ngwr/bits/glitch-text's own element.

VariableDefaultDeclared on
--wr-glitch-text-after-duration3s.wr-glitch-text
--wr-glitch-text-after-shadow-5px 0 var(--wr-color-danger).wr-glitch-text
--wr-glitch-text-before-duration2s.wr-glitch-text
--wr-glitch-text-before-shadow5px 0 var(--wr-color-info).wr-glitch-text
--wr-glitch-text-font-weightvar(--wr-font-weight-extrabold).wr-glitch-text

See also