# ScrollFrame
_A container that provides automatic scrolling capabilities with visual scrollbars. Displays vertical and/or horizontal scrollbars when child content exceeds the container's dimensions._

Extends: `Container`

## Examples (Executable)
```lua run
local basalt = require("basalt")

local main = basalt.getMainFrame()

-- Create a ScrollFrame with content larger than the frame
local scrollFrame = main:addScrollFrame({
x = 2,
y = 2,
width = 30,
height = 12,
background = colors.lightGray
})

-- Add a title
scrollFrame:addLabel({
x = 2,
y = 1,
text = "ScrollFrame Example",
foreground = colors.yellow
})

-- Add multiple labels that exceed the frame height
for i = 1, 20 do
scrollFrame:addLabel({
x = 2,
y = i + 2,
text = "Line " .. i .. " - Scroll to see more",
foreground = i % 2 == 0 and colors.white or colors.lightGray
})
end

-- Add some interactive buttons at different positions
scrollFrame:addButton({
x = 2,
y = 24,
width = 15,
height = 3,
text = "Button 1",
background = colors.blue
})
:onClick(function()
scrollFrame:addLabel({
x = 18,
y = 24,
text = "Clicked!",
foreground = colors.lime
})
end)

scrollFrame:addButton({
x = 2,
y = 28,
width = 15,
height = 3,
text = "Button 2",
background = colors.green
})
:onClick(function()
scrollFrame:addLabel({
x = 18,
y = 28,
text = "Nice!",
foreground = colors.orange
})
end)

-- Info label outside the scroll frame
main:addLabel({
x = 2,
y = 15,
text = "Use mouse wheel to scroll!",
foreground = colors.gray
})

basalt.run()
```

## Properties

|Property|Type|Default|Description|
|---|---|---|---|
|showScrollBar|boolean|true|Whether to show scrollbars|
|scrollBarSymbol|string|"_"|The symbol used for the scrollbar handle|
|scrollBarBackgroundSymbol|string|"\127"|The symbol used for the scrollbar background|
|scrollBarColor|color|lightGray|Color of the scrollbar handle|
|scrollBarBackgroundColor|color|gray|Background color of the scrollbar|
|scrollBarBackgroundColor2|secondary|color|black Background color of the scrollbar|
|contentWidth|number|0|The total width of the content (calculated from children)|
|contentHeight|number|0|The total height of the content (calculated from children)|
