Files
heroui-inc--heroui/packages/react/tests/components/autocomplete/autocomplete.ssr.test.tsx
T
WK bb9c4b5582 V3.2.4 (#6758)
* fix(tabs): clamp ListContainer chevron scrolling to the scrollable range (#6749)

* chore(deps): bump react-aria dependencies (#6752)

* chore(deps): bump tailwind-variants to v3.3.1 (#6760)

* chore(docs): release note for 3.2.4

* test(react): behavioral testing infra (#6754)

* fix(link): expose data-slot on link root

* fix(react): put style export condition before default

* test(react): behavioral testing infra and suites

* chore(testing): own vitest-browser-react and clarify coverage gates

* chore: remove pinned version

* fix(autocomplete): prevent popover from clipping the last options (#6766)

* chore(docs): update release note

* fix(styles): prevent subpixel border overflow on badge (#6768)

* chore(docs): update release note

* fix(styles): allow backdrop click to dismiss modal with scroll outside (#6770)

* chore(docs): update release note

* fix(tooltip): restore exit animation when swapping between tooltips (#6772)

* chore(docs): update release note

---------

Co-authored-by: Tyler <56234978+runnerboy22@users.noreply.github.com>
Co-authored-by: Tianen Pang <32772271+tianenpang@users.noreply.github.com>
2026-08-07 06:19:12 -07:00

65 lines
2.1 KiB
TypeScript

import type {ReactNode} from "react";
import {ssrSmoke} from "@heroui/testing/helpers";
import {useFilter} from "react-aria-components/Autocomplete";
import {Autocomplete} from "@/components/autocomplete";
import {Label} from "@/components/label";
import {ListBox} from "@/components/list-box";
import {I18nProvider} from "@/components/rac";
import {SearchField} from "@/components/search-field";
const wrapper = ({children}: {children: ReactNode}) => (
<I18nProvider locale="en-US">{children}</I18nProvider>
);
const AutocompleteExample = ({defaultOpen}: {defaultOpen?: boolean}) => {
const {contains} = useFilter({sensitivity: "base"});
return (
<Autocomplete
data-testid="autocomplete"
defaultOpen={defaultOpen}
placeholder="Select an animal"
selectionMode="single"
>
<Label>Favorite Animal</Label>
<Autocomplete.Trigger>
<Autocomplete.Value />
<Autocomplete.Indicator />
</Autocomplete.Trigger>
<Autocomplete.Popover>
<Autocomplete.Filter filter={contains}>
<SearchField autoFocus aria-label="Search animals" name="search" variant="secondary">
<SearchField.Group>
<SearchField.SearchIcon />
<SearchField.Input placeholder="Search animals..." />
<SearchField.ClearButton />
</SearchField.Group>
</SearchField>
<ListBox>
<ListBox.Item id="cat" textValue="Cat">
Cat
<ListBox.ItemIndicator />
</ListBox.Item>
<ListBox.Item id="dog" textValue="Dog">
Dog
<ListBox.ItemIndicator />
</ListBox.Item>
</ListBox>
</Autocomplete.Filter>
</Autocomplete.Popover>
</Autocomplete>
);
};
describe("Autocomplete SSR", () => {
it("renders without hydration mismatch when closed", async () => {
await ssrSmoke(<AutocompleteExample />, {wrapper});
});
it("renders without hydration mismatch when defaultOpen", async () => {
await ssrSmoke(<AutocompleteExample defaultOpen />, {wrapper});
});
});