facebook / facebook/astryx

Close recorded input-family public prop gaps

Open
#5,941 3 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
TypeScript
Stars
13.1k
Forks
1.1k
Avg merge
1d 14h
Merged PRs (30d)
669

Description

## Problem

The input-field family contract records several members that do not yet expose otherwise shared public concepts. These are contributor-sized API gaps, not one coupled implementation project.

Source: [input-field family contract #5778](https://github.com/facebook/astryx/pull/5778), `docs/families/input-fields.md` → **Adoption and exceptions**.

## Missing props

Each checkbox should be handled in its own pull request so it can be reviewed, tested, and released independently.

- [ ] **NumberInput:** add family-aligned `isLoading` and `changeAction` support.
- [ ] **FileInput:** add a public `size` prop aligned with input-family sizes.
- [ ] **ComplexSelector:** add the family disabled-reason API (`disabledMessage`).
- [ ] **Typeahead:** add family-aligned `isLoading` and `changeAction` support without conflating input loading with async option-source loading.
- [ ] **Tokenizer:** add family-aligned `isLoading` and `changeAction` support without conflating input loading with async option-source loading.

## Acceptance criteria for each pull request

- Preserve the existing no-new-prop behavior.
- Follow the input-family meaning and ordering for the added concept.
- Keep component-owned value and callback types explicit in consumer docs.
- Test the new behavior and the unchanged legacy path.
- Add a package Changeset and update component documentation.
- Do not bundle unrelated geometry, theming-target, InputGroup, or verification work.

Before starting, comment with the checkbox you plan to take so contributors do not duplicate work.

Contributor guide

Open the contributing guide

Research direction

Read docs/families/input-fields.md, especially “Adoption and exceptions,” and the linked input-field family contract in PR #5778. Choose and announce one checkbox before locating that component’s existing public API, tests, and documentation. Done means the selected prop follows the family meaning and ordering, preserves the legacy path, has explicit consumer types, tests, a package Changeset, and updated component documentation.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
design, frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.