1import { List, Navigation, NavigationStack, Picker, PickerStyle, Script, Section, Text, useMemo, useState, } from "scripting"
2
3function Example() {
4 const [value, setValue] = useState<number>(0)
5 const options = useMemo<PickerStyle[]>(() => [
6 'automatic',
7 'inline',
8 'menu',
9 'navigationLink',
10 'palette',
11 'segmented',
12 'wheel'
13 ], [])
14 const users = useMemo<string[]>(() => [
15 "Jobs", "Elon", "Zack", "Joe"
16 ], [])
17
18 return <NavigationStack>
19 <List
20 navigationTitle={"Picker"}
21 navigationBarTitleDisplayMode={"inline"}
22 >
23 {options.map((style) =>
24 <Section
25 header={
26 <Text>Picker: {style}</Text>}
27 >
28 <Picker
29 title={"Picker: " + style}
30 pickerStyle={style}
31 value={value}
32 onChanged={setValue}
33 >
34 {users.map((user, index) =>
35 <Text
36 tag={index}
37 >{user}</Text>
38 )}
39 </Picker>
40 </Section>
41 )}
42 </List>
43 </NavigationStack>
44}
45
46async function run() {
47 await Navigation.present({
48 element: <Example />
49 })
50
51 Script.exit()
52}
53
54run()