Skip to content

docs(spec): separate upload, send, and arrow icon semantics - #6153

Draft
athz wants to merge 1 commit into
facebook:mainfrom
athz:docs/upload-send-icon-spec
Draft

docs(spec): separate upload, send, and arrow icon semantics#6153
athz wants to merge 1 commit into
facebook:mainfrom
athz:docs/upload-send-icon-spec

Conversation

@athz

@athz athz commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Why

The built-in arrowUp icon key currently means three different things: upload in FileInput, send in ChatSendButton, and ascending direction in sortable Table. A theme that customizes the key for one action also changes the other action and the directional sort pair.

The current icon architecture distinguishes shared semantic names from component-owned roles. Upload and send are reusable actions rather than component implementation details, while arrowUp should remain directional.

Refs #6151.

What

Add the draft AST-032 system spec to propose:

  • distinct shared upload and send names
  • arrowUp remaining the ascending/upward directional name
  • FileInput, ChatSendButton, and sortable Table adopting their respective meanings in a later implementation
  • no default visual change
  • exact compatibility across the core default registry and every shipped theme registry

The shipped-theme requirement matters because icon resolution is an exact name lookup: a theme's existing arrowUp artwork does not automatically become its upload or send artwork. The implementation must initialise both new names from each registry's current arrowUp entry and prove that preservation.

Non-goals

  • no component-owned slot implementation
  • no change to arrowDown or arrowsUpDown
  • no prescribed upload or send drawing
  • no runtime or package changes in this PR

Risk

Documentation only. The record remains authority: draft until an authorised owner approves the exact head.

Testing

  • pnpm check:knowledge
  • pnpm check:repo
  • pnpm exec prettier --check docs/specs/AST-032/spec.md
  • git diff --check

No changeset: this PR does not publish package behavior.

@vercel

vercel Bot commented Sep 8, 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 Sep 8, 2026 7:48am UTC

Request Review

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Sep 8, 2026
@github-actions github-actions Bot added community Authored by a community contributor (not on the eng/design team) needs:code-review High-risk change (new package/component/API) — needs human code review before merge labels Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot. community Authored by a community contributor (not on the eng/design team) needs:code-review High-risk change (new package/component/API) — needs human code review before merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant