Skip to content

docs(DateInput): FR14 says when a tapped row commits - #9838

Merged
cixzhang merged 1 commit into
meta:mainfrom
vjeux:uikit/c21-fr14-tap-commit
Nov 4, 2026
Merged

cixzhang merged 1 commit into
meta:mainfrom
vjeux:uikit/c21-fr14-tap-commit

Conversation

@vjeux

@vjeux vjeux commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Exact decision needed

When does a tapped picker wheel row commit its value? Under a finger, the wheel turns onto the row (component:DateInput FR14) and commits when the turn ends; a key or an assistive-technology activation commits at once. FR14 names the turn, not when the value commits.

Existing authority searched

component:DateInput FR13, FR14, FR17 and FR18, and spec:AST-094 FR4 and FR19: none names the commit moment. Open pull requests editing FR14's row: #8178 and #9706 change its text, and #9643, #9793 and #9794 re-pad it. Whichever lands later rebases one row.

Decision

FR14 gains one sentence: "Under a finger, a tapped row commits its value when its turn ends; a keyboard or assistive-technology activation commits at once." The wording is the engineering owner's.

Rejected alternatives

  • Commit at the lift, then turn: an onChange would arrive while the wheel still shows the old row, unlike the iOS picker.

Claim scope and non-goals

Only the commit moment of a tap, a key and an assistive-technology activation. FR14's turn, FR17 and FR18 are unchanged.

Evidence and implementation relationship

Since #8159 the wheel behaves so. FR14's verification row now names the three PickerWheel.test.tsx tests that check it, and its states and failure clause name those inputs:

  • "turns onto a tapped row and commits it on arrival";
  • "commits each arrow key at once, stepping from the row it is heading to";
  • "commits a clicked row at once and never a disabled one".

Writing rubric results

Over component:DateInput FR14's two rows:

  • R1 narration: none.
  • R2 research in the record: none.
  • R3 evidence naming a change: none; the row names tests only.
  • R4 rejected alternatives over one line or outside a decision: none in the record.
  • R5 pull request or issue references remaining: none.
  • R6 ruled open questions still listing options: none.

Scope

  • This PR contains specification records only.
  • It records observable behavior and preserves equivalent internal implementations.
  • Any named internal mechanism is intentionally public, names its dependent caller/system, and explains why an equivalent implementation would not satisfy the contract.
  • Verification states the evidence layer and failure signal without prescribing CI job/workflow topology.
  • It records one intentional durable decision, not a rescue for a separable tagalong.
  • The canonical knowledge owner, affected current claims, and overlapping open work are named; any ownership collision is resolved or called out for human decision.
  • Adjacent API, visual, accessibility, composition, and implementation facts remain outside scope unless this exact decision depends on them.
  • Public text and artifacts contain no internal Meta context.

Validation

  • pnpm check:knowledge: aligned.
  • Prettier: clean (both rows keep their column widths).
  • git diff --check: clean.

Under a finger, a tapped row commits its value when its turn ends; a keyboard or assistive-technology activation commits at once. The verification row names the three tests that check it.
@vercel

vercel Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
astryx Ready Ready Preview Nov 3, 2026 11:55pm UTC

Request Review

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Nov 3, 2026
@github-actions github-actions Bot added the needs:spec-owner-review Current knowledge records await owner approval label Nov 3, 2026
@astracat-bot

astracat-bot Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

AI review status for this pull request.

Review status Updated
🟢 Reviewed (for maintainers only) Nov 4, 2026, 12:11 AM UTC

@cixzhang

cixzhang commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

/approve-spec 9a07121

@github-actions github-actions Bot removed the needs:spec-owner-review Current knowledge records await owner approval label Nov 3, 2026

@astracat-bot astracat-bot Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommended for approval. FR14's new sentence and verification row record what the bottom-sheet picker wheel already does: a finger's tap commits when the turn reaches the row, and a key or an assistive-technology activation commits at once. The three cited PickerWheel.test.tsx tests exist under those names and pass, the record passes knowledge validation and Prettier, and an engineering owner approved the spec text at this head. The red CI jobs stopped at the fork admission gate and wait for a maintainer's ci:run label; nothing in the change needs fixing.

[Automated review]

@vjeux
vjeux marked this pull request as ready for review November 4, 2026 00:07
@cixzhang cixzhang added the ci:run A maintainer lets this outside contributor's pull request run CI (AST-030 FR17) label Nov 4, 2026
@cixzhang
cixzhang marked this pull request as draft November 4, 2026 01:22
@cixzhang
cixzhang marked this pull request as ready for review November 4, 2026 01:22
@cixzhang
cixzhang merged commit 07ee4b5 into meta:main Nov 4, 2026
135 of 140 checks passed
@vjeux
vjeux deleted the uikit/c21-fr14-tap-commit branch November 4, 2026 04:27

This branch was successfully deployed

1 active deployment
Preview — 9a071213 Deployed Nov 3, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:run A maintainer lets this outside contributor's pull request run CI (AST-030 FR17) CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants