getodk / getodk/web-forms

Implement custom styling for select one from map question type

Open
#518 0 comments 0 reactions 0 assignees View on GitHub
front-end
Dominant language
TypeScript
Stars
38
Forks
22
PR merge metrics
No merged PRs in 30d

Description

#### Description
Implement custom styling, including Point (`marker-color`, `marker-symbol`), Line (`stroke`, `stroke-width`), and Polygon (`stroke`, `stroke-width`, `fill` with fixed transparency), supporting valid long/short hex colors and non-Latin characters/emojis.

---

#### Checklist
- **Does it need UI/UX design?**
- [ ] Yes. Describe the UI/UX requirements or attach a Figma link in the "Design" section.
- [x] No
- **Does it need API design?**
- [ ] Yes. Specify the endpoints, methods, or data structures needed.
- [x] No
- **Does it need design around state flow?**
- [ ] Yes. Outline the state flow requirements.
- [x] No
- **Does it need a test plan?**
- [x] Yes. Add the test plan as a comment in this task or attach the document.
- Test plan to include:
- Verify Point choices render with marker-color (e.g., #aaccee) and marker-symbol (e.g., A, 7, 🏥, 🟢).
- Confirm Line choices render with stroke (e.g., #aaccee) and stroke-width (e.g., 5, 6.5).
- Confirm Polygon choices render with stroke, stroke-width, and fill with fixed transparency.

---

#### User Stories
- **As a** map user,
**I want** to customize the appearance of Points, Lines, and Polygons,
**so that** I can visually distinguish different map features according to my preferences.

---

#### Design
- **Figma**: N/A
- **Design Docs**: N/A

---

#### Related Issues
- https://github.com/getodk/web-forms/issues/305

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files or tests; start by locating the select-one-from-map rendering entry point and review related issue 305. Implement styling for Point, Line, and Polygon choices, including the listed color, width, symbol, emoji, and transparency cases, then verify each item in the test plan.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.