Open Hours Session RowsPRO

Upcoming sessions as hairline rows, each opening with the date set as a figure, then the session and what it covers, with its seat state and a booking link on the end.

Event102: Open Hours Session Rows

Upcoming sessions as hairline rows, each opening with the date set as a figure, then the session and what it covers, with its seat state and a booking link on the end.

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/event102?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

This installs the block to components/beste/block/event102.tsx and the badge6 component it uses for the eyebrow (installed to components/beste/component/badge6.tsx).

Quick start

The installed file exports event102Demo alongside the block: the exact props behind the preview above. Spread it to get a working session list in one line.

tsx
import { Event102, event102Demo } from "@/components/beste/block/event102";

export default function SessionsPage() {
  return <Event102 {...event102Demo} />;
}

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

tsx
import { Event102 } from "@/components/beste/block/event102";

export default function SessionsPage() {
  return (
    <Event102
      eyebrow="Live sessions"
      heading="Open hours, twice a month"
      description="An hour on a call, and the recording published the same week."
      sessions={[
        {
          day: "26",
          month: "March",
          time: "16:00 CET · 60 min",
          title: "Reading a brief out loud",
          description: "We work through three briefs sent in by readers.",
          status: "12 seats left",
          link: { label: "Save a seat", href: "/sessions/briefs" },
        },
      ]}
      note="Sessions are free."
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstringBadge6 label above the hairline rule
headingstringSection heading under the rule
descriptionstringSupporting paragraph
sessionsSession[][]One hairline row per session
notestringSingle line under the list
classNamestringExtra classes for the outer section
ts
type Session = {
  day: string;
  month: string;
  time: string;
  title: string;
  description: string;
  status?: string;
  link: SessionLink;
};

type SessionLink = {
  label: string;
  href: string;
};

Behavior notes

More Event blocks

View all Event
PRO

event94

Featured Session Schedule

An events section that opens with a split featured card pairing a photo with date, time, and format lines, then lists the rest of the schedule as rows separated by hairlines, each with a bordered date tile, host meta, seat count, and register action.

PRO

event98

Multi-City Tour Dates

A tour schedule listing each city as a linked hairline row with its venue, date, and remaining seats, muting the sold-out stops, beside a sticky tile that floats a live locations card.

PRO

event97

Recorded Sessions Archive

A past events archive leading with an image tile that floats a recording card, then listing every earlier session as linked hairline rows with its date, place, and running time.

PRO

event95

Filterable Day Agenda

A conference agenda whose track pills are derived from the sessions and carry live counts, narrowing a timed list of hairline rows that align the slot, the session, and its speaker and room.

PRO

event25

Featured Sessions Grid

Session cards displaying talk titles, speakers, times, locations, and remaining capacity. Perfect for conference agendas and session discovery.

PRO

event14

Speaker Sessions Schedule

Speaker cards displaying multiple sessions per presenter with times, locations, and session types. Perfect for multi-track conferences with recurring speakers.

Markdown version