Skip to content

Commit 4d45631

Browse files
committed
feat: signature field Draw/Type modes with cursive font options, fix canvas border
- Add Draw/Type toggle to signature pad — users can freehand draw or type their name and choose from 4 handwriting Google Fonts (Dancing Script, Great Vibes, Caveat, Sacramento) - Typed text is rendered onto the canvas as a base64 PNG, consistent with drawn signatures - Fix canvas border visibility with inline styles + CSS !important - Update README roadmap: mark signature field as shipped Bump to v0.45.0
1 parent 2cd7838 commit 4d45631

5 files changed

Lines changed: 230 additions & 74 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.45.0] - 2026-03-31
11+
12+
### Added
13+
- **Signature field: Type mode** — Users can now choose between Draw (freehand) and Type (name → cursive font) when signing. Four handwriting-style Google Fonts are available: Elegant (Dancing Script), Formal (Great Vibes), Casual (Caveat), Classic (Sacramento). The typed text is rendered onto the canvas so the stored value is always a base64 PNG data URI regardless of input method.
14+
15+
### Fixed
16+
- **Signature canvas border visibility** — Reinforced the canvas container border with inline styles (`2px solid #6c757d`) and CSS `!important` to prevent framework overrides from making the drawing area invisible.
17+
1018
## [0.44.1] - 2026-03-31
1119

1220
### Fixed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Django Forms Workflows bridges the gap between simple form libraries (like Crisp
2929

3030
### 🎯 No-Code Form Creation
3131
Business users create and modify forms through Django Admin:
32-
- **25+ field types:** text, email, phone, select, radio, checkbox, checkboxes, multiselect, date, time, datetime, decimal, currency, number, URL, file, multi-file, textarea, hidden, section headers, **calculated/formula**, **spreadsheet upload (CSV/Excel)**, country picker, US state picker
32+
- **25+ field types:** text, email, phone, select, radio, checkbox, checkboxes, multiselect, date, time, datetime, decimal, currency, number, URL, file, multi-file, textarea, hidden, section headers, **calculated/formula**, **spreadsheet upload (CSV/Excel)**, country picker, US state picker, **signature (draw or type)**
3333
- Field ordering with explicit `order` integer
3434
- Column-width layout per field: full, half, one-third, one-quarter
3535
- Validation rules (required, regex, min/max length, min/max value)
@@ -353,7 +353,7 @@ See [docs/ROADMAP.md](docs/ROADMAP.md) for the full prioritized roadmap with rat
353353
- [ ] Dashboard analytics (submission counts, approval times, bottleneck stages)
354354

355355
### 📋 Planned (medium-term)
356-
- [ ] Signature field type (drawn or typed)
356+
- [x] Signature field type (drawn or typed) — ✅ Shipped in v0.45.0
357357
- [ ] Form versioning — immutable snapshots with diff viewer
358358
- [ ] Advanced reporting (submission analytics, bottleneck analysis, custom report builder)
359359
- [ ] Multi-tenancy support (organisation-scoped form libraries)

django_forms_workflows/static/django_forms_workflows/css/forms.css

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
.signature-pad-canvas-container {
7777
display: block;
7878
width: 100%;
79-
border: 2px solid #adb5bd;
79+
border: 2px solid #6c757d !important;
8080
border-radius: 0.5rem;
8181
background: #fafbfc;
8282
cursor: crosshair;
@@ -85,7 +85,7 @@
8585
}
8686
.signature-pad-canvas-container:hover,
8787
.signature-pad-canvas-container:active {
88-
border-color: #86b7fe;
88+
border-color: #86b7fe !important;
8989
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
9090
}
9191
.signature-pad-canvas {
@@ -106,6 +106,22 @@
106106
margin-top: 0.375rem;
107107
}
108108

109+
/* ── Signature Type mode ────────────────────────────────────────────── */
110+
111+
.signature-mode-toggle {
112+
display: flex;
113+
}
114+
.signature-type-controls {
115+
margin-bottom: 0.5rem;
116+
}
117+
.signature-font-options {
118+
margin-bottom: 0.25rem;
119+
}
120+
.signature-font-btn {
121+
min-width: 5rem;
122+
padding: 0.25rem 0.75rem;
123+
}
124+
109125
/* ── Form submit button row ──────────────────────────────────────────── */
110126

111127
.form-actions {

0 commit comments

Comments
 (0)