@databricks/appkit 0.2.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 (248) hide show
  1. package/CLAUDE.md +121 -1228
  2. package/NOTICE.md +1 -1
  3. package/bin/appkit.js +3 -0
  4. package/dist/analytics/analytics.d.ts.map +1 -1
  5. package/dist/analytics/analytics.js +17 -30
  6. package/dist/analytics/analytics.js.map +1 -1
  7. package/dist/app/index.d.ts +5 -1
  8. package/dist/app/index.d.ts.map +1 -1
  9. package/dist/app/index.js +38 -9
  10. package/dist/app/index.js.map +1 -1
  11. package/dist/appkit/package.js +1 -1
  12. package/dist/cache/index.js +3 -3
  13. package/dist/cache/index.js.map +1 -1
  14. package/dist/cli/commands/docs.js +47 -0
  15. package/dist/cli/commands/docs.js.map +1 -0
  16. package/dist/cli/commands/generate-types.js +38 -0
  17. package/dist/cli/commands/generate-types.js.map +1 -0
  18. package/dist/cli/commands/lint.js +104 -0
  19. package/dist/cli/commands/lint.js.map +1 -0
  20. package/dist/cli/commands/setup.js +121 -0
  21. package/dist/cli/commands/setup.js.map +1 -0
  22. package/dist/cli/index.d.ts +1 -0
  23. package/dist/cli/index.js +24 -0
  24. package/dist/cli/index.js.map +1 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/plugin/plugin.d.ts +1 -0
  27. package/dist/plugin/plugin.d.ts.map +1 -1
  28. package/dist/plugin/plugin.js +1 -0
  29. package/dist/plugin/plugin.js.map +1 -1
  30. package/dist/server/remote-tunnel/remote-tunnel-manager.js +9 -9
  31. package/dist/server/remote-tunnel/remote-tunnel-manager.js.map +1 -1
  32. package/dist/server/utils.js +6 -6
  33. package/dist/server/utils.js.map +1 -1
  34. package/dist/shared/src/execute.d.ts +1 -0
  35. package/dist/shared/src/execute.d.ts.map +1 -1
  36. package/dist/shared/src/plugin.d.ts +3 -0
  37. package/dist/shared/src/plugin.d.ts.map +1 -1
  38. package/dist/telemetry/types.d.ts +1 -0
  39. package/dist/telemetry/types.d.ts.map +1 -1
  40. package/dist/type-generator/index.js +1 -1
  41. package/dist/type-generator/index.js.map +1 -1
  42. package/dist/type-generator/query-registry.js +9 -1
  43. package/dist/type-generator/query-registry.js.map +1 -1
  44. package/docs/docs/api/appkit/Class.AppKitError/index.html +77 -0
  45. package/docs/docs/api/appkit/Class.AppKitError.md +154 -0
  46. package/docs/docs/api/appkit/Class.AuthenticationError/index.html +110 -0
  47. package/docs/docs/api/appkit/Class.AuthenticationError.md +236 -0
  48. package/docs/docs/api/appkit/Class.ConfigurationError/index.html +112 -0
  49. package/docs/docs/api/appkit/Class.ConfigurationError.md +243 -0
  50. package/docs/docs/api/appkit/Class.ConnectionError/index.html +120 -0
  51. package/docs/docs/api/appkit/Class.ConnectionError.md +265 -0
  52. package/docs/docs/api/appkit/Class.ExecutionError/index.html +116 -0
  53. package/docs/docs/api/appkit/Class.ExecutionError.md +250 -0
  54. package/docs/docs/api/appkit/Class.InitializationError/index.html +104 -0
  55. package/docs/docs/api/appkit/Class.InitializationError.md +222 -0
  56. package/docs/docs/api/appkit/Class.Plugin/index.html +149 -0
  57. package/docs/docs/api/appkit/Class.Plugin.md +392 -0
  58. package/docs/docs/api/appkit/Class.ServerError/index.html +108 -0
  59. package/docs/docs/api/appkit/Class.ServerError.md +229 -0
  60. package/docs/docs/api/appkit/Class.TunnelError/index.html +108 -0
  61. package/docs/docs/api/appkit/Class.TunnelError.md +231 -0
  62. package/docs/docs/api/appkit/Class.ValidationError/index.html +106 -0
  63. package/docs/docs/api/appkit/Class.ValidationError.md +225 -0
  64. package/docs/docs/api/appkit/Function.appKitTypesPlugin/index.html +24 -0
  65. package/docs/docs/api/appkit/Function.appKitTypesPlugin.md +20 -0
  66. package/docs/docs/api/appkit/Function.createApp/index.html +24 -0
  67. package/docs/docs/api/appkit/Function.createApp.md +31 -0
  68. package/docs/docs/api/appkit/Function.isSQLTypeMarker/index.html +25 -0
  69. package/docs/docs/api/appkit/Function.isSQLTypeMarker.md +32 -0
  70. package/docs/docs/api/appkit/Interface.BasePluginConfig/index.html +28 -0
  71. package/docs/docs/api/appkit/Interface.BasePluginConfig.md +37 -0
  72. package/docs/docs/api/appkit/Interface.CacheConfig/index.html +63 -0
  73. package/docs/docs/api/appkit/Interface.CacheConfig.md +131 -0
  74. package/docs/docs/api/appkit/Interface.ITelemetry/index.html +73 -0
  75. package/docs/docs/api/appkit/Interface.ITelemetry.md +144 -0
  76. package/docs/docs/api/appkit/Interface.StreamExecutionSettings/index.html +26 -0
  77. package/docs/docs/api/appkit/Interface.StreamExecutionSettings.md +30 -0
  78. package/docs/docs/api/appkit/Interface.TelemetryConfig/index.html +32 -0
  79. package/docs/docs/api/appkit/Interface.TelemetryConfig.md +48 -0
  80. package/docs/docs/api/appkit/TypeAlias.IAppRouter/index.html +18 -0
  81. package/docs/docs/api/appkit/TypeAlias.IAppRouter.md +8 -0
  82. package/docs/docs/api/appkit/Variable.sql/index.html +98 -0
  83. package/docs/docs/api/appkit/Variable.sql.md +260 -0
  84. package/docs/docs/api/appkit/index.html +28 -0
  85. package/docs/docs/api/appkit-ui/data/AreaChart/index.html +29 -0
  86. package/docs/docs/api/appkit-ui/data/AreaChart.md +79 -0
  87. package/docs/docs/api/appkit-ui/data/BarChart/index.html +29 -0
  88. package/docs/docs/api/appkit-ui/data/BarChart.md +74 -0
  89. package/docs/docs/api/appkit-ui/data/DataTable/index.html +36 -0
  90. package/docs/docs/api/appkit-ui/data/DataTable.md +69 -0
  91. package/docs/docs/api/appkit-ui/data/DonutChart/index.html +29 -0
  92. package/docs/docs/api/appkit-ui/data/DonutChart.md +72 -0
  93. package/docs/docs/api/appkit-ui/data/HeatmapChart/index.html +35 -0
  94. package/docs/docs/api/appkit-ui/data/HeatmapChart.md +91 -0
  95. package/docs/docs/api/appkit-ui/data/LineChart/index.html +29 -0
  96. package/docs/docs/api/appkit-ui/data/LineChart.md +77 -0
  97. package/docs/docs/api/appkit-ui/data/PieChart/index.html +29 -0
  98. package/docs/docs/api/appkit-ui/data/PieChart.md +72 -0
  99. package/docs/docs/api/appkit-ui/data/RadarChart/index.html +29 -0
  100. package/docs/docs/api/appkit-ui/data/RadarChart.md +74 -0
  101. package/docs/docs/api/appkit-ui/data/ScatterChart/index.html +29 -0
  102. package/docs/docs/api/appkit-ui/data/ScatterChart.md +76 -0
  103. package/docs/docs/api/appkit-ui/index.html +23 -0
  104. package/docs/docs/api/appkit-ui/styling/index.html +74 -0
  105. package/docs/docs/api/appkit-ui/styling.md +81 -0
  106. package/docs/docs/api/appkit-ui/ui/Accordion/index.html +48 -0
  107. package/docs/docs/api/appkit-ui/ui/Accordion.md +139 -0
  108. package/docs/docs/api/appkit-ui/ui/Alert/index.html +41 -0
  109. package/docs/docs/api/appkit-ui/ui/Alert.md +89 -0
  110. package/docs/docs/api/appkit-ui/ui/AlertDialog/index.html +97 -0
  111. package/docs/docs/api/appkit-ui/ui/AlertDialog.md +282 -0
  112. package/docs/docs/api/appkit-ui/ui/AspectRatio/index.html +27 -0
  113. package/docs/docs/api/appkit-ui/ui/AspectRatio.md +46 -0
  114. package/docs/docs/api/appkit-ui/ui/Avatar/index.html +41 -0
  115. package/docs/docs/api/appkit-ui/ui/Avatar.md +90 -0
  116. package/docs/docs/api/appkit-ui/ui/Badge/index.html +27 -0
  117. package/docs/docs/api/appkit-ui/ui/Badge.md +38 -0
  118. package/docs/docs/api/appkit-ui/ui/Breadcrumb/index.html +69 -0
  119. package/docs/docs/api/appkit-ui/ui/Breadcrumb.md +193 -0
  120. package/docs/docs/api/appkit-ui/ui/Button/index.html +27 -0
  121. package/docs/docs/api/appkit-ui/ui/Button.md +39 -0
  122. package/docs/docs/api/appkit-ui/ui/ButtonGroup/index.html +38 -0
  123. package/docs/docs/api/appkit-ui/ui/ButtonGroup.md +68 -0
  124. package/docs/docs/api/appkit-ui/ui/Calendar/index.html +34 -0
  125. package/docs/docs/api/appkit-ui/ui/Calendar.md +154 -0
  126. package/docs/docs/api/appkit-ui/ui/Card/index.html +69 -0
  127. package/docs/docs/api/appkit-ui/ui/Card.md +222 -0
  128. package/docs/docs/api/appkit-ui/ui/Carousel/index.html +55 -0
  129. package/docs/docs/api/appkit-ui/ui/Carousel.md +152 -0
  130. package/docs/docs/api/appkit-ui/ui/ChartContainer/index.html +58 -0
  131. package/docs/docs/api/appkit-ui/ui/ChartContainer.md +343 -0
  132. package/docs/docs/api/appkit-ui/ui/Checkbox/index.html +27 -0
  133. package/docs/docs/api/appkit-ui/ui/Checkbox.md +53 -0
  134. package/docs/docs/api/appkit-ui/ui/Collapsible/index.html +41 -0
  135. package/docs/docs/api/appkit-ui/ui/Collapsible.md +125 -0
  136. package/docs/docs/api/appkit-ui/ui/Command/index.html +83 -0
  137. package/docs/docs/api/appkit-ui/ui/Command.md +287 -0
  138. package/docs/docs/api/appkit-ui/ui/ContextMenu/index.html +111 -0
  139. package/docs/docs/api/appkit-ui/ui/ContextMenu.md +419 -0
  140. package/docs/docs/api/appkit-ui/ui/Dialog/index.html +90 -0
  141. package/docs/docs/api/appkit-ui/ui/Dialog.md +285 -0
  142. package/docs/docs/api/appkit-ui/ui/Drawer/index.html +90 -0
  143. package/docs/docs/api/appkit-ui/ui/Drawer.md +387 -0
  144. package/docs/docs/api/appkit-ui/ui/DropdownMenu/index.html +111 -0
  145. package/docs/docs/api/appkit-ui/ui/DropdownMenu.md +478 -0
  146. package/docs/docs/api/appkit-ui/ui/Empty/index.html +54 -0
  147. package/docs/docs/api/appkit-ui/ui/Empty.md +109 -0
  148. package/docs/docs/api/appkit-ui/ui/Field/index.html +87 -0
  149. package/docs/docs/api/appkit-ui/ui/Field.md +201 -0
  150. package/docs/docs/api/appkit-ui/ui/FormControl/index.html +59 -0
  151. package/docs/docs/api/appkit-ui/ui/FormControl.md +128 -0
  152. package/docs/docs/api/appkit-ui/ui/HoverCard/index.html +39 -0
  153. package/docs/docs/api/appkit-ui/ui/HoverCard.md +131 -0
  154. package/docs/docs/api/appkit-ui/ui/Input/index.html +27 -0
  155. package/docs/docs/api/appkit-ui/ui/Input.md +35 -0
  156. package/docs/docs/api/appkit-ui/ui/InputGroup/index.html +59 -0
  157. package/docs/docs/api/appkit-ui/ui/InputGroup.md +123 -0
  158. package/docs/docs/api/appkit-ui/ui/InputOTP/index.html +48 -0
  159. package/docs/docs/api/appkit-ui/ui/InputOTP.md +124 -0
  160. package/docs/docs/api/appkit-ui/ui/Item/index.html +78 -0
  161. package/docs/docs/api/appkit-ui/ui/Item.md +185 -0
  162. package/docs/docs/api/appkit-ui/ui/Kbd/index.html +30 -0
  163. package/docs/docs/api/appkit-ui/ui/Kbd.md +39 -0
  164. package/docs/docs/api/appkit-ui/ui/Label/index.html +27 -0
  165. package/docs/docs/api/appkit-ui/ui/Label.md +44 -0
  166. package/docs/docs/api/appkit-ui/ui/Menubar/index.html +117 -0
  167. package/docs/docs/api/appkit-ui/ui/Menubar.md +484 -0
  168. package/docs/docs/api/appkit-ui/ui/NavigationMenu/index.html +76 -0
  169. package/docs/docs/api/appkit-ui/ui/NavigationMenu.md +338 -0
  170. package/docs/docs/api/appkit-ui/ui/Pagination/index.html +69 -0
  171. package/docs/docs/api/appkit-ui/ui/Pagination.md +191 -0
  172. package/docs/docs/api/appkit-ui/ui/Popover/index.html +45 -0
  173. package/docs/docs/api/appkit-ui/ui/Popover.md +173 -0
  174. package/docs/docs/api/appkit-ui/ui/Progress/index.html +27 -0
  175. package/docs/docs/api/appkit-ui/ui/Progress.md +51 -0
  176. package/docs/docs/api/appkit-ui/ui/RadioGroup/index.html +33 -0
  177. package/docs/docs/api/appkit-ui/ui/RadioGroup.md +83 -0
  178. package/docs/docs/api/appkit-ui/ui/ResizableHandle/index.html +41 -0
  179. package/docs/docs/api/appkit-ui/ui/ResizableHandle.md +136 -0
  180. package/docs/docs/api/appkit-ui/ui/ScrollArea/index.html +34 -0
  181. package/docs/docs/api/appkit-ui/ui/ScrollArea.md +83 -0
  182. package/docs/docs/api/appkit-ui/ui/Select/index.html +82 -0
  183. package/docs/docs/api/appkit-ui/ui/Select.md +267 -0
  184. package/docs/docs/api/appkit-ui/ui/Separator/index.html +27 -0
  185. package/docs/docs/api/appkit-ui/ui/Separator.md +56 -0
  186. package/docs/docs/api/appkit-ui/ui/Sheet/index.html +76 -0
  187. package/docs/docs/api/appkit-ui/ui/Sheet.md +236 -0
  188. package/docs/docs/api/appkit-ui/ui/Sidebar/index.html +183 -0
  189. package/docs/docs/api/appkit-ui/ui/Sidebar.md +490 -0
  190. package/docs/docs/api/appkit-ui/ui/Skeleton/index.html +27 -0
  191. package/docs/docs/api/appkit-ui/ui/Skeleton.md +43 -0
  192. package/docs/docs/api/appkit-ui/ui/Slider/index.html +27 -0
  193. package/docs/docs/api/appkit-ui/ui/Slider.md +61 -0
  194. package/docs/docs/api/appkit-ui/ui/Spinner/index.html +24 -0
  195. package/docs/docs/api/appkit-ui/ui/Spinner.md +22 -0
  196. package/docs/docs/api/appkit-ui/ui/Switch/index.html +27 -0
  197. package/docs/docs/api/appkit-ui/ui/Switch.md +46 -0
  198. package/docs/docs/api/appkit-ui/ui/Table/index.html +69 -0
  199. package/docs/docs/api/appkit-ui/ui/Table.md +236 -0
  200. package/docs/docs/api/appkit-ui/ui/Tabs/index.html +48 -0
  201. package/docs/docs/api/appkit-ui/ui/Tabs.md +177 -0
  202. package/docs/docs/api/appkit-ui/ui/Textarea/index.html +27 -0
  203. package/docs/docs/api/appkit-ui/ui/Textarea.md +35 -0
  204. package/docs/docs/api/appkit-ui/ui/Toaster/index.html +27 -0
  205. package/docs/docs/api/appkit-ui/ui/Toaster.md +75 -0
  206. package/docs/docs/api/appkit-ui/ui/Toggle/index.html +27 -0
  207. package/docs/docs/api/appkit-ui/ui/Toggle.md +48 -0
  208. package/docs/docs/api/appkit-ui/ui/ToggleGroup/index.html +33 -0
  209. package/docs/docs/api/appkit-ui/ui/ToggleGroup.md +88 -0
  210. package/docs/docs/api/appkit-ui/ui/Tooltip/index.html +46 -0
  211. package/docs/docs/api/appkit-ui/ui/Tooltip.md +134 -0
  212. package/docs/docs/api/appkit-ui.md +15 -0
  213. package/docs/docs/api/appkit.md +48 -0
  214. package/docs/docs/api/index.html +28 -0
  215. package/docs/docs/api.md +24 -0
  216. package/docs/docs/app-management/index.html +106 -0
  217. package/docs/docs/app-management.md +171 -0
  218. package/docs/docs/architecture/index.html +71 -0
  219. package/docs/docs/architecture.md +69 -0
  220. package/docs/docs/category/development/index.html +16 -0
  221. package/docs/docs/category/development.md +3 -0
  222. package/docs/docs/configuration/index.html +66 -0
  223. package/docs/docs/configuration.md +150 -0
  224. package/docs/docs/core-principles/index.html +38 -0
  225. package/docs/docs/core-principles.md +31 -0
  226. package/docs/docs/development/index.html +34 -0
  227. package/docs/docs/development/llm-guide/index.html +74 -0
  228. package/docs/docs/development/llm-guide.md +74 -0
  229. package/docs/docs/development/local-development/index.html +27 -0
  230. package/docs/docs/development/local-development.md +20 -0
  231. package/docs/docs/development/project-setup/index.html +69 -0
  232. package/docs/docs/development/project-setup.md +246 -0
  233. package/docs/docs/development/remote-bridge/index.html +76 -0
  234. package/docs/docs/development/remote-bridge.md +80 -0
  235. package/docs/docs/development/type-generation/index.html +65 -0
  236. package/docs/docs/development/type-generation.md +110 -0
  237. package/docs/docs/development.md +21 -0
  238. package/docs/docs/index.html +58 -0
  239. package/docs/docs/plugins/index.html +151 -0
  240. package/docs/docs/plugins.md +313 -0
  241. package/docs/docs.md +64 -0
  242. package/llms.txt +121 -1228
  243. package/package.json +11 -11
  244. package/scripts/postinstall.js +1 -1
  245. package/AGENTS.md +0 -1231
  246. package/bin/appkit-lint.js +0 -129
  247. package/bin/generate-types.js +0 -27
  248. package/bin/setup-claude.js +0 -190
