Job Search Plugin
The Job Search plugin renders a complete job search interface with filters, search, and job cards.Installation
- npm
- pnpm
- CDN
Basic usage
- Package
- CDN
Host element
Add a container element where the widget will render:Use
data-widget-id to identify the container when rendering multiple widgets on the same page.Configuration
Theme
Properties (Filters)
Define which job properties appear as filters:Job Card
Customize how job cards display:Other options
Geolocation
Geolocation lets candidates search for jobs near a place. When enabled, the search bar gains a Where field alongside the keyword input, and results are filtered to jobs within a chosen distance of the candidate’s location.Setting a location
Candidates can set their location in two ways:- Search for a place — type a town, city, or postcode and pick from the suggestions. Suggestions are biased towards the candidate’s approximate location.
- Use my location — the My location button reads the device’s location through the browser. This requires a secure context (HTTPS) and the candidate’s permission; if it is denied or unavailable, the candidate is prompted to type a location instead.
Radius
A Within dropdown controls how far from the location to search. The available distances depend ondistanceUnit:
Geolocation is a filter, not a re-ordering. It narrows results to jobs within the radius; it does not re-sort matching jobs by distance. The filter only applies once a candidate has chosen a location — enabling the field alone does not change results.
Map view
When the map is enabled, switching to the map view filters results to the jobs within the area currently shown on the map. Panning or zooming the map updates the results to match the new bounds. Changing the keyword or other filters clears the map-area filter.Deep linking
Geolocation state is reflected in the URL usinglat, lng, and radius query parameters (the radius is expressed in metres). When you hydrate the widget’s initialState from the URL, a shared or bookmarked link reopens with the same location search applied.
Translating the geo labels
All of the geolocation labels — Where, Within, My location, the location search placeholder, and the location permission error messages — can be customised through theterms option.
Full configuration reference
API
render(params)
Mounts the job search UI in the host element. Requires an onStateChange callback in addition to the configuration above. The callback receives a partial state object whenever a slice of the widget state changes (filters, query, page, view, etc.).
initialData when hydrating a server-rendered widget (see prerender below).
prerender(params)
Returns HTML for server-side rendering. Use withData: true to fetch initial results on the server.