Getting Started
App Providerglobal.d.tsThemesTypes
cn(...args)Text ParserUnits Converters
AnchorAvatarBreadcrumbBurgerButtonCardCarouselCheckerCodeColor PickerCommandConfettiCopyButtonDouble Helix WordsFloating IndicatorGroupHighlight TextIndicatorInputKbdLabelLoaderPaginationPassword RequirementPolymorphic SlotProgressProseRatingRunning AreaScroll AreaSheetsSkeletonSliderStackSvgTableTabsTextareaTimelineTimesToasterTooltipTyping WordsTypography
useClickOutsideuseClipboarduseDeviceInfouseDialoguseDidUpdateuseDirectionuseDisclosureuseDocumentTitleuseDocumentVisibilityuseElementInfouseEyeDropperuseFetchuseFullscreenuseGeoLocationuseHotkeysuseHoveruseIduseImagePopupuseInputStateuseIntersectionuseIntervaluseIsomorphicEffectuseListStateuseLocalStorageuseMeasureScrollbaruseMediaQueryuseMergedRefuseMouseuseMoveuseMutationObserveruseNetworkuseOpenStateuseOrientationuseOSusePaginationusePWAInstalleruseRandomColorsuseReducedMotionuseReloaduseResizeObserveruseScrollIntoViewuseStateHistoryuseTimeoutuseTouchuseTriggeruseUncontrolleduseValidatedStateuseViewportSizeuseWindowEventuseWindowScroll
Docs
Web
Components
Running Area
Rating

An interactive or read-only component for displaying ratings, commonly using stars.

Scroll Area

A customizable scrollable container for displaying overflow content elegantly.


Edit this page on GitHub
  • Started
  • Utilities
  • Configuration
  • Components
  • Hooks
  • Examples
  • Github
  • Contributing
⌘+J

© 2025 oeri rights MIT


Designed in Earth-616

Built by oeri

Running Area

A motion wrapper that continuously scrolls its children in a loop (e.g. right-to-left), restarting from the beginning once it reaches the end.

Usage

Basic usage example to quickly see how the RunningArea works.

Sponsor
12345
import { RunningArea } from "@/ui/running-area";
import { Typography } from "@/ui/typography";

export function TypographyDemo() {
  return (
    <div className="w-full space-y-12 flex flex-col items-center justify-center">
      <Typography el="h6" prose="h3">Sponsor</Typography>
      <RunningArea classNames={{ container: "w-full", content: "space-x-2" }}>
        {[...Array(5)].map((_, index) => (
          <span key={index} className="select-none flex items-center justify-center border font-extrabold text-h1 py-4 px-8 rounded-xl w-52">
            {index + 1}
          </span>
        ))}
      </RunningArea>
    </div>
  );
}

Properties

Interactive configurator to explore customization options for the RunningArea component.

Your WordsYour WordsYour WordsYour WordsYour Words
Duration
import { RunningArea } from "@/ui/running-area";
export function TypographyDemo() {
  return (
    <RunningArea
      classNames={{
        container: "h-10 w-full overflow-hidden",
        content: "min-w-max whitespace-nowrap group-data-[running=x]:space-x-2 group-data-[running=y]:space-y-2"
      }}
    >
      {[...Array(5)].map((_, index) => (
        <span key={index} className="select-none font-extrabold text-h1">
          Your Words
        </span>
      ))}
    </RunningArea>
  );
}

API References

Styles API

Styles APITypeDefaultAnnotation
classNames?{ wrap?: string; inner?: string }undefinedclassNames={{ wrap: "", inner: "" }}
styles?{ wrap?: CSSProperties; inner?: CSSProperties }undefinedstyles={{ wrap: {}, inner: {} }}

Props API

Props APITypeDefaultAnnotation
el?React.ElementTypewrap:"div" inner:"div"el={{ wrap: "div", inner: "div" }}
direction?(string & {})"right-to-left"set running direction types
duration?number25set running duration speed

Source Codes

Full working code example, including necessary markup and styles. You can copy and paste this code directly to start using the component immediately.

running-area.tsx