Lifts the committed-chip location search pattern out of ProvidersStep (two identical inline call sites, ~60 lines each) into a reusable molecule. Behaviour unchanged: draft-typing → commit on Enter or the primary-filled search button → chip render → tap X to clear. The molecule owns the non-obvious correctness CSS (endAdornment absolute-anchoring + right-side padding lane) internally so future callers don't have to rediscover it. Chrome (bgcolor, shadow, border, radius) stays caller-controlled via the `sx` prop — selector keys for internal vs caller rules are kept distinct (.MuiAutocomplete-inputRoot vs .MuiOutlinedInput-root) to avoid sx-merge collisions. API: value (committed, chip-rendered) + onChange (fires on commit OR chip-delete) + optional onCommit (fires only on explicit commit, for side effects beyond state). ProvidersStep trims ~160 lines net, drops searchDraft/commitSearch/the SearchIcon/LocationOnOutlinedIcon/IconButton imports that only existed to power the two inline instances. Four Storybook stories: Empty, WithCommittedValue, Unstyled, WithOnCommit — enough to iterate the molecule without a live page. Verified: delta=0px on the search button position (empty→draft→chip) at both mobile and desktop widths — matches pre-extraction behaviour. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 lines
92 B
TypeScript
2 lines
92 B
TypeScript
export { LocationSearchInput, type LocationSearchInputProps } from './LocationSearchInput';
|