Close recorded input-family public prop gaps
- 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
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