Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@mountainpass/addressr-react

Package Overview
Dependencies
Maintainers
2
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mountainpass/addressr-react

React address autocomplete component for Australian address search via Addressr

npmnpm
Version
0.4.0
Version published
Weekly downloads
19
280%
Maintainers
2
Weekly downloads
 
Created
Source

@mountainpass/addressr-react

React address autocomplete component for Australian address search, powered by Addressr.

Part of the addressr-ui monorepo.

Install

npm install @mountainpass/addressr-react

Peer dependencies: react >= 18, react-dom >= 18.

Drop-in component

import { AddressAutocomplete } from '@mountainpass/addressr-react';
import '@mountainpass/addressr-react/style.css';

function MyForm() {
  return (
    <AddressAutocomplete
      apiUrl="https://api.addressr.io/"
      onSelect={(address) => {
        console.log(address.sla);          // "1 GEORGE ST, SYDNEY NSW 2000"
        console.log(address.structured);   // { street, locality, state, postcode, ... }
        console.log(address.geocoding);    // { latitude, longitude, ... }
      }}
    />
  );
}

Props

PropTypeDefaultDescription
apiKeystring--RapidAPI key. Omit for direct API access.
onSelect(address: AddressDetail) => voidrequiredCalled when an address is selected
labelstring"Search Australian addresses"Accessible label text
placeholderstring"Start typing an address..."Input placeholder
classNamestring--Additional CSS class for the wrapper
debounceMsnumber300Debounce delay in milliseconds
apiUrlstring"https://addressr.p.rapidapi.com/"API root URL
apiHoststring"addressr.p.rapidapi.com"RapidAPI host header

Headless hook

Build your own UI while keeping the search logic, debounce, pagination, and abort handling:

import { useAddressSearch } from '@mountainpass/addressr-react';

function MyCustomAutocomplete() {
  const {
    query, setQuery,
    results, isLoading,
    hasMore, loadMore, isLoadingMore,
    selectedAddress, selectAddress,
    error, clear,
  } = useAddressSearch({ apiUrl: 'https://api.addressr.io/' });

  return (
    <div>
      <input value={query} onChange={(e) => setQuery(e.target.value)} />
      <ul>
        {results.map((r) => (
          <li key={r.pid} onClick={() => selectAddress(r.pid)}>{r.sla}</li>
        ))}
        {hasMore && <li onClick={loadMore}>Load more...</li>}
      </ul>
    </div>
  );
}

Return values

PropertyTypeDescription
querystringCurrent input value
setQuery(q: string) => voidUpdate query (triggers debounced search)
resultsAddressSearchResult[]Search results (accumulated across pages)
isLoadingbooleanInitial search in progress
isLoadingMorebooleanPagination fetch in progress
hasMorebooleanMore pages available
loadMore() => Promise<void>Load next page of results
errorError | nullLatest error
selectedAddressAddressDetail | nullSelected address detail
selectAddress(pid: string) => Promise<void>Fetch full address detail
clear() => voidReset all state

Accessibility

Built with downshift for WAI-ARIA combobox pattern compliance:

  • Full keyboard navigation (Arrow keys, Enter, Escape)
  • Screen reader announcements for results count and loading state
  • Visible focus indicators (3:1 contrast)
  • Touch targets >= 44px
  • Accessible label always present
  • Infinite scroll with loading indicator

Re-exports

This package re-exports everything from @mountainpass/addressr-core for convenience -- createAddressrClient, parseHighlight, and all types.

License

Apache-2.0

Keywords

react

FAQs

Package last updated on 14 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts