Is This You

Is this you

Ifthreeofthesesoundfamiliar,itisprobablytime.

None of them is a crisis. Together they are a pattern, and patterns are what we are good at.

Talk it through
  1. You are fine, and you keep saying so.

  2. Sleep comes late and leaves early.

  3. The thing you enjoyed has become a task.

  4. You rehearse conversations that never happen.

  5. Rest feels like something you have to earn.

  6. You have been meaning to call someone for months.

Recognising the pattern is most of the first session. You have already started.

About this block

Is This YouPRO

A self-recognition list: a sticky column with a serif heading that settles in word by word, an intro and a pill action, beside ruled serif statements that each blur in as they reach the viewport, marked with a small ringed check, and a closing line beneath.

Usecase55: Is This You

A recognition checklist: a sticky column of heading, intro and pill beside ticked statements set at serif size, closed by a line that names what recognising them means.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/usecase55?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/usecase55?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/usecase55.tsx plus the button22 sliding-marker pill and the text1 word stagger it uses.

Quick start

The installed file exports usecase55Demo alongside the block: the exact props behind the preview above. Spread it to get a working checklist section in one line.

tsx
import { Usecase55, usecase55Demo } from "@/components/beste/block/usecase55";

export default function Page() {
  return <Usecase55 {...usecase55Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Usecase55 } from "@/components/beste/block/usecase55";

export default function Page() {
  return (
    <Usecase55
      eyebrow="Is this you"
      heading="If three of these sound familiar, it is probably time."
      description="None of them is a crisis. Together they are a pattern."
      button={{ label: "Talk it through", href: "/call", tone: "dark" }}
      statements={[
        "You are fine, and you keep saying so.",
        "Sleep comes late and leaves early.",
        "Rest feels like something you have to earn.",
      ]}
      closing="Recognising the pattern is most of the first session." 
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstring–Small-caps line above the heading
headingstring–Section heading, rendered as an h2 through Text1
descriptionstring–Intro in the sticky column
buttonActionButton–Pill action under the intro
statementsstring[][]Ticked statements, in the order given
closingstring–Line printed under the list
classNamestring–Extra classes for the outer <section>
ts
type ActionButton = {
  label: string;
  href: string;
  tone?: "primary" | "light" | "dark" | "outline";
};

Behavior notes

  • The statements are set at serif display size rather than as a list of body-copy bullets, because each one is meant to be read as a sentence about the reader rather than skimmed as a feature.
  • The list is an ol, so the order is real; the ticks are decorative marks inside it rather than checkboxes, since nothing here is interactive.
  • Every statement shares one flat 0.1s delay rather than a growing stagger, so a list of six does not leave the last line arriving seconds after the reader gets there.
  • Rows use a tighter -15% viewport margin than the header, so a statement settles once it is properly inside the reading area.
  • The tick sits in a bordered size-7 circle with shrink-0 and a mt-1 nudge, so a statement that wraps keeps its mark on the first line.
  • The left column is md:sticky md:top-28 and returns to normal flow below md, where a sticky column would cover the list.
  • closing sits outside the ruled list, so the section ends on a sentence rather than on another rule.

More Use Case blocks

View all Use Case
PRO

usecase56

Audience Tabs

PRO

usecase54

Four Situations

PRO

usecase57

Linked Audience Cards

Get Pro access