@databricks/appkit 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/CLAUDE.md +121 -1231
  2. package/NOTICE.md +1 -1
  3. package/bin/appkit.js +3 -0
  4. package/dist/appkit/package.js +1 -1
  5. package/dist/cache/index.js +3 -3
  6. package/dist/cache/index.js.map +1 -1
  7. package/dist/cli/commands/docs.js +47 -0
  8. package/dist/cli/commands/docs.js.map +1 -0
  9. package/dist/cli/commands/generate-types.js +38 -0
  10. package/dist/cli/commands/generate-types.js.map +1 -0
  11. package/dist/cli/commands/lint.js +104 -0
  12. package/dist/cli/commands/lint.js.map +1 -0
  13. package/dist/cli/commands/setup.js +121 -0
  14. package/dist/cli/commands/setup.js.map +1 -0
  15. package/dist/cli/index.d.ts +1 -0
  16. package/dist/cli/index.js +24 -0
  17. package/dist/cli/index.js.map +1 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/plugin/plugin.d.ts +1 -0
  20. package/dist/plugin/plugin.d.ts.map +1 -1
  21. package/dist/plugin/plugin.js +1 -0
  22. package/dist/plugin/plugin.js.map +1 -1
  23. package/dist/server/remote-tunnel/remote-tunnel-manager.js +9 -9
  24. package/dist/server/remote-tunnel/remote-tunnel-manager.js.map +1 -1
  25. package/dist/server/utils.js +6 -6
  26. package/dist/server/utils.js.map +1 -1
  27. package/dist/shared/src/execute.d.ts +1 -0
  28. package/dist/shared/src/execute.d.ts.map +1 -1
  29. package/dist/shared/src/plugin.d.ts +3 -0
  30. package/dist/shared/src/plugin.d.ts.map +1 -1
  31. package/dist/telemetry/types.d.ts +1 -0
  32. package/dist/telemetry/types.d.ts.map +1 -1
  33. package/dist/type-generator/index.js +1 -1
  34. package/dist/type-generator/index.js.map +1 -1
  35. package/docs/docs/api/appkit/Class.AppKitError/index.html +77 -0
  36. package/docs/docs/api/appkit/Class.AppKitError.md +154 -0
  37. package/docs/docs/api/appkit/Class.AuthenticationError/index.html +110 -0
  38. package/docs/docs/api/appkit/Class.AuthenticationError.md +236 -0
  39. package/docs/docs/api/appkit/Class.ConfigurationError/index.html +112 -0
  40. package/docs/docs/api/appkit/Class.ConfigurationError.md +243 -0
  41. package/docs/docs/api/appkit/Class.ConnectionError/index.html +120 -0
  42. package/docs/docs/api/appkit/Class.ConnectionError.md +265 -0
  43. package/docs/docs/api/appkit/Class.ExecutionError/index.html +116 -0
  44. package/docs/docs/api/appkit/Class.ExecutionError.md +250 -0
  45. package/docs/docs/api/appkit/Class.InitializationError/index.html +104 -0
  46. package/docs/docs/api/appkit/Class.InitializationError.md +222 -0
  47. package/docs/docs/api/appkit/Class.Plugin/index.html +149 -0
  48. package/docs/docs/api/appkit/Class.Plugin.md +392 -0
  49. package/docs/docs/api/appkit/Class.ServerError/index.html +108 -0
  50. package/docs/docs/api/appkit/Class.ServerError.md +229 -0
  51. package/docs/docs/api/appkit/Class.TunnelError/index.html +108 -0
  52. package/docs/docs/api/appkit/Class.TunnelError.md +231 -0
  53. package/docs/docs/api/appkit/Class.ValidationError/index.html +106 -0
  54. package/docs/docs/api/appkit/Class.ValidationError.md +225 -0
  55. package/docs/docs/api/appkit/Function.appKitTypesPlugin/index.html +24 -0
  56. package/docs/docs/api/appkit/Function.appKitTypesPlugin.md +20 -0
  57. package/docs/docs/api/appkit/Function.createApp/index.html +24 -0
  58. package/docs/docs/api/appkit/Function.createApp.md +31 -0
  59. package/docs/docs/api/appkit/Function.isSQLTypeMarker/index.html +25 -0
  60. package/docs/docs/api/appkit/Function.isSQLTypeMarker.md +32 -0
  61. package/docs/docs/api/appkit/Interface.BasePluginConfig/index.html +28 -0
  62. package/docs/docs/api/appkit/Interface.BasePluginConfig.md +37 -0
  63. package/docs/docs/api/appkit/Interface.CacheConfig/index.html +63 -0
  64. package/docs/docs/api/appkit/Interface.CacheConfig.md +131 -0
  65. package/docs/docs/api/appkit/Interface.ITelemetry/index.html +73 -0
  66. package/docs/docs/api/appkit/Interface.ITelemetry.md +144 -0
  67. package/docs/docs/api/appkit/Interface.StreamExecutionSettings/index.html +26 -0
  68. package/docs/docs/api/appkit/Interface.StreamExecutionSettings.md +30 -0
  69. package/docs/docs/api/appkit/Interface.TelemetryConfig/index.html +32 -0
  70. package/docs/docs/api/appkit/Interface.TelemetryConfig.md +48 -0
  71. package/docs/docs/api/appkit/TypeAlias.IAppRouter/index.html +18 -0
  72. package/docs/docs/api/appkit/TypeAlias.IAppRouter.md +8 -0
  73. package/docs/docs/api/appkit/Variable.sql/index.html +98 -0
  74. package/docs/docs/api/appkit/Variable.sql.md +260 -0
  75. package/docs/docs/api/appkit/index.html +28 -0
  76. package/docs/docs/api/appkit-ui/data/AreaChart/index.html +29 -0
  77. package/docs/docs/api/appkit-ui/data/AreaChart.md +79 -0
  78. package/docs/docs/api/appkit-ui/data/BarChart/index.html +29 -0
  79. package/docs/docs/api/appkit-ui/data/BarChart.md +74 -0
  80. package/docs/docs/api/appkit-ui/data/DataTable/index.html +36 -0
  81. package/docs/docs/api/appkit-ui/data/DataTable.md +69 -0
  82. package/docs/docs/api/appkit-ui/data/DonutChart/index.html +29 -0
  83. package/docs/docs/api/appkit-ui/data/DonutChart.md +72 -0
  84. package/docs/docs/api/appkit-ui/data/HeatmapChart/index.html +35 -0
  85. package/docs/docs/api/appkit-ui/data/HeatmapChart.md +91 -0
  86. package/docs/docs/api/appkit-ui/data/LineChart/index.html +29 -0
  87. package/docs/docs/api/appkit-ui/data/LineChart.md +77 -0
  88. package/docs/docs/api/appkit-ui/data/PieChart/index.html +29 -0
  89. package/docs/docs/api/appkit-ui/data/PieChart.md +72 -0
  90. package/docs/docs/api/appkit-ui/data/RadarChart/index.html +29 -0
  91. package/docs/docs/api/appkit-ui/data/RadarChart.md +74 -0
  92. package/docs/docs/api/appkit-ui/data/ScatterChart/index.html +29 -0
  93. package/docs/docs/api/appkit-ui/data/ScatterChart.md +76 -0
  94. package/docs/docs/api/appkit-ui/index.html +23 -0
  95. package/docs/docs/api/appkit-ui/styling/index.html +74 -0
  96. package/docs/docs/api/appkit-ui/styling.md +81 -0
  97. package/docs/docs/api/appkit-ui/ui/Accordion/index.html +48 -0
  98. package/docs/docs/api/appkit-ui/ui/Accordion.md +139 -0
  99. package/docs/docs/api/appkit-ui/ui/Alert/index.html +41 -0
  100. package/docs/docs/api/appkit-ui/ui/Alert.md +89 -0
  101. package/docs/docs/api/appkit-ui/ui/AlertDialog/index.html +97 -0
  102. package/docs/docs/api/appkit-ui/ui/AlertDialog.md +282 -0
  103. package/docs/docs/api/appkit-ui/ui/AspectRatio/index.html +27 -0
  104. package/docs/docs/api/appkit-ui/ui/AspectRatio.md +46 -0
  105. package/docs/docs/api/appkit-ui/ui/Avatar/index.html +41 -0
  106. package/docs/docs/api/appkit-ui/ui/Avatar.md +90 -0
  107. package/docs/docs/api/appkit-ui/ui/Badge/index.html +27 -0
  108. package/docs/docs/api/appkit-ui/ui/Badge.md +38 -0
  109. package/docs/docs/api/appkit-ui/ui/Breadcrumb/index.html +69 -0
  110. package/docs/docs/api/appkit-ui/ui/Breadcrumb.md +193 -0
  111. package/docs/docs/api/appkit-ui/ui/Button/index.html +27 -0
  112. package/docs/docs/api/appkit-ui/ui/Button.md +39 -0
  113. package/docs/docs/api/appkit-ui/ui/ButtonGroup/index.html +38 -0
  114. package/docs/docs/api/appkit-ui/ui/ButtonGroup.md +68 -0
  115. package/docs/docs/api/appkit-ui/ui/Calendar/index.html +34 -0
  116. package/docs/docs/api/appkit-ui/ui/Calendar.md +154 -0
  117. package/docs/docs/api/appkit-ui/ui/Card/index.html +69 -0
  118. package/docs/docs/api/appkit-ui/ui/Card.md +222 -0
  119. package/docs/docs/api/appkit-ui/ui/Carousel/index.html +55 -0
  120. package/docs/docs/api/appkit-ui/ui/Carousel.md +152 -0
  121. package/docs/docs/api/appkit-ui/ui/ChartContainer/index.html +58 -0
  122. package/docs/docs/api/appkit-ui/ui/ChartContainer.md +343 -0
  123. package/docs/docs/api/appkit-ui/ui/Checkbox/index.html +27 -0
  124. package/docs/docs/api/appkit-ui/ui/Checkbox.md +53 -0
  125. package/docs/docs/api/appkit-ui/ui/Collapsible/index.html +41 -0
  126. package/docs/docs/api/appkit-ui/ui/Collapsible.md +125 -0
  127. package/docs/docs/api/appkit-ui/ui/Command/index.html +83 -0
  128. package/docs/docs/api/appkit-ui/ui/Command.md +287 -0
  129. package/docs/docs/api/appkit-ui/ui/ContextMenu/index.html +111 -0
  130. package/docs/docs/api/appkit-ui/ui/ContextMenu.md +419 -0
  131. package/docs/docs/api/appkit-ui/ui/Dialog/index.html +90 -0
  132. package/docs/docs/api/appkit-ui/ui/Dialog.md +285 -0
  133. package/docs/docs/api/appkit-ui/ui/Drawer/index.html +90 -0
  134. package/docs/docs/api/appkit-ui/ui/Drawer.md +387 -0
  135. package/docs/docs/api/appkit-ui/ui/DropdownMenu/index.html +111 -0
  136. package/docs/docs/api/appkit-ui/ui/DropdownMenu.md +478 -0
  137. package/docs/docs/api/appkit-ui/ui/Empty/index.html +54 -0
  138. package/docs/docs/api/appkit-ui/ui/Empty.md +109 -0
  139. package/docs/docs/api/appkit-ui/ui/Field/index.html +87 -0
  140. package/docs/docs/api/appkit-ui/ui/Field.md +201 -0
  141. package/docs/docs/api/appkit-ui/ui/FormControl/index.html +59 -0
  142. package/docs/docs/api/appkit-ui/ui/FormControl.md +128 -0
  143. package/docs/docs/api/appkit-ui/ui/HoverCard/index.html +39 -0
  144. package/docs/docs/api/appkit-ui/ui/HoverCard.md +131 -0
  145. package/docs/docs/api/appkit-ui/ui/Input/index.html +27 -0
  146. package/docs/docs/api/appkit-ui/ui/Input.md +35 -0
  147. package/docs/docs/api/appkit-ui/ui/InputGroup/index.html +59 -0
  148. package/docs/docs/api/appkit-ui/ui/InputGroup.md +123 -0
  149. package/docs/docs/api/appkit-ui/ui/InputOTP/index.html +48 -0
  150. package/docs/docs/api/appkit-ui/ui/InputOTP.md +124 -0
  151. package/docs/docs/api/appkit-ui/ui/Item/index.html +78 -0
  152. package/docs/docs/api/appkit-ui/ui/Item.md +185 -0
  153. package/docs/docs/api/appkit-ui/ui/Kbd/index.html +30 -0
  154. package/docs/docs/api/appkit-ui/ui/Kbd.md +39 -0
  155. package/docs/docs/api/appkit-ui/ui/Label/index.html +27 -0
  156. package/docs/docs/api/appkit-ui/ui/Label.md +44 -0
  157. package/docs/docs/api/appkit-ui/ui/Menubar/index.html +117 -0
  158. package/docs/docs/api/appkit-ui/ui/Menubar.md +484 -0
  159. package/docs/docs/api/appkit-ui/ui/NavigationMenu/index.html +76 -0
  160. package/docs/docs/api/appkit-ui/ui/NavigationMenu.md +338 -0
  161. package/docs/docs/api/appkit-ui/ui/Pagination/index.html +69 -0
  162. package/docs/docs/api/appkit-ui/ui/Pagination.md +191 -0
  163. package/docs/docs/api/appkit-ui/ui/Popover/index.html +45 -0
  164. package/docs/docs/api/appkit-ui/ui/Popover.md +173 -0
  165. package/docs/docs/api/appkit-ui/ui/Progress/index.html +27 -0
  166. package/docs/docs/api/appkit-ui/ui/Progress.md +51 -0
  167. package/docs/docs/api/appkit-ui/ui/RadioGroup/index.html +33 -0
  168. package/docs/docs/api/appkit-ui/ui/RadioGroup.md +83 -0
  169. package/docs/docs/api/appkit-ui/ui/ResizableHandle/index.html +41 -0
  170. package/docs/docs/api/appkit-ui/ui/ResizableHandle.md +136 -0
  171. package/docs/docs/api/appkit-ui/ui/ScrollArea/index.html +34 -0
  172. package/docs/docs/api/appkit-ui/ui/ScrollArea.md +83 -0
  173. package/docs/docs/api/appkit-ui/ui/Select/index.html +82 -0
  174. package/docs/docs/api/appkit-ui/ui/Select.md +267 -0
  175. package/docs/docs/api/appkit-ui/ui/Separator/index.html +27 -0
  176. package/docs/docs/api/appkit-ui/ui/Separator.md +56 -0
  177. package/docs/docs/api/appkit-ui/ui/Sheet/index.html +76 -0
  178. package/docs/docs/api/appkit-ui/ui/Sheet.md +236 -0
  179. package/docs/docs/api/appkit-ui/ui/Sidebar/index.html +183 -0
  180. package/docs/docs/api/appkit-ui/ui/Sidebar.md +490 -0
  181. package/docs/docs/api/appkit-ui/ui/Skeleton/index.html +27 -0
  182. package/docs/docs/api/appkit-ui/ui/Skeleton.md +43 -0
  183. package/docs/docs/api/appkit-ui/ui/Slider/index.html +27 -0
  184. package/docs/docs/api/appkit-ui/ui/Slider.md +61 -0
  185. package/docs/docs/api/appkit-ui/ui/Spinner/index.html +24 -0
  186. package/docs/docs/api/appkit-ui/ui/Spinner.md +22 -0
  187. package/docs/docs/api/appkit-ui/ui/Switch/index.html +27 -0
  188. package/docs/docs/api/appkit-ui/ui/Switch.md +46 -0
  189. package/docs/docs/api/appkit-ui/ui/Table/index.html +69 -0
  190. package/docs/docs/api/appkit-ui/ui/Table.md +236 -0
  191. package/docs/docs/api/appkit-ui/ui/Tabs/index.html +48 -0
  192. package/docs/docs/api/appkit-ui/ui/Tabs.md +177 -0
  193. package/docs/docs/api/appkit-ui/ui/Textarea/index.html +27 -0
  194. package/docs/docs/api/appkit-ui/ui/Textarea.md +35 -0
  195. package/docs/docs/api/appkit-ui/ui/Toaster/index.html +27 -0
  196. package/docs/docs/api/appkit-ui/ui/Toaster.md +75 -0
  197. package/docs/docs/api/appkit-ui/ui/Toggle/index.html +27 -0
  198. package/docs/docs/api/appkit-ui/ui/Toggle.md +48 -0
  199. package/docs/docs/api/appkit-ui/ui/ToggleGroup/index.html +33 -0
  200. package/docs/docs/api/appkit-ui/ui/ToggleGroup.md +88 -0
  201. package/docs/docs/api/appkit-ui/ui/Tooltip/index.html +46 -0
  202. package/docs/docs/api/appkit-ui/ui/Tooltip.md +134 -0
  203. package/docs/docs/api/appkit-ui.md +15 -0
  204. package/docs/docs/api/appkit.md +48 -0
  205. package/docs/docs/api/index.html +28 -0
  206. package/docs/docs/api.md +24 -0
  207. package/docs/docs/app-management/index.html +106 -0
  208. package/docs/docs/app-management.md +171 -0
  209. package/docs/docs/architecture/index.html +71 -0
  210. package/docs/docs/architecture.md +69 -0
  211. package/docs/docs/category/development/index.html +16 -0
  212. package/docs/docs/category/development.md +3 -0
  213. package/docs/docs/configuration/index.html +66 -0
  214. package/docs/docs/configuration.md +150 -0
  215. package/docs/docs/core-principles/index.html +38 -0
  216. package/docs/docs/core-principles.md +31 -0
  217. package/docs/docs/development/index.html +34 -0
  218. package/docs/docs/development/llm-guide/index.html +74 -0
  219. package/docs/docs/development/llm-guide.md +74 -0
  220. package/docs/docs/development/local-development/index.html +27 -0
  221. package/docs/docs/development/local-development.md +20 -0
  222. package/docs/docs/development/project-setup/index.html +69 -0
  223. package/docs/docs/development/project-setup.md +246 -0
  224. package/docs/docs/development/remote-bridge/index.html +76 -0
  225. package/docs/docs/development/remote-bridge.md +80 -0
  226. package/docs/docs/development/type-generation/index.html +65 -0
  227. package/docs/docs/development/type-generation.md +110 -0
  228. package/docs/docs/development.md +21 -0
  229. package/docs/docs/index.html +58 -0
  230. package/docs/docs/plugins/index.html +151 -0
  231. package/docs/docs/plugins.md +313 -0
  232. package/docs/docs.md +64 -0
  233. package/llms.txt +121 -1231
  234. package/package.json +11 -11
  235. package/scripts/postinstall.js +1 -1
  236. package/AGENTS.md +0 -1234
  237. package/bin/appkit-lint.js +0 -129
  238. package/bin/generate-types.js +0 -27
  239. package/bin/setup-claude.js +0 -190
@@ -0,0 +1,478 @@
1
+ # DropdownMenu
2
+
3
+ Menu that displays when triggered by a button or element
4
+
5
+ ## Example[​](#example "Direct link to Example")
6
+
7
+ <!-- -->
8
+
9
+ ```tsx
10
+ import {
11
+ Cloud,
12
+ CreditCard,
13
+ Github,
14
+ Keyboard,
15
+ LifeBuoy,
16
+ LogOut,
17
+ Mail,
18
+ MessageSquare,
19
+ Plus,
20
+ PlusCircle,
21
+ Settings,
22
+ User,
23
+ UserPlus,
24
+ Users,
25
+ } from "lucide-react"
26
+
27
+ import {
28
+ Button,
29
+ DropdownMenu,
30
+ DropdownMenuContent,
31
+ DropdownMenuGroup,
32
+ DropdownMenuItem,
33
+ DropdownMenuLabel,
34
+ DropdownMenuPortal,
35
+ DropdownMenuSeparator,
36
+ DropdownMenuShortcut,
37
+ DropdownMenuSub,
38
+ DropdownMenuSubContent,
39
+ DropdownMenuSubTrigger,
40
+ DropdownMenuTrigger,
41
+ } from "@databricks/appkit-ui/react"
42
+
43
+ export default function DropdownMenuExample() {
44
+ return (
45
+ <DropdownMenu>
46
+ <DropdownMenuTrigger asChild>
47
+ <Button variant="outline">Open</Button>
48
+ </DropdownMenuTrigger>
49
+ <DropdownMenuContent className="w-56">
50
+ <DropdownMenuLabel>My Account</DropdownMenuLabel>
51
+ <DropdownMenuSeparator />
52
+ <DropdownMenuGroup>
53
+ <DropdownMenuItem>
54
+ <User />
55
+ <span>Profile</span>
56
+ <DropdownMenuShortcut>⇧⌘P</DropdownMenuShortcut>
57
+ </DropdownMenuItem>
58
+ <DropdownMenuItem>
59
+ <CreditCard />
60
+ <span>Billing</span>
61
+ <DropdownMenuShortcut>⌘B</DropdownMenuShortcut>
62
+ </DropdownMenuItem>
63
+ <DropdownMenuItem>
64
+ <Settings />
65
+ <span>Settings</span>
66
+ <DropdownMenuShortcut>⌘S</DropdownMenuShortcut>
67
+ </DropdownMenuItem>
68
+ <DropdownMenuItem>
69
+ <Keyboard />
70
+ <span>Keyboard shortcuts</span>
71
+ <DropdownMenuShortcut>⌘K</DropdownMenuShortcut>
72
+ </DropdownMenuItem>
73
+ </DropdownMenuGroup>
74
+ <DropdownMenuSeparator />
75
+ <DropdownMenuGroup>
76
+ <DropdownMenuItem>
77
+ <Users />
78
+ <span>Team</span>
79
+ </DropdownMenuItem>
80
+ <DropdownMenuSub>
81
+ <DropdownMenuSubTrigger>
82
+ <UserPlus />
83
+ <span>Invite users</span>
84
+ </DropdownMenuSubTrigger>
85
+ <DropdownMenuPortal>
86
+ <DropdownMenuSubContent>
87
+ <DropdownMenuItem>
88
+ <Mail />
89
+ <span>Email</span>
90
+ </DropdownMenuItem>
91
+ <DropdownMenuItem>
92
+ <MessageSquare />
93
+ <span>Message</span>
94
+ </DropdownMenuItem>
95
+ <DropdownMenuSeparator />
96
+ <DropdownMenuItem>
97
+ <PlusCircle />
98
+ <span>More...</span>
99
+ </DropdownMenuItem>
100
+ </DropdownMenuSubContent>
101
+ </DropdownMenuPortal>
102
+ </DropdownMenuSub>
103
+ <DropdownMenuItem>
104
+ <Plus />
105
+ <span>New Team</span>
106
+ <DropdownMenuShortcut>⌘+T</DropdownMenuShortcut>
107
+ </DropdownMenuItem>
108
+ </DropdownMenuGroup>
109
+ <DropdownMenuSeparator />
110
+ <DropdownMenuItem>
111
+ <Github />
112
+ <span>GitHub</span>
113
+ </DropdownMenuItem>
114
+ <DropdownMenuItem>
115
+ <LifeBuoy />
116
+ <span>Support</span>
117
+ </DropdownMenuItem>
118
+ <DropdownMenuItem disabled>
119
+ <Cloud />
120
+ <span>API</span>
121
+ </DropdownMenuItem>
122
+ <DropdownMenuSeparator />
123
+ <DropdownMenuItem>
124
+ <LogOut />
125
+ <span>Log out</span>
126
+ <DropdownMenuShortcut>⇧⌘Q</DropdownMenuShortcut>
127
+ </DropdownMenuItem>
128
+ </DropdownMenuContent>
129
+ </DropdownMenu>
130
+ )
131
+ }
132
+
133
+ ```
134
+
135
+ ## DropdownMenu[​](#dropdownmenu-1 "Direct link to DropdownMenu")
136
+
137
+ Menu that displays when triggered by a button or element
138
+
139
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
140
+
141
+ ### Props[​](#props "Direct link to Props")
142
+
143
+ | Prop | Type | Required | Default | Description |
144
+ | -------------- | --------------------------- | -------- | ------- | ----------- |
145
+ | `dir` | `enum` | | - | - |
146
+ | `open` | `boolean` | | - | - |
147
+ | `defaultOpen` | `boolean` | | - | - |
148
+ | `onOpenChange` | `((open: boolean) => void)` | | - | - |
149
+ | `modal` | `boolean` | | - | - |
150
+
151
+ ### Usage[​](#usage "Direct link to Usage")
152
+
153
+ ```tsx
154
+ import { DropdownMenu } from '@databricks/appkit-ui';
155
+
156
+ <DropdownMenu /* props */ />
157
+
158
+ ```
159
+
160
+ ## DropdownMenuCheckboxItem[​](#dropdownmenucheckboxitem "Direct link to DropdownMenuCheckboxItem")
161
+
162
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
163
+
164
+ ### Props[​](#props-1 "Direct link to Props")
165
+
166
+ | Prop | Type | Required | Default | Description |
167
+ | ----------------- | ------------------------------ | -------- | ------- | ----------- |
168
+ | `onSelect` | `((event: Event) => void)` | | - | - |
169
+ | `asChild` | `boolean` | | - | - |
170
+ | `disabled` | `boolean` | | - | - |
171
+ | `checked` | `CheckedState` | | - | - |
172
+ | `onCheckedChange` | `((checked: boolean) => void)` | | - | - |
173
+ | `textValue` | `string` | | - | - |
174
+
175
+ ### Usage[​](#usage-1 "Direct link to Usage")
176
+
177
+ ```tsx
178
+ import { DropdownMenuCheckboxItem } from '@databricks/appkit-ui';
179
+
180
+ <DropdownMenuCheckboxItem /* props */ />
181
+
182
+ ```
183
+
184
+ ## DropdownMenuContent[​](#dropdownmenucontent "Direct link to DropdownMenuContent")
185
+
186
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
187
+
188
+ ### Props[​](#props-2 "Direct link to Props")
189
+
190
+ | Prop | Type | Required | Default | Description |
191
+ | ------------------------ | --------------------------------------------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
192
+ | `asChild` | `boolean` | | - | - |
193
+ | `forceMount` | `true` | | - | Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. |
194
+ | `onEscapeKeyDown` | `((event: KeyboardEvent) => void)` | | - | - |
195
+ | `onPointerDownOutside` | `((event: PointerDownOutsideEvent) => void)` | | - | - |
196
+ | `onFocusOutside` | `((event: FocusOutsideEvent) => void)` | | - | - |
197
+ | `onInteractOutside` | `((event: FocusOutsideEvent \| PointerDownOutsideEvent) => void)` | | - | - |
198
+ | `onCloseAutoFocus` | `((event: Event) => void)` | | - | Event handler called when auto-focusing on close. Can be prevented. |
199
+ | `loop` | `boolean` | | - | Whether keyboard navigation should loop around @defaultValue false |
200
+ | `align` | `enum` | | - | - |
201
+ | `side` | `enum` | | - | - |
202
+ | `sideOffset` | `number` | | - | - |
203
+ | `alignOffset` | `number` | | - | - |
204
+ | `arrowPadding` | `number` | | - | - |
205
+ | `avoidCollisions` | `boolean` | | - | - |
206
+ | `collisionBoundary` | `Boundary \| Boundary[]` | | - | - |
207
+ | `collisionPadding` | `number \| Partial<Record<"left" \| "right" \| "top" \| "bottom", number>>` | | - | - |
208
+ | `sticky` | `enum` | | - | - |
209
+ | `hideWhenDetached` | `boolean` | | - | - |
210
+ | `updatePositionStrategy` | `enum` | | - | - |
211
+
212
+ ### Usage[​](#usage-2 "Direct link to Usage")
213
+
214
+ ```tsx
215
+ import { DropdownMenuContent } from '@databricks/appkit-ui';
216
+
217
+ <DropdownMenuContent /* props */ />
218
+
219
+ ```
220
+
221
+ ## DropdownMenuGroup[​](#dropdownmenugroup "Direct link to DropdownMenuGroup")
222
+
223
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
224
+
225
+ ### Props[​](#props-3 "Direct link to Props")
226
+
227
+ | Prop | Type | Required | Default | Description |
228
+ | --------- | --------- | -------- | ------- | ----------- |
229
+ | `asChild` | `boolean` | | - | - |
230
+
231
+ ### Usage[​](#usage-3 "Direct link to Usage")
232
+
233
+ ```tsx
234
+ import { DropdownMenuGroup } from '@databricks/appkit-ui';
235
+
236
+ <DropdownMenuGroup /* props */ />
237
+
238
+ ```
239
+
240
+ ## DropdownMenuItem[​](#dropdownmenuitem "Direct link to DropdownMenuItem")
241
+
242
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
243
+
244
+ ### Props[​](#props-4 "Direct link to Props")
245
+
246
+ | Prop | Type | Required | Default | Description |
247
+ | ----------- | -------------------------- | -------- | --------- | ----------- |
248
+ | `onSelect` | `((event: Event) => void)` | | - | - |
249
+ | `asChild` | `boolean` | | - | - |
250
+ | `disabled` | `boolean` | | - | - |
251
+ | `textValue` | `string` | | - | - |
252
+ | `inset` | `boolean` | | - | - |
253
+ | `variant` | `enum` | | `default` | - |
254
+
255
+ ### Usage[​](#usage-4 "Direct link to Usage")
256
+
257
+ ```tsx
258
+ import { DropdownMenuItem } from '@databricks/appkit-ui';
259
+
260
+ <DropdownMenuItem /* props */ />
261
+
262
+ ```
263
+
264
+ ## DropdownMenuLabel[​](#dropdownmenulabel "Direct link to DropdownMenuLabel")
265
+
266
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
267
+
268
+ ### Props[​](#props-5 "Direct link to Props")
269
+
270
+ | Prop | Type | Required | Default | Description |
271
+ | --------- | --------- | -------- | ------- | ----------- |
272
+ | `asChild` | `boolean` | | - | - |
273
+ | `inset` | `boolean` | | - | - |
274
+
275
+ ### Usage[​](#usage-5 "Direct link to Usage")
276
+
277
+ ```tsx
278
+ import { DropdownMenuLabel } from '@databricks/appkit-ui';
279
+
280
+ <DropdownMenuLabel /* props */ />
281
+
282
+ ```
283
+
284
+ ## DropdownMenuPortal[​](#dropdownmenuportal "Direct link to DropdownMenuPortal")
285
+
286
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
287
+
288
+ ### Props[​](#props-6 "Direct link to Props")
289
+
290
+ | Prop | Type | Required | Default | Description |
291
+ | ------------ | ------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
292
+ | `container` | `Element \| DocumentFragment \| null` | | - | Specify a container element to portal the content into. |
293
+ | `forceMount` | `true` | | - | Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. |
294
+
295
+ ### Usage[​](#usage-6 "Direct link to Usage")
296
+
297
+ ```tsx
298
+ import { DropdownMenuPortal } from '@databricks/appkit-ui';
299
+
300
+ <DropdownMenuPortal /* props */ />
301
+
302
+ ```
303
+
304
+ ## DropdownMenuRadioGroup[​](#dropdownmenuradiogroup "Direct link to DropdownMenuRadioGroup")
305
+
306
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
307
+
308
+ ### Props[​](#props-7 "Direct link to Props")
309
+
310
+ | Prop | Type | Required | Default | Description |
311
+ | --------------- | --------------------------- | -------- | ------- | ----------- |
312
+ | `asChild` | `boolean` | | - | - |
313
+ | `value` | `string` | ✓ | - | - |
314
+ | `onValueChange` | `((value: string) => void)` | | - | - |
315
+
316
+ ### Usage[​](#usage-7 "Direct link to Usage")
317
+
318
+ ```tsx
319
+ import { DropdownMenuRadioGroup } from '@databricks/appkit-ui';
320
+
321
+ <DropdownMenuRadioGroup /* props */ />
322
+
323
+ ```
324
+
325
+ ## DropdownMenuRadioItem[​](#dropdownmenuradioitem "Direct link to DropdownMenuRadioItem")
326
+
327
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
328
+
329
+ ### Props[​](#props-8 "Direct link to Props")
330
+
331
+ | Prop | Type | Required | Default | Description |
332
+ | ----------- | -------------------------- | -------- | ------- | ----------- |
333
+ | `onSelect` | `((event: Event) => void)` | | - | - |
334
+ | `asChild` | `boolean` | | - | - |
335
+ | `disabled` | `boolean` | | - | - |
336
+ | `value` | `string` | ✓ | - | - |
337
+ | `textValue` | `string` | | - | - |
338
+
339
+ ### Usage[​](#usage-8 "Direct link to Usage")
340
+
341
+ ```tsx
342
+ import { DropdownMenuRadioItem } from '@databricks/appkit-ui';
343
+
344
+ <DropdownMenuRadioItem /* props */ />
345
+
346
+ ```
347
+
348
+ ## DropdownMenuSeparator[​](#dropdownmenuseparator "Direct link to DropdownMenuSeparator")
349
+
350
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
351
+
352
+ ### Props[​](#props-9 "Direct link to Props")
353
+
354
+ | Prop | Type | Required | Default | Description |
355
+ | --------- | --------- | -------- | ------- | ----------- |
356
+ | `asChild` | `boolean` | | - | - |
357
+
358
+ ### Usage[​](#usage-9 "Direct link to Usage")
359
+
360
+ ```tsx
361
+ import { DropdownMenuSeparator } from '@databricks/appkit-ui';
362
+
363
+ <DropdownMenuSeparator /* props */ />
364
+
365
+ ```
366
+
367
+ ## DropdownMenuShortcut[​](#dropdownmenushortcut "Direct link to DropdownMenuShortcut")
368
+
369
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
370
+
371
+ ### Props[​](#props-10 "Direct link to Props")
372
+
373
+ This component extends standard HTML element attributes.
374
+
375
+ ### Usage[​](#usage-10 "Direct link to Usage")
376
+
377
+ ```tsx
378
+ import { DropdownMenuShortcut } from '@databricks/appkit-ui';
379
+
380
+ <DropdownMenuShortcut /* props */ />
381
+
382
+ ```
383
+
384
+ ## DropdownMenuSub[​](#dropdownmenusub "Direct link to DropdownMenuSub")
385
+
386
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
387
+
388
+ ### Props[​](#props-11 "Direct link to Props")
389
+
390
+ | Prop | Type | Required | Default | Description |
391
+ | -------------- | --------------------------- | -------- | ------- | ----------- |
392
+ | `open` | `boolean` | | - | - |
393
+ | `defaultOpen` | `boolean` | | - | - |
394
+ | `onOpenChange` | `((open: boolean) => void)` | | - | - |
395
+
396
+ ### Usage[​](#usage-11 "Direct link to Usage")
397
+
398
+ ```tsx
399
+ import { DropdownMenuSub } from '@databricks/appkit-ui';
400
+
401
+ <DropdownMenuSub /* props */ />
402
+
403
+ ```
404
+
405
+ ## DropdownMenuSubContent[​](#dropdownmenusubcontent "Direct link to DropdownMenuSubContent")
406
+
407
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
408
+
409
+ ### Props[​](#props-12 "Direct link to Props")
410
+
411
+ | Prop | Type | Required | Default | Description |
412
+ | ------------------------ | --------------------------------------------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
413
+ | `asChild` | `boolean` | | - | - |
414
+ | `forceMount` | `true` | | - | Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. |
415
+ | `onEscapeKeyDown` | `((event: KeyboardEvent) => void)` | | - | - |
416
+ | `onPointerDownOutside` | `((event: PointerDownOutsideEvent) => void)` | | - | - |
417
+ | `onFocusOutside` | `((event: FocusOutsideEvent) => void)` | | - | - |
418
+ | `onInteractOutside` | `((event: FocusOutsideEvent \| PointerDownOutsideEvent) => void)` | | - | - |
419
+ | `loop` | `boolean` | | - | Whether keyboard navigation should loop around @defaultValue false |
420
+ | `sideOffset` | `number` | | - | - |
421
+ | `alignOffset` | `number` | | - | - |
422
+ | `arrowPadding` | `number` | | - | - |
423
+ | `avoidCollisions` | `boolean` | | - | - |
424
+ | `collisionBoundary` | `Boundary \| Boundary[]` | | - | - |
425
+ | `collisionPadding` | `number \| Partial<Record<"left" \| "right" \| "top" \| "bottom", number>>` | | - | - |
426
+ | `sticky` | `enum` | | - | - |
427
+ | `hideWhenDetached` | `boolean` | | - | - |
428
+ | `updatePositionStrategy` | `enum` | | - | - |
429
+
430
+ ### Usage[​](#usage-12 "Direct link to Usage")
431
+
432
+ ```tsx
433
+ import { DropdownMenuSubContent } from '@databricks/appkit-ui';
434
+
435
+ <DropdownMenuSubContent /* props */ />
436
+
437
+ ```
438
+
439
+ ## DropdownMenuSubTrigger[​](#dropdownmenusubtrigger "Direct link to DropdownMenuSubTrigger")
440
+
441
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
442
+
443
+ ### Props[​](#props-13 "Direct link to Props")
444
+
445
+ | Prop | Type | Required | Default | Description |
446
+ | ----------- | --------- | -------- | ------- | ----------- |
447
+ | `asChild` | `boolean` | | - | - |
448
+ | `disabled` | `boolean` | | - | - |
449
+ | `textValue` | `string` | | - | - |
450
+ | `inset` | `boolean` | | - | - |
451
+
452
+ ### Usage[​](#usage-13 "Direct link to Usage")
453
+
454
+ ```tsx
455
+ import { DropdownMenuSubTrigger } from '@databricks/appkit-ui';
456
+
457
+ <DropdownMenuSubTrigger /* props */ />
458
+
459
+ ```
460
+
461
+ ## DropdownMenuTrigger[​](#dropdownmenutrigger "Direct link to DropdownMenuTrigger")
462
+
463
+ **Source:** [`packages/appkit-ui/src/react/ui/dropdown-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/dropdown-menu.tsx)
464
+
465
+ ### Props[​](#props-14 "Direct link to Props")
466
+
467
+ | Prop | Type | Required | Default | Description |
468
+ | --------- | --------- | -------- | ------- | ----------- |
469
+ | `asChild` | `boolean` | | - | - |
470
+
471
+ ### Usage[​](#usage-14 "Direct link to Usage")
472
+
473
+ ```tsx
474
+ import { DropdownMenuTrigger } from '@databricks/appkit-ui';
475
+
476
+ <DropdownMenuTrigger /* props */ />
477
+
478
+ ```