Plain License

Dense legal clauses are replaced one by one by short plain-language phrases that build into a big line.

Installation
$ pnpm dlx shadcn@latest add @remocn/plain-license

Usage

tsx
// src/Root.tsx
import { Composition } from "remotion";
import { PlainLicense } from "@/components/remocn/plain-license";
 
const PlainLicenseScene = () => (
  <PlainLicense
    clauses={[
      { legal: "Permission is hereby granted, free of charge,", plain: "Free," },
      { legal: "to any person obtaining a copy of this software,", plain: "for anyone," },
      { legal: "to use, copy, modify, merge, publish and distribute it.", plain: "for anything." },
    ]}
  />
);
 
export const RemotionRoot = () => (
  <Composition
    id="PlainLicense"
    component={PlainLicenseScene}
    durationInFrames={220}
    fps={30}
    width={1280}
    height={720}
  />
);

Each clause starts as dim legal text, then is swapped by its short plain phrase, which rises in the accent color and cools to ink when the next one takes over. At the end the plain phrases zoom into one big line, with the highlight clause keeping the accent. Pass clauses as { legal, plain } pairs. It ships light and dark.

Props7

PropTypeDefault
clauses
{ legal: string; plain: string }[]DEFAULT_CLAUSES

Legal text and its plain-language replacement, in reading order.

highlight
number0

Zero-based index of the clause whose plain phrase keeps the accent color.

step
number40

Frames between one clause swapping and the next; minimum 34.

accent
string—

Color of the plain phrases; overrides the theme accent.

background
string—

Background fill; pass "transparent" to drop it.

speed
number1

Playback speed multiplier for the whole timeline.

theme
"dark" | "light""dark"

Light or dark palette.

  • clauses{ legal: string; plain: string }[]

    Legal text and its plain-language replacement, in reading order.

    DefaultDEFAULT_CLAUSES

  • highlightnumber

    Zero-based index of the clause whose plain phrase keeps the accent color.

    Default0

  • stepnumber

    Frames between one clause swapping and the next; minimum 34.

    Default40

  • accentstring

    Color of the plain phrases; overrides the theme accent.

  • backgroundstring

    Background fill; pass "transparent" to drop it.

  • speednumber

    Playback speed multiplier for the whole timeline.

    Default1

  • theme"dark" | "light"

    Light or dark palette.

    Default"dark"