She had a basket full of apples.

Literal

[topic-は] apple [subject-の] full filled basket [object-を] was-holding.

The relative-clause structure here uses の where you'd expect が: りんごのいっぱい入った籠 ('a basket [in which] apples are filling fully'). In a main clause this would be りんごがいっぱい入る; inside a noun-modifying clause, the subject marker can swap to の — a defining feature of Japanese subordinate-clause grammar. 入る ('to enter, go in') used in this state-describing way means 'be filled with, contain.' いっぱい is an adverb meaning 'fully, to the brim.' 持っていた combines 持つ ('to hold') with ~ていた for the sustained past state of having.