。
She had a basket full of apples.
Literal
[topic-は] apple [with-で] full [genitive-の] basket [object-を] was-holding.
The construction X でいっぱい ('full of X') is a productive way to describe containers, scenes, or feelings overflowing with something — で marks the contents or source of fullness, and いっぱい functions here as a な-adjective ('full') taking the connecting の to modify かご. Compare 部屋は花でいっぱいだ ('the room is full of flowers'), 心は喜びでいっぱいだ ('my heart is full of joy'). The verb 持っていた combines 持つ ('to hold') with ~ていた for the sustained past state of having.