She didn't even have the basic courtesy to say sorry.

Literal

She [topic-は] "sorry" [quotative-と] saying-only [extent-だけの] politeness [also-も] didn't-have.

A vivid layered frame: ~というだけの ('amounting only to saying X') marks the apology as the bare minimum being judged, and the も on 礼儀正しさ ('politeness, courtesy') turns it into 'didn't even have THIS much.' 礼儀正しさ is the noun-form of 礼儀正しい ('polite, well-mannered'), built with the ~さ adjective nominalizer. ごめんなさい is the standard apology — sincere but not formal. The whole construction — saying she lacked even the courtesy of an apology — is harsher than it looks at first glance. A common phrasing in complaints about someone's rudeness.