Design
llms.txt digitalcrew.tech

Motion

HyperText

A monospaced, uppercase text effect: letters scramble through random characters, then lock in from left to right.

Crew OSMotionDigitalCrew.HyperText
HyperText · liveOpen

Guidelines#

Use it for short technical labels and hero words where a "decoding" feel fits: a status, a product name, a counter label. One or two per screen.

What you provide: text (required; keep it short), duration (ms for the whole reveal, default 800), className (applied to every letter: size, weight, colour), animateOnLoad (default true), framerProps (Framer Motion variants per letter; default fades in from 10px above and exits 3px down).

Anatomy: a flex row with 8px vertical padding and overflow-hidden; each letter is a font-mono span, always rendered uppercase; spaces become 12px (w-3) gaps.

Behaviour: an interval of duration / (text.length × 10) ms advances the reveal a tenth of a letter per tick; unrevealed letters show random A–Z. Hovering the row plays it again. It does not check reduced motion; pass animateOnLoad={false} when the user asks for less motion.

Don't use it for sentences, for text the user must read immediately, or for lowercase copy (it is forced to uppercase).

Facts#

GroupMotion
ProductCrew OS
Globalwindow.DigitalCrew.HyperText
Sourcedigitalcrew-orchestrator: components/ui/hyper-text.tsx
Import in the appimport { HyperText } from "@/components/ui/hyper-text";

API#

TypeScript declarations emitted from components/ui/hyper-text.tsx.

interface HyperTextProps {
    text: string;
    duration?: number;
    framerProps?: Variants;
    className?: string;
    animateOnLoad?: boolean;
}
export declare function HyperText({ text, duration, framerProps, className, animateOnLoad, }: HyperTextProps): JSX.Element;

Example#

The code of the preview above: plain React.createElement against window.DigitalCrew, with realistic data.

<div id="root" class="p-6"></div>
<script>
(function () {
  var h = React.createElement, DC = window.DigitalCrew, I = DC.Icons;
  function App() {
    return h("div", { className: "grid gap-1" },
      h(DC.HyperText, { text: "Digital workers", className: "text-4xl font-bold" }),
      h(DC.HyperText, { text: "Online 24/7", duration: 1200, className: "text-muted-foreground text-sm" }));
  }
  ReactDOM.createRoot(document.getElementById("root")).render(h(DC.TooltipProvider, { delayDuration: 80 }, h(App)));
})();
</script>