Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[feat]: Create `<pf-v6-time-picker>` element

Aberta
#3,044 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
45/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
css, typescript

Direção de pesquisa

Start by reading .claude/ADVICE.md and the existing pf-v6-select component as the model for API, floating UI, and styling patterns. Review the PatternFly v6 Time picker design and the listed accessibility, form, demo, and review requirements. Done means the component, demos, public API tests, accessibility snapshots, form submission behavior, changeset, and required checks are complete for staging/pfv6.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

1:1 for dev priority: medium

Summary

Create a <pf-v6-time-picker> web component implementing the PatternFly v6 Time picker component.

Time selection input with dropdown suggestions for 12-hour and 24-hour formats.

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 TimePicker
  • 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

  • FACE: formAssociated = true, ElementInternals - submits time string value
  • time / value prop (string, e.g. "2:00 AM" or "14:00")
  • is24Hour prop for format toggle
  • stepMinutes for dropdown suggestion interval (default 30)
  • minTime / maxTime to restrict valid range
  • placeholder for input hint text
  • Text input with typed entry + time suggestions dropdown (combobox pattern)
  • Combobox: role="combobox", aria-expanded, aria-controls pointing to listbox
  • Listbox: role="listbox", options role="option", aria-selected
  • Floating UI for dropdown positioning (consider pf-v6-select as model)
  • Validation: parse typed time, check against min/max, set aria-invalid
  • Keyboard: Arrow down opens suggestions, Arrow up/down navigates, Enter selects, Escape closes

Checklist

Implementation
  • formAssociated = true
  • ElementInternals for value/validity reporting
  • 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
  • Form submission test
Reviews
  • /review-api passes
  • /review-demos passes
  • /review-a11y passes
  • eslint and stylelint pass
Ship
  • Add changeset
  • PR targets staging/pfv6 (NOT main)
Linguagem predominante
TypeScript
Estrelas
395
Forks
107
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de patternfly/patternfly-elements

Todas as issues de patternfly/patternfly-elements

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.