ArcaneJaspr Codex
Documentation
ArcaneScrollArea
Scrollable container with customizable scrollbars
Live Demo
Vertical Scroll
Item 1
Item 2
Item 3
Item 4
Item 5
Item 6
Item 7
Item 8
Item 9
Item 10
Item 11
Item 12
Item 13
Item 14
Item 15
Item 16
Item 17
Item 18
Item 19
Item 20
Horizontal Scroll
Card 1
Card 2
Card 3
Card 4
Card 5
Card 6
Card 7
Card 8
Card 9
Card 10
Card 11
Card 12
Card 13
Card 14
Card 15

ArcaneScrollArea#

A scrollable container with styled scrollbars that match the Arcane design system. Provides consistent scroll behavior across browsers.

Basic Usage#

ArcaneScrollArea(
  maxHeight: '400px',
  child: ArcaneColumn(
    children: [
      // Long content that will scroll
      for (var i = 0; i < 50; i++)
        ArcaneText('Item $i'),
    ],
  ),
)

Properties#

PropertyTypeDefaultDescription
child Component required Scrollable content
maxHeight String? null Maximum height before scrolling
maxWidth String? null Maximum width before horizontal scrolling
direction ScrollDirection vertical Scroll direction
showScrollbar bool true Whether to show scrollbar
autoHide bool true Hide scrollbar when not scrolling
padding String? null Inner padding

Scroll Directions#

Vertical (Default)#

ArcaneScrollArea(
  direction: ScrollDirection.vertical,
  maxHeight: '300px',
  child: longContent,
)

Horizontal#

ArcaneScrollArea(
  direction: ScrollDirection.horizontal,
  maxWidth: '500px',
  child: wideContent,
)

Both#

ArcaneScrollArea(
  direction: ScrollDirection.both,
  maxHeight: '300px',
  maxWidth: '500px',
  child: largeContent,
)

Scrollbar Visibility#

// Always show scrollbar
ArcaneScrollArea(
  autoHide: false,
  showScrollbar: true,
  child: content,
)

// Hide scrollbar completely
ArcaneScrollArea(
  showScrollbar: false,
  child: content,
)

With Padding#

ArcaneScrollArea(
  maxHeight: '400px',
  padding: '16px',
  child: content,
)

Styling#

The scrollbar is styled to match the Arcane design system:

  • Thin, minimal scrollbar track
  • Rounded thumb with accent color
  • Smooth transitions on hover
  • Consistent across browsers