Skip to content

Commit 4afd4a1

Browse files
authored
Merge pull request #5 from couvq/autocomplete
basic autocomplete component
2 parents 93b7dc9 + c99b9e6 commit 4afd4a1

File tree

7 files changed

+6256
-4156
lines changed

7 files changed

+6256
-4156
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import ExampleGroup from '@/components/common-components/ExampleGroup'
2+
import ExamplePage from '@/components/common-components/ExamplePage'
3+
import { Autocomplete, AutocompleteItem } from 'flourish-ui'
4+
import { useState } from 'react'
5+
6+
const options = [
7+
{ id: 1, name: 'Aerospace' },
8+
{ id: 2, name: 'Mechanical' },
9+
{ id: 3, name: 'Civil' },
10+
{ id: 4, name: 'Biomedical' },
11+
{ id: 5, name: 'Nuclear' },
12+
{ id: 6, name: 'Industrial' },
13+
{ id: 7, name: 'Chemical' },
14+
{ id: 8, name: 'Agricultural' },
15+
{ id: 9, name: 'Electrical' }
16+
]
17+
18+
const AutocompletePage = () => {
19+
const [majorId, setMajorId] = useState()
20+
21+
// @ts-ignore
22+
const onSelectionChange = (id) => {
23+
setMajorId(id)
24+
}
25+
26+
return (
27+
<ExamplePage exampleName="Autocomplete examples">
28+
<ExampleGroup groupName="Basic autocomplete">
29+
Selected id is {majorId}
30+
<Autocomplete
31+
label="Pick a major"
32+
onSelectionChange={onSelectionChange}
33+
>
34+
{options.map((option) => (
35+
<AutocompleteItem key={option.id} id={option.id}>
36+
{option.name}
37+
</AutocompleteItem>
38+
))}
39+
</Autocomplete>
40+
</ExampleGroup>
41+
</ExamplePage>
42+
)
43+
}
44+
45+
export default AutocompletePage

apps/flourish-rapid/src/routes/index.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import AutocompletePage from '@/components/examplePages/AutocompletePage'
12
import ButtonPage from '@/components/examplePages/ButtonPage'
23
import DrawerPage from '@/components/examplePages/DrawerPage'
34
import FlexPage from '@/components/examplePages/FlexPage'
@@ -59,5 +60,10 @@ export const routes: RouteEntry[] = [
5960
path: '/text-field',
6061
label: 'Text Field',
6162
element: <TextFieldPage />
63+
},
64+
{
65+
path: '/autocomplete',
66+
label: 'Autocomplete',
67+
element: <AutocompletePage />
6268
}
6369
]

0 commit comments

Comments
 (0)