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
eyebrowstringSmall-caps line above the heading
headingstringSection heading, rendered as an h2 through Text1
descriptionstringIntro in the sticky column
buttonActionButtonPill action under the intro
statementsstring[][]Ticked statements, in the order given
closingstringLine printed under the list
classNamestringExtra 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

usecase54

Four Situations

A who-this-is-for section: a serif heading that settles in word by word beside the intro and a pill action, then four soft muted cards, each numbered, with a serif situation title, a short description and an arrow link that lifts on hover.

PRO

usecase56

Audience Tabs

A who-is-it-for section with pill tabs under a serif heading that settles in word by word: each audience blurs in a serif title, a description, dotted points and a sliding-marker pill beside a portrait photograph drifting inside its frame.

PRO

usecase23

Feature Comparison Matrix

Structured comparison table with category-grouped rows, checkmark indicators, and highlighted column for recommended option. Perfect for plan comparisons or audience-based feature matrices.

PRO

usecase57

Linked Audience Cards

Four hairline cards, each a whole link opening with a round portrait, then a quiet label, a serif title, a line of who it is for and an arrow that lifts on hover.

PRO

usecase51

Two Route Photo Columns

Two picture-led routes side by side, each with an eyebrow, title, dotted-rule expectations list and its own pill CTA, separated on desktop by a small pill divider sitting between the columns.

PRO

usecase60

Two Linked Directories

Two ruled directories side by side under their own small-caps headings, every row a link carrying a serif label, a line of context and an arrow that lifts as the row tints on hover.