- Accordion
- Avatar
- Badge
- Breadcrumb
- Button
- Calendar
- ChatContainer
- ChatInput
- ChatMessage
- ChatMultiChoiceQuestion
- ChatMultiOptionQuestion
- ChatThinking
- Checkbox
- Combobox
- Container
- CurrencyInput
- DistributionSlider
- Drawer
- Dropdown
- FilePicker
- Grid
- Heading
- Image
- Input
- InputGroup
- Label
- Logo
- MapPin
- Markdown
- Modal
- NativeSelect
- NumberInput
- OptionSlider
- OtpInput
- PhoneInput
- Popover
- Progress
- PropertyCalendar
- RadioGroup
- RadioGroupCards
- ResponsiveModal
- ScrollArea
- SearchBar
- SearchBarFallback
- SearchInput
- Select
- Separator
- Spinner
- Switch
- Table
- Tabs
- Text
- Textarea
- TimePicker
- Toast
- Toggle
- ToggleCard
- ToggleGroup
- Toolbar
- Tooltip
SearchBarFallback
A lightweight static placeholder for the SearchBar, used as a Suspense fallback or initial server render.
pnpm add @wandercom/design-system-web
The SearchBarFallback renders a static placeholder that visually matches the SearchBar's empty state. Wrap the real SearchBar in a Suspense boundary with the fallback to avoid layout shift during loading. By default the composed fallback establishes a 65rem (1040px) query container and switches layout from its own available width. Pass inheritContainer when its matching SearchBar follows an ancestor container.
import { SearchBarFallback } from '@wandercom/design-system-web/ui/search-bar-fallback';
import { SearchBar } from '@wandercom/design-system-web/ui/search-bar';
import { Suspense } from 'react';
export function Example() {
return (
<Suspense fallback={<SearchBarFallback />}>
<SearchBar />
</Suspense>
);
}The example renders the live SearchBar empty state and the fallback at the same available width so desktop and mobile alignment can be compared directly.
locationPlaceholder?:
datesPlaceholder?:
guestsPlaceholder?:
searchLabel?:
mobilePlaceholder?:
className?:
inheritContainer?:
Accepts all standard div element props.
SearchBarFallbackDesktop and SearchBarFallbackMobile are lower-level exports. When rendered independently, place them beneath an @container ancestor if their responsive visibility should adapt to a parent width.
locationPlaceholder?:
datesPlaceholder?:
guestsPlaceholder?:
searchLabel?:
className?:
Accepts all standard div element props.
placeholder?:
className?:
Accepts all standard div element props.
All visible text can be customized via props to support localization:
<SearchBarFallback
locationPlaceholder="Où ?"
datesPlaceholder="Quand ?"
guestsPlaceholder="Combien ?"
searchLabel="Rechercher"
mobilePlaceholder="Commencer la recherche"
/>This component renders static HTML with no client-side JavaScript, hooks, or state. It works as a React Server Component. At container widths of 65rem (1040px) and wider, it shows a pill-shaped bar with location, dates, and guests placeholders plus a search button. Below that width, it shows a centered pill with a search icon and placeholder text. All copy is customizable via props with sensible English defaults.