Skip to content
This repository was archived by the owner on Jan 30, 2026. It is now read-only.

feat: add import functionality for .docx files in the template builder#15

Merged
caio-pizzol merged 1 commit intomainfrom
caio/sd-549-add-file-upload-ui-for-importing-external-docx-files-into
Oct 9, 2025
Merged

feat: add import functionality for .docx files in the template builder#15
caio-pizzol merged 1 commit intomainfrom
caio/sd-549-add-file-upload-ui-for-importing-external-docx-files-into

Conversation

@caio-pizzol
Copy link
Contributor

This commit introduces a new import feature that allows users to upload .docx files. It includes UI updates for the import button and error handling for invalid file types. The toolbar now displays an error message if the import fails, enhancing user experience.

This commit introduces a new import feature that allows users to upload .docx files. It includes UI updates for the import button and error handling for invalid file types. The toolbar now displays an error message if the import fails, enhancing user experience.
@linear
Copy link

linear bot commented Oct 9, 2025

SD-549 Add file upload UI for importing external .docx files into template builder

Summary

Add a file upload button to allow users to import external .docx files into the template builder editor.

Tasks

  • Add a file input component (hidden) and a styled "Import File" button to the toolbar
  • Handle file selection and validation (ensure .docx format, reasonable file size)
  • Pass the selected File object to the document.source prop which SuperDoc already supports
  • Add basic error handling for invalid files or load failures
  • Add visual feedback during file loading (loading state on button)

Notes

Current State:

  • SuperDoc already accepts File/Blob/string for document.source - infrastructure is ready
  • Template builder passes this through: document: document?.source

Implementation Approach:

  • Keep it minimal: just a button + file input, no drag-drop or advanced features initially
  • File validation: check extension (.docx) and size (< 10MB reasonable limit)
  • No file preview needed initially - user sees the document once loaded in editor
  • Loading state: disable button and show spinner while file loads

Reference:

API Already Supports:

new SuperDoc({
  selector: '#editor',
  document: docxFile  // File, Blob, or URL
});

This is a simple UI addition - all the heavy lifting is already done by SuperDoc.

@caio-pizzol caio-pizzol enabled auto-merge (squash) October 9, 2025 20:22
@caio-pizzol caio-pizzol merged commit 42faccc into main Oct 9, 2025
2 checks passed
@caio-pizzol caio-pizzol deleted the caio/sd-549-add-file-upload-ui-for-importing-external-docx-files-into branch October 9, 2025 20:22
@superdoc-bot
Copy link
Contributor

superdoc-bot bot commented Oct 9, 2025

🎉 This PR is included in version 0.2.0-next.3 🎉

The release is available on:

Your semantic-release bot 📦🚀

superdoc-bot bot pushed a commit that referenced this pull request Nov 13, 2025
# [0.2.0](v0.1.0...v0.2.0) (2025-11-13)

### Bug Fixes

* force pre-release ([f752754](f752754))
* improve cleanup logic ([#11](#11)) ([01f0bf9](01f0bf9))
* update field ID type and improve field handling ([#14](#14)) ([e0e6d31](e0e6d31))
* update field IDs and categories in README and App component ([61a473d](61a473d))

### Features

* add import functionality for .docx files in the template builder ([#15](#15)) ([42faccc](42faccc))
* enhance exportTemplate functionality with configurable options ([#17](#17)) ([7e2a03d](7e2a03d))
* enhance field handling with mode support in template builder ([#16](#16)) ([d46ab5d](d46ab5d))
* implement viewport clamping for menu positioning in SuperDocTemplateBuilder ([#10](#10)) ([09e82ee](09e82ee))
@superdoc-bot
Copy link
Contributor

superdoc-bot bot commented Nov 13, 2025

🎉 This PR is included in version 0.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

caio-pizzol pushed a commit that referenced this pull request Jan 30, 2026
* chore(release): 0.2.0 [skip ci]

# [0.2.0](v0.1.0...v0.2.0) (2025-11-13)

### Bug Fixes

* force pre-release ([f752754](f752754))
* improve cleanup logic ([#11](#11)) ([01f0bf9](01f0bf9))
* update field ID type and improve field handling ([#14](#14)) ([e0e6d31](e0e6d31))
* update field IDs and categories in README and App component ([61a473d](61a473d))

### Features

* add import functionality for .docx files in the template builder ([#15](#15)) ([42faccc](42faccc))
* enhance exportTemplate functionality with configurable options ([#17](#17)) ([7e2a03d](7e2a03d))
* enhance field handling with mode support in template builder ([#16](#16)) ([d46ab5d](d46ab5d))
* implement viewport clamping for menu positioning in SuperDocTemplateBuilder ([#10](#10)) ([09e82ee](09e82ee))

* chore(release): 0.3.0 [skip ci]

# [0.3.0](v0.2.0...v0.3.0) (2025-11-21)

### Bug Fixes

* add deduplication for React dependencies in Vite config and clean up package.json ([dc17f23](dc17f23))
* add missing deployment ID in GitHub Pages workflow ([e350b3b](e350b3b))
* update SuperDoc initialization with document mode and enhance Vite config external dependencies ([9e0989a](9e0989a))

### Features

* add getSuperDoc method for accessing SuperDoc API ([#18](#18)) ([ccda4e0](ccda4e0))
* enhance field management with grouping and improved UI ([#19](#19)) ([a64e8b8](a64e8b8))

* chore(release): 0.4.0 [skip ci]

# [0.4.0](v0.3.0...v0.4.0) (2025-12-11)

### Bug Fixes

* disable comments module + sd update ([#22](#22)) ([79d24c7](79d24c7))
* remove dedupe + add dev react runtime ([#20](#20)) ([830b009](830b009))

### Features

* onexport callback ([#21](#21)) ([c85abc1](c85abc1))

* chore(release): 0.5.0 [skip ci]

# [0.5.0](v0.4.0...v0.5.0) (2025-12-16)

### Bug Fixes

* demo app ([461c620](461c620))
* demo with dedupe ([75c4184](75c4184))

### Features

* add mode to field def + move from metadata ([4141fda](4141fda))

* chore(release): 1.0.0 [skip ci]

# [1.0.0](v0.5.0...v1.0.0) (2026-01-16)

* Breaking change: migrate template builder to SuperDoc v1 ([#24](#24)) ([78af7cc](78af7cc))

### BREAKING CHANGES

* - Upgraded `superdoc` to version `1.5.0-next.7` in both `package.json` and `pnpm-lock.yaml`.
- Updated React and React DOM versions to `19.2.3`.
- Enhanced performance by using `useMemo` for toolbar settings and scheduling callbacks with `queueMicrotask` to avoid blocking rendering.
- Various dependency updates in `pnpm-lock.yaml` for improved compatibility and security.

* chore: update superdoc version to 1.5.0 in package.json and pnpm-lock.yaml

* refactor: streamline field update callbacks in SuperDocTemplateBuilder

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Caio Pizzol <caiopizzol@icloud.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant