Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[feat]: Create `<pf-v6-multiple-file-upload>` element

Abierto
#3,023 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
38/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
typescript

Línea de trabajo

Start by reading .claude/ADVICE.md and the dependent pf-v6-file-upload issue (#2693), then review the PatternFly v6 Multiple file upload design and the repository's existing element structure. Done means the component, demos, public API tests, accessibility snapshots, styling checks, review commands, changeset, and staging/pfv6 targeting satisfy the listed checklist.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

1:1 for dev priority: medium

Summary

Create a <pf-v6-multiple-file-upload> web component implementing the PatternFly v6 Multiple file upload component.

Multi-file upload with drag-and-drop, per-file progress indicators, and file list management.

Prior Art

Source Element Status
PFE v4 -- --
cem -- --
cockpit -- --
chickadee -- --

Requirements

  • MUST implement PFv6 visual designs
  • MUST provide end-user feature parity with @patternfly/react-core MultipleFileUpload
  • MAY adjust element API to leverage web platform strengths
  • SHOULD maintain CSS custom property theming compatibility
  • SHOULD expose useful CSS shadow parts

Element-specific considerations

  • Depends on pf-v6-file-upload (#2693) - port that first
  • <input type="file" multiple> under the hood
  • Sub-components: MultipleFileUploadMain (drop zone), MultipleFileUploadInfo (status text), MultipleFileUploadStatus (file list), MultipleFileUploadStatusItem
  • Drag-and-drop zone shared with single upload; isDragActive state
  • Per-file status item: filename, file size, progress bar, remove button, success/error icon
  • onFileDrop / onFileInputChange events bubble the full FileList
  • Upload progress managed externally (consumer tracks progress per file and updates props)
  • isHorizontal layout variant
  • FACE: formAssociated may not apply here (multi-file forms typically use FormData manually); evaluate whether ElementInternals helps
  • Remove button per file: fires onFileRemove event with filename

Checklist

Implementation
  • API per .claude/ADVICE.md
  • CSS uses v6 tokens, logical properties, nesting
  • @summary and JSDoc on element class
Demos
  • Demos match patternfly.org naming/structure
  • CSS custom properties match computed styles from patternfly.org (Chrome MCP)
  • Visual parity verified via Chrome MCP
Tests
  • Public API covered (attributes, properties, events, slots)
  • a11ySnapshot assertions
Reviews
  • /review-api passes
  • /review-demos passes
  • /review-a11y passes
  • eslint and stylelint pass
Ship
  • Add changeset
  • PR targets staging/pfv6 (NOT main)
Lenguaje dominante
TypeScript
Estrellas
394
Forks
107
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de patternfly/patternfly-elements

Todos los issues de patternfly/patternfly-elements

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.