@databricks/appkit 0.3.0 → 0.4.1

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,419 @@
1
+ # ContextMenu
2
+
3
+ Menu triggered by right-clicking an element
4
+
5
+ ## Example[​](#example "Direct link to Example")
6
+
7
+ <!-- -->
8
+
9
+ ```tsx
10
+ import {
11
+ ContextMenu,
12
+ ContextMenuCheckboxItem,
13
+ ContextMenuContent,
14
+ ContextMenuItem,
15
+ ContextMenuLabel,
16
+ ContextMenuRadioGroup,
17
+ ContextMenuRadioItem,
18
+ ContextMenuSeparator,
19
+ ContextMenuShortcut,
20
+ ContextMenuSub,
21
+ ContextMenuSubContent,
22
+ ContextMenuSubTrigger,
23
+ ContextMenuTrigger,
24
+ } from "@databricks/appkit-ui/react"
25
+
26
+ export default function ContextMenuExample() {
27
+ return (
28
+ <ContextMenu>
29
+ <ContextMenuTrigger className="flex h-[150px] w-[300px] items-center justify-center rounded-md border border-dashed text-sm">
30
+ Right click here
31
+ </ContextMenuTrigger>
32
+ <ContextMenuContent className="w-64">
33
+ <ContextMenuItem inset>
34
+ Back
35
+ <ContextMenuShortcut>⌘[</ContextMenuShortcut>
36
+ </ContextMenuItem>
37
+ <ContextMenuItem inset disabled>
38
+ Forward
39
+ <ContextMenuShortcut>⌘]</ContextMenuShortcut>
40
+ </ContextMenuItem>
41
+ <ContextMenuItem inset>
42
+ Reload
43
+ <ContextMenuShortcut>⌘R</ContextMenuShortcut>
44
+ </ContextMenuItem>
45
+ <ContextMenuSub>
46
+ <ContextMenuSubTrigger inset>More Tools</ContextMenuSubTrigger>
47
+ <ContextMenuSubContent className="w-48">
48
+ <ContextMenuItem>
49
+ Save Page As...
50
+ <ContextMenuShortcut>⇧⌘S</ContextMenuShortcut>
51
+ </ContextMenuItem>
52
+ <ContextMenuItem>Create Shortcut...</ContextMenuItem>
53
+ <ContextMenuItem>Name Window...</ContextMenuItem>
54
+ <ContextMenuSeparator />
55
+ <ContextMenuItem>Developer Tools</ContextMenuItem>
56
+ </ContextMenuSubContent>
57
+ </ContextMenuSub>
58
+ <ContextMenuSeparator />
59
+ <ContextMenuCheckboxItem checked>
60
+ Show Bookmarks Bar
61
+ <ContextMenuShortcut>⌘⇧B</ContextMenuShortcut>
62
+ </ContextMenuCheckboxItem>
63
+ <ContextMenuCheckboxItem>Show Full URLs</ContextMenuCheckboxItem>
64
+ <ContextMenuSeparator />
65
+ <ContextMenuRadioGroup value="pedro">
66
+ <ContextMenuLabel inset>People</ContextMenuLabel>
67
+ <ContextMenuSeparator />
68
+ <ContextMenuRadioItem value="pedro">
69
+ Pedro Duarte
70
+ </ContextMenuRadioItem>
71
+ <ContextMenuRadioItem value="colm">Colm Tuite</ContextMenuRadioItem>
72
+ </ContextMenuRadioGroup>
73
+ </ContextMenuContent>
74
+ </ContextMenu>
75
+ )
76
+ }
77
+
78
+ ```
79
+
80
+ ## ContextMenu[​](#contextmenu-1 "Direct link to ContextMenu")
81
+
82
+ Menu triggered by right-clicking an element
83
+
84
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
85
+
86
+ ### Props[​](#props "Direct link to Props")
87
+
88
+ | Prop | Type | Required | Default | Description |
89
+ | -------------- | --------------------------- | -------- | ------- | ----------- |
90
+ | `onOpenChange` | `((open: boolean) => void)` | | - | - |
91
+ | `dir` | `enum` | | - | - |
92
+ | `modal` | `boolean` | | - | - |
93
+
94
+ ### Usage[​](#usage "Direct link to Usage")
95
+
96
+ ```tsx
97
+ import { ContextMenu } from '@databricks/appkit-ui';
98
+
99
+ <ContextMenu /* props */ />
100
+
101
+ ```
102
+
103
+ ## ContextMenuCheckboxItem[​](#contextmenucheckboxitem "Direct link to ContextMenuCheckboxItem")
104
+
105
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
106
+
107
+ ### Props[​](#props-1 "Direct link to Props")
108
+
109
+ | Prop | Type | Required | Default | Description |
110
+ | ----------------- | ------------------------------ | -------- | ------- | ----------- |
111
+ | `onSelect` | `((event: Event) => void)` | | - | - |
112
+ | `asChild` | `boolean` | | - | - |
113
+ | `disabled` | `boolean` | | - | - |
114
+ | `checked` | `CheckedState` | | - | - |
115
+ | `onCheckedChange` | `((checked: boolean) => void)` | | - | - |
116
+ | `textValue` | `string` | | - | - |
117
+
118
+ ### Usage[​](#usage-1 "Direct link to Usage")
119
+
120
+ ```tsx
121
+ import { ContextMenuCheckboxItem } from '@databricks/appkit-ui';
122
+
123
+ <ContextMenuCheckboxItem /* props */ />
124
+
125
+ ```
126
+
127
+ ## ContextMenuContent[​](#contextmenucontent "Direct link to ContextMenuContent")
128
+
129
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
130
+
131
+ ### Props[​](#props-2 "Direct link to Props")
132
+
133
+ | Prop | Type | Required | Default | Description |
134
+ | ------------------------ | --------------------------------------------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
135
+ | `asChild` | `boolean` | | - | - |
136
+ | `forceMount` | `true` | | - | Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. |
137
+ | `onEscapeKeyDown` | `((event: KeyboardEvent) => void)` | | - | - |
138
+ | `onPointerDownOutside` | `((event: PointerDownOutsideEvent) => void)` | | - | - |
139
+ | `onFocusOutside` | `((event: FocusOutsideEvent) => void)` | | - | - |
140
+ | `onInteractOutside` | `((event: FocusOutsideEvent \| PointerDownOutsideEvent) => void)` | | - | - |
141
+ | `onCloseAutoFocus` | `((event: Event) => void)` | | - | Event handler called when auto-focusing on close. Can be prevented. |
142
+ | `loop` | `boolean` | | - | Whether keyboard navigation should loop around @defaultValue false |
143
+ | `alignOffset` | `number` | | - | - |
144
+ | `arrowPadding` | `number` | | - | - |
145
+ | `avoidCollisions` | `boolean` | | - | - |
146
+ | `collisionBoundary` | `Boundary \| Boundary[]` | | - | - |
147
+ | `collisionPadding` | `number \| Partial<Record<"left" \| "right" \| "top" \| "bottom", number>>` | | - | - |
148
+ | `sticky` | `enum` | | - | - |
149
+ | `hideWhenDetached` | `boolean` | | - | - |
150
+ | `updatePositionStrategy` | `enum` | | - | - |
151
+
152
+ ### Usage[​](#usage-2 "Direct link to Usage")
153
+
154
+ ```tsx
155
+ import { ContextMenuContent } from '@databricks/appkit-ui';
156
+
157
+ <ContextMenuContent /* props */ />
158
+
159
+ ```
160
+
161
+ ## ContextMenuGroup[​](#contextmenugroup "Direct link to ContextMenuGroup")
162
+
163
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
164
+
165
+ ### Props[​](#props-3 "Direct link to Props")
166
+
167
+ | Prop | Type | Required | Default | Description |
168
+ | --------- | --------- | -------- | ------- | ----------- |
169
+ | `asChild` | `boolean` | | - | - |
170
+
171
+ ### Usage[​](#usage-3 "Direct link to Usage")
172
+
173
+ ```tsx
174
+ import { ContextMenuGroup } from '@databricks/appkit-ui';
175
+
176
+ <ContextMenuGroup /* props */ />
177
+
178
+ ```
179
+
180
+ ## ContextMenuItem[​](#contextmenuitem "Direct link to ContextMenuItem")
181
+
182
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
183
+
184
+ ### Props[​](#props-4 "Direct link to Props")
185
+
186
+ | Prop | Type | Required | Default | Description |
187
+ | ----------- | -------------------------- | -------- | --------- | ----------- |
188
+ | `onSelect` | `((event: Event) => void)` | | - | - |
189
+ | `asChild` | `boolean` | | - | - |
190
+ | `disabled` | `boolean` | | - | - |
191
+ | `textValue` | `string` | | - | - |
192
+ | `inset` | `boolean` | | - | - |
193
+ | `variant` | `enum` | | `default` | - |
194
+
195
+ ### Usage[​](#usage-4 "Direct link to Usage")
196
+
197
+ ```tsx
198
+ import { ContextMenuItem } from '@databricks/appkit-ui';
199
+
200
+ <ContextMenuItem /* props */ />
201
+
202
+ ```
203
+
204
+ ## ContextMenuLabel[​](#contextmenulabel "Direct link to ContextMenuLabel")
205
+
206
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
207
+
208
+ ### Props[​](#props-5 "Direct link to Props")
209
+
210
+ | Prop | Type | Required | Default | Description |
211
+ | --------- | --------- | -------- | ------- | ----------- |
212
+ | `asChild` | `boolean` | | - | - |
213
+ | `inset` | `boolean` | | - | - |
214
+
215
+ ### Usage[​](#usage-5 "Direct link to Usage")
216
+
217
+ ```tsx
218
+ import { ContextMenuLabel } from '@databricks/appkit-ui';
219
+
220
+ <ContextMenuLabel /* props */ />
221
+
222
+ ```
223
+
224
+ ## ContextMenuPortal[​](#contextmenuportal "Direct link to ContextMenuPortal")
225
+
226
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
227
+
228
+ ### Props[​](#props-6 "Direct link to Props")
229
+
230
+ | Prop | Type | Required | Default | Description |
231
+ | ------------ | ------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
232
+ | `container` | `Element \| DocumentFragment \| null` | | - | Specify a container element to portal the content into. |
233
+ | `forceMount` | `true` | | - | Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. |
234
+
235
+ ### Usage[​](#usage-6 "Direct link to Usage")
236
+
237
+ ```tsx
238
+ import { ContextMenuPortal } from '@databricks/appkit-ui';
239
+
240
+ <ContextMenuPortal /* props */ />
241
+
242
+ ```
243
+
244
+ ## ContextMenuRadioGroup[​](#contextmenuradiogroup "Direct link to ContextMenuRadioGroup")
245
+
246
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
247
+
248
+ ### Props[​](#props-7 "Direct link to Props")
249
+
250
+ | Prop | Type | Required | Default | Description |
251
+ | --------------- | --------------------------- | -------- | ------- | ----------- |
252
+ | `asChild` | `boolean` | | - | - |
253
+ | `value` | `string` | ✓ | - | - |
254
+ | `onValueChange` | `((value: string) => void)` | | - | - |
255
+
256
+ ### Usage[​](#usage-7 "Direct link to Usage")
257
+
258
+ ```tsx
259
+ import { ContextMenuRadioGroup } from '@databricks/appkit-ui';
260
+
261
+ <ContextMenuRadioGroup /* props */ />
262
+
263
+ ```
264
+
265
+ ## ContextMenuRadioItem[​](#contextmenuradioitem "Direct link to ContextMenuRadioItem")
266
+
267
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
268
+
269
+ ### Props[​](#props-8 "Direct link to Props")
270
+
271
+ | Prop | Type | Required | Default | Description |
272
+ | ----------- | -------------------------- | -------- | ------- | ----------- |
273
+ | `onSelect` | `((event: Event) => void)` | | - | - |
274
+ | `asChild` | `boolean` | | - | - |
275
+ | `disabled` | `boolean` | | - | - |
276
+ | `value` | `string` | ✓ | - | - |
277
+ | `textValue` | `string` | | - | - |
278
+
279
+ ### Usage[​](#usage-8 "Direct link to Usage")
280
+
281
+ ```tsx
282
+ import { ContextMenuRadioItem } from '@databricks/appkit-ui';
283
+
284
+ <ContextMenuRadioItem /* props */ />
285
+
286
+ ```
287
+
288
+ ## ContextMenuSeparator[​](#contextmenuseparator "Direct link to ContextMenuSeparator")
289
+
290
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
291
+
292
+ ### Props[​](#props-9 "Direct link to Props")
293
+
294
+ | Prop | Type | Required | Default | Description |
295
+ | --------- | --------- | -------- | ------- | ----------- |
296
+ | `asChild` | `boolean` | | - | - |
297
+
298
+ ### Usage[​](#usage-9 "Direct link to Usage")
299
+
300
+ ```tsx
301
+ import { ContextMenuSeparator } from '@databricks/appkit-ui';
302
+
303
+ <ContextMenuSeparator /* props */ />
304
+
305
+ ```
306
+
307
+ ## ContextMenuShortcut[​](#contextmenushortcut "Direct link to ContextMenuShortcut")
308
+
309
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
310
+
311
+ ### Props[​](#props-10 "Direct link to Props")
312
+
313
+ This component extends standard HTML element attributes.
314
+
315
+ ### Usage[​](#usage-10 "Direct link to Usage")
316
+
317
+ ```tsx
318
+ import { ContextMenuShortcut } from '@databricks/appkit-ui';
319
+
320
+ <ContextMenuShortcut /* props */ />
321
+
322
+ ```
323
+
324
+ ## ContextMenuSub[​](#contextmenusub "Direct link to ContextMenuSub")
325
+
326
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
327
+
328
+ ### Props[​](#props-11 "Direct link to Props")
329
+
330
+ | Prop | Type | Required | Default | Description |
331
+ | -------------- | --------------------------- | -------- | ------- | ----------- |
332
+ | `open` | `boolean` | | - | - |
333
+ | `defaultOpen` | `boolean` | | - | - |
334
+ | `onOpenChange` | `((open: boolean) => void)` | | - | - |
335
+
336
+ ### Usage[​](#usage-11 "Direct link to Usage")
337
+
338
+ ```tsx
339
+ import { ContextMenuSub } from '@databricks/appkit-ui';
340
+
341
+ <ContextMenuSub /* props */ />
342
+
343
+ ```
344
+
345
+ ## ContextMenuSubContent[​](#contextmenusubcontent "Direct link to ContextMenuSubContent")
346
+
347
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
348
+
349
+ ### Props[​](#props-12 "Direct link to Props")
350
+
351
+ | Prop | Type | Required | Default | Description |
352
+ | ------------------------ | --------------------------------------------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
353
+ | `asChild` | `boolean` | | - | - |
354
+ | `forceMount` | `true` | | - | Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. |
355
+ | `onEscapeKeyDown` | `((event: KeyboardEvent) => void)` | | - | - |
356
+ | `onPointerDownOutside` | `((event: PointerDownOutsideEvent) => void)` | | - | - |
357
+ | `onFocusOutside` | `((event: FocusOutsideEvent) => void)` | | - | - |
358
+ | `onInteractOutside` | `((event: FocusOutsideEvent \| PointerDownOutsideEvent) => void)` | | - | - |
359
+ | `loop` | `boolean` | | - | Whether keyboard navigation should loop around @defaultValue false |
360
+ | `sideOffset` | `number` | | - | - |
361
+ | `alignOffset` | `number` | | - | - |
362
+ | `arrowPadding` | `number` | | - | - |
363
+ | `avoidCollisions` | `boolean` | | - | - |
364
+ | `collisionBoundary` | `Boundary \| Boundary[]` | | - | - |
365
+ | `collisionPadding` | `number \| Partial<Record<"left" \| "right" \| "top" \| "bottom", number>>` | | - | - |
366
+ | `sticky` | `enum` | | - | - |
367
+ | `hideWhenDetached` | `boolean` | | - | - |
368
+ | `updatePositionStrategy` | `enum` | | - | - |
369
+
370
+ ### Usage[​](#usage-12 "Direct link to Usage")
371
+
372
+ ```tsx
373
+ import { ContextMenuSubContent } from '@databricks/appkit-ui';
374
+
375
+ <ContextMenuSubContent /* props */ />
376
+
377
+ ```
378
+
379
+ ## ContextMenuSubTrigger[​](#contextmenusubtrigger "Direct link to ContextMenuSubTrigger")
380
+
381
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
382
+
383
+ ### Props[​](#props-13 "Direct link to Props")
384
+
385
+ | Prop | Type | Required | Default | Description |
386
+ | ----------- | --------- | -------- | ------- | ----------- |
387
+ | `asChild` | `boolean` | | - | - |
388
+ | `disabled` | `boolean` | | - | - |
389
+ | `textValue` | `string` | | - | - |
390
+ | `inset` | `boolean` | | - | - |
391
+
392
+ ### Usage[​](#usage-13 "Direct link to Usage")
393
+
394
+ ```tsx
395
+ import { ContextMenuSubTrigger } from '@databricks/appkit-ui';
396
+
397
+ <ContextMenuSubTrigger /* props */ />
398
+
399
+ ```
400
+
401
+ ## ContextMenuTrigger[​](#contextmenutrigger "Direct link to ContextMenuTrigger")
402
+
403
+ **Source:** [`packages/appkit-ui/src/react/ui/context-menu.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/context-menu.tsx)
404
+
405
+ ### Props[​](#props-14 "Direct link to Props")
406
+
407
+ | Prop | Type | Required | Default | Description |
408
+ | ---------- | --------- | -------- | ------- | ----------- |
409
+ | `disabled` | `boolean` | | - | - |
410
+ | `asChild` | `boolean` | | - | - |
411
+
412
+ ### Usage[​](#usage-14 "Direct link to Usage")
413
+
414
+ ```tsx
415
+ import { ContextMenuTrigger } from '@databricks/appkit-ui';
416
+
417
+ <ContextMenuTrigger /* props */ />
418
+
419
+ ```