feat: shared export-feedback helper + wire into every editor (#686)
v0.53.0: Export/import parity — unify user-facing toast copy for exports
across every editor, eliminate silent-succeed and silent-fail paths, and
give slides a real (basic) export.
Added
- src/lib/export-feedback.ts: shared exportSuccess/exportError/
importSuccess/importError helpers with noun pluralization and
Error-message extraction. 12 unit tests.
- Slides: dead "Export" button now downloads the deck as .deck.json
(full deck state: slides, theme, transitions, animations). Enables
backup/clone-a-deck until native PPTX/PDF export lands.
Changed
- Wired the shared helper into silent-failing export paths:
- diagrams: SVG, PNG, ASCII (with .shapes.size Map accessor fix)
- forms: CSV + XLSX response exports
- sheets: CSV, TSV, XLSX, PDF
- docs: HTML, Markdown, TXT, PDF, DOCX
- Every export now either confirms success with a row/slide/document
count or surfaces the real error via toast, replacing the previous
silent-succeed / silent-fail behavior.