@@ -0,0 +1,484 @@
1
+ # Menubar
2
+
3
+ Horizontal menu bar with dropdown menus
4
+
5
+ ## Example[​](#example "Direct link to Example")
6
+
7
+ <!-- -->
8
+
9
+ ```tsx
10
+ import {
11
+ Menubar,
12
+ MenubarCheckboxItem,
13
+ MenubarContent,
14
+ MenubarItem,
15
+ MenubarMenu,
16
+ MenubarRadioGroup,
17
+ MenubarRadioItem,
18
+ MenubarSeparator,
19
+ MenubarShortcut,
20
+ MenubarSub,
21
+ MenubarSubContent,
22
+ MenubarSubTrigger,
23
+ MenubarTrigger,
24
+ } from "@databricks/appkit-ui/react"
25
+
26
+ export default function MenubarExample() {
27
+ return (
28
+ <Menubar>
29
+ <MenubarMenu>
30
+ <MenubarTrigger>File</MenubarTrigger>
31
+ <MenubarContent>
32
+ <MenubarItem>
33
+ New Tab <MenubarShortcut>⌘T</MenubarShortcut>
34
+ </MenubarItem>
35
+ <MenubarItem>
36
+ New Window <MenubarShortcut>⌘N</MenubarShortcut>
37
+ </MenubarItem>
38
+ <MenubarItem disabled>New Incognito Window</MenubarItem>
39
+ <MenubarSeparator />
40
+ <MenubarSub>
41
+ <MenubarSubTrigger>Share</MenubarSubTrigger>
42
+ <MenubarSubContent>
43
+ <MenubarItem>Email link</MenubarItem>
44
+ <MenubarItem>Messages</MenubarItem>
45
+ <MenubarItem>Notes</MenubarItem>
46
+ </MenubarSubContent>
47
+ </MenubarSub>
48
+ <MenubarSeparator />
49
+ <MenubarItem>
50
+ Print... <MenubarShortcut>⌘P</MenubarShortcut>
51
+ </MenubarItem>
52
+ </MenubarContent>
53
+ </MenubarMenu>
54
+ <MenubarMenu>
55
+ <MenubarTrigger>Edit</MenubarTrigger>
56
+ <MenubarContent>
57
+ <MenubarItem>
58
+ Undo <MenubarShortcut>⌘Z</MenubarShortcut>
59
+ </MenubarItem>
60
+ <MenubarItem>
61
+ Redo <MenubarShortcut>⇧⌘Z</MenubarShortcut>
62
+ </MenubarItem>
63
+ <MenubarSeparator />
64
+ <MenubarSub>
65
+ <MenubarSubTrigger>Find</MenubarSubTrigger>
66
+ <MenubarSubContent>
67
+ <MenubarItem>Search the web</MenubarItem>
68
+ <MenubarSeparator />
69
+ <MenubarItem>Find...</MenubarItem>
70
+ <MenubarItem>Find Next</MenubarItem>
71
+ <MenubarItem>Find Previous</MenubarItem>
72
+ </MenubarSubContent>
73
+ </MenubarSub>
74
+ <MenubarSeparator />
75
+ <MenubarItem>Cut</MenubarItem>
76
+ <MenubarItem>Copy</MenubarItem>
77
+ <MenubarItem>Paste</MenubarItem>
78
+ </MenubarContent>
79
+ </MenubarMenu>
80
+ <MenubarMenu>
81
+ <MenubarTrigger>View</MenubarTrigger>
82
+ <MenubarContent>
83
+ <MenubarCheckboxItem>Always Show Bookmarks Bar</MenubarCheckboxItem>
84
+ <MenubarCheckboxItem checked>
85
+ Always Show Full URLs
86
+ </MenubarCheckboxItem>
87
+ <MenubarSeparator />
88
+ <MenubarItem inset>
89
+ Reload <MenubarShortcut>⌘R</MenubarShortcut>
90
+ </MenubarItem>
91
+ <MenubarItem disabled inset>
92
+ Force Reload <MenubarShortcut>⇧⌘R</MenubarShortcut>
93
+ </MenubarItem>
94
+ <MenubarSeparator />
95
+ <MenubarItem inset>Toggle Fullscreen</MenubarItem>
96
+ <MenubarSeparator />
97
+ <MenubarItem inset>Hide Sidebar</MenubarItem>
98
+ </MenubarContent>
99
+ </MenubarMenu>
100
+ <MenubarMenu>
101
+ <MenubarTrigger>Profiles</MenubarTrigger>
102
+ <MenubarContent>
103
+ <MenubarRadioGroup value="benoit">
104
+ <MenubarRadioItem value="andy">Andy</MenubarRadioItem>
105
+ <MenubarRadioItem value="benoit">Benoit</MenubarRadioItem>
106
+ <MenubarRadioItem value="Luis">Luis</MenubarRadioItem>
107
+ </MenubarRadioGroup>
108
+ <MenubarSeparator />
109
+ <MenubarItem inset>Edit...</MenubarItem>
110
+ <MenubarSeparator />
111
+ <MenubarItem inset>Add Profile...</MenubarItem>
112
+ </MenubarContent>
113
+ </MenubarMenu>
114
+ </Menubar>
115
+ )
116
+ }
117
+
118
+ ```
119
+
120
+ ## Menubar[​](#menubar-1 "Direct link to Menubar")
121
+
122
+ Horizontal menu bar with dropdown menus
123
+
124
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
125
+
126
+ ### Props[​](#props "Direct link to Props")
127
+
128
+ | Prop | Type | Required | Default | Description |
129
+ | --------------- | --------------------------- | -------- | ------- | ----------- |
130
+ | `value` | `string` | | - | - |
131
+ | `defaultValue` | `string` | | - | - |
132
+ | `onValueChange` | `((value: string) => void)` | | - | - |
133
+ | `loop` | `boolean` | | - | - |
134
+ | `dir` | `enum` | | - | - |
135
+ | `asChild` | `boolean` | | - | - |
136
+
137
+ ### Usage[​](#usage "Direct link to Usage")
138
+
139
+ ```tsx
140
+ import { Menubar } from '@databricks/appkit-ui';
141
+
142
+ <Menubar /* props */ />
143
+
144
+ ```
145
+
146
+ ## MenubarCheckboxItem[​](#menubarcheckboxitem "Direct link to MenubarCheckboxItem")
147
+
148
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
149
+
150
+ ### Props[​](#props-1 "Direct link to Props")
151
+
152
+ | Prop | Type | Required | Default | Description |
153
+ | ----------------- | ------------------------------ | -------- | ------- | ----------- |
154
+ | `onSelect` | `((event: Event) => void)` | | - | - |
155
+ | `asChild` | `boolean` | | - | - |
156
+ | `disabled` | `boolean` | | - | - |
157
+ | `checked` | `CheckedState` | | - | - |
158
+ | `onCheckedChange` | `((checked: boolean) => void)` | | - | - |
159
+ | `textValue` | `string` | | - | - |
160
+
161
+ ### Usage[​](#usage-1 "Direct link to Usage")
162
+
163
+ ```tsx
164
+ import { MenubarCheckboxItem } from '@databricks/appkit-ui';
165
+
166
+ <MenubarCheckboxItem /* props */ />
167
+
168
+ ```
169
+
170
+ ## MenubarContent[​](#menubarcontent "Direct link to MenubarContent")
171
+
172
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
173
+
174
+ ### Props[​](#props-2 "Direct link to Props")
175
+
176
+ | Prop | Type | Required | Default | Description |
177
+ | ------------------------ | --------------------------------------------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
178
+ | `asChild` | `boolean` | | - | - |
179
+ | `forceMount` | `true` | | - | Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. |
180
+ | `onEscapeKeyDown` | `((event: KeyboardEvent) => void)` | | - | - |
181
+ | `onPointerDownOutside` | `((event: PointerDownOutsideEvent) => void)` | | - | - |
182
+ | `onFocusOutside` | `((event: FocusOutsideEvent) => void)` | | - | - |
183
+ | `onInteractOutside` | `((event: FocusOutsideEvent \| PointerDownOutsideEvent) => void)` | | - | - |
184
+ | `onCloseAutoFocus` | `((event: Event) => void)` | | - | Event handler called when auto-focusing on close. Can be prevented. |
185
+ | `loop` | `boolean` | | - | Whether keyboard navigation should loop around @defaultValue false |
186
+ | `align` | `enum` | | - | - |
187
+ | `side` | `enum` | | - | - |
188
+ | `sideOffset` | `number` | | - | - |
189
+ | `alignOffset` | `number` | | - | - |
190
+ | `arrowPadding` | `number` | | - | - |
191
+ | `avoidCollisions` | `boolean` | | - | - |
192
+ | `collisionBoundary` | `Boundary \| Boundary[]` | | - | - |
193
+ | `collisionPadding` | `number \| Partial<Record<"left" \| "right" \| "top" \| "bottom", number>>` | | - | - |
194
+ | `sticky` | `enum` | | - | - |
195
+ | `hideWhenDetached` | `boolean` | | - | - |
196
+ | `updatePositionStrategy` | `enum` | | - | - |
197
+
198
+ ### Usage[​](#usage-2 "Direct link to Usage")
199
+
200
+ ```tsx
201
+ import { MenubarContent } from '@databricks/appkit-ui';
202
+
203
+ <MenubarContent /* props */ />
204
+
205
+ ```
206
+
207
+ ## MenubarGroup[​](#menubargroup "Direct link to MenubarGroup")
208
+
209
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
210
+
211
+ ### Props[​](#props-3 "Direct link to Props")
212
+
213
+ | Prop | Type | Required | Default | Description |
214
+ | --------- | --------- | -------- | ------- | ----------- |
215
+ | `asChild` | `boolean` | | - | - |
216
+
217
+ ### Usage[​](#usage-3 "Direct link to Usage")
218
+
219
+ ```tsx
220
+ import { MenubarGroup } from '@databricks/appkit-ui';
221
+
222
+ <MenubarGroup /* props */ />
223
+
224
+ ```
225
+
226
+ ## MenubarItem[​](#menubaritem "Direct link to MenubarItem")
227
+
228
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
229
+
230
+ ### Props[​](#props-4 "Direct link to Props")
231
+
232
+ | Prop | Type | Required | Default | Description |
233
+ | ----------- | -------------------------- | -------- | --------- | ----------- |
234
+ | `onSelect` | `((event: Event) => void)` | | - | - |
235
+ | `asChild` | `boolean` | | - | - |
236
+ | `disabled` | `boolean` | | - | - |
237
+ | `textValue` | `string` | | - | - |
238
+ | `inset` | `boolean` | | - | - |
239
+ | `variant` | `enum` | | `default` | - |
240
+
241
+ ### Usage[​](#usage-4 "Direct link to Usage")
242
+
243
+ ```tsx
244
+ import { MenubarItem } from '@databricks/appkit-ui';
245
+
246
+ <MenubarItem /* props */ />
247
+
248
+ ```
249
+
250
+ ## MenubarLabel[​](#menubarlabel "Direct link to MenubarLabel")
251
+
252
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
253
+
254
+ ### Props[​](#props-5 "Direct link to Props")
255
+
256
+ | Prop | Type | Required | Default | Description |
257
+ | --------- | --------- | -------- | ------- | ----------- |
258
+ | `asChild` | `boolean` | | - | - |
259
+ | `inset` | `boolean` | | - | - |
260
+
261
+ ### Usage[​](#usage-5 "Direct link to Usage")
262
+
263
+ ```tsx
264
+ import { MenubarLabel } from '@databricks/appkit-ui';
265
+
266
+ <MenubarLabel /* props */ />
267
+
268
+ ```
269
+
270
+ ## MenubarMenu[​](#menubarmenu "Direct link to MenubarMenu")
271
+
272
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
273
+
274
+ ### Props[​](#props-6 "Direct link to Props")
275
+
276
+ | Prop | Type | Required | Default | Description |
277
+ | ---------------- | -------- | -------- | ------- | ----------- |
278
+ | `value` | `string` | | - | - |
279
+ | `__scopeMenubar` | `Scope` | | - | - |
280
+
281
+ ### Usage[​](#usage-6 "Direct link to Usage")
282
+
283
+ ```tsx
284
+ import { MenubarMenu } from '@databricks/appkit-ui';
285
+
286
+ <MenubarMenu /* props */ />
287
+
288
+ ```
289
+
290
+ ## MenubarPortal[​](#menubarportal "Direct link to MenubarPortal")
291
+
292
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
293
+
294
+ ### Props[​](#props-7 "Direct link to Props")
295
+
296
+ | Prop | Type | Required | Default | Description |
297
+ | ------------ | ------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
298
+ | `container` | `Element \| DocumentFragment \| null` | | - | Specify a container element to portal the content into. |
299
+ | `forceMount` | `true` | | - | Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. |
300
+
301
+ ### Usage[​](#usage-7 "Direct link to Usage")
302
+
303
+ ```tsx
304
+ import { MenubarPortal } from '@databricks/appkit-ui';
305
+
306
+ <MenubarPortal /* props */ />
307
+
308
+ ```
309
+
310
+ ## MenubarRadioGroup[​](#menubarradiogroup "Direct link to MenubarRadioGroup")
311
+
312
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
313
+
314
+ ### Props[​](#props-8 "Direct link to Props")
315
+
316
+ | Prop | Type | Required | Default | Description |
317
+ | --------------- | --------------------------- | -------- | ------- | ----------- |
318
+ | `asChild` | `boolean` | | - | - |
319
+ | `value` | `string` | ✓ | - | - |
320
+ | `onValueChange` | `((value: string) => void)` | | - | - |
321
+
322
+ ### Usage[​](#usage-8 "Direct link to Usage")
323
+
324
+ ```tsx
325
+ import { MenubarRadioGroup } from '@databricks/appkit-ui';
326
+
327
+ <MenubarRadioGroup /* props */ />
328
+
329
+ ```
330
+
331
+ ## MenubarRadioItem[​](#menubarradioitem "Direct link to MenubarRadioItem")
332
+
333
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
334
+
335
+ ### Props[​](#props-9 "Direct link to Props")
336
+
337
+ | Prop | Type | Required | Default | Description |
338
+ | ----------- | -------------------------- | -------- | ------- | ----------- |
339
+ | `onSelect` | `((event: Event) => void)` | | - | - |
340
+ | `asChild` | `boolean` | | - | - |
341
+ | `disabled` | `boolean` | | - | - |
342
+ | `value` | `string` | ✓ | - | - |
343
+ | `textValue` | `string` | | - | - |
344
+
345
+ ### Usage[​](#usage-9 "Direct link to Usage")
346
+
347
+ ```tsx
348
+ import { MenubarRadioItem } from '@databricks/appkit-ui';
349
+
350
+ <MenubarRadioItem /* props */ />
351
+
352
+ ```
353
+
354
+ ## MenubarSeparator[​](#menubarseparator "Direct link to MenubarSeparator")
355
+
356
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
357
+
358
+ ### Props[​](#props-10 "Direct link to Props")
359
+
360
+ | Prop | Type | Required | Default | Description |
361
+ | --------- | --------- | -------- | ------- | ----------- |
362
+ | `asChild` | `boolean` | | - | - |
363
+
364
+ ### Usage[​](#usage-10 "Direct link to Usage")
365
+
366
+ ```tsx
367
+ import { MenubarSeparator } from '@databricks/appkit-ui';
368
+
369
+ <MenubarSeparator /* props */ />
370
+
371
+ ```
372
+
373
+ ## MenubarShortcut[​](#menubarshortcut "Direct link to MenubarShortcut")
374
+
375
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
376
+
377
+ ### Props[​](#props-11 "Direct link to Props")
378
+
379
+ This component extends standard HTML element attributes.
380
+
381
+ ### Usage[​](#usage-11 "Direct link to Usage")
382
+
383
+ ```tsx
384
+ import { MenubarShortcut } from '@databricks/appkit-ui';
385
+
386
+ <MenubarShortcut /* props */ />
387
+
388
+ ```
389
+
390
+ ## MenubarSub[​](#menubarsub "Direct link to MenubarSub")
391
+
392
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
393
+
394
+ ### Props[​](#props-12 "Direct link to Props")
395
+
396
+ | Prop | Type | Required | Default | Description |
397
+ | -------------- | --------------------------- | -------- | ------- | ----------- |
398
+ | `open` | `boolean` | | - | - |
399
+ | `defaultOpen` | `boolean` | | - | - |
400
+ | `onOpenChange` | `((open: boolean) => void)` | | - | - |
401
+
402
+ ### Usage[​](#usage-12 "Direct link to Usage")
403
+
404
+ ```tsx
405
+ import { MenubarSub } from '@databricks/appkit-ui';
406
+
407
+ <MenubarSub /* props */ />
408
+
409
+ ```
410
+
411
+ ## MenubarSubContent[​](#menubarsubcontent "Direct link to MenubarSubContent")
412
+
413
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
414
+
415
+ ### Props[​](#props-13 "Direct link to Props")
416
+
417
+ | Prop | Type | Required | Default | Description |
418
+ | ------------------------ | --------------------------------------------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
419
+ | `asChild` | `boolean` | | - | - |
420
+ | `forceMount` | `true` | | - | Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries. |
421
+ | `onEscapeKeyDown` | `((event: KeyboardEvent) => void)` | | - | - |
422
+ | `onPointerDownOutside` | `((event: PointerDownOutsideEvent) => void)` | | - | - |
423
+ | `onFocusOutside` | `((event: FocusOutsideEvent) => void)` | | - | - |
424
+ | `onInteractOutside` | `((event: FocusOutsideEvent \| PointerDownOutsideEvent) => void)` | | - | - |
425
+ | `loop` | `boolean` | | - | Whether keyboard navigation should loop around @defaultValue false |
426
+ | `sideOffset` | `number` | | - | - |
427
+ | `alignOffset` | `number` | | - | - |
428
+ | `arrowPadding` | `number` | | - | - |
429
+ | `avoidCollisions` | `boolean` | | - | - |
430
+ | `collisionBoundary` | `Boundary \| Boundary[]` | | - | - |
431
+ | `collisionPadding` | `number \| Partial<Record<"left" \| "right" \| "top" \| "bottom", number>>` | | - | - |
432
+ | `sticky` | `enum` | | - | - |
433
+ | `hideWhenDetached` | `boolean` | | - | - |
434
+ | `updatePositionStrategy` | `enum` | | - | - |
435
+
436
+ ### Usage[​](#usage-13 "Direct link to Usage")
437
+
438
+ ```tsx
439
+ import { MenubarSubContent } from '@databricks/appkit-ui';
440
+
441
+ <MenubarSubContent /* props */ />
442
+
443
+ ```
444
+
445
+ ## MenubarSubTrigger[​](#menubarsubtrigger "Direct link to MenubarSubTrigger")
446
+
447
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
448
+
449
+ ### Props[​](#props-14 "Direct link to Props")
450
+
451
+ | Prop | Type | Required | Default | Description |
452
+ | ----------- | --------- | -------- | ------- | ----------- |
453
+ | `asChild` | `boolean` | | - | - |
454
+ | `disabled` | `boolean` | | - | - |
455
+ | `textValue` | `string` | | - | - |
456
+ | `inset` | `boolean` | | - | - |
457
+
458
+ ### Usage[​](#usage-14 "Direct link to Usage")
459
+
460
+ ```tsx
461
+ import { MenubarSubTrigger } from '@databricks/appkit-ui';
462
+
463
+ <MenubarSubTrigger /* props */ />
464
+
465
+ ```
466
+
467
+ ## MenubarTrigger[​](#menubartrigger "Direct link to MenubarTrigger")
468
+
469
+ **Source:** [`packages/appkit-ui/src/react/ui/menubar.tsx`](https://github.com/databricks/appkit/blob/main/packages/appkit-ui/src/react/ui/menubar.tsx)
470
+
471
+ ### Props[​](#props-15 "Direct link to Props")
472
+
473
+ | Prop | Type | Required | Default | Description |
474
+ | --------- | --------- | -------- | ------- | ----------- |
475
+ | `asChild` | `boolean` | | - | - |
476
+
477
+ ### Usage[​](#usage-15 "Direct link to Usage")
478
+
479
+ ```tsx
480
+ import { MenubarTrigger } from '@databricks/appkit-ui';
481
+
482
+ <MenubarTrigger /* props */ />
483
+
484
+ ```