1package viewport
 2
 3import (
 4	"github.com/charmbracelet/bubbles/viewport"
 5	tea "github.com/charmbracelet/bubbletea"
 6)
 7
 8// Viewport represents a viewport component.
 9type Viewport struct {
10	Viewport *viewport.Model
11}
12
13func New() *Viewport {
14	return &Viewport{
15		Viewport: &viewport.Model{
16			MouseWheelEnabled: true,
17		},
18	}
19}
20
21// SetSize implements common.Component.
22func (v *Viewport) SetSize(width, height int) {
23	v.Viewport.Width = width
24	v.Viewport.Height = height
25}
26
27// Init implements tea.Model.
28func (v *Viewport) Init() tea.Cmd {
29	return nil
30}
31
32// Update implements tea.Model.
33func (v *Viewport) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
34	vp, cmd := v.Viewport.Update(msg)
35	v.Viewport = &vp
36	return v, cmd
37}
38
39// View implements tea.Model.
40func (v *Viewport) View() string {
41	return v.Viewport.View()
42}