Layout
Scroll Area

Scroll Area

Handle scrolling of overflowing content with custom scrollbars.

Lorem ipsum dolor sit amet consectetur adipisicing elit.Quos temporibus veniam, possimus, velit, reprehenderit magnam ab totam eaque adipisci ratione praesentium explicabo voluptatum laborum eum error animi porro voluptate natus! Commodi eos molestias neque voluptates consectetur tempore adipisci nisi quod labore non. Praesentium quaerat non officia id doloribus laborum, aperiam asperiores omnis earum sequi fugit reiciendis enim quas molestias quae? Minus voluptatum odit maxime voluptas ad expedita temporibus, at sed. Iusto, expedita rerum, beatae ducimus ut amet ipsam ad quas, quisquam quo totam! Deserunt blanditiis doloremque voluptatem nostrum minus ea! Lorem ipsum dolor sit amet consectetur adipisicing elit.Quos temporibus veniam, possimus, velit, reprehenderit magnam ab totam eaque adipisci ratione praesentium explicabo voluptatum laborum eum error animi porro voluptate natus! Commodi eos molestias neque voluptates consectetur tempore adipisci nisi quod labore non. Praesentium quaerat non officia id doloribus laborum, aperiam asperiores omnis earum sequi fugit reiciendis enim quas molestias quae? Minus voluptatum odit maxime voluptas ad expedita temporibus, at sed. Iusto, expedita rerum, beatae ducimus ut amet ipsam ad quas, quisquam quo totam! Deserunt blanditiis doloremque voluptatem nostrum minus ea! Lorem ipsum dolor sit amet consectetur adipisicing elit.Quos temporibus veniam, possimus, velit, reprehenderit magnam ab totam eaque adipisci ratione praesentium explicabo voluptatum laborum eum error animi porro voluptate natus! Commodi eos molestias neque voluptates consectetur tempore adipisci nisi quod labore non. Praesentium quaerat non officia id doloribus laborum, aperiam asperiores omnis earum sequi fugit reiciendis enim quas molestias quae? Minus voluptatum odit maxime voluptas ad expedita temporibus, at sed. Iusto, expedita rerum, beatae ducimus ut amet ipsam ad quas, quisquam quo totam! Deserunt blanditiis doloremque voluptatem nostrum minus ea! Commodi eos molestias neque voluptates consectetur tempore adipisci nisi quod labore non. Praesentium quaerat non officia id doloribus laborum, aperiam asperiores omnis earum sequi fugit reiciendis enim quas molestias quae? Minus voluptatum odit maxime voluptas ad expedita temporibus, at sed. Iusto, expedita rerum, beatae ducimus ut amet ipsam ad quas, quisquam quo totam! Deserunt blanditiis doloremque voluptatem nostrum minus ea! Commodi eos molestias neque voluptates consectetur tempore adipisci nisi quod labore non. Praesentium quaerat non officia id doloribus laborum, aperiam asperiores omnis earum sequi fugit reiciendis enim quas molestias quae? Minus voluptatum odit maxime voluptas ad expedita temporibus, at sed. Iusto, expedita rerum, beatae ducimus ut amet ipsam ad quas, quisquam quo totam! Deserunt blanditiis doloremque voluptatem nostrum minus ea!

Anatomy

import { ScrollArea } from "@lualtek/react-components";
 
export default () => {
  return <ScrollArea>...</ScrollArea>;
};

API Reference

export type ScrollAreaProps = {
  /**
   * If true, the content can be scrolled.
   *
   * @defaultValue true
   */
  canScroll?: boolean;
 
  /**
   * The color of the scrollbar thumb.
   */
  thumbColor?: string;
 
  /**
   * The color of the scrollbar track.
   */
  trackColor?: string;
 
  /**
   * If true, scrollbars will always be visible.
   *
   * @defaultValue false
   */
  hideScrollbars?: boolean;
 
  /**
   * If true, the native scrollbar styles will be used.
   * This will override other props and fallback to system behaviour.
   *
   * @defaultValue true
   */
  useSystemStyle?: boolean;
 
  /**
   * Prevent content jumping when scrollbars are shown/hidden.
   *
   * @defaultValue 'auto'
   */
  gutterBehavior?: 'auto' | 'stable' | 'stable both-edges';
 
  /**
   * The direction to fade out.
   */
  fadeDirection?: 'vertical' | 'horizontal';
 
  /**
   * The size of the fade.
   *
   * @defaultValue 16
   */
  fadeSize?: string | TokensTypes['space'];
  /**
   * The behavior of the overscroll effect.
   *
   * @defaultValue 'contain'
   */
  overscrollBehavior?: 'auto' | 'contain' | 'none';
}