@alexgorbatchev/shadcn 0.0.19 → 0.0.21

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 (587) hide show
  1. package/README.md +45 -16
  2. package/THIRD_PARTY_NOTICES.md +60 -0
  3. package/dist/{chunk-q2ewq67a.js → chunk-02qymemz.js} +1 -1
  4. package/dist/{chunk-k89xxj12.js → chunk-0ewzb2ax.js} +1 -1
  5. package/dist/{chunk-0jb0xgdb.js → chunk-0w6rxpr5.js} +1 -1
  6. package/dist/{chunk-0q6mg89k.js → chunk-1c5jjkhw.js} +1 -1
  7. package/dist/{chunk-x82x81th.js → chunk-1p7pend8.js} +3 -3
  8. package/dist/chunk-21wbz345.js +65 -0
  9. package/dist/{chunk-zgpdhtkw.js → chunk-21x1n6gn.js} +6 -6
  10. package/dist/{chunk-h46mdagy.js → chunk-24pefkd5.js} +1 -1
  11. package/dist/{chunk-msave608.js → chunk-2bx2r98r.js} +1 -1
  12. package/dist/{chunk-41wykzq3.js → chunk-2tmvz090.js} +1 -1
  13. package/dist/{chunk-wxncy44f.js → chunk-3d9v39ga.js} +1 -1
  14. package/dist/{chunk-2b9agdrf.js → chunk-3dyqen8w.js} +1 -1
  15. package/dist/{chunk-f63f8w58.js → chunk-3jrsp186.js} +1 -1
  16. package/dist/{chunk-njzam0hx.js → chunk-3qqdfft7.js} +1 -0
  17. package/dist/{chunk-gfm2arhj.js → chunk-43hfchxf.js} +1 -1
  18. package/dist/{chunk-6xr41wyr.js → chunk-46jdxdzy.js} +3 -3
  19. package/dist/{chunk-x7z9jzyf.js → chunk-4djw71cv.js} +22 -12
  20. package/dist/{chunk-mjpc4qf7.js → chunk-52e8a05a.js} +1 -1
  21. package/dist/{chunk-kc4mmrwk.js → chunk-5ayp2vkw.js} +1 -1
  22. package/dist/{chunk-vx7c2xhq.js → chunk-5v4typ39.js} +3 -3
  23. package/dist/{chunk-gt8m0zeq.js → chunk-5wndb6hx.js} +1 -1
  24. package/dist/{chunk-550z7s64.js → chunk-6432235c.js} +3 -3
  25. package/dist/{chunk-8x8yxf6x.js → chunk-67dkgsm3.js} +2 -2
  26. package/dist/{chunk-f73en61v.js → chunk-6f3qpy7v.js} +1 -1
  27. package/dist/{chunk-2gten6a1.js → chunk-6wvhq8wq.js} +2 -2
  28. package/dist/{chunk-717ggspf.js → chunk-70vndezn.js} +16 -5
  29. package/dist/{chunk-cre60717.js → chunk-72qr0gqe.js} +1 -1
  30. package/dist/{chunk-r7fy89jq.js → chunk-79667fz5.js} +3 -3
  31. package/dist/{chunk-vpj3vk7v.js → chunk-83cckb23.js} +1 -1
  32. package/dist/{chunk-9msk1t9e.js → chunk-8a15x4a8.js} +1 -1
  33. package/dist/{chunk-h8awhm19.js → chunk-96wh7ccv.js} +1 -1
  34. package/dist/{chunk-5h6m9dsm.js → chunk-9dqspkha.js} +1 -1
  35. package/dist/{chunk-pe1vvkp7.js → chunk-9jct7hv0.js} +3 -3
  36. package/dist/{chunk-xqn8mef3.js → chunk-a6kyjjfk.js} +1 -0
  37. package/dist/chunk-aa7m22zj.js +22 -0
  38. package/dist/{chunk-f8758vjx.js → chunk-az81pc04.js} +5 -5
  39. package/dist/{chunk-zhdp6qrb.js → chunk-bcpy6gpz.js} +1 -1
  40. package/dist/{chunk-v4yqjvzd.js → chunk-bygq5yqf.js} +31 -6
  41. package/dist/{chunk-2m0zpzbm.js → chunk-cn81dnqb.js} +1 -0
  42. package/dist/{chunk-m1a9e1py.js → chunk-d2z4gebj.js} +1 -1
  43. package/dist/{chunk-2qxy1r5y.js → chunk-d3ad53et.js} +10 -10
  44. package/dist/{chunk-mx21wpq0.js → chunk-d4bm5rzy.js} +12 -2
  45. package/dist/{chunk-qw7229kj.js → chunk-dgkj6442.js} +1 -1
  46. package/dist/{chunk-r4fr62ca.js → chunk-djm7qq62.js} +1 -1
  47. package/dist/{chunk-45kmek5e.js → chunk-dq7kr5y0.js} +16 -4
  48. package/dist/{chunk-c6b2cfw4.js → chunk-e0gcczqk.js} +3 -3
  49. package/dist/{chunk-9dw4dyzq.js → chunk-e0pv0me5.js} +1 -1
  50. package/dist/{chunk-82vfgkjv.js → chunk-f4c0tg2x.js} +1 -1
  51. package/dist/{chunk-jq6tc65r.js → chunk-f5hphka1.js} +7 -1
  52. package/dist/{chunk-6wvtsf2m.js → chunk-f9ha76ap.js} +5 -5
  53. package/dist/{chunk-2e4fnx0e.js → chunk-fb6h4fzt.js} +1 -1
  54. package/dist/{chunk-c900175p.js → chunk-fba5hr7b.js} +1 -1
  55. package/dist/{chunk-155c0btb.js → chunk-g03nphs1.js} +1 -1
  56. package/dist/{chunk-waat2ksf.js → chunk-ghmkxqn5.js} +1 -1
  57. package/dist/{chunk-r3artnc9.js → chunk-gkkbg7rq.js} +1 -1
  58. package/dist/{chunk-zcwynyr0.js → chunk-gykrcxd1.js} +1 -0
  59. package/dist/{chunk-m54kq3he.js → chunk-hh43wg05.js} +22 -12
  60. package/dist/{chunk-6hbx647r.js → chunk-j4gd5awk.js} +6 -6
  61. package/dist/{chunk-aewjmzt9.js → chunk-jba22682.js} +3 -3
  62. package/dist/{chunk-82cw4kcg.js → chunk-jf0y740b.js} +1 -1
  63. package/dist/{chunk-fyb0b7bp.js → chunk-jpamrhdk.js} +1 -1
  64. package/dist/{chunk-gyg2s982.js → chunk-k4qz4q7r.js} +1 -0
  65. package/dist/{chunk-dppmqr99.js → chunk-k8v9y2dw.js} +1 -1
  66. package/dist/chunk-kbg2e95b.js +434 -0
  67. package/dist/{chunk-s3b87adw.js → chunk-kv1akmf5.js} +1 -1
  68. package/dist/{chunk-2g0zzx6f.js → chunk-m2ct74my.js} +1 -0
  69. package/dist/{chunk-19441s27.js → chunk-m9zsppp2.js} +2 -2
  70. package/dist/chunk-mz3e810d.js +83 -0
  71. package/dist/{chunk-serw27sv.js → chunk-nkw2vsf3.js} +1 -0
  72. package/dist/{chunk-wf5cnpdg.js → chunk-p45ytcc2.js} +3 -3
  73. package/dist/{chunk-86211e5a.js → chunk-p8gshf3k.js} +1 -1
  74. package/dist/{chunk-3552jz55.js → chunk-qcsxnn16.js} +1 -0
  75. package/dist/{chunk-q40gqpwh.js → chunk-qgjjcmpa.js} +1 -1
  76. package/dist/chunk-r9qrb6b6.js +54 -0
  77. package/dist/{chunk-1x2ch0xc.js → chunk-rffrerg5.js} +3 -1
  78. package/dist/{chunk-h561m2ae.js → chunk-s83v0taa.js} +1 -1
  79. package/dist/{chunk-emasqc8x.js → chunk-sat9hjv7.js} +1 -1
  80. package/dist/{chunk-k4vvp62d.js → chunk-seeed8a2.js} +1 -1
  81. package/dist/{chunk-akaezred.js → chunk-tea1nrwn.js} +2 -2
  82. package/dist/{chunk-0zwxgwr4.js → chunk-tynbgc30.js} +1 -1
  83. package/dist/{chunk-47xfhw4f.js → chunk-v9r6t8bz.js} +1 -0
  84. package/dist/{chunk-48b1ya7g.js → chunk-ve9gpkxd.js} +1 -1
  85. package/dist/{chunk-jacxpetf.js → chunk-vjtbpkht.js} +2 -2
  86. package/dist/{chunk-g7v9cqyg.js → chunk-vq8nc5xa.js} +1 -1
  87. package/dist/{chunk-55bcw5ff.js → chunk-w1w71edg.js} +1 -0
  88. package/dist/{chunk-z5d2zpnj.js → chunk-wkpf4bv7.js} +1 -1
  89. package/dist/{chunk-ed49y20r.js → chunk-ws4y7ctw.js} +1 -1
  90. package/dist/{chunk-38kwkd1a.js → chunk-wwyzwptb.js} +3 -2
  91. package/dist/{chunk-yncp9nsv.js → chunk-z4jpedvh.js} +1 -0
  92. package/dist/{chunk-b12s32e3.js → chunk-zj06vvcz.js} +1 -1
  93. package/dist/components/AccountMenu.d.ts +12 -0
  94. package/dist/components/AlertDialog.d.ts +1 -1
  95. package/dist/components/AppShell.d.ts +23 -0
  96. package/dist/components/AuthForm.d.ts +18 -0
  97. package/dist/components/BarList.d.ts +16 -0
  98. package/dist/components/BillingUsage.d.ts +20 -0
  99. package/dist/components/Combobox.d.ts +2 -1
  100. package/dist/components/ContextMenu.d.ts +1 -1
  101. package/dist/components/DashboardLayout.d.ts +18 -0
  102. package/dist/components/Dialog.d.ts +1 -1
  103. package/dist/components/Drawer.d.ts +1 -1
  104. package/dist/components/DropdownMenu.d.ts +1 -1
  105. package/dist/components/FilterBar.d.ts +20 -0
  106. package/dist/components/Kanban.d.ts +23 -0
  107. package/dist/components/Meter.d.ts +9 -0
  108. package/dist/components/NumberField.d.ts +11 -0
  109. package/dist/components/PageHeader.d.ts +11 -0
  110. package/dist/components/ScrollGuard.d.ts +6 -0
  111. package/dist/components/SettingsSection.d.ts +16 -0
  112. package/dist/components/Sidebar.d.ts +2 -1
  113. package/dist/components/StatCard.d.ts +14 -0
  114. package/dist/components/StatusTracker.d.ts +16 -0
  115. package/dist/components/Stepper.d.ts +12 -0
  116. package/dist/components/TagInput.d.ts +16 -0
  117. package/dist/components/Toast.d.ts +1 -1
  118. package/dist/components/Toolbar.d.ts +10 -0
  119. package/dist/components/WorkspaceSwitcher.d.ts +14 -0
  120. package/dist/components/assistant-ui/elements/AgentCard.js +1 -1
  121. package/dist/components/assistant-ui/elements/ApprovalCard.d.ts +1 -1
  122. package/dist/components/assistant-ui/elements/ApprovalCard.js +1 -1
  123. package/dist/components/assistant-ui/elements/ArtifactCard.js +1 -1
  124. package/dist/components/assistant-ui/elements/BackgroundInbox.js +2 -2
  125. package/dist/components/assistant-ui/elements/Chart.js +2 -2
  126. package/dist/components/assistant-ui/elements/ChatPanel.js +1 -1
  127. package/dist/components/assistant-ui/elements/Citation.js +3 -2
  128. package/dist/components/assistant-ui/elements/CodeDiff.js +2 -2
  129. package/dist/components/assistant-ui/elements/CommandPalette.js +5 -4
  130. package/dist/components/assistant-ui/elements/ComparisonCard.js +1 -1
  131. package/dist/components/assistant-ui/elements/ComposerContext.js +3 -2
  132. package/dist/components/assistant-ui/elements/ContextDisplay.js +9 -8
  133. package/dist/components/assistant-ui/elements/ContextDisplayBar.js +6 -5
  134. package/dist/components/assistant-ui/elements/ContextDisplayContent.js +3 -2
  135. package/dist/components/assistant-ui/elements/ContextDisplayRing.js +6 -5
  136. package/dist/components/assistant-ui/elements/ContextDisplayRoot.js +3 -2
  137. package/dist/components/assistant-ui/elements/ContextDisplayText.js +6 -5
  138. package/dist/components/assistant-ui/elements/ContextDisplayTrigger.js +3 -2
  139. package/dist/components/assistant-ui/elements/ConversationMap.js +3 -2
  140. package/dist/components/assistant-ui/elements/DataTable.js +2 -2
  141. package/dist/components/assistant-ui/elements/EditMessage.js +2 -2
  142. package/dist/components/assistant-ui/elements/ElicitationForm.js +2 -2
  143. package/dist/components/assistant-ui/elements/FeedbackDialog.js +2 -2
  144. package/dist/components/assistant-ui/elements/FileTree.js +2 -2
  145. package/dist/components/assistant-ui/elements/FlowGraph.js +2 -2
  146. package/dist/components/assistant-ui/elements/GenerativeUi.js +5 -4
  147. package/dist/components/assistant-ui/elements/Image.js +3 -2
  148. package/dist/components/assistant-ui/elements/ImageGallery.js +3 -2
  149. package/dist/components/assistant-ui/elements/MarkdownText.js +4 -3
  150. package/dist/components/assistant-ui/elements/McpServerPanel.js +2 -2
  151. package/dist/components/assistant-ui/elements/MermaidDiagram.js +4 -3
  152. package/dist/components/assistant-ui/elements/MermaidZoom.js +3 -2
  153. package/dist/components/assistant-ui/elements/MessageTiming.d.ts +1 -1
  154. package/dist/components/assistant-ui/elements/ModelPicker.js +2 -2
  155. package/dist/components/assistant-ui/elements/ModelSelector.js +14 -13
  156. package/dist/components/assistant-ui/elements/ModelSelectorContent.js +11 -10
  157. package/dist/components/assistant-ui/elements/ModelSelectorEmpty.js +5 -4
  158. package/dist/components/assistant-ui/elements/ModelSelectorFocusAnchor.js +5 -4
  159. package/dist/components/assistant-ui/elements/ModelSelectorGroup.js +5 -4
  160. package/dist/components/assistant-ui/elements/ModelSelectorItem.js +5 -4
  161. package/dist/components/assistant-ui/elements/ModelSelectorList.js +7 -6
  162. package/dist/components/assistant-ui/elements/ModelSelectorRoot.js +3 -2
  163. package/dist/components/assistant-ui/elements/ModelSelectorSearch.js +5 -4
  164. package/dist/components/assistant-ui/elements/ModelSelectorSeparator.js +5 -4
  165. package/dist/components/assistant-ui/elements/ModelSelectorTrigger.js +3 -2
  166. package/dist/components/assistant-ui/elements/ReasoningPanel.js +1 -1
  167. package/dist/components/assistant-ui/elements/RecommendationCard.js +1 -1
  168. package/dist/components/assistant-ui/elements/RegenerateMenu.js +3 -2
  169. package/dist/components/assistant-ui/elements/ScheduleCard.js +1 -1
  170. package/dist/components/assistant-ui/elements/ScrollAnchor.js +1 -1
  171. package/dist/components/assistant-ui/elements/SettingsPanel.js +1 -1
  172. package/dist/components/assistant-ui/elements/SpecSheet.js +1 -1
  173. package/dist/components/assistant-ui/elements/TaskCard.js +1 -1
  174. package/dist/components/assistant-ui/elements/TooltipIconButton.js +3 -2
  175. package/dist/components/assistant-ui/elements/types.d.ts +0 -4
  176. package/dist/components/assistant-ui/index.js +61 -60
  177. package/dist/components/assistant-ui/native/AssistantModal.js +11 -10
  178. package/dist/components/assistant-ui/native/AssistantSidebar.js +12 -11
  179. package/dist/components/assistant-ui/native/AttachmentPreview.js +5 -4
  180. package/dist/components/assistant-ui/native/ComposerTriggerPopover.js +1 -1
  181. package/dist/components/assistant-ui/native/ContextDisplay.js +11 -10
  182. package/dist/components/assistant-ui/native/ContextDisplayBar.js +8 -7
  183. package/dist/components/assistant-ui/native/ContextDisplayRing.js +8 -7
  184. package/dist/components/assistant-ui/native/ContextDisplayRoot.js +5 -4
  185. package/dist/components/assistant-ui/native/ContextDisplayRuntimeRoot.js +4 -3
  186. package/dist/components/assistant-ui/native/ContextDisplayText.js +8 -7
  187. package/dist/components/assistant-ui/native/ConversationMapAui.js +4 -3
  188. package/dist/components/assistant-ui/native/McpConfigDialog.js +3 -2
  189. package/dist/components/assistant-ui/native/MermaidDiagram.js +5 -4
  190. package/dist/components/assistant-ui/native/MessageTiming.js +3 -2
  191. package/dist/components/assistant-ui/native/ModelSelector.js +16 -15
  192. package/dist/components/assistant-ui/native/Reasoning.js +5 -4
  193. package/dist/components/assistant-ui/native/TaskCard.js +7 -6
  194. package/dist/components/assistant-ui/native/TaskGroup.js +8 -7
  195. package/dist/components/assistant-ui/native/TaskTray.js +3 -2
  196. package/dist/components/assistant-ui/native/Thread.js +10 -9
  197. package/dist/components/assistant-ui/native/ThreadListSidebar.js +4 -3
  198. package/dist/components/assistant-ui/native/VoiceControl.js +6 -5
  199. package/dist/components/assistant-ui/native/VoiceDisconnectButton.js +4 -3
  200. package/dist/components/assistant-ui/native/VoiceMuteButton.js +4 -3
  201. package/dist/components/assistant-ui/native/index.js +52 -51
  202. package/dist/components/calendar/DatePicker.d.ts +27 -0
  203. package/dist/components/calendar/index.d.ts +2 -0
  204. package/dist/components/calendar/index.js +175 -2
  205. package/dist/components/chart/AnalyticsChart.d.ts +24 -0
  206. package/dist/components/chart/index.d.ts +2 -0
  207. package/dist/components/chart/index.js +88 -0
  208. package/dist/components/color-picker/ColorPicker.d.ts +14 -0
  209. package/dist/components/color-picker/index.d.ts +2 -0
  210. package/dist/components/color-picker/index.js +52 -0
  211. package/dist/components/command/index.js +3 -2
  212. package/dist/components/data-grid/DataGrid.d.ts +44 -0
  213. package/dist/components/data-grid/index.d.ts +2 -0
  214. package/dist/components/data-grid/index.js +228 -0
  215. package/dist/components/editor/RichTextEditor.d.ts +14 -0
  216. package/dist/components/editor/index.d.ts +2 -0
  217. package/dist/components/editor/index.js +108 -0
  218. package/dist/components/event-calendar/EventCalendar.d.ts +16 -0
  219. package/dist/components/event-calendar/EventForm.d.ts +18 -0
  220. package/dist/components/event-calendar/index.d.ts +4 -0
  221. package/dist/components/event-calendar/index.js +266 -0
  222. package/dist/components/file-upload/FileUpload.d.ts +14 -0
  223. package/dist/components/file-upload/index.d.ts +2 -0
  224. package/dist/components/file-upload/index.js +80 -0
  225. package/dist/components/gantt/Gantt.d.ts +22 -0
  226. package/dist/components/gantt/Roadmap.d.ts +18 -0
  227. package/dist/components/gantt/index.d.ts +4 -0
  228. package/dist/components/gantt/index.js +357 -0
  229. package/dist/components/image-crop/ImageCrop.d.ts +10 -0
  230. package/dist/components/image-crop/index.d.ts +2 -0
  231. package/dist/components/image-crop/index.js +35 -0
  232. package/dist/components/questionnaire/index.js +2 -2
  233. package/dist/components/resizable/Resizable.d.ts +1 -1
  234. package/dist/components/resizable/index.js +1 -1
  235. package/dist/components/tree/Tree.d.ts +16 -0
  236. package/dist/components/tree/index.d.ts +2 -0
  237. package/dist/components/tree/index.js +57 -0
  238. package/dist/event-calendar.css +83 -0
  239. package/dist/hooks/usePortalNode.d.ts +14 -0
  240. package/dist/index.d.ts +35 -0
  241. package/dist/index.js +1636 -761
  242. package/dist/options/types.d.ts +5 -0
  243. package/dist/theme.css +34 -35
  244. package/dist/utils/observeScrollGuards.d.ts +4 -0
  245. package/llms/components/actions/Button.md +433 -0
  246. package/llms/components/actions/ButtonGroup.md +278 -0
  247. package/llms/components/actions/ButtonLink.md +189 -0
  248. package/llms/components/actions/Toggle.md +191 -0
  249. package/llms/components/actions/ToggleGroup.md +161 -0
  250. package/llms/components/actions/Toolbar.md +89 -0
  251. package/llms/components/assistant-ui/elements/agents-tasks/AgentCard.md +60 -0
  252. package/llms/components/assistant-ui/elements/agents-tasks/AgentHandoff.md +78 -0
  253. package/llms/components/assistant-ui/elements/agents-tasks/AgentPlan.md +57 -0
  254. package/llms/components/assistant-ui/elements/agents-tasks/AgentStatus.md +88 -0
  255. package/llms/components/assistant-ui/elements/agents-tasks/JobProgress.md +84 -0
  256. package/llms/components/assistant-ui/elements/agents-tasks/RunActivity.md +75 -0
  257. package/llms/components/assistant-ui/elements/agents-tasks/ScheduleCard.md +91 -0
  258. package/llms/components/assistant-ui/elements/agents-tasks/StoppedRun.md +54 -0
  259. package/llms/components/assistant-ui/elements/agents-tasks/SubagentList.md +72 -0
  260. package/llms/components/assistant-ui/elements/agents-tasks/TaskCard.md +101 -0
  261. package/llms/components/assistant-ui/elements/agents-tasks/TaskStateIcon.md +86 -0
  262. package/llms/components/assistant-ui/elements/agents-tasks/TodoList.md +99 -0
  263. package/llms/components/assistant-ui/elements/branding/ClaudeLogo.md +36 -0
  264. package/llms/components/assistant-ui/elements/branding/GeminiLogo.md +47 -0
  265. package/llms/components/assistant-ui/elements/branding/GitHubIcon.md +41 -0
  266. package/llms/components/assistant-ui/elements/branding/OpenAILogo.md +36 -0
  267. package/llms/components/assistant-ui/elements/code-diffs/CodeDiff.md +67 -0
  268. package/llms/components/assistant-ui/elements/code-diffs/CodeRunner.md +66 -0
  269. package/llms/components/assistant-ui/elements/code-diffs/DiffViewer.md +144 -0
  270. package/llms/components/assistant-ui/elements/code-diffs/DiffViewerContent.md +50 -0
  271. package/llms/components/assistant-ui/elements/code-diffs/DiffViewerFile.md +50 -0
  272. package/llms/components/assistant-ui/elements/code-diffs/DiffViewerFileBadge.md +50 -0
  273. package/llms/components/assistant-ui/elements/code-diffs/DiffViewerFileContent.md +59 -0
  274. package/llms/components/assistant-ui/elements/code-diffs/DiffViewerHeader.md +81 -0
  275. package/llms/components/assistant-ui/elements/code-diffs/DiffViewerLine.md +50 -0
  276. package/llms/components/assistant-ui/elements/code-diffs/DiffViewerSplitLine.md +55 -0
  277. package/llms/components/assistant-ui/elements/code-diffs/DiffViewerStats.md +50 -0
  278. package/llms/components/assistant-ui/elements/code-diffs/DiffViewerText.md +44 -0
  279. package/llms/components/assistant-ui/elements/code-diffs/ReviewableDiff.md +102 -0
  280. package/llms/components/assistant-ui/elements/code-diffs/ShikiHighlighter.md +131 -0
  281. package/llms/components/assistant-ui/elements/code-diffs/SyntaxHighlighter.md +62 -0
  282. package/llms/components/assistant-ui/elements/code-diffs/TerminalAnsiFragment.md +66 -0
  283. package/llms/components/assistant-ui/elements/code-diffs/TerminalBlock.md +131 -0
  284. package/llms/components/assistant-ui/elements/composer/CommandPalette.md +79 -0
  285. package/llms/components/assistant-ui/elements/composer/Composer.md +62 -0
  286. package/llms/components/assistant-ui/elements/composer/ComposerActions.md +34 -0
  287. package/llms/components/assistant-ui/elements/composer/ComposerAttachButton.md +50 -0
  288. package/llms/components/assistant-ui/elements/composer/ComposerAttachmentChip.md +58 -0
  289. package/llms/components/assistant-ui/elements/composer/ComposerAttachments.md +42 -0
  290. package/llms/components/assistant-ui/elements/composer/ComposerBar.md +42 -0
  291. package/llms/components/assistant-ui/elements/composer/ComposerCommandItem.md +42 -0
  292. package/llms/components/assistant-ui/elements/composer/ComposerContext.md +50 -0
  293. package/llms/components/assistant-ui/elements/composer/ComposerInput.md +56 -0
  294. package/llms/components/assistant-ui/elements/composer/ComposerMenu.md +59 -0
  295. package/llms/components/assistant-ui/elements/composer/ComposerMenuItem.md +50 -0
  296. package/llms/components/assistant-ui/elements/composer/ComposerModelItem.md +42 -0
  297. package/llms/components/assistant-ui/elements/composer/ComposerModelTrigger.md +42 -0
  298. package/llms/components/assistant-ui/elements/composer/ComposerPersonItem.md +42 -0
  299. package/llms/components/assistant-ui/elements/composer/ComposerSend.md +58 -0
  300. package/llms/components/assistant-ui/elements/composer/ComposerToolbar.md +34 -0
  301. package/llms/components/assistant-ui/elements/composer/ComposerVoice.md +58 -0
  302. package/llms/components/assistant-ui/elements/composer/ComposerVoiceButton.md +50 -0
  303. package/llms/components/assistant-ui/elements/composer/MobileComposer.md +82 -0
  304. package/llms/components/assistant-ui/elements/composer/PromptLibrary.md +99 -0
  305. package/llms/components/assistant-ui/elements/composer/Suggestions.md +62 -0
  306. package/llms/components/assistant-ui/elements/context/ContextBreakdown.md +58 -0
  307. package/llms/components/assistant-ui/elements/context/ContextDisplay.md +37 -0
  308. package/llms/components/assistant-ui/elements/context/ContextDisplayBar.md +28 -0
  309. package/llms/components/assistant-ui/elements/context/ContextDisplayContent.md +31 -0
  310. package/llms/components/assistant-ui/elements/context/ContextDisplayRing.md +28 -0
  311. package/llms/components/assistant-ui/elements/context/ContextDisplayRoot.md +54 -0
  312. package/llms/components/assistant-ui/elements/context/ContextDisplayText.md +28 -0
  313. package/llms/components/assistant-ui/elements/context/ContextDisplayTrigger.md +51 -0
  314. package/llms/components/assistant-ui/elements/context/ContextDisplayValue.md +58 -0
  315. package/llms/components/assistant-ui/elements/context/MemoryChips.md +57 -0
  316. package/llms/components/assistant-ui/elements/conversations/BackgroundInbox.md +57 -0
  317. package/llms/components/assistant-ui/elements/conversations/CanvasSplit.md +68 -0
  318. package/llms/components/assistant-ui/elements/conversations/ChatPanel.md +82 -0
  319. package/llms/components/assistant-ui/elements/conversations/CheckpointHistory.md +57 -0
  320. package/llms/components/assistant-ui/elements/conversations/ConversationMap.md +59 -0
  321. package/llms/components/assistant-ui/elements/conversations/ConversationSearch.md +83 -0
  322. package/llms/components/assistant-ui/elements/conversations/DaySeparator.md +44 -0
  323. package/llms/components/assistant-ui/elements/conversations/DraftRestore.md +48 -0
  324. package/llms/components/assistant-ui/elements/conversations/EditMessage.md +97 -0
  325. package/llms/components/assistant-ui/elements/conversations/LauncherBubble.md +79 -0
  326. package/llms/components/assistant-ui/elements/conversations/MessageActions.md +68 -0
  327. package/llms/components/assistant-ui/elements/conversations/MessageAttachments.md +57 -0
  328. package/llms/components/assistant-ui/elements/conversations/MessageBranches.md +76 -0
  329. package/llms/components/assistant-ui/elements/conversations/MessagePair.md +57 -0
  330. package/llms/components/assistant-ui/elements/conversations/MessageQueue.md +54 -0
  331. package/llms/components/assistant-ui/elements/conversations/MessageTiming.md +78 -0
  332. package/llms/components/assistant-ui/elements/conversations/QuoteReply.md +83 -0
  333. package/llms/components/assistant-ui/elements/conversations/RegenerateMenu.md +117 -0
  334. package/llms/components/assistant-ui/elements/conversations/ScrollAnchor.md +56 -0
  335. package/llms/components/assistant-ui/elements/conversations/SharedConversation.md +81 -0
  336. package/llms/components/assistant-ui/elements/conversations/ThreadList.md +121 -0
  337. package/llms/components/assistant-ui/elements/conversations/ThreadSearch.md +131 -0
  338. package/llms/components/assistant-ui/elements/data-visualization/ActivityGraph.md +51 -0
  339. package/llms/components/assistant-ui/elements/data-visualization/ArtifactCard.md +50 -0
  340. package/llms/components/assistant-ui/elements/data-visualization/Chart.md +58 -0
  341. package/llms/components/assistant-ui/elements/data-visualization/ComparisonCard.md +58 -0
  342. package/llms/components/assistant-ui/elements/data-visualization/CostMeter.md +49 -0
  343. package/llms/components/assistant-ui/elements/data-visualization/DataTable.md +240 -0
  344. package/llms/components/assistant-ui/elements/data-visualization/Diagram.md +77 -0
  345. package/llms/components/assistant-ui/elements/data-visualization/DotMatrix.md +188 -0
  346. package/llms/components/assistant-ui/elements/data-visualization/FlowGraph.md +61 -0
  347. package/llms/components/assistant-ui/elements/data-visualization/GenerativeUi.md +110 -0
  348. package/llms/components/assistant-ui/elements/data-visualization/GenerativeUiTheme.md +67 -0
  349. package/llms/components/assistant-ui/elements/data-visualization/GeoMap.md +91 -0
  350. package/llms/components/assistant-ui/elements/data-visualization/HeatGraph.md +57 -0
  351. package/llms/components/assistant-ui/elements/data-visualization/MapAnswer.md +58 -0
  352. package/llms/components/assistant-ui/elements/data-visualization/MermaidDiagram.md +66 -0
  353. package/llms/components/assistant-ui/elements/data-visualization/NumberRoll.md +88 -0
  354. package/llms/components/assistant-ui/elements/data-visualization/NumberRollDigit.md +28 -0
  355. package/llms/components/assistant-ui/elements/data-visualization/NumberRollPart.md +28 -0
  356. package/llms/components/assistant-ui/elements/data-visualization/NumberTicker.md +87 -0
  357. package/llms/components/assistant-ui/elements/data-visualization/RecommendationCard.md +86 -0
  358. package/llms/components/assistant-ui/elements/data-visualization/ScoreBreakdown.md +72 -0
  359. package/llms/components/assistant-ui/elements/data-visualization/ShareMeter.md +50 -0
  360. package/llms/components/assistant-ui/elements/data-visualization/SpecSheet.md +69 -0
  361. package/llms/components/assistant-ui/elements/data-visualization/Timeline.md +72 -0
  362. package/llms/components/assistant-ui/elements/data-visualization/TraceWaterfall.md +88 -0
  363. package/llms/components/assistant-ui/elements/media-voice/AudioPlayer.md +50 -0
  364. package/llms/components/assistant-ui/elements/media-voice/File.md +122 -0
  365. package/llms/components/assistant-ui/elements/media-voice/FileTree.md +59 -0
  366. package/llms/components/assistant-ui/elements/media-voice/Image.md +201 -0
  367. package/llms/components/assistant-ui/elements/media-voice/ImageGallery.md +64 -0
  368. package/llms/components/assistant-ui/elements/media-voice/ImageGeneration.md +50 -0
  369. package/llms/components/assistant-ui/elements/media-voice/ReadAloud.md +89 -0
  370. package/llms/components/assistant-ui/elements/media-voice/SpeakerIdentity.md +60 -0
  371. package/llms/components/assistant-ui/elements/media-voice/VideoPlayer.md +42 -0
  372. package/llms/components/assistant-ui/elements/media-voice/VoiceConversation.md +78 -0
  373. package/llms/components/assistant-ui/elements/media-voice/VoiceOrb.md +110 -0
  374. package/llms/components/assistant-ui/elements/models/ModelPicker.md +79 -0
  375. package/llms/components/assistant-ui/elements/models/ModelSelector.md +48 -0
  376. package/llms/components/assistant-ui/elements/models/ModelSelectorContent.md +45 -0
  377. package/llms/components/assistant-ui/elements/models/ModelSelectorEffort.md +31 -0
  378. package/llms/components/assistant-ui/elements/models/ModelSelectorEmpty.md +30 -0
  379. package/llms/components/assistant-ui/elements/models/ModelSelectorFocusAnchor.md +31 -0
  380. package/llms/components/assistant-ui/elements/models/ModelSelectorGroup.md +40 -0
  381. package/llms/components/assistant-ui/elements/models/ModelSelectorItem.md +38 -0
  382. package/llms/components/assistant-ui/elements/models/ModelSelectorList.md +30 -0
  383. package/llms/components/assistant-ui/elements/models/ModelSelectorRoot.md +72 -0
  384. package/llms/components/assistant-ui/elements/models/ModelSelectorSearch.md +31 -0
  385. package/llms/components/assistant-ui/elements/models/ModelSelectorSeparator.md +34 -0
  386. package/llms/components/assistant-ui/elements/models/ModelSelectorTrigger.md +66 -0
  387. package/llms/components/assistant-ui/elements/models/ModelSelectorValue.md +32 -0
  388. package/llms/components/assistant-ui/elements/models/ReasoningEffort.md +86 -0
  389. package/llms/components/assistant-ui/elements/reasoning/GenerationLoader.md +88 -0
  390. package/llms/components/assistant-ui/elements/reasoning/ReasoningContent.md +59 -0
  391. package/llms/components/assistant-ui/elements/reasoning/ReasoningFade.md +62 -0
  392. package/llms/components/assistant-ui/elements/reasoning/ReasoningPanel.md +75 -0
  393. package/llms/components/assistant-ui/elements/reasoning/ReasoningRoot.md +101 -0
  394. package/llms/components/assistant-ui/elements/reasoning/ReasoningText.md +59 -0
  395. package/llms/components/assistant-ui/elements/reasoning/ReasoningTrigger.md +59 -0
  396. package/llms/components/assistant-ui/elements/reasoning/ThinkingIndicator.md +54 -0
  397. package/llms/components/assistant-ui/elements/reasoning/TypingIndicator.md +62 -0
  398. package/llms/components/assistant-ui/elements/sources-research/Citation.md +103 -0
  399. package/llms/components/assistant-ui/elements/sources-research/ConfidenceMarker.md +94 -0
  400. package/llms/components/assistant-ui/elements/sources-research/DocumentReference.md +60 -0
  401. package/llms/components/assistant-ui/elements/sources-research/InlineCitation.md +56 -0
  402. package/llms/components/assistant-ui/elements/sources-research/LinkPreview.md +65 -0
  403. package/llms/components/assistant-ui/elements/sources-research/ResearchReport.md +72 -0
  404. package/llms/components/assistant-ui/elements/sources-research/RetrievalChunks.md +75 -0
  405. package/llms/components/assistant-ui/elements/sources-research/SourceGlyph.md +54 -0
  406. package/llms/components/assistant-ui/elements/sources-research/Sources.md +150 -0
  407. package/llms/components/assistant-ui/elements/sources-research/WebPreview.md +80 -0
  408. package/llms/components/assistant-ui/elements/sources-research/WebSearch.md +72 -0
  409. package/llms/components/assistant-ui/elements/states-settings/ConnectionState.md +58 -0
  410. package/llms/components/assistant-ui/elements/states-settings/ElicitationForm.md +101 -0
  411. package/llms/components/assistant-ui/elements/states-settings/EmptyState.md +64 -0
  412. package/llms/components/assistant-ui/elements/states-settings/EmptyStateComposer.md +88 -0
  413. package/llms/components/assistant-ui/elements/states-settings/EmptyStateGreeting.md +56 -0
  414. package/llms/components/assistant-ui/elements/states-settings/EmptyStateSuggestion.md +66 -0
  415. package/llms/components/assistant-ui/elements/states-settings/EmptyStateSuggestions.md +61 -0
  416. package/llms/components/assistant-ui/elements/states-settings/ErrorState.md +47 -0
  417. package/llms/components/assistant-ui/elements/states-settings/EveAskQuestion.md +166 -0
  418. package/llms/components/assistant-ui/elements/states-settings/FeedbackDialog.md +85 -0
  419. package/llms/components/assistant-ui/elements/states-settings/Onboarding.md +84 -0
  420. package/llms/components/assistant-ui/elements/states-settings/OptionList.md +74 -0
  421. package/llms/components/assistant-ui/elements/states-settings/OptionText.md +38 -0
  422. package/llms/components/assistant-ui/elements/states-settings/QuestionFlow.md +85 -0
  423. package/llms/components/assistant-ui/elements/states-settings/QuotaBanner.md +91 -0
  424. package/llms/components/assistant-ui/elements/states-settings/SettingsPanel.md +92 -0
  425. package/llms/components/assistant-ui/elements/text-formatting/DirectiveText.md +94 -0
  426. package/llms/components/assistant-ui/elements/text-formatting/Frac.md +28 -0
  427. package/llms/components/assistant-ui/elements/text-formatting/MarkdownText.md +66 -0
  428. package/llms/components/assistant-ui/elements/text-formatting/MathBlock.md +67 -0
  429. package/llms/components/assistant-ui/elements/text-formatting/StreamingText.md +62 -0
  430. package/llms/components/assistant-ui/elements/text-formatting/Sub.md +28 -0
  431. package/llms/components/assistant-ui/elements/text-formatting/Sup.md +28 -0
  432. package/llms/components/assistant-ui/elements/tools-approvals/ApprovalCard.md +96 -0
  433. package/llms/components/assistant-ui/elements/tools-approvals/ComputerUse.md +58 -0
  434. package/llms/components/assistant-ui/elements/tools-approvals/GuardrailNotice.md +78 -0
  435. package/llms/components/assistant-ui/elements/tools-approvals/McpServerPanel.md +73 -0
  436. package/llms/components/assistant-ui/elements/tools-approvals/PermissionGrant.md +104 -0
  437. package/llms/components/assistant-ui/elements/tools-approvals/ToolCall.md +81 -0
  438. package/llms/components/assistant-ui/elements/tools-approvals/ToolError.md +89 -0
  439. package/llms/components/assistant-ui/elements/tools-approvals/ToolGroup.md +101 -0
  440. package/llms/components/assistant-ui/elements/tools-approvals/ToolTimeline.md +87 -0
  441. package/llms/components/assistant-ui/native/agents-tasks/AgentStatus.md +87 -0
  442. package/llms/components/assistant-ui/native/agents-tasks/TaskCard.md +111 -0
  443. package/llms/components/assistant-ui/native/agents-tasks/TaskGroup.md +82 -0
  444. package/llms/components/assistant-ui/native/agents-tasks/TaskTray.md +66 -0
  445. package/llms/components/assistant-ui/native/code-diffs/SyntaxHighlighter.md +48 -0
  446. package/llms/components/assistant-ui/native/composer/AttachmentPreview.md +58 -0
  447. package/llms/components/assistant-ui/native/composer/ComposerTriggerPopover.md +42 -0
  448. package/llms/components/assistant-ui/native/composer/FollowupSuggestionsRow.md +36 -0
  449. package/llms/components/assistant-ui/native/context/ContextDisplay.md +42 -0
  450. package/llms/components/assistant-ui/native/context/ContextDisplayBar.md +52 -0
  451. package/llms/components/assistant-ui/native/context/ContextDisplayRing.md +52 -0
  452. package/llms/components/assistant-ui/native/context/ContextDisplayRoot.md +42 -0
  453. package/llms/components/assistant-ui/native/context/ContextDisplayRuntimeRoot.md +42 -0
  454. package/llms/components/assistant-ui/native/context/ContextDisplayText.md +52 -0
  455. package/llms/components/assistant-ui/native/conversations/AssistantModal.md +60 -0
  456. package/llms/components/assistant-ui/native/conversations/AssistantSidebar.md +44 -0
  457. package/llms/components/assistant-ui/native/conversations/ConversationMapAui.md +50 -0
  458. package/llms/components/assistant-ui/native/conversations/MessageTiming.md +83 -0
  459. package/llms/components/assistant-ui/native/conversations/QuoteBlock.md +34 -0
  460. package/llms/components/assistant-ui/native/conversations/SelectionToolbar.md +53 -0
  461. package/llms/components/assistant-ui/native/conversations/Thread.md +144 -0
  462. package/llms/components/assistant-ui/native/conversations/ThreadList.md +67 -0
  463. package/llms/components/assistant-ui/native/conversations/ThreadListSidebar.md +45 -0
  464. package/llms/components/assistant-ui/native/data-visualization/MermaidDiagram.md +34 -0
  465. package/llms/components/assistant-ui/native/media-voice/VoiceConnectButton.md +69 -0
  466. package/llms/components/assistant-ui/native/media-voice/VoiceControl.md +52 -0
  467. package/llms/components/assistant-ui/native/media-voice/VoiceConversation.md +64 -0
  468. package/llms/components/assistant-ui/native/media-voice/VoiceDisconnectButton.md +53 -0
  469. package/llms/components/assistant-ui/native/media-voice/VoiceMuteButton.md +59 -0
  470. package/llms/components/assistant-ui/native/media-voice/VoiceOrb.md +66 -0
  471. package/llms/components/assistant-ui/native/media-voice/VoiceStatusDot.md +58 -0
  472. package/llms/components/assistant-ui/native/models/ModelSelector.md +50 -0
  473. package/llms/components/assistant-ui/native/reasoning/Reasoning.md +87 -0
  474. package/llms/components/assistant-ui/native/sources-research/Sources.md +145 -0
  475. package/llms/components/assistant-ui/native/text-formatting/DirectiveText.md +42 -0
  476. package/llms/components/assistant-ui/native/tools-approvals/McpConfigDialog.md +54 -0
  477. package/llms/components/assistant-ui/native/tools-approvals/ToolFallbackApproval.md +352 -0
  478. package/llms/components/assistant-ui/native/tools-approvals/ToolFallbackRoot.md +84 -0
  479. package/llms/components/assistant-ui/native/tools-approvals/ToolGroup.md +63 -0
  480. package/llms/components/data-display/AnalyticsChart.md +48 -0
  481. package/llms/components/data-display/Avatar.md +254 -0
  482. package/llms/components/data-display/Badge.md +221 -0
  483. package/llms/components/data-display/BarList.md +50 -0
  484. package/llms/components/data-display/Carousel.md +465 -0
  485. package/llms/components/data-display/Chart.md +546 -0
  486. package/llms/components/data-display/DataGrid.md +51 -0
  487. package/llms/components/data-display/Item.md +502 -0
  488. package/llms/components/data-display/JsonViewer.md +38 -0
  489. package/llms/components/data-display/Kbd.md +99 -0
  490. package/llms/components/data-display/Meter.md +74 -0
  491. package/llms/components/data-display/Sparkline.md +50 -0
  492. package/llms/components/data-display/StatCard.md +65 -0
  493. package/llms/components/data-display/StatusTracker.md +51 -0
  494. package/llms/components/data-display/Table.md +254 -0
  495. package/llms/components/data-display/VirtualTable.md +57 -0
  496. package/llms/components/dates/Calendar.md +539 -0
  497. package/llms/components/dates/DatePicker.md +97 -0
  498. package/llms/components/dates/PersianCalendar.md +117 -0
  499. package/llms/components/drag-drop/DragDropPreview.md +46 -0
  500. package/llms/components/drag-drop/DragDropProvider.md +28 -0
  501. package/llms/components/feedback/Alert.md +117 -0
  502. package/llms/components/feedback/Empty.md +193 -0
  503. package/llms/components/feedback/EmptyState.md +38 -0
  504. package/llms/components/feedback/PageMessage.md +49 -0
  505. package/llms/components/feedback/Progress.md +140 -0
  506. package/llms/components/feedback/Skeleton.md +157 -0
  507. package/llms/components/feedback/Sonner.md +325 -0
  508. package/llms/components/feedback/Spinner.md +119 -0
  509. package/llms/components/feedback/Toast.md +242 -0
  510. package/llms/components/forms/AuthForm.md +70 -0
  511. package/llms/components/forms/Checkbox.md +204 -0
  512. package/llms/components/forms/ColorPicker.md +70 -0
  513. package/llms/components/forms/Combobox.md +594 -0
  514. package/llms/components/forms/EventForm.md +66 -0
  515. package/llms/components/forms/Field.md +511 -0
  516. package/llms/components/forms/FileUpload.md +55 -0
  517. package/llms/components/forms/FilterBar.md +34 -0
  518. package/llms/components/forms/ImageCrop.md +88 -0
  519. package/llms/components/forms/ImagePicker.md +63 -0
  520. package/llms/components/forms/InlineEdit.md +67 -0
  521. package/llms/components/forms/Input.md +380 -0
  522. package/llms/components/forms/InputGroup.md +628 -0
  523. package/llms/components/forms/InputOTP.md +400 -0
  524. package/llms/components/forms/Label.md +181 -0
  525. package/llms/components/forms/NativeSelect.md +128 -0
  526. package/llms/components/forms/NumberField.md +94 -0
  527. package/llms/components/forms/Questionnaire.md +279 -0
  528. package/llms/components/forms/RadioGroup.md +401 -0
  529. package/llms/components/forms/RichTextEditor.md +62 -0
  530. package/llms/components/forms/Select.md +575 -0
  531. package/llms/components/forms/SettingsSection.md +65 -0
  532. package/llms/components/forms/Slider.md +234 -0
  533. package/llms/components/forms/StarRating.md +60 -0
  534. package/llms/components/forms/Stepper.md +85 -0
  535. package/llms/components/forms/Switch.md +240 -0
  536. package/llms/components/forms/TagInput.md +47 -0
  537. package/llms/components/forms/Textarea.md +219 -0
  538. package/llms/components/layout/Accordion.md +249 -0
  539. package/llms/components/layout/AppShell.md +63 -0
  540. package/llms/components/layout/AspectRatio.md +68 -0
  541. package/llms/components/layout/BillingUsage.md +51 -0
  542. package/llms/components/layout/Card.md +391 -0
  543. package/llms/components/layout/Collapsible.md +231 -0
  544. package/llms/components/layout/DashboardLayout.md +78 -0
  545. package/llms/components/layout/PageHeader.md +49 -0
  546. package/llms/components/layout/Resizable.md +267 -0
  547. package/llms/components/layout/ScrollArea.md +170 -0
  548. package/llms/components/layout/Separator.md +104 -0
  549. package/llms/components/layout/SplitView.md +92 -0
  550. package/llms/components/messaging/Attachment.md +324 -0
  551. package/llms/components/messaging/Bubble.md +411 -0
  552. package/llms/components/messaging/Marker.md +203 -0
  553. package/llms/components/messaging/Message.md +268 -0
  554. package/llms/components/messaging/MessageScroller.md +227 -0
  555. package/llms/components/navigation/AccountMenu.md +42 -0
  556. package/llms/components/navigation/Breadcrumb.md +159 -0
  557. package/llms/components/navigation/Command.md +471 -0
  558. package/llms/components/navigation/ContextMenu.md +596 -0
  559. package/llms/components/navigation/DropdownMenu.md +602 -0
  560. package/llms/components/navigation/Menubar.md +397 -0
  561. package/llms/components/navigation/NavigationMenu.md +379 -0
  562. package/llms/components/navigation/Pagination.md +222 -0
  563. package/llms/components/navigation/Sidebar.md +330 -0
  564. package/llms/components/navigation/Tabs.md +418 -0
  565. package/llms/components/navigation/Tree.md +28 -0
  566. package/llms/components/navigation/WorkspaceSwitcher.md +48 -0
  567. package/llms/components/overlays/AlertDialog.md +365 -0
  568. package/llms/components/overlays/ConfirmationDialog.md +77 -0
  569. package/llms/components/overlays/Dialog.md +559 -0
  570. package/llms/components/overlays/Drawer.md +597 -0
  571. package/llms/components/overlays/HoverCard.md +276 -0
  572. package/llms/components/overlays/Popover.md +286 -0
  573. package/llms/components/overlays/Sheet.md +433 -0
  574. package/llms/components/overlays/Tooltip.md +318 -0
  575. package/llms/components/planning/EventCalendar.md +67 -0
  576. package/llms/components/planning/Gantt.md +66 -0
  577. package/llms/components/planning/Kanban.md +50 -0
  578. package/llms/components/planning/Roadmap.md +34 -0
  579. package/llms/components/providers/DensityProvider.md +171 -0
  580. package/llms/components/providers/DirectionProvider.md +39 -0
  581. package/llms/components/providers/PortalProvider.md +264 -0
  582. package/llms/components/providers/ScrollGuard.md +24 -0
  583. package/llms/components/providers/ThemeProvider.md +71 -0
  584. package/llms/setup.md +390 -0
  585. package/llms.txt +462 -0
  586. package/package.json +110 -5
  587. package/dist/chunk-czg9p52v.js +0 -74
@@ -0,0 +1,596 @@
1
+ # ContextMenu
2
+
3
+ Story: @alexgorbatchev/shadcn/components/navigation/ContextMenu
4
+ Source: src/components/stories/navigation/ContextMenu.stories.tsx
5
+
6
+ [Full source and local helpers](https://github.com/alexgorbatchev/shadcn/blob/main/src/components/stories/navigation/ContextMenu.stories.tsx)
7
+
8
+ ## Public imports
9
+
10
+ ```tsx
11
+ import { Button, DirectionProvider, Toggle, NativeSelect, NativeSelectOption, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from "@alexgorbatchev/shadcn";
12
+ ```
13
+
14
+ ## Supporting imports
15
+
16
+ ```tsx
17
+ import type { ComponentProps, ReactElement } from "react";
18
+ import { useState } from "react";
19
+ import { FileIcon, SaveIcon, TrashIcon } from "lucide-react";
20
+ ```
21
+
22
+ ## Default component
23
+
24
+ ```tsx
25
+ ContextMenu
26
+ ```
27
+
28
+ ## Examples
29
+
30
+ Storybook CSF excerpts. Default args and render apply unless overridden. Local helpers, fixtures, decorators, and providers may be required; these are reference excerpts, not standalone consumer modules. Interaction tests are omitted.
31
+
32
+ ### Default
33
+
34
+ ```tsx
35
+ {
36
+ render: function Render(args) {
37
+ const [action, setAction] = useState("No action");
38
+ const [checked, setChecked] = useState(false);
39
+ const [sort, setSort] = useState("name");
40
+ return (<div className="flex flex-col gap-4">
41
+ <Button onClick={() => setAction("Opened")}>Open project</Button>
42
+ <Button onClick={() => setAction("Link copied")}>Copy project link</Button>
43
+ <Button disabled>Delete project</Button>
44
+ <Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
45
+ Show details
46
+ </Toggle>
47
+ <NativeSelect aria-label="Sort projects" value={sort} onChange={(event) => setSort(event.currentTarget.value)}>
48
+ <NativeSelectOption value="name">Sort by name</NativeSelectOption>
49
+ <NativeSelectOption value="date">Sort by date</NativeSelectOption>
50
+ </NativeSelect>
51
+ <ContextMenu {...args}>
52
+ <ContextMenuTrigger className="border border-border p-panel">Right click the project</ContextMenuTrigger>
53
+ <ContextMenuContent aria-label="Project actions">
54
+ <ContextMenuGroup>
55
+ <ContextMenuLabel>Project</ContextMenuLabel>
56
+ <ContextMenuItem className={itemClassName} onClick={() => setAction("Opened")}>
57
+ Open<ContextMenuShortcut>Enter</ContextMenuShortcut>
58
+ </ContextMenuItem>
59
+ <ContextMenuItem disabled>Delete</ContextMenuItem>
60
+ </ContextMenuGroup>
61
+ <ContextMenuSeparator />
62
+ <ContextMenuCheckboxItem checked={checked} onCheckedChange={setChecked}>
63
+ Show details
64
+ </ContextMenuCheckboxItem>
65
+ <ContextMenuRadioGroup value={sort} onValueChange={setSort}>
66
+ <ContextMenuRadioItem value="name">Sort by name</ContextMenuRadioItem>
67
+ <ContextMenuRadioItem value="date">Sort by date</ContextMenuRadioItem>
68
+ </ContextMenuRadioGroup>
69
+ <ContextMenuSub>
70
+ <ContextMenuSubTrigger>Share</ContextMenuSubTrigger>
71
+ <ContextMenuSubContent>
72
+ <ContextMenuGroup>
73
+ <ContextMenuItem onClick={() => setAction("Link copied")}>Copy link</ContextMenuItem>
74
+ </ContextMenuGroup>
75
+ </ContextMenuSubContent>
76
+ </ContextMenuSub>
77
+ </ContextMenuContent>
78
+ </ContextMenu>
79
+ <output aria-label="Project action">{action}</output>
80
+ <output aria-label="Details enabled">{String(checked)}</output>
81
+ <output aria-label="Sort order">{sort}</output>
82
+ </div>);
83
+ }
84
+ }
85
+ ```
86
+
87
+ ### Compact
88
+
89
+ ```tsx
90
+ {
91
+ render: function Render(args) {
92
+ const [action, setAction] = useState("No action");
93
+ const [checked, setChecked] = useState(false);
94
+ const [sort, setSort] = useState("name");
95
+ return (<div className="flex flex-col gap-4">
96
+ <Button onClick={() => setAction("Opened")}>Open project</Button>
97
+ <Button onClick={() => setAction("Link copied")}>Copy project link</Button>
98
+ <Button disabled>Delete project</Button>
99
+ <Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
100
+ Show details
101
+ </Toggle>
102
+ <NativeSelect aria-label="Sort projects" value={sort} onChange={(event) => setSort(event.currentTarget.value)}>
103
+ <NativeSelectOption value="name">Sort by name</NativeSelectOption>
104
+ <NativeSelectOption value="date">Sort by date</NativeSelectOption>
105
+ </NativeSelect>
106
+ <ContextMenu {...args}>
107
+ <ContextMenuTrigger className="border border-border p-panel">Right click the project</ContextMenuTrigger>
108
+ <ContextMenuContent aria-label="Project actions">
109
+ <ContextMenuGroup>
110
+ <ContextMenuLabel>Project</ContextMenuLabel>
111
+ <ContextMenuItem className={itemClassName} onClick={() => setAction("Opened")}>
112
+ Open<ContextMenuShortcut>Enter</ContextMenuShortcut>
113
+ </ContextMenuItem>
114
+ <ContextMenuItem disabled>Delete</ContextMenuItem>
115
+ </ContextMenuGroup>
116
+ <ContextMenuSeparator />
117
+ <ContextMenuCheckboxItem checked={checked} onCheckedChange={setChecked}>
118
+ Show details
119
+ </ContextMenuCheckboxItem>
120
+ <ContextMenuRadioGroup value={sort} onValueChange={setSort}>
121
+ <ContextMenuRadioItem value="name">Sort by name</ContextMenuRadioItem>
122
+ <ContextMenuRadioItem value="date">Sort by date</ContextMenuRadioItem>
123
+ </ContextMenuRadioGroup>
124
+ <ContextMenuSub>
125
+ <ContextMenuSubTrigger>Share</ContextMenuSubTrigger>
126
+ <ContextMenuSubContent>
127
+ <ContextMenuGroup>
128
+ <ContextMenuItem onClick={() => setAction("Link copied")}>Copy link</ContextMenuItem>
129
+ </ContextMenuGroup>
130
+ </ContextMenuSubContent>
131
+ </ContextMenuSub>
132
+ </ContextMenuContent>
133
+ </ContextMenu>
134
+ <output aria-label="Project action">{action}</output>
135
+ <output aria-label="Details enabled">{String(checked)}</output>
136
+ <output aria-label="Sort order">{sort}</output>
137
+ </div>);
138
+ },
139
+ globals: { density: "compact" }
140
+ }
141
+ ```
142
+
143
+ ### Disabled
144
+
145
+ ```tsx
146
+ {
147
+ render: function Render(args) {
148
+ const [action, setAction] = useState("No action");
149
+ const [checked, setChecked] = useState(false);
150
+ const [sort, setSort] = useState("name");
151
+ return (<div className="flex flex-col gap-4">
152
+ <Button onClick={() => setAction("Opened")}>Open project</Button>
153
+ <Button onClick={() => setAction("Link copied")}>Copy project link</Button>
154
+ <Button disabled>Delete project</Button>
155
+ <Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
156
+ Show details
157
+ </Toggle>
158
+ <NativeSelect aria-label="Sort projects" value={sort} onChange={(event) => setSort(event.currentTarget.value)}>
159
+ <NativeSelectOption value="name">Sort by name</NativeSelectOption>
160
+ <NativeSelectOption value="date">Sort by date</NativeSelectOption>
161
+ </NativeSelect>
162
+ <ContextMenu {...args}>
163
+ <ContextMenuTrigger className="border border-border p-panel">Right click the project</ContextMenuTrigger>
164
+ <ContextMenuContent aria-label="Project actions">
165
+ <ContextMenuGroup>
166
+ <ContextMenuLabel>Project</ContextMenuLabel>
167
+ <ContextMenuItem className={itemClassName} onClick={() => setAction("Opened")}>
168
+ Open<ContextMenuShortcut>Enter</ContextMenuShortcut>
169
+ </ContextMenuItem>
170
+ <ContextMenuItem disabled>Delete</ContextMenuItem>
171
+ </ContextMenuGroup>
172
+ <ContextMenuSeparator />
173
+ <ContextMenuCheckboxItem checked={checked} onCheckedChange={setChecked}>
174
+ Show details
175
+ </ContextMenuCheckboxItem>
176
+ <ContextMenuRadioGroup value={sort} onValueChange={setSort}>
177
+ <ContextMenuRadioItem value="name">Sort by name</ContextMenuRadioItem>
178
+ <ContextMenuRadioItem value="date">Sort by date</ContextMenuRadioItem>
179
+ </ContextMenuRadioGroup>
180
+ <ContextMenuSub>
181
+ <ContextMenuSubTrigger>Share</ContextMenuSubTrigger>
182
+ <ContextMenuSubContent>
183
+ <ContextMenuGroup>
184
+ <ContextMenuItem onClick={() => setAction("Link copied")}>Copy link</ContextMenuItem>
185
+ </ContextMenuGroup>
186
+ </ContextMenuSubContent>
187
+ </ContextMenuSub>
188
+ </ContextMenuContent>
189
+ </ContextMenu>
190
+ <output aria-label="Project action">{action}</output>
191
+ <output aria-label="Details enabled">{String(checked)}</output>
192
+ <output aria-label="Sort order">{sort}</output>
193
+ </div>);
194
+ },
195
+ args: { disabled: true }
196
+ }
197
+ ```
198
+
199
+ ### NativePartCallbacks
200
+
201
+ ```tsx
202
+ {
203
+ args: {
204
+ triggerClassName: fn(() => "p-panel"),
205
+ contentClassName: fn(() => "min-w-64"),
206
+ labelClassName: fn(() => "py-2"),
207
+ itemClassName: fn(() => "py-2"),
208
+ checkboxClassName: fn(() => "py-2"),
209
+ radioClassName: fn(() => "py-2"),
210
+ subTriggerClassName: fn(() => "py-2"),
211
+ separatorClassName: fn(() => "my-2"),
212
+ },
213
+ render: (args) => {
214
+ const [checked, setChecked] = useState(false);
215
+ const [sort, setSort] = useState("name");
216
+ const [action, setAction] = useState("No action");
217
+ return (<div className="flex flex-col gap-4">
218
+ <Button onClick={() => setAction("Opened")}>Open project</Button>
219
+ <Button onClick={() => setAction("Link copied")}>Copy project link</Button>
220
+ <Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
221
+ Show details
222
+ </Toggle>
223
+ <NativeSelect aria-label="Sort projects" value={sort} onChange={(event) => setSort(event.currentTarget.value)}>
224
+ <NativeSelectOption value="name">Sort by name</NativeSelectOption>
225
+ <NativeSelectOption value="date">Sort by date</NativeSelectOption>
226
+ </NativeSelect>
227
+ <ContextMenu>
228
+ <ContextMenuTrigger className={args.triggerClassName}>Right click for callbacks</ContextMenuTrigger>
229
+ <ContextMenuContent aria-label="Callback actions" className={args.contentClassName}>
230
+ <ContextMenuGroup>
231
+ <ContextMenuLabel className={args.labelClassName}>Project</ContextMenuLabel>
232
+ <ContextMenuItem className={args.itemClassName} onClick={() => setAction("Opened")}>
233
+ Open
234
+ </ContextMenuItem>
235
+ <ContextMenuCheckboxItem checked={checked} onCheckedChange={setChecked} className={args.checkboxClassName}>
236
+ Show details
237
+ </ContextMenuCheckboxItem>
238
+ </ContextMenuGroup>
239
+ <ContextMenuSeparator className={args.separatorClassName}/>
240
+ <ContextMenuRadioGroup value={sort} onValueChange={setSort}>
241
+ <ContextMenuRadioItem value="name" className={args.radioClassName}>
242
+ Sort by name
243
+ </ContextMenuRadioItem>
244
+ <ContextMenuRadioItem value="date" className={args.radioClassName}>
245
+ Sort by date
246
+ </ContextMenuRadioItem>
247
+ </ContextMenuRadioGroup>
248
+ <ContextMenuSub>
249
+ <ContextMenuSubTrigger className={args.subTriggerClassName}>Share</ContextMenuSubTrigger>
250
+ <ContextMenuSubContent aria-label="Sharing actions" className={args.contentClassName}>
251
+ <ContextMenuGroup>
252
+ <ContextMenuItem onClick={() => setAction("Link copied")}>Copy link</ContextMenuItem>
253
+ </ContextMenuGroup>
254
+ </ContextMenuSubContent>
255
+ </ContextMenuSub>
256
+ </ContextMenuContent>
257
+ </ContextMenu>
258
+ <output aria-label="Project action">{action}</output>
259
+ </div>);
260
+ }
261
+ }
262
+ ```
263
+
264
+ ### RightToLeft
265
+
266
+ ```tsx
267
+ {
268
+ render: function Render(args) {
269
+ const [action, setAction] = useState("No action");
270
+ const [checked, setChecked] = useState(false);
271
+ const [sort, setSort] = useState("name");
272
+ return (<div className="flex flex-col gap-4">
273
+ <Button onClick={() => setAction("Opened")}>Open project</Button>
274
+ <Button onClick={() => setAction("Link copied")}>Copy project link</Button>
275
+ <Button disabled>Delete project</Button>
276
+ <Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
277
+ Show details
278
+ </Toggle>
279
+ <NativeSelect aria-label="Sort projects" value={sort} onChange={(event) => setSort(event.currentTarget.value)}>
280
+ <NativeSelectOption value="name">Sort by name</NativeSelectOption>
281
+ <NativeSelectOption value="date">Sort by date</NativeSelectOption>
282
+ </NativeSelect>
283
+ <ContextMenu {...args}>
284
+ <ContextMenuTrigger className="border border-border p-panel">Right click the project</ContextMenuTrigger>
285
+ <ContextMenuContent aria-label="Project actions">
286
+ <ContextMenuGroup>
287
+ <ContextMenuLabel>Project</ContextMenuLabel>
288
+ <ContextMenuItem className={itemClassName} onClick={() => setAction("Opened")}>
289
+ Open<ContextMenuShortcut>Enter</ContextMenuShortcut>
290
+ </ContextMenuItem>
291
+ <ContextMenuItem disabled>Delete</ContextMenuItem>
292
+ </ContextMenuGroup>
293
+ <ContextMenuSeparator />
294
+ <ContextMenuCheckboxItem checked={checked} onCheckedChange={setChecked}>
295
+ Show details
296
+ </ContextMenuCheckboxItem>
297
+ <ContextMenuRadioGroup value={sort} onValueChange={setSort}>
298
+ <ContextMenuRadioItem value="name">Sort by name</ContextMenuRadioItem>
299
+ <ContextMenuRadioItem value="date">Sort by date</ContextMenuRadioItem>
300
+ </ContextMenuRadioGroup>
301
+ <ContextMenuSub>
302
+ <ContextMenuSubTrigger>Share</ContextMenuSubTrigger>
303
+ <ContextMenuSubContent>
304
+ <ContextMenuGroup>
305
+ <ContextMenuItem onClick={() => setAction("Link copied")}>Copy link</ContextMenuItem>
306
+ </ContextMenuGroup>
307
+ </ContextMenuSubContent>
308
+ </ContextMenuSub>
309
+ </ContextMenuContent>
310
+ </ContextMenu>
311
+ <output aria-label="Project action">{action}</output>
312
+ <output aria-label="Details enabled">{String(checked)}</output>
313
+ <output aria-label="Sort order">{sort}</output>
314
+ </div>);
315
+ },
316
+ globals: { density: "compact" },
317
+ decorators: [
318
+ (Story) => (<DirectionProvider direction="rtl">
319
+ <div dir="rtl">
320
+ <Story />
321
+ </div>
322
+ </DirectionProvider>),
323
+ ]
324
+ }
325
+ ```
326
+
327
+ ### MotionPreference
328
+
329
+ ```tsx
330
+ {
331
+ render: function Render(args) {
332
+ const [action, setAction] = useState("No action");
333
+ const [checked, setChecked] = useState(false);
334
+ const [sort, setSort] = useState("name");
335
+ return (<div className="flex flex-col gap-4">
336
+ <Button onClick={() => setAction("Opened")}>Open project</Button>
337
+ <Button onClick={() => setAction("Link copied")}>Copy project link</Button>
338
+ <Button disabled>Delete project</Button>
339
+ <Toggle aria-label="Show details" pressed={checked} onPressedChange={setChecked}>
340
+ Show details
341
+ </Toggle>
342
+ <NativeSelect aria-label="Sort projects" value={sort} onChange={(event) => setSort(event.currentTarget.value)}>
343
+ <NativeSelectOption value="name">Sort by name</NativeSelectOption>
344
+ <NativeSelectOption value="date">Sort by date</NativeSelectOption>
345
+ </NativeSelect>
346
+ <ContextMenu {...args}>
347
+ <ContextMenuTrigger className="border border-border p-panel">Right click the project</ContextMenuTrigger>
348
+ <ContextMenuContent aria-label="Project actions">
349
+ <ContextMenuGroup>
350
+ <ContextMenuLabel>Project</ContextMenuLabel>
351
+ <ContextMenuItem className={itemClassName} onClick={() => setAction("Opened")}>
352
+ Open<ContextMenuShortcut>Enter</ContextMenuShortcut>
353
+ </ContextMenuItem>
354
+ <ContextMenuItem disabled>Delete</ContextMenuItem>
355
+ </ContextMenuGroup>
356
+ <ContextMenuSeparator />
357
+ <ContextMenuCheckboxItem checked={checked} onCheckedChange={setChecked}>
358
+ Show details
359
+ </ContextMenuCheckboxItem>
360
+ <ContextMenuRadioGroup value={sort} onValueChange={setSort}>
361
+ <ContextMenuRadioItem value="name">Sort by name</ContextMenuRadioItem>
362
+ <ContextMenuRadioItem value="date">Sort by date</ContextMenuRadioItem>
363
+ </ContextMenuRadioGroup>
364
+ <ContextMenuSub>
365
+ <ContextMenuSubTrigger>Share</ContextMenuSubTrigger>
366
+ <ContextMenuSubContent>
367
+ <ContextMenuGroup>
368
+ <ContextMenuItem onClick={() => setAction("Link copied")}>Copy link</ContextMenuItem>
369
+ </ContextMenuGroup>
370
+ </ContextMenuSubContent>
371
+ </ContextMenuSub>
372
+ </ContextMenuContent>
373
+ </ContextMenu>
374
+ <output aria-label="Project action">{action}</output>
375
+ <output aria-label="Details enabled">{String(checked)}</output>
376
+ <output aria-label="Sort order">{sort}</output>
377
+ </div>);
378
+ }
379
+ }
380
+ ```
381
+
382
+ ### BottomAligned
383
+
384
+ ```tsx
385
+ {
386
+ render: function Render(args) {
387
+ const [action, setAction] = useState("No action");
388
+ return (<div className="flex flex-col items-center gap-4 p-12">
389
+ <Button onClick={() => setAction("Opened")}>Open project</Button>
390
+ <ContextMenu {...args}>
391
+ <ContextMenuTrigger className="w-64 border p-panel">Right click for bottom menu</ContextMenuTrigger>
392
+ <ContextMenuContent side="bottom" align="start" alignOffset={0} aria-label="Bottom actions">
393
+ <ContextMenuGroup>
394
+ <ContextMenuItem onClick={() => setAction("Opened")}>Open</ContextMenuItem>
395
+ </ContextMenuGroup>
396
+ </ContextMenuContent>
397
+ </ContextMenu>
398
+ <output aria-label="Bottom action">{action}</output>
399
+ </div>);
400
+ }
401
+ }
402
+ ```
403
+
404
+ ### RightToLeftBottomAligned
405
+
406
+ ```tsx
407
+ {
408
+ render: function Render(args) {
409
+ const [action, setAction] = useState("No action");
410
+ return (<div className="flex flex-col items-center gap-4 p-12">
411
+ <Button onClick={() => setAction("Opened")}>Open project</Button>
412
+ <ContextMenu {...args}>
413
+ <ContextMenuTrigger className="w-64 border p-panel">Right click for bottom menu</ContextMenuTrigger>
414
+ <ContextMenuContent side="bottom" align="start" alignOffset={0} aria-label="Bottom actions">
415
+ <ContextMenuGroup>
416
+ <ContextMenuItem onClick={() => setAction("Opened")}>Open</ContextMenuItem>
417
+ </ContextMenuGroup>
418
+ </ContextMenuContent>
419
+ </ContextMenu>
420
+ <output aria-label="Bottom action">{action}</output>
421
+ </div>);
422
+ },
423
+ decorators: RightToLeft.decorators
424
+ }
425
+ ```
426
+
427
+ ### Icons
428
+
429
+ ```tsx
430
+ {
431
+ render: function Render(args) {
432
+ const [action, setAction] = useState("No action");
433
+ return (<div className="flex flex-col gap-4">
434
+ <Button onClick={() => setAction("Created")}>New project file</Button>
435
+ <Button onClick={() => setAction("Saved")}>Save project</Button>
436
+ <ContextMenu {...args}>
437
+ <ContextMenuTrigger className="w-64 border p-panel">Right click for file actions</ContextMenuTrigger>
438
+ <ContextMenuContent aria-label="File actions">
439
+ <ContextMenuGroup>
440
+ <ContextMenuLabel>File</ContextMenuLabel>
441
+ <ContextMenuItem onClick={() => setAction("Created")}>
442
+ <FileIcon aria-hidden="true"/>
443
+ New file<ContextMenuShortcut>Ctrl+N</ContextMenuShortcut>
444
+ </ContextMenuItem>
445
+ <ContextMenuSeparator />
446
+ <ContextMenuItem onClick={() => setAction("Saved")}>
447
+ <SaveIcon aria-hidden="true"/>
448
+ Save<ContextMenuShortcut>Ctrl+S</ContextMenuShortcut>
449
+ </ContextMenuItem>
450
+ </ContextMenuGroup>
451
+ </ContextMenuContent>
452
+ </ContextMenu>
453
+ <output aria-label="File action">{action}</output>
454
+ </div>);
455
+ }
456
+ }
457
+ ```
458
+
459
+ ### RightToLeftIcons
460
+
461
+ ```tsx
462
+ {
463
+ render: function Render(args) {
464
+ const [action, setAction] = useState("No action");
465
+ return (<div className="flex flex-col gap-4">
466
+ <Button onClick={() => setAction("Created")}>New project file</Button>
467
+ <Button onClick={() => setAction("Saved")}>Save project</Button>
468
+ <ContextMenu {...args}>
469
+ <ContextMenuTrigger className="w-64 border p-panel">Right click for file actions</ContextMenuTrigger>
470
+ <ContextMenuContent aria-label="File actions">
471
+ <ContextMenuGroup>
472
+ <ContextMenuLabel>File</ContextMenuLabel>
473
+ <ContextMenuItem onClick={() => setAction("Created")}>
474
+ <FileIcon aria-hidden="true"/>
475
+ New file<ContextMenuShortcut>Ctrl+N</ContextMenuShortcut>
476
+ </ContextMenuItem>
477
+ <ContextMenuSeparator />
478
+ <ContextMenuItem onClick={() => setAction("Saved")}>
479
+ <SaveIcon aria-hidden="true"/>
480
+ Save<ContextMenuShortcut>Ctrl+S</ContextMenuShortcut>
481
+ </ContextMenuItem>
482
+ </ContextMenuGroup>
483
+ </ContextMenuContent>
484
+ </ContextMenu>
485
+ <output aria-label="File action">{action}</output>
486
+ </div>);
487
+ },
488
+ decorators: RightToLeft.decorators
489
+ }
490
+ ```
491
+
492
+ ### Destructive
493
+
494
+ ```tsx
495
+ {
496
+ render: function Render(args) {
497
+ const [isPresent, setIsPresent] = useState(true);
498
+ return (<div className="flex flex-col gap-4">
499
+ <Button variant="destructive" disabled={!isPresent} onClick={() => setIsPresent(false)}>
500
+ Discard project draft
501
+ </Button>
502
+ <ContextMenu {...args}>
503
+ <ContextMenuTrigger className="w-64 border p-panel">Right click the draft</ContextMenuTrigger>
504
+ <ContextMenuContent aria-label="Draft actions">
505
+ <ContextMenuGroup>
506
+ <ContextMenuItem variant="destructive" disabled={!isPresent} onClick={() => setIsPresent(false)}>
507
+ <TrashIcon aria-hidden="true"/>
508
+ Discard draft
509
+ </ContextMenuItem>
510
+ </ContextMenuGroup>
511
+ </ContextMenuContent>
512
+ </ContextMenu>
513
+ <output aria-label="Draft status">{isPresent ? "Draft available" : "Draft discarded"}</output>
514
+ </div>);
515
+ }
516
+ }
517
+ ```
518
+
519
+ ### RightToLeftDestructive
520
+
521
+ ```tsx
522
+ {
523
+ render: function Render(args) {
524
+ const [isPresent, setIsPresent] = useState(true);
525
+ return (<div className="flex flex-col gap-4">
526
+ <Button variant="destructive" disabled={!isPresent} onClick={() => setIsPresent(false)}>
527
+ Discard project draft
528
+ </Button>
529
+ <ContextMenu {...args}>
530
+ <ContextMenuTrigger className="w-64 border p-panel">Right click the draft</ContextMenuTrigger>
531
+ <ContextMenuContent aria-label="Draft actions">
532
+ <ContextMenuGroup>
533
+ <ContextMenuItem variant="destructive" disabled={!isPresent} onClick={() => setIsPresent(false)}>
534
+ <TrashIcon aria-hidden="true"/>
535
+ Discard draft
536
+ </ContextMenuItem>
537
+ </ContextMenuGroup>
538
+ </ContextMenuContent>
539
+ </ContextMenu>
540
+ <output aria-label="Draft status">{isPresent ? "Draft available" : "Draft discarded"}</output>
541
+ </div>);
542
+ },
543
+ decorators: RightToLeft.decorators
544
+ }
545
+ ```
546
+
547
+ ### Top
548
+
549
+ ```tsx
550
+ {
551
+ render: () => <SideMenu side="top"/>
552
+ }
553
+ ```
554
+
555
+ ### Left
556
+
557
+ ```tsx
558
+ {
559
+ render: () => <SideMenu side="left"/>
560
+ }
561
+ ```
562
+
563
+ ### Right
564
+
565
+ ```tsx
566
+ {
567
+ render: () => <SideMenu side="right"/>
568
+ }
569
+ ```
570
+
571
+ ### RightToLeftTop
572
+
573
+ ```tsx
574
+ {
575
+ render: () => <SideMenu side="top"/>,
576
+ decorators: RightToLeft.decorators
577
+ }
578
+ ```
579
+
580
+ ### RightToLeftLeft
581
+
582
+ ```tsx
583
+ {
584
+ render: () => <SideMenu side="left"/>,
585
+ decorators: RightToLeft.decorators
586
+ }
587
+ ```
588
+
589
+ ### RightToLeftRight
590
+
591
+ ```tsx
592
+ {
593
+ render: () => <SideMenu side="right"/>,
594
+ decorators: RightToLeft.decorators
595
+ }
596
+ ```