Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

feat: modernize progress indicators

Aperta
#4,971 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 7 giorni

@adrcotfas ci sta già lavorando.

Dal 9/6/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

v6
  • Modernize progress indicators according to the MD3 Specs and reuse existing MD theme foundation tokens (motion, shape etc) where appropriate.
  • Extract component tokens to a separate file for easier maintenance

Current State

Existing "Activity Indicator" and "Progress Bar" components correspond to MD3 Progress Indicators.

Activity Indicator

MD3 spec: Progress indicators (Circular)
Specs link: https://m3.material.io/components/progress-indicators/specs

Color tokens
  • No track color. MD3 requires a track arc behind the indicator (token: secondaryContainer); only primary is rendered
Spacing / sizing
  • Stroke width is size / 10 (2.4dp @ small, 4.8dp @ large). MD3 specifies a fixed 4dp stroke for both indicator and track
Behavior
  • Arc ends are square (border clipping technique). MD3 requires rounded stroke caps
  • No track rendered. MD3 always shows the inactive track arc
  • M3 Expressive wavy circular and linear indicators not implemented
Notes
  • Rename to match MD3: CircularProgressIndicator and move to a “Progress Indicators” directory together with Linear Progress Indicator.
  • Entire rendering approach is MD2-era (two clipped half-border views). MD3-compliant implementation needs SVG or canvas-based arc for rounded caps and track

Progress Bar

MD3 spec: Linear progress indicator
Specs link: https://m3.material.io/components/progress-indicators/specs

Color tokens
  • Active indicator: color || theme.colors.primary ✅
  • Track: theme.colors.surfaceVariant; spec requires secondaryContainer ❌
  • No stop indicator rendered; spec defines a stop indicator at 100% (color primary)
Spacing / sizing
  • Height: 4dp ✅
  • Track has no borderRadius; spec corner.full requires borderRadius: 2 for 4dp height
  • Active indicator fill has no borderRadius; same issue as track
  • No 4dp horizontal inset from screen edges; spec shows 4dp padding on each side
  • Configurable thickness not supported (M3 Expressive)
  • Wavy shape (amplitude 3dp, wavelength 40dp, height 10dp) not supported (M3 Expressive)
Behavior
  • Determinate mode: progress value animates via scaleX ✅
  • Indeterminate mode: looping translate + scaleX animation ✅
  • Visibility fade in/out ✅
  • RTL support ✅
  • Stop indicator not shown at the end of the track
Notes
  • Should be renamed LinearProgressIndicator and placed in a shared ProgressIndicator/ directory alongside ActivityIndicator (circular), matching MD3 naming
  • ProgressBar name and the color prop (which bypasses the token system) are library-level issues to address at rename time
Lingua principale
TypeScript
Stelle
14.5k
Fork
2.2k
Merge medio
6g 12h
PR unite (30g)
5

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di callstack/react-native-paper

Tutte le issue di callstack/react-native-paper

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.