DisclosureGroup

1import { Button, DisclosureGroup, List, Navigation, NavigationStack, Script, Text, Toggle, useState } from "scripting"
2
3function Example() {
4  const [topExpanded, setTopExpanded] = useState(true)
5  const [oneIsOn, setOneIsOn] = useState(false)
6  const [twoIsOn, setTwoIsOn] = useState(true)
7
8  return <NavigationStack>
9    <List
10      navigationTitle={"DislcosureGroup"}
11      navigationBarTitleDisplayMode={"inline"}
12    >
13      <Button
14        title={"Toggle expanded"}
15        action={() => setTopExpanded(!topExpanded)}
16      />
17      <DisclosureGroup
18        title={"Items"}
19        isExpanded={topExpanded}
20        onChanged={setTopExpanded}
21      >
22        <Toggle
23          title={"Toggle 1"}
24          value={oneIsOn}
25          onChanged={setOneIsOn}
26        />
27        <Toggle
28          title={"Toggle 2"}
29          value={twoIsOn}
30          onChanged={setTwoIsOn}
31        />
32
33        <DisclosureGroup
34          title={"Sub-items"}
35        >
36          <Text>Sub-item 1</Text>
37        </DisclosureGroup>
38      </DisclosureGroup>
39    </List>
40  </NavigationStack>
41}
42
43async function run() {
44  await Navigation.present({
45    element: <Example />
46  })
47
48  Script.exit()
49}
50
51run()