Skip to content

Conversation

@typelets
Copy link
Owner

Summary

Adds spreadsheet support to Typelets, allowing users to create and edit Excel-like notes with full formula support.

New Features

  • Spreadsheet Editor - Full-featured Excel-like editor powered by Univer.js
    • Formula support (SUM, AVERAGE, etc.)
    • Cell formatting (bold, colors, borders, alignment)
    • Multiple worksheets per note
    • Auto-save with encrypted storage
  • Public Spreadsheet Viewing - Share spreadsheets publicly with read-only access
  • Quick Create - "New Spreadsheet" button in toolbar and folder panel

Technical Improvements

  • Lazy loading for spreadsheet components (code splitting)
  • Error boundaries for graceful failure handling
  • Dark mode support (true black background)

Bug Fixes

  • Fix globe icon disappearing when starring published notes
  • Remove invalid ESLint disable comments for non-existent rules
  • Fix README badge link and obsolete HTML attribute

Files Changed

  • New: src/components/sheets/SheetsEditor.tsx - Main editor component
  • New: src/components/sheets/PublicSheetsViewer.tsx - Read-only viewer
  • New: src/components/sheets/SheetsErrorBoundary.tsx - Error handling
  • Modified: Editor, NotesPanel, MainLayout, PublicNotePage for integration

Test Plan

  • Create a new spreadsheet note
  • Edit cells, apply formatting, use formulas
  • Verify auto-save works
  • Publish a spreadsheet and verify public view
  • Toggle dark mode on public spreadsheet page
  • Star a published note and verify globe icon persists
  • Verify lazy loading (check network tab for chunked JS)

- Add spreadsheet editor for creating and editing Excel-like notes
- Add spreadsheet viewing on public note pages
- Implement lazy loading for spreadsheet components
- Add error boundaries for spreadsheet initialization
- Fix globe icon disappearing when starring published notes
- Clean up public note page layout
- Update README with spreadsheet documentation
@typelets typelets self-assigned this Nov 30, 2025
@typelets typelets added the enhancement New feature or request label Nov 30, 2025
  - Align all @univerjs/* packages to version 0.12.3
  - Add onCreateSheets to FilesPanelProps type
  - Fix onUnpublishNote return type (Promise<boolean>)
  - Fix WorkbookData types for Univer compatibility
  - Fix currentFolderId undefined handling
@typelets typelets merged commit 47e3bda into main Nov 30, 2025
3 checks passed
@github-actions
Copy link
Contributor

🎉 This PR is included in version 1.45.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request released

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants