@agent-native/core 0.76.3 → 0.76.4

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 (421) hide show
  1. package/corpus/core/CHANGELOG.md +6 -0
  2. package/corpus/core/package.json +1 -1
  3. package/corpus/core/src/client/AgentPanel.tsx +3 -3
  4. package/corpus/core/src/client/AgentTaskCard.tsx +2 -1
  5. package/corpus/core/src/client/AppearancePicker.tsx +1 -1
  6. package/corpus/core/src/client/AssistantChat.tsx +3 -3
  7. package/corpus/core/src/client/CommandMenu.tsx +4 -4
  8. package/corpus/core/src/client/ErrorBoundary.tsx +1 -1
  9. package/corpus/core/src/client/MultiTabAssistantChat.tsx +11 -11
  10. package/corpus/core/src/client/NewWorkspaceAppFlow.tsx +5 -5
  11. package/corpus/core/src/client/components/ui/dropdown-menu.tsx +9 -9
  12. package/corpus/core/src/client/components/ui/sheet.tsx +1 -1
  13. package/corpus/core/src/client/composer/ComposerPlusMenu.tsx +6 -6
  14. package/corpus/core/src/client/composer/MentionPopover.tsx +4 -4
  15. package/corpus/core/src/client/composer/PastedTextChip.tsx +3 -3
  16. package/corpus/core/src/client/composer/PromptComposer.tsx +3 -3
  17. package/corpus/core/src/client/composer/TiptapComposer.tsx +16 -16
  18. package/corpus/core/src/client/guided-questions.tsx +6 -8
  19. package/corpus/core/src/client/i18n.tsx +2 -2
  20. package/corpus/core/src/client/integrations/IntegrationCard.tsx +2 -2
  21. package/corpus/core/src/client/integrations/IntegrationsPanel.tsx +4 -4
  22. package/corpus/core/src/client/notifications/NotificationsBell.tsx +3 -3
  23. package/corpus/core/src/client/onboarding/OnboardingBanner.tsx +3 -3
  24. package/corpus/core/src/client/onboarding/OnboardingPanel.tsx +17 -10
  25. package/corpus/core/src/client/org/OrgSwitcher.tsx +13 -11
  26. package/corpus/core/src/client/org/TeamPage.tsx +2 -2
  27. package/corpus/core/src/client/settings/AgentsSection.tsx +3 -3
  28. package/corpus/core/src/client/settings/AutomationsSection.tsx +3 -3
  29. package/corpus/core/src/client/settings/SecretsSection.tsx +2 -2
  30. package/corpus/core/src/client/settings/SettingsPanel.tsx +5 -7
  31. package/corpus/core/src/client/settings/SettingsSection.tsx +1 -1
  32. package/corpus/core/src/client/settings/UsageSection.tsx +3 -3
  33. package/corpus/core/src/client/settings/VoiceTranscriptionSection.tsx +3 -3
  34. package/corpus/core/src/client/sharing/ShareButton.tsx +7 -7
  35. package/corpus/core/src/client/sharing/ShareDialog.tsx +3 -3
  36. package/corpus/core/src/styles/agent-conversation.css +10 -10
  37. package/corpus/core/src/styles/blocks.css +2 -2
  38. package/corpus/core/src/styles/rich-markdown-editor.css +2 -2
  39. package/corpus/templates/analytics/app/components/layout/MobileNav.tsx +1 -1
  40. package/corpus/templates/analytics/app/components/ui/alert-dialog.tsx +1 -1
  41. package/corpus/templates/analytics/app/components/ui/alert.tsx +1 -1
  42. package/corpus/templates/analytics/app/components/ui/breadcrumb.tsx +1 -1
  43. package/corpus/templates/analytics/app/components/ui/calendar.tsx +6 -6
  44. package/corpus/templates/analytics/app/components/ui/carousel.tsx +6 -6
  45. package/corpus/templates/analytics/app/components/ui/command.tsx +2 -2
  46. package/corpus/templates/analytics/app/components/ui/context-menu.tsx +9 -9
  47. package/corpus/templates/analytics/app/components/ui/date-picker.tsx +1 -1
  48. package/corpus/templates/analytics/app/components/ui/dialog.tsx +2 -2
  49. package/corpus/templates/analytics/app/components/ui/drawer.tsx +1 -1
  50. package/corpus/templates/analytics/app/components/ui/dropdown-menu.tsx +9 -9
  51. package/corpus/templates/analytics/app/components/ui/input-otp.tsx +1 -1
  52. package/corpus/templates/analytics/app/components/ui/menubar.tsx +9 -9
  53. package/corpus/templates/analytics/app/components/ui/navigation-menu.tsx +3 -3
  54. package/corpus/templates/analytics/app/components/ui/pagination.tsx +4 -4
  55. package/corpus/templates/analytics/app/components/ui/scroll-area.tsx +1 -1
  56. package/corpus/templates/analytics/app/components/ui/select.tsx +3 -3
  57. package/corpus/templates/analytics/app/components/ui/sheet.tsx +2 -2
  58. package/corpus/templates/analytics/app/components/ui/sidebar.tsx +6 -6
  59. package/corpus/templates/analytics/app/components/ui/table.tsx +2 -2
  60. package/corpus/templates/analytics/app/components/ui/toast.tsx +3 -3
  61. package/corpus/templates/assets/app/components/layout/Layout.tsx +2 -2
  62. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +12 -12
  63. package/corpus/templates/assets/app/components/ui/alert-dialog.tsx +1 -1
  64. package/corpus/templates/assets/app/components/ui/alert.tsx +1 -1
  65. package/corpus/templates/assets/app/components/ui/breadcrumb.tsx +1 -1
  66. package/corpus/templates/assets/app/components/ui/dialog.tsx +2 -2
  67. package/corpus/templates/assets/app/components/ui/dropdown-menu.tsx +9 -9
  68. package/corpus/templates/assets/app/components/ui/pagination.tsx +4 -4
  69. package/corpus/templates/assets/app/components/ui/scroll-area.tsx +1 -1
  70. package/corpus/templates/assets/app/components/ui/select.tsx +3 -3
  71. package/corpus/templates/assets/app/components/ui/sheet.tsx +2 -2
  72. package/corpus/templates/assets/app/components/ui/table.tsx +2 -2
  73. package/corpus/templates/assets/app/routes/library.tsx +3 -3
  74. package/corpus/templates/assets/app/routes/settings.tsx +1 -1
  75. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +5 -5
  76. package/corpus/templates/brain/app/components/ui/dropdown-menu.tsx +9 -9
  77. package/corpus/templates/brain/app/components/ui/select.tsx +3 -3
  78. package/corpus/templates/brain/app/components/ui/sheet.tsx +2 -2
  79. package/corpus/templates/brain/app/components/ui/table.tsx +2 -2
  80. package/corpus/templates/calendar/app/components/calendar/GoogleConnectBanner.tsx +6 -6
  81. package/corpus/templates/calendar/app/components/calendar/GoogleSetupWizard.tsx +3 -3
  82. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +11 -9
  83. package/corpus/templates/calendar/app/components/ui/alert-dialog.tsx +1 -1
  84. package/corpus/templates/calendar/app/components/ui/alert.tsx +1 -1
  85. package/corpus/templates/calendar/app/components/ui/breadcrumb.tsx +1 -1
  86. package/corpus/templates/calendar/app/components/ui/calendar.tsx +5 -5
  87. package/corpus/templates/calendar/app/components/ui/carousel.tsx +6 -6
  88. package/corpus/templates/calendar/app/components/ui/command.tsx +2 -2
  89. package/corpus/templates/calendar/app/components/ui/context-menu.tsx +9 -9
  90. package/corpus/templates/calendar/app/components/ui/dialog.tsx +2 -2
  91. package/corpus/templates/calendar/app/components/ui/drawer.tsx +1 -1
  92. package/corpus/templates/calendar/app/components/ui/dropdown-menu.tsx +9 -9
  93. package/corpus/templates/calendar/app/components/ui/input-otp.tsx +1 -1
  94. package/corpus/templates/calendar/app/components/ui/menubar.tsx +9 -9
  95. package/corpus/templates/calendar/app/components/ui/navigation-menu.tsx +3 -3
  96. package/corpus/templates/calendar/app/components/ui/pagination.tsx +4 -4
  97. package/corpus/templates/calendar/app/components/ui/scroll-area.tsx +1 -1
  98. package/corpus/templates/calendar/app/components/ui/select.tsx +3 -3
  99. package/corpus/templates/calendar/app/components/ui/sheet.tsx +2 -2
  100. package/corpus/templates/calendar/app/components/ui/sidebar.tsx +6 -6
  101. package/corpus/templates/calendar/app/components/ui/sonner.tsx +1 -1
  102. package/corpus/templates/calendar/app/components/ui/table.tsx +2 -2
  103. package/corpus/templates/calendar/app/components/ui/toast.tsx +3 -3
  104. package/corpus/templates/calendar/app/pages/Settings.tsx +5 -5
  105. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +9 -9
  106. package/corpus/templates/chat/app/components/ui/alert-dialog.tsx +1 -1
  107. package/corpus/templates/chat/app/components/ui/alert.tsx +1 -1
  108. package/corpus/templates/chat/app/components/ui/breadcrumb.tsx +1 -1
  109. package/corpus/templates/chat/app/components/ui/calendar.tsx +5 -5
  110. package/corpus/templates/chat/app/components/ui/carousel.tsx +6 -6
  111. package/corpus/templates/chat/app/components/ui/command.tsx +2 -2
  112. package/corpus/templates/chat/app/components/ui/context-menu.tsx +9 -9
  113. package/corpus/templates/chat/app/components/ui/dialog.tsx +2 -2
  114. package/corpus/templates/chat/app/components/ui/drawer.tsx +1 -1
  115. package/corpus/templates/chat/app/components/ui/dropdown-menu.tsx +9 -9
  116. package/corpus/templates/chat/app/components/ui/input-otp.tsx +1 -1
  117. package/corpus/templates/chat/app/components/ui/menubar.tsx +9 -9
  118. package/corpus/templates/chat/app/components/ui/navigation-menu.tsx +3 -3
  119. package/corpus/templates/chat/app/components/ui/pagination.tsx +4 -4
  120. package/corpus/templates/chat/app/components/ui/scroll-area.tsx +1 -1
  121. package/corpus/templates/chat/app/components/ui/select.tsx +3 -3
  122. package/corpus/templates/chat/app/components/ui/sheet.tsx +2 -2
  123. package/corpus/templates/chat/app/components/ui/sidebar.tsx +6 -6
  124. package/corpus/templates/chat/app/components/ui/table.tsx +2 -2
  125. package/corpus/templates/chat/app/components/ui/toast.tsx +3 -3
  126. package/corpus/templates/clips/app/components/capture-install-options.tsx +3 -3
  127. package/corpus/templates/clips/app/components/editable-recording-title.tsx +1 -1
  128. package/corpus/templates/clips/app/components/library/bulk-action-toolbar.tsx +3 -3
  129. package/corpus/templates/clips/app/components/library/folder-tree.tsx +5 -5
  130. package/corpus/templates/clips/app/components/library/library-layout.tsx +3 -3
  131. package/corpus/templates/clips/app/components/library/organization-switcher.tsx +4 -4
  132. package/corpus/templates/clips/app/components/library/recording-card.tsx +11 -11
  133. package/corpus/templates/clips/app/components/library/search-bar.tsx +4 -4
  134. package/corpus/templates/clips/app/components/library/space-card.tsx +1 -1
  135. package/corpus/templates/clips/app/components/library/tag-input.tsx +1 -1
  136. package/corpus/templates/clips/app/components/meetings/quick-ask-sidebar.tsx +2 -2
  137. package/corpus/templates/clips/app/components/recorder/camera-visualizer.tsx +2 -2
  138. package/corpus/templates/clips/app/components/recorder/microphone-visualizer.tsx +1 -1
  139. package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +4 -4
  140. package/corpus/templates/clips/app/components/recorder/storage-setup-card.tsx +1 -1
  141. package/corpus/templates/clips/app/components/sharing/share-ui.tsx +2 -2
  142. package/corpus/templates/clips/app/components/ui/alert-dialog.tsx +1 -1
  143. package/corpus/templates/clips/app/components/ui/alert.tsx +1 -1
  144. package/corpus/templates/clips/app/components/ui/breadcrumb.tsx +1 -1
  145. package/corpus/templates/clips/app/components/ui/calendar.tsx +5 -5
  146. package/corpus/templates/clips/app/components/ui/carousel.tsx +6 -6
  147. package/corpus/templates/clips/app/components/ui/command.tsx +2 -2
  148. package/corpus/templates/clips/app/components/ui/context-menu.tsx +9 -9
  149. package/corpus/templates/clips/app/components/ui/dialog.tsx +2 -2
  150. package/corpus/templates/clips/app/components/ui/drawer.tsx +1 -1
  151. package/corpus/templates/clips/app/components/ui/dropdown-menu.tsx +9 -9
  152. package/corpus/templates/clips/app/components/ui/input-otp.tsx +1 -1
  153. package/corpus/templates/clips/app/components/ui/menubar.tsx +9 -9
  154. package/corpus/templates/clips/app/components/ui/navigation-menu.tsx +3 -3
  155. package/corpus/templates/clips/app/components/ui/pagination.tsx +4 -4
  156. package/corpus/templates/clips/app/components/ui/scroll-area.tsx +1 -1
  157. package/corpus/templates/clips/app/components/ui/select.tsx +3 -3
  158. package/corpus/templates/clips/app/components/ui/sheet.tsx +2 -2
  159. package/corpus/templates/clips/app/components/ui/sidebar.tsx +6 -6
  160. package/corpus/templates/clips/app/components/ui/table.tsx +2 -2
  161. package/corpus/templates/clips/app/components/ui/toast.tsx +3 -3
  162. package/corpus/templates/clips/app/components/workspace/branding-editor.tsx +1 -1
  163. package/corpus/templates/clips/app/components/workspace/insights-hub.tsx +2 -2
  164. package/corpus/templates/clips/app/components/workspace/invite-dialog.tsx +2 -2
  165. package/corpus/templates/clips/app/components/workspace/top-creators-table.tsx +6 -6
  166. package/corpus/templates/clips/app/components/workspace/top-videos-table.tsx +2 -2
  167. package/corpus/templates/clips/app/routes/_app.dictate.tsx +4 -4
  168. package/corpus/templates/clips/app/routes/_app.meetings._index.tsx +7 -7
  169. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +1 -1
  170. package/corpus/templates/clips/app/routes/download.tsx +2 -2
  171. package/corpus/templates/clips/app/routes/invite.$token.tsx +2 -2
  172. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +3 -3
  173. package/corpus/templates/clips/app/routes/record.tsx +5 -5
  174. package/corpus/templates/clips/app/routes/share.$shareId.tsx +7 -7
  175. package/corpus/templates/content/app/components/EmptyState.tsx +1 -1
  176. package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +17 -17
  177. package/corpus/templates/content/app/components/layout/Layout.tsx +2 -2
  178. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +10 -9
  179. package/corpus/templates/content/app/components/sidebar/DocumentTreeItem.tsx +10 -6
  180. package/corpus/templates/content/app/components/sidebar/NotionButton.tsx +3 -3
  181. package/corpus/templates/content/app/components/ui/alert-dialog.tsx +1 -1
  182. package/corpus/templates/content/app/components/ui/dialog.tsx +2 -2
  183. package/corpus/templates/content/app/components/ui/dropdown-menu.tsx +9 -9
  184. package/corpus/templates/content/app/components/ui/scroll-area.tsx +1 -1
  185. package/corpus/templates/content/app/components/ui/sheet.tsx +2 -2
  186. package/corpus/templates/content/app/components/ui/table.tsx +2 -2
  187. package/corpus/templates/content/app/components/ui/toast.tsx +3 -3
  188. package/corpus/templates/design/app/components/layout/Layout.tsx +3 -3
  189. package/corpus/templates/design/app/components/layout/Sidebar.tsx +3 -3
  190. package/corpus/templates/design/app/components/ui/alert-dialog.tsx +1 -1
  191. package/corpus/templates/design/app/components/ui/alert.tsx +1 -1
  192. package/corpus/templates/design/app/components/ui/breadcrumb.tsx +1 -1
  193. package/corpus/templates/design/app/components/ui/calendar.tsx +5 -5
  194. package/corpus/templates/design/app/components/ui/carousel.tsx +6 -6
  195. package/corpus/templates/design/app/components/ui/command.tsx +2 -2
  196. package/corpus/templates/design/app/components/ui/context-menu.tsx +9 -9
  197. package/corpus/templates/design/app/components/ui/dialog.tsx +2 -2
  198. package/corpus/templates/design/app/components/ui/drawer.tsx +1 -1
  199. package/corpus/templates/design/app/components/ui/dropdown-menu.tsx +9 -9
  200. package/corpus/templates/design/app/components/ui/input-otp.tsx +1 -1
  201. package/corpus/templates/design/app/components/ui/menubar.tsx +9 -9
  202. package/corpus/templates/design/app/components/ui/navigation-menu.tsx +3 -3
  203. package/corpus/templates/design/app/components/ui/pagination.tsx +4 -4
  204. package/corpus/templates/design/app/components/ui/scroll-area.tsx +1 -1
  205. package/corpus/templates/design/app/components/ui/select.tsx +3 -3
  206. package/corpus/templates/design/app/components/ui/sheet.tsx +2 -2
  207. package/corpus/templates/design/app/components/ui/sidebar.tsx +6 -6
  208. package/corpus/templates/design/app/components/ui/table.tsx +2 -2
  209. package/corpus/templates/design/app/components/ui/toast.tsx +3 -3
  210. package/corpus/templates/design/app/pages/DesignSystems.tsx +6 -8
  211. package/corpus/templates/design/app/pages/Index.tsx +8 -8
  212. package/corpus/templates/design/app/pages/NotFound.tsx +1 -1
  213. package/corpus/templates/design/app/pages/Templates.tsx +2 -2
  214. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +3 -3
  215. package/corpus/templates/forms/app/components/ui/alert-dialog.tsx +1 -1
  216. package/corpus/templates/forms/app/components/ui/alert.tsx +1 -1
  217. package/corpus/templates/forms/app/components/ui/breadcrumb.tsx +1 -1
  218. package/corpus/templates/forms/app/components/ui/calendar.tsx +9 -6
  219. package/corpus/templates/forms/app/components/ui/carousel.tsx +6 -6
  220. package/corpus/templates/forms/app/components/ui/command.tsx +2 -2
  221. package/corpus/templates/forms/app/components/ui/context-menu.tsx +9 -9
  222. package/corpus/templates/forms/app/components/ui/dialog.tsx +2 -2
  223. package/corpus/templates/forms/app/components/ui/drawer.tsx +1 -1
  224. package/corpus/templates/forms/app/components/ui/dropdown-menu.tsx +9 -9
  225. package/corpus/templates/forms/app/components/ui/input-otp.tsx +1 -1
  226. package/corpus/templates/forms/app/components/ui/menubar.tsx +9 -9
  227. package/corpus/templates/forms/app/components/ui/navigation-menu.tsx +3 -3
  228. package/corpus/templates/forms/app/components/ui/pagination.tsx +4 -4
  229. package/corpus/templates/forms/app/components/ui/scroll-area.tsx +1 -1
  230. package/corpus/templates/forms/app/components/ui/select.tsx +3 -3
  231. package/corpus/templates/forms/app/components/ui/sheet.tsx +2 -2
  232. package/corpus/templates/forms/app/components/ui/sidebar.tsx +6 -6
  233. package/corpus/templates/forms/app/components/ui/table.tsx +2 -2
  234. package/corpus/templates/forms/app/components/ui/toast.tsx +3 -3
  235. package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +18 -18
  236. package/corpus/templates/forms/app/pages/FormsListPage.tsx +9 -9
  237. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +4 -4
  238. package/corpus/templates/macros/app/components/ui/alert-dialog.tsx +1 -1
  239. package/corpus/templates/macros/app/components/ui/alert.tsx +1 -1
  240. package/corpus/templates/macros/app/components/ui/breadcrumb.tsx +1 -1
  241. package/corpus/templates/macros/app/components/ui/command.tsx +2 -2
  242. package/corpus/templates/macros/app/components/ui/context-menu.tsx +9 -9
  243. package/corpus/templates/macros/app/components/ui/dialog.tsx +2 -2
  244. package/corpus/templates/macros/app/components/ui/drawer.tsx +1 -1
  245. package/corpus/templates/macros/app/components/ui/dropdown-menu.tsx +9 -9
  246. package/corpus/templates/macros/app/components/ui/menubar.tsx +9 -9
  247. package/corpus/templates/macros/app/components/ui/navigation-menu.tsx +3 -3
  248. package/corpus/templates/macros/app/components/ui/pagination.tsx +4 -4
  249. package/corpus/templates/macros/app/components/ui/scroll-area.tsx +1 -1
  250. package/corpus/templates/macros/app/components/ui/select.tsx +3 -3
  251. package/corpus/templates/macros/app/components/ui/sheet.tsx +2 -2
  252. package/corpus/templates/macros/app/components/ui/table.tsx +2 -2
  253. package/corpus/templates/macros/app/components/ui/toast.tsx +3 -3
  254. package/corpus/templates/macros/app/routes/_index.tsx +2 -2
  255. package/corpus/templates/macros/app/routes/analytics.tsx +1 -1
  256. package/corpus/templates/mail/app/components/GoogleConnectBanner.tsx +6 -6
  257. package/corpus/templates/mail/app/components/email/AttachmentStrip.tsx +2 -2
  258. package/corpus/templates/mail/app/components/email/EmailListItem.tsx +5 -5
  259. package/corpus/templates/mail/app/components/email/IntegrationsSidebar.tsx +5 -5
  260. package/corpus/templates/mail/app/components/email/MobileActionBar.tsx +3 -3
  261. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +10 -10
  262. package/corpus/templates/mail/app/components/layout/CommandPalette.tsx +1 -1
  263. package/corpus/templates/mail/app/components/layout/SearchBar.tsx +3 -3
  264. package/corpus/templates/mail/app/components/ui/alert-dialog.tsx +1 -1
  265. package/corpus/templates/mail/app/components/ui/alert.tsx +1 -1
  266. package/corpus/templates/mail/app/components/ui/breadcrumb.tsx +1 -1
  267. package/corpus/templates/mail/app/components/ui/calendar.tsx +4 -4
  268. package/corpus/templates/mail/app/components/ui/carousel.tsx +6 -6
  269. package/corpus/templates/mail/app/components/ui/command.tsx +2 -2
  270. package/corpus/templates/mail/app/components/ui/context-menu.tsx +9 -9
  271. package/corpus/templates/mail/app/components/ui/dialog.tsx +2 -2
  272. package/corpus/templates/mail/app/components/ui/drawer.tsx +1 -1
  273. package/corpus/templates/mail/app/components/ui/dropdown-menu.tsx +9 -9
  274. package/corpus/templates/mail/app/components/ui/input-otp.tsx +1 -1
  275. package/corpus/templates/mail/app/components/ui/menubar.tsx +9 -9
  276. package/corpus/templates/mail/app/components/ui/navigation-menu.tsx +3 -3
  277. package/corpus/templates/mail/app/components/ui/pagination.tsx +4 -4
  278. package/corpus/templates/mail/app/components/ui/scroll-area.tsx +1 -1
  279. package/corpus/templates/mail/app/components/ui/select.tsx +3 -3
  280. package/corpus/templates/mail/app/components/ui/sheet.tsx +2 -2
  281. package/corpus/templates/mail/app/components/ui/sidebar.tsx +6 -6
  282. package/corpus/templates/mail/app/components/ui/sonner.tsx +2 -2
  283. package/corpus/templates/mail/app/components/ui/table.tsx +2 -2
  284. package/corpus/templates/mail/app/components/ui/toast.tsx +3 -3
  285. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +10 -10
  286. package/corpus/templates/plan/app/components/ui/alert-dialog.tsx +1 -1
  287. package/corpus/templates/plan/app/components/ui/alert.tsx +1 -1
  288. package/corpus/templates/plan/app/components/ui/breadcrumb.tsx +1 -1
  289. package/corpus/templates/plan/app/components/ui/calendar.tsx +5 -5
  290. package/corpus/templates/plan/app/components/ui/carousel.tsx +6 -6
  291. package/corpus/templates/plan/app/components/ui/command.tsx +2 -2
  292. package/corpus/templates/plan/app/components/ui/context-menu.tsx +9 -9
  293. package/corpus/templates/plan/app/components/ui/dialog.tsx +2 -2
  294. package/corpus/templates/plan/app/components/ui/drawer.tsx +1 -1
  295. package/corpus/templates/plan/app/components/ui/dropdown-menu.tsx +9 -9
  296. package/corpus/templates/plan/app/components/ui/input-otp.tsx +1 -1
  297. package/corpus/templates/plan/app/components/ui/menubar.tsx +9 -9
  298. package/corpus/templates/plan/app/components/ui/navigation-menu.tsx +3 -3
  299. package/corpus/templates/plan/app/components/ui/pagination.tsx +4 -4
  300. package/corpus/templates/plan/app/components/ui/scroll-area.tsx +1 -1
  301. package/corpus/templates/plan/app/components/ui/select.tsx +3 -3
  302. package/corpus/templates/plan/app/components/ui/sheet.tsx +2 -2
  303. package/corpus/templates/plan/app/components/ui/sidebar.tsx +6 -6
  304. package/corpus/templates/plan/app/components/ui/table.tsx +2 -2
  305. package/corpus/templates/plan/app/components/ui/toast.tsx +3 -3
  306. package/corpus/templates/slides/app/components/layout/Layout.tsx +1 -1
  307. package/corpus/templates/slides/app/components/ui/alert-dialog.tsx +1 -1
  308. package/corpus/templates/slides/app/components/ui/alert.tsx +1 -1
  309. package/corpus/templates/slides/app/components/ui/breadcrumb.tsx +1 -1
  310. package/corpus/templates/slides/app/components/ui/calendar.tsx +5 -5
  311. package/corpus/templates/slides/app/components/ui/carousel.tsx +6 -6
  312. package/corpus/templates/slides/app/components/ui/command.tsx +2 -2
  313. package/corpus/templates/slides/app/components/ui/context-menu.tsx +9 -9
  314. package/corpus/templates/slides/app/components/ui/dialog.tsx +2 -2
  315. package/corpus/templates/slides/app/components/ui/drawer.tsx +1 -1
  316. package/corpus/templates/slides/app/components/ui/dropdown-menu.tsx +9 -9
  317. package/corpus/templates/slides/app/components/ui/input-otp.tsx +1 -1
  318. package/corpus/templates/slides/app/components/ui/menubar.tsx +9 -9
  319. package/corpus/templates/slides/app/components/ui/navigation-menu.tsx +3 -3
  320. package/corpus/templates/slides/app/components/ui/pagination.tsx +4 -4
  321. package/corpus/templates/slides/app/components/ui/scroll-area.tsx +1 -1
  322. package/corpus/templates/slides/app/components/ui/select.tsx +3 -3
  323. package/corpus/templates/slides/app/components/ui/sheet.tsx +2 -2
  324. package/corpus/templates/slides/app/components/ui/sidebar.tsx +6 -6
  325. package/corpus/templates/slides/app/components/ui/table.tsx +2 -2
  326. package/corpus/templates/slides/app/components/ui/toast.tsx +3 -3
  327. package/corpus/templates/videos/app/components/ui/alert-dialog.tsx +1 -1
  328. package/corpus/templates/videos/app/components/ui/alert.tsx +1 -1
  329. package/corpus/templates/videos/app/components/ui/breadcrumb.tsx +1 -1
  330. package/corpus/templates/videos/app/components/ui/calendar.tsx +5 -5
  331. package/corpus/templates/videos/app/components/ui/carousel.tsx +6 -6
  332. package/corpus/templates/videos/app/components/ui/command.tsx +2 -2
  333. package/corpus/templates/videos/app/components/ui/context-menu.tsx +9 -9
  334. package/corpus/templates/videos/app/components/ui/dialog.tsx +2 -2
  335. package/corpus/templates/videos/app/components/ui/drawer.tsx +1 -1
  336. package/corpus/templates/videos/app/components/ui/dropdown-menu.tsx +9 -9
  337. package/corpus/templates/videos/app/components/ui/input-otp.tsx +1 -1
  338. package/corpus/templates/videos/app/components/ui/menubar.tsx +9 -9
  339. package/corpus/templates/videos/app/components/ui/navigation-menu.tsx +3 -3
  340. package/corpus/templates/videos/app/components/ui/pagination.tsx +4 -4
  341. package/corpus/templates/videos/app/components/ui/scroll-area.tsx +1 -1
  342. package/corpus/templates/videos/app/components/ui/select.tsx +3 -3
  343. package/corpus/templates/videos/app/components/ui/sheet.tsx +2 -2
  344. package/corpus/templates/videos/app/components/ui/sidebar.tsx +6 -6
  345. package/corpus/templates/videos/app/components/ui/table.tsx +2 -2
  346. package/corpus/templates/videos/app/components/ui/toast.tsx +3 -3
  347. package/dist/client/AgentPanel.js +3 -3
  348. package/dist/client/AgentPanel.js.map +1 -1
  349. package/dist/client/AgentTaskCard.d.ts.map +1 -1
  350. package/dist/client/AgentTaskCard.js +1 -1
  351. package/dist/client/AgentTaskCard.js.map +1 -1
  352. package/dist/client/AppearancePicker.js +1 -1
  353. package/dist/client/AppearancePicker.js.map +1 -1
  354. package/dist/client/AssistantChat.js +3 -3
  355. package/dist/client/AssistantChat.js.map +1 -1
  356. package/dist/client/CommandMenu.js +4 -4
  357. package/dist/client/CommandMenu.js.map +1 -1
  358. package/dist/client/ErrorBoundary.js +1 -1
  359. package/dist/client/ErrorBoundary.js.map +1 -1
  360. package/dist/client/MultiTabAssistantChat.js +9 -9
  361. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  362. package/dist/client/NewWorkspaceAppFlow.js +5 -5
  363. package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
  364. package/dist/client/components/ui/dropdown-menu.js +6 -6
  365. package/dist/client/components/ui/dropdown-menu.js.map +1 -1
  366. package/dist/client/components/ui/sheet.js +1 -1
  367. package/dist/client/components/ui/sheet.js.map +1 -1
  368. package/dist/client/composer/ComposerPlusMenu.js +5 -5
  369. package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
  370. package/dist/client/composer/MentionPopover.js +4 -4
  371. package/dist/client/composer/MentionPopover.js.map +1 -1
  372. package/dist/client/composer/PastedTextChip.js +2 -2
  373. package/dist/client/composer/PastedTextChip.js.map +1 -1
  374. package/dist/client/composer/PromptComposer.js +3 -3
  375. package/dist/client/composer/PromptComposer.js.map +1 -1
  376. package/dist/client/composer/TiptapComposer.js +12 -12
  377. package/dist/client/composer/TiptapComposer.js.map +1 -1
  378. package/dist/client/guided-questions.d.ts.map +1 -1
  379. package/dist/client/guided-questions.js +5 -5
  380. package/dist/client/guided-questions.js.map +1 -1
  381. package/dist/client/i18n.js +2 -2
  382. package/dist/client/i18n.js.map +1 -1
  383. package/dist/client/integrations/IntegrationCard.js +1 -1
  384. package/dist/client/integrations/IntegrationCard.js.map +1 -1
  385. package/dist/client/integrations/IntegrationsPanel.js +4 -4
  386. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  387. package/dist/client/notifications/NotificationsBell.js +3 -3
  388. package/dist/client/notifications/NotificationsBell.js.map +1 -1
  389. package/dist/client/onboarding/OnboardingBanner.js +3 -3
  390. package/dist/client/onboarding/OnboardingBanner.js.map +1 -1
  391. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
  392. package/dist/client/onboarding/OnboardingPanel.js +15 -10
  393. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  394. package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
  395. package/dist/client/org/OrgSwitcher.js +7 -7
  396. package/dist/client/org/OrgSwitcher.js.map +1 -1
  397. package/dist/client/org/TeamPage.js +2 -2
  398. package/dist/client/org/TeamPage.js.map +1 -1
  399. package/dist/client/settings/AgentsSection.js +3 -3
  400. package/dist/client/settings/AgentsSection.js.map +1 -1
  401. package/dist/client/settings/AutomationsSection.js +2 -2
  402. package/dist/client/settings/AutomationsSection.js.map +1 -1
  403. package/dist/client/settings/SecretsSection.js +2 -2
  404. package/dist/client/settings/SecretsSection.js.map +1 -1
  405. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  406. package/dist/client/settings/SettingsPanel.js +4 -4
  407. package/dist/client/settings/SettingsPanel.js.map +1 -1
  408. package/dist/client/settings/SettingsSection.js +1 -1
  409. package/dist/client/settings/SettingsSection.js.map +1 -1
  410. package/dist/client/settings/UsageSection.js +2 -2
  411. package/dist/client/settings/UsageSection.js.map +1 -1
  412. package/dist/client/settings/VoiceTranscriptionSection.js +3 -3
  413. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  414. package/dist/client/sharing/ShareButton.js +6 -6
  415. package/dist/client/sharing/ShareButton.js.map +1 -1
  416. package/dist/client/sharing/ShareDialog.js +3 -3
  417. package/dist/client/sharing/ShareDialog.js.map +1 -1
  418. package/dist/styles/agent-conversation.css +10 -10
  419. package/dist/styles/blocks.css +2 -2
  420. package/dist/styles/rich-markdown-editor.css +2 -2
  421. package/package.json +1 -1
@@ -1,5 +1,11 @@
1
1
  # @agent-native/core
2
2
 
3
+ ## 0.76.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 6067f27: Fix right-to-left (`ar-SA`) layout in shared framework chrome. Physical directional CSS in the agent panel, command menu, language picker, shadcn `ui/*` primitives, settings/composer/org/sharing/onboarding panels, and the agent-conversation/blocks/rich-markdown styles is converted to logical utilities (`ms`/`me`, `ps`/`pe`, `start`/`end`, `text-start`/`text-end`, `border-s`/`border-e`), and directional icons are mirrored with `rtl:-scale-x-100`. No change to left-to-right rendering (logical utilities are identical to physical in LTR).
8
+
3
9
  ## 0.76.3
4
10
 
5
11
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.76.3",
3
+ "version": "0.76.4",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22"
@@ -1038,7 +1038,7 @@ function AgentPanelInner({
1038
1038
  type="button"
1039
1039
  tabIndex={-1}
1040
1040
  aria-hidden="true"
1041
- className="pointer-events-none absolute right-0 top-full h-px w-px opacity-0"
1041
+ className="pointer-events-none absolute end-0 top-full h-px w-px opacity-0"
1042
1042
  />
1043
1043
  }
1044
1044
  />
@@ -1344,7 +1344,7 @@ function AgentPanelInner({
1344
1344
  : "text-muted-foreground hover:bg-accent hover:text-foreground",
1345
1345
  )}
1346
1346
  >
1347
- <span className="truncate pr-1">{tab.label}</span>
1347
+ <span className="truncate pe-1">{tab.label}</span>
1348
1348
  {tab.status === "running" && (
1349
1349
  <span className="h-1.5 w-1.5 shrink-0 rounded-full bg-muted-foreground/50 animate-pulse" />
1350
1350
  )}
@@ -1458,7 +1458,7 @@ function AgentPanelInner({
1458
1458
  : "text-muted-foreground hover:bg-accent hover:text-foreground",
1459
1459
  )}
1460
1460
  >
1461
- <span className="truncate pr-1">
1461
+ <span className="truncate pe-1">
1462
1462
  {tab.subAgentName || tab.label}
1463
1463
  </span>
1464
1464
  {tab.status === "running" && (
@@ -185,7 +185,7 @@ export function AgentTaskCard({
185
185
  <button
186
186
  type="button"
187
187
  aria-expanded={expanded}
188
- className="flex w-full items-center gap-2 px-3 py-2 text-left transition-colors hover:bg-muted/45"
188
+ className="flex w-full items-center gap-2 px-3 py-2 text-start transition-colors hover:bg-muted/45"
189
189
  onClick={() => setExpanded(!expanded)}
190
190
  >
191
191
  <span className="inline-flex h-5 shrink-0 items-center gap-1 rounded-md border border-border/60 bg-background/70 px-1.5 text-[10px] font-medium text-muted-foreground">
@@ -212,6 +212,7 @@ export function AgentTaskCard({
212
212
  className={cn(
213
213
  "h-3 w-3 shrink-0 text-muted-foreground/40 transition-transform duration-150",
214
214
  expanded && "rotate-90",
215
+ "rtl:-scale-x-100",
215
216
  )}
216
217
  />
217
218
  </button>
@@ -59,7 +59,7 @@ export function AppearancePicker({
59
59
  style={{ background: preset.swatch }}
60
60
  />
61
61
  {active && (
62
- <span className="pointer-events-none absolute -right-1 -top-1 flex h-4 w-4 items-center justify-center rounded-full border border-border bg-background">
62
+ <span className="pointer-events-none absolute -end-1 -top-1 flex h-4 w-4 items-center justify-center rounded-full border border-border bg-background">
63
63
  <IconCheck
64
64
  className="h-3 w-3 text-foreground"
65
65
  stroke={3}
@@ -392,8 +392,8 @@ function ComposerAttachmentPreviewCard({
392
392
  className={cn(
393
393
  "absolute flex h-6 w-6 items-center justify-center rounded-full border border-border/60 bg-background/95 text-muted-foreground shadow-sm transition hover:text-foreground",
394
394
  isImage
395
- ? "right-1.5 top-1.5 opacity-100 md:opacity-0 md:group-hover:opacity-100"
396
- : "right-1.5 top-1.5",
395
+ ? "end-1.5 top-1.5 opacity-100 md:opacity-0 md:group-hover:opacity-100"
396
+ : "end-1.5 top-1.5",
397
397
  )}
398
398
  aria-label={`Remove ${attachment.name}`}
399
399
  >
@@ -3133,7 +3133,7 @@ const AssistantChatInner = forwardRef<
3133
3133
  content: [{ type: "text", text: suggestion }],
3134
3134
  });
3135
3135
  }}
3136
- className="w-full rounded-lg border border-border px-3 py-2 text-left text-[13px] text-muted-foreground hover:bg-accent hover:text-foreground"
3136
+ className="w-full rounded-lg border border-border px-3 py-2 text-start text-[13px] text-muted-foreground hover:bg-accent hover:text-foreground"
3137
3137
  >
3138
3138
  {suggestion}
3139
3139
  </button>
@@ -179,7 +179,7 @@ function CommandShortcut({ children, className }: CommandShortcutProps) {
179
179
  return (
180
180
  <span
181
181
  className={cn(
182
- "ml-auto text-xs tracking-widest text-muted-foreground",
182
+ "ms-auto text-xs tracking-widest text-muted-foreground",
183
183
  className,
184
184
  )}
185
185
  >
@@ -514,7 +514,7 @@ export function CommandMenu({
514
514
  >
515
515
  {/* Search input */}
516
516
  <div className="flex items-center border-b px-3">
517
- <IconSearch className="mr-2 h-4 w-4 shrink-0 opacity-50" />
517
+ <IconSearch className="me-2 h-4 w-4 shrink-0 opacity-50" />
518
518
  <input
519
519
  ref={inputRef}
520
520
  value={search}
@@ -554,7 +554,7 @@ export function CommandMenu({
554
554
  <span>{changelogLabel}</span>
555
555
  {changelogUnseen && (
556
556
  <span
557
- className="ml-auto h-2 w-2 rounded-full bg-primary"
557
+ className="ms-auto h-2 w-2 rounded-full bg-primary"
558
558
  aria-label="New updates available"
559
559
  />
560
560
  )}
@@ -600,7 +600,7 @@ export function CommandMenu({
600
600
  )}
601
601
  </span>
602
602
  {search.trim() && (
603
- <span className="ml-auto text-xs text-muted-foreground">
603
+ <span className="ms-auto text-xs text-muted-foreground">
604
604
 
605
605
  </span>
606
606
  )}
@@ -132,7 +132,7 @@ function ErrorScreen({ error }: { error: unknown }) {
132
132
  Reload
133
133
  </button>
134
134
  {stack && (
135
- <pre className="mt-6 w-full text-left text-xs overflow-auto p-4 bg-muted rounded">
135
+ <pre className="mt-6 w-full text-start text-xs overflow-auto p-4 bg-muted rounded">
136
136
  <code>{stack}</code>
137
137
  </pre>
138
138
  )}
@@ -196,7 +196,7 @@ function ChatSkeleton({
196
196
  {header ?? (
197
197
  <div className="flex items-center px-1 py-1 border-b border-border shrink-0 gap-0.5">
198
198
  <div className="h-[22px] w-20 rounded-md bg-muted animate-pulse" />
199
- <div className="ml-auto flex gap-0.5">
199
+ <div className="ms-auto flex gap-0.5">
200
200
  <div className="h-[22px] w-[22px] rounded-md bg-muted animate-pulse" />
201
201
  <div className="h-[22px] w-[22px] rounded-md bg-muted animate-pulse" />
202
202
  </div>
@@ -290,7 +290,7 @@ function ScopeBadge({
290
290
  <span className="min-w-0 truncate">{heading}</span>
291
291
  {otherCount > 0 && (
292
292
  <span
293
- className="ml-0.5 shrink-0 rounded-full bg-muted px-1.5 py-px text-[10px] leading-none text-muted-foreground"
293
+ className="ms-0.5 shrink-0 rounded-full bg-muted px-1.5 py-px text-[10px] leading-none text-muted-foreground"
294
294
  aria-label={`${otherCount} other chats for ${objectLabel}`}
295
295
  >
296
296
  +{otherCount}
@@ -373,7 +373,7 @@ function PreviousScopedChatsHint({
373
373
  key={thread.id}
374
374
  type="button"
375
375
  onClick={() => onSelectThread(thread.id)}
376
- className="flex items-baseline justify-between gap-2 rounded-md border border-border px-2.5 py-1.5 text-left hover:bg-accent cursor-pointer"
376
+ className="flex items-baseline justify-between gap-2 rounded-md border border-border px-2.5 py-1.5 text-start hover:bg-accent cursor-pointer"
377
377
  >
378
378
  <span className="truncate text-[12px] text-foreground">
379
379
  {thread.title || thread.preview || "Chat"}
@@ -443,7 +443,7 @@ function renderThreadRow(
443
443
  onClose();
444
444
  }}
445
445
  className={cn(
446
- "w-full px-3 py-2 text-left hover:bg-accent/50 cursor-pointer",
446
+ "w-full px-3 py-2 text-start hover:bg-accent/50 cursor-pointer",
447
447
  isActive && "bg-accent/30",
448
448
  )}
449
449
  >
@@ -568,7 +568,7 @@ function HistoryPopover({
568
568
  return (
569
569
  <Popover open onOpenChange={(open) => !open && onClose()}>
570
570
  <PopoverAnchor asChild>
571
- <span aria-hidden className="absolute right-2 top-0 h-px w-px" />
571
+ <span aria-hidden className="absolute end-2 top-0 h-px w-px" />
572
572
  </PopoverAnchor>
573
573
  <PopoverContent
574
574
  align="end"
@@ -682,7 +682,7 @@ function HelpPopover({ onClose }: { onClose: () => void }) {
682
682
  return (
683
683
  <>
684
684
  <div className="fixed inset-0 z-40" onClick={onClose} />
685
- <div className="absolute right-2 top-0 z-50 w-72 rounded-lg border border-border bg-popover shadow-lg">
685
+ <div className="absolute end-2 top-0 z-50 w-72 rounded-lg border border-border bg-popover shadow-lg">
686
686
  <div className="flex items-center justify-between px-3 py-2 border-b border-border">
687
687
  <span className="text-xs font-medium text-foreground">
688
688
  Available Commands
@@ -2548,9 +2548,9 @@ export function MultiTabAssistantChat({
2548
2548
  <button
2549
2549
  type="button"
2550
2550
  onClick={() => switchThread(tab.id)}
2551
- className="flex items-center gap-1 px-2.5 py-1.5 min-w-0 flex-1 text-left"
2551
+ className="flex items-center gap-1 px-2.5 py-1.5 min-w-0 flex-1 text-start"
2552
2552
  >
2553
- <span className="truncate pr-1">{tab.label}</span>
2553
+ <span className="truncate pe-1">{tab.label}</span>
2554
2554
  {tab.status === "running" && (
2555
2555
  <span className="w-1.5 h-1.5 rounded-full bg-muted-foreground/50 shrink-0 animate-pulse" />
2556
2556
  )}
@@ -2583,7 +2583,7 @@ export function MultiTabAssistantChat({
2583
2583
  })}
2584
2584
  </div>
2585
2585
  <TooltipProvider delayDuration={200}>
2586
- <div className="flex items-center gap-px shrink-0 ml-auto">
2586
+ <div className="flex items-center gap-px shrink-0 ms-auto">
2587
2587
  <Tooltip>
2588
2588
  <TooltipTrigger asChild>
2589
2589
  <button
@@ -2646,9 +2646,9 @@ export function MultiTabAssistantChat({
2646
2646
  <button
2647
2647
  type="button"
2648
2648
  onClick={() => switchThread(tab.id)}
2649
- className="flex items-center gap-1 px-2 py-1 min-w-0 flex-1 text-left"
2649
+ className="flex items-center gap-1 px-2 py-1 min-w-0 flex-1 text-start"
2650
2650
  >
2651
- <span className="truncate pr-1">
2651
+ <span className="truncate pe-1">
2652
2652
  {tab.subAgentName || tab.label}
2653
2653
  </span>
2654
2654
  {tab.status === "running" && (
@@ -344,7 +344,7 @@ export function NewWorkspaceAppFlow({
344
344
  href={branchUrl}
345
345
  target="_blank"
346
346
  rel="noreferrer"
347
- className="ml-2 inline-flex items-center gap-1 font-medium text-foreground underline"
347
+ className="ms-2 inline-flex items-center gap-1 font-medium text-foreground underline"
348
348
  >
349
349
  Open branch <IconArrowUpRight className="h-3 w-3" />
350
350
  </a>
@@ -394,7 +394,7 @@ export function NewWorkspaceAppFlow({
394
394
  type="button"
395
395
  aria-pressed={selected}
396
396
  onClick={() => toggleSecret(secret.id)}
397
- className="flex w-full cursor-pointer items-start gap-3 rounded-md px-3 py-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/30"
397
+ className="flex w-full cursor-pointer items-start gap-3 rounded-md px-3 py-2 text-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/30"
398
398
  >
399
399
  <span
400
400
  className={`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded border transition ${
@@ -421,7 +421,7 @@ export function NewWorkspaceAppFlow({
421
421
  <IconChevronDown className="h-3 w-3 transition-transform group-open/details:rotate-180" />
422
422
  Details
423
423
  </summary>
424
- <div className="mt-1.5 space-y-1 pb-0.5 pl-4">
424
+ <div className="mt-1.5 space-y-1 pb-0.5 ps-4">
425
425
  <div className="truncate">
426
426
  Provider: {secret.provider || "Not specified"}
427
427
  </div>
@@ -470,7 +470,7 @@ export function NewWorkspaceAppFlow({
470
470
  type="button"
471
471
  aria-pressed={selected}
472
472
  onClick={() => toggleResource(resource.id)}
473
- className="flex w-full cursor-pointer items-start gap-3 rounded-md px-3 py-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/30"
473
+ className="flex w-full cursor-pointer items-start gap-3 rounded-md px-3 py-2 text-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/30"
474
474
  >
475
475
  <span
476
476
  className={`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded border transition ${
@@ -498,7 +498,7 @@ export function NewWorkspaceAppFlow({
498
498
  <IconChevronDown className="h-3 w-3 transition-transform group-open/details:rotate-180" />
499
499
  Details
500
500
  </summary>
501
- <div className="mt-1.5 space-y-1 pb-0.5 pl-4">
501
+ <div className="mt-1.5 space-y-1 pb-0.5 ps-4">
502
502
  <div className="truncate">
503
503
  Scope:{" "}
504
504
  {resource.scope === "all"
@@ -21,13 +21,13 @@ const DropdownMenuSubTrigger = React.forwardRef<
21
21
  ref={ref}
22
22
  className={cn(
23
23
  "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
24
- inset && "pl-8",
24
+ inset && "ps-8",
25
25
  className,
26
26
  )}
27
27
  {...props}
28
28
  >
29
29
  {children}
30
- <IconChevronRight className="ml-auto h-4 w-4" />
30
+ <IconChevronRight className="ms-auto h-4 w-4 rtl:-scale-x-100" />
31
31
  </DropdownMenuPrimitive.SubTrigger>
32
32
  ));
33
33
  DropdownMenuSubTrigger.displayName =
@@ -77,7 +77,7 @@ const DropdownMenuItem = React.forwardRef<
77
77
  ref={ref}
78
78
  className={cn(
79
79
  "relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
80
- inset && "pl-8",
80
+ inset && "ps-8",
81
81
  className,
82
82
  )}
83
83
  {...props}
@@ -92,13 +92,13 @@ const DropdownMenuCheckboxItem = React.forwardRef<
92
92
  <DropdownMenuPrimitive.CheckboxItem
93
93
  ref={ref}
94
94
  className={cn(
95
- "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
95
+ "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
96
96
  className,
97
97
  )}
98
98
  checked={checked}
99
99
  {...props}
100
100
  >
101
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
101
+ <span className="absolute start-2 flex h-3.5 w-3.5 items-center justify-center">
102
102
  <DropdownMenuPrimitive.ItemIndicator>
103
103
  <IconCheck className="h-4 w-4" />
104
104
  </DropdownMenuPrimitive.ItemIndicator>
@@ -116,12 +116,12 @@ const DropdownMenuRadioItem = React.forwardRef<
116
116
  <DropdownMenuPrimitive.RadioItem
117
117
  ref={ref}
118
118
  className={cn(
119
- "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
119
+ "relative flex cursor-pointer select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
120
120
  className,
121
121
  )}
122
122
  {...props}
123
123
  >
124
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
124
+ <span className="absolute start-2 flex h-3.5 w-3.5 items-center justify-center">
125
125
  <DropdownMenuPrimitive.ItemIndicator>
126
126
  <IconCircle className="h-2 w-2 fill-current" />
127
127
  </DropdownMenuPrimitive.ItemIndicator>
@@ -141,7 +141,7 @@ const DropdownMenuLabel = React.forwardRef<
141
141
  ref={ref}
142
142
  className={cn(
143
143
  "px-2 py-1.5 text-xs font-semibold text-muted-foreground",
144
- inset && "pl-8",
144
+ inset && "ps-8",
145
145
  className,
146
146
  )}
147
147
  {...props}
@@ -166,7 +166,7 @@ const DropdownMenuShortcut = ({
166
166
  ...props
167
167
  }: React.HTMLAttributes<HTMLSpanElement>) => (
168
168
  <span
169
- className={cn("ml-auto text-xs tracking-widest opacity-60", className)}
169
+ className={cn("ms-auto text-xs tracking-widest opacity-60", className)}
170
170
  {...props}
171
171
  />
172
172
  );
@@ -44,7 +44,7 @@ const SheetContent = React.forwardRef<
44
44
  {...props}
45
45
  >
46
46
  {children}
47
- <SheetPrimitive.Close className="absolute right-3 top-3 flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring">
47
+ <SheetPrimitive.Close className="absolute end-3 top-3 flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring">
48
48
  <IconX className="h-4 w-4" />
49
49
  <span className="sr-only">Close</span>
50
50
  </SheetPrimitive.Close>
@@ -565,7 +565,7 @@ function ComposerPlusMenuFull({
565
565
  }}
566
566
  className="flex items-center gap-1 text-[11px] text-muted-foreground hover:text-foreground mb-1.5"
567
567
  >
568
- <IconArrowLeft className="h-3 w-3" />
568
+ <IconArrowLeft className="h-3 w-3 rtl:-scale-x-100" />
569
569
  Back
570
570
  </button>
571
571
  );
@@ -656,7 +656,7 @@ function ComposerPlusMenuFull({
656
656
  type="button"
657
657
  onClick={item.action}
658
658
  className={cn(
659
- "flex w-full items-center gap-2.5 px-3 py-2 text-left hover:bg-accent/50",
659
+ "flex w-full items-center gap-2.5 px-3 py-2 text-start hover:bg-accent/50",
660
660
  isSkill && skillFlyoutOpen && "bg-accent/50",
661
661
  )}
662
662
  >
@@ -670,7 +670,7 @@ function ComposerPlusMenuFull({
670
670
  </div>
671
671
  </div>
672
672
  {isSkill && (
673
- <span className="ml-auto text-muted-foreground/60">
673
+ <span className="ms-auto text-muted-foreground/60">
674
674
 
675
675
  </span>
676
676
  )}
@@ -694,7 +694,7 @@ function ComposerPlusMenuFull({
694
694
  setSkillFlyoutOpen(false);
695
695
  setOpen(false);
696
696
  }}
697
- className="flex w-full items-center gap-2.5 px-3 py-2 text-left hover:bg-accent/50"
697
+ className="flex w-full items-center gap-2.5 px-3 py-2 text-start hover:bg-accent/50"
698
698
  >
699
699
  <span className="text-muted-foreground">
700
700
  <IconBulb className="h-3.5 w-3.5" />
@@ -714,7 +714,7 @@ function ComposerPlusMenuFull({
714
714
  setSkillFlyoutOpen(false);
715
715
  skillFileInputRef.current?.click();
716
716
  }}
717
- className="flex w-full items-center gap-2.5 px-3 py-2 text-left hover:bg-accent/50"
717
+ className="flex w-full items-center gap-2.5 px-3 py-2 text-start hover:bg-accent/50"
718
718
  >
719
719
  <span className="text-muted-foreground">
720
720
  <IconUpload className="h-3.5 w-3.5" />
@@ -743,7 +743,7 @@ function ComposerPlusMenuFull({
743
743
  onClick={() => setView("menu")}
744
744
  className="mb-1.5 flex items-center gap-1 text-[11px] text-muted-foreground hover:text-foreground"
745
745
  >
746
- <IconArrowLeft className="h-3 w-3" />
746
+ <IconArrowLeft className="h-3 w-3 rtl:-scale-x-100" />
747
747
  Back
748
748
  </button>
749
749
  <label className="mb-1 block text-[11px] font-semibold text-foreground">
@@ -299,7 +299,7 @@ export const MentionPopover = forwardRef<
299
299
  <button
300
300
  key={item.id}
301
301
  data-mention-index={idx}
302
- className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm ${
302
+ className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-start text-sm ${
303
303
  idx === selectedIndex
304
304
  ? "bg-accent text-accent-foreground"
305
305
  : "hover:bg-accent/50"
@@ -312,7 +312,7 @@ export const MentionPopover = forwardRef<
312
312
  {item.label}
313
313
  </span>
314
314
  {item.description && (
315
- <span className="ml-auto shrink-0 truncate max-w-[160px] text-xs text-muted-foreground">
315
+ <span className="ms-auto shrink-0 truncate max-w-[160px] text-xs text-muted-foreground">
316
316
  {item.description}
317
317
  </span>
318
318
  )}
@@ -337,7 +337,7 @@ export const MentionPopover = forwardRef<
337
337
  <button
338
338
  key={cmd.name}
339
339
  data-mention-index={i}
340
- className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm ${
340
+ className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-start text-sm ${
341
341
  i === selectedIndex
342
342
  ? "bg-accent text-accent-foreground"
343
343
  : "hover:bg-accent/50"
@@ -374,7 +374,7 @@ export const MentionPopover = forwardRef<
374
374
  <button
375
375
  key={skill.path}
376
376
  data-mention-index={i}
377
- className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm ${
377
+ className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-start text-sm ${
378
378
  i === selectedIndex
379
379
  ? "bg-accent text-accent-foreground"
380
380
  : "hover:bg-accent/50"
@@ -74,11 +74,11 @@ export function PastedTextChip({
74
74
  <button
75
75
  type="button"
76
76
  className={cn(
77
- "group relative inline-flex items-center gap-2 rounded-md border border-border/70 bg-muted/50 text-left text-foreground hover:bg-muted/70 cursor-pointer",
77
+ "group relative inline-flex items-center gap-2 rounded-md border border-border/70 bg-muted/50 text-start text-foreground hover:bg-muted/70 cursor-pointer",
78
78
  compact
79
79
  ? "max-w-[220px] px-2 py-1.5 text-xs"
80
80
  : "max-w-[260px] px-2.5 py-2 text-xs",
81
- onRemove && !compact && "pr-7",
81
+ onRemove && !compact && "pe-7",
82
82
  )}
83
83
  aria-label="Preview pasted text"
84
84
  >
@@ -106,7 +106,7 @@ export function PastedTextChip({
106
106
  aria-label="Remove pasted text"
107
107
  className={cn(
108
108
  "flex h-5 w-5 shrink-0 cursor-pointer items-center justify-center rounded text-muted-foreground hover:text-foreground",
109
- compact ? "" : "absolute right-1.5 top-1.5",
109
+ compact ? "" : "absolute end-1.5 top-1.5",
110
110
  )}
111
111
  >
112
112
  <IconX className="h-3 w-3" />
@@ -314,7 +314,7 @@ function ImagePreviewLightbox({
314
314
  type="button"
315
315
  onClick={onClose}
316
316
  aria-label="Close preview"
317
- className="absolute right-4 top-4 flex h-8 w-8 cursor-pointer items-center justify-center rounded-full border border-white/30 bg-black/40 text-white hover:bg-black/60"
317
+ className="absolute end-4 top-4 flex h-8 w-8 cursor-pointer items-center justify-center rounded-full border border-white/30 bg-black/40 text-white hover:bg-black/60"
318
318
  >
319
319
  <IconX className="h-4 w-4" />
320
320
  </button>
@@ -371,7 +371,7 @@ function AttachmentChip({
371
371
  }
372
372
  }}
373
373
  aria-label={`Remove ${attachment.name}`}
374
- className="absolute right-1 top-1 flex h-5 w-5 cursor-pointer items-center justify-center rounded-full border border-border/60 bg-background/90 text-muted-foreground hover:text-foreground"
374
+ className="absolute end-1 top-1 flex h-5 w-5 cursor-pointer items-center justify-center rounded-full border border-border/60 bg-background/90 text-muted-foreground hover:text-foreground"
375
375
  >
376
376
  <IconX className="h-3 w-3" />
377
377
  </span>
@@ -539,7 +539,7 @@ function PromptComposerInner({
539
539
 
540
540
  return (
541
541
  <AgentComposerFrame
542
- className={cn("text-left", className)}
542
+ className={cn("text-start", className)}
543
543
  rootClassName={rootClassName}
544
544
  style={style}
545
545
  rootStyle={rootStyle}
@@ -323,7 +323,7 @@ function ComposerModeChip({
323
323
  <button
324
324
  type="button"
325
325
  onClick={onRemove}
326
- className="ml-0.5 rounded-sm text-muted-foreground hover:text-foreground cursor-pointer"
326
+ className="ms-0.5 rounded-sm text-muted-foreground hover:text-foreground cursor-pointer"
327
327
  >
328
328
  <IconX className="h-3 w-3" />
329
329
  </button>
@@ -539,7 +539,7 @@ function ModeSelector({
539
539
  onChange("build");
540
540
  setOpen(false);
541
541
  }}
542
- className="flex w-full items-center gap-3 px-3 py-2 hover:bg-accent/50 text-left"
542
+ className="flex w-full items-center gap-3 px-3 py-2 hover:bg-accent/50 text-start"
543
543
  >
544
544
  <IconPencil className="h-4 w-4 shrink-0 text-muted-foreground" />
545
545
  <div className="flex-1 min-w-0">
@@ -561,7 +561,7 @@ function ModeSelector({
561
561
  onChange("plan");
562
562
  setOpen(false);
563
563
  }}
564
- className={`flex w-full items-center gap-3 px-3 py-2 text-left ${
564
+ className={`flex w-full items-center gap-3 px-3 py-2 text-start ${
565
565
  planModeDisabled
566
566
  ? "cursor-not-allowed opacity-60"
567
567
  : "hover:bg-accent/50"
@@ -861,7 +861,7 @@ function ModelSelector({
861
861
  }
862
862
  }}
863
863
  disabled={!onConnectProvider && builderFlow.connecting}
864
- className="flex w-full items-start gap-2 px-3 py-2 text-left hover:bg-accent/50 disabled:opacity-60"
864
+ className="flex w-full items-start gap-2 px-3 py-2 text-start hover:bg-accent/50 disabled:opacity-60"
865
865
  >
866
866
  <IconPlugConnected className="h-4 w-4 shrink-0 mt-0.5 text-blue-500" />
867
867
  <span className="flex-1 min-w-0">
@@ -885,12 +885,12 @@ function ModelSelector({
885
885
  type="button"
886
886
  aria-expanded={imageExpanded}
887
887
  onClick={() => setImageExpanded((prev) => !prev)}
888
- className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-left"
888
+ className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-start"
889
889
  >
890
890
  {imageExpanded ? (
891
891
  <IconChevronDown className="h-3 w-3 shrink-0 text-muted-foreground" />
892
892
  ) : (
893
- <IconChevronRight className="h-3 w-3 shrink-0 text-muted-foreground" />
893
+ <IconChevronRight className="h-3 w-3 shrink-0 text-muted-foreground rtl:-scale-x-100" />
894
894
  )}
895
895
  <span className="text-[11px] font-medium text-muted-foreground uppercase tracking-wide shrink-0">
896
896
  {imageModel.label ?? "Image model"}
@@ -911,7 +911,7 @@ function ModelSelector({
911
911
  imageModel.onChange(option.value);
912
912
  setImageExpanded(false);
913
913
  }}
914
- className="flex w-full items-center gap-3 pl-7 pr-3 py-1.5 text-left hover:bg-accent/50"
914
+ className="flex w-full items-center gap-3 ps-7 pe-3 py-1.5 text-start hover:bg-accent/50"
915
915
  >
916
916
  <span className="flex-1 min-w-0 text-[13px] text-foreground truncate">
917
917
  {option.label}
@@ -931,7 +931,7 @@ function ModelSelector({
931
931
  onChange("auto", autoModelGroup.engine);
932
932
  setOpen(false);
933
933
  }}
934
- className="flex w-full items-center gap-3 px-3 py-1.5 text-left hover:bg-accent/50"
934
+ className="flex w-full items-center gap-3 px-3 py-1.5 text-start hover:bg-accent/50"
935
935
  >
936
936
  <span className="flex-1 min-w-0 text-[13px] text-foreground truncate">
937
937
  Auto
@@ -956,9 +956,9 @@ function ModelSelector({
956
956
  type="button"
957
957
  aria-expanded={isExpanded}
958
958
  onClick={() => toggleGroup(groupKey)}
959
- className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-left"
959
+ className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-start"
960
960
  >
961
- <ChevronIcon className="h-3 w-3 shrink-0 text-muted-foreground" />
961
+ <ChevronIcon className="h-3 w-3 shrink-0 text-muted-foreground rtl:-scale-x-100" />
962
962
  <span className="text-[11px] font-medium text-muted-foreground uppercase tracking-wide shrink-0">
963
963
  {group.label}
964
964
  </span>
@@ -971,7 +971,7 @@ function ModelSelector({
971
971
  {!group.configured && (
972
972
  <button
973
973
  type="button"
974
- className="text-[10px] text-muted-foreground/60 hover:text-foreground cursor-pointer pr-3 py-1.5"
974
+ className="text-[10px] text-muted-foreground/60 hover:text-foreground cursor-pointer pe-3 py-1.5"
975
975
  onClick={openLlmSettings}
976
976
  >
977
977
  needs API key
@@ -999,7 +999,7 @@ function ModelSelector({
999
999
  }
1000
1000
  setOpen(false);
1001
1001
  }}
1002
- className={`flex w-full items-center gap-3 pl-7 pr-3 py-1.5 text-left ${
1002
+ className={`flex w-full items-center gap-3 ps-7 pe-3 py-1.5 text-start ${
1003
1003
  group.configured
1004
1004
  ? "hover:bg-accent/50"
1005
1005
  : "opacity-40 cursor-default"
@@ -1024,12 +1024,12 @@ function ModelSelector({
1024
1024
  type="button"
1025
1025
  aria-expanded={reasoningExpanded}
1026
1026
  onClick={() => setReasoningExpanded((prev) => !prev)}
1027
- className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-left"
1027
+ className="flex flex-1 min-w-0 items-center gap-1.5 px-2 py-1.5 cursor-pointer text-start"
1028
1028
  >
1029
1029
  {reasoningExpanded ? (
1030
1030
  <IconChevronDown className="h-3 w-3 shrink-0 text-muted-foreground" />
1031
1031
  ) : (
1032
- <IconChevronRight className="h-3 w-3 shrink-0 text-muted-foreground" />
1032
+ <IconChevronRight className="h-3 w-3 shrink-0 text-muted-foreground rtl:-scale-x-100" />
1033
1033
  )}
1034
1034
  <span className="text-[11px] font-medium text-muted-foreground uppercase tracking-wide shrink-0">
1035
1035
  Reasoning
@@ -1047,7 +1047,7 @@ function ModelSelector({
1047
1047
  key={option}
1048
1048
  type="button"
1049
1049
  onClick={() => onEffortChange?.(option)}
1050
- className="flex w-full items-center gap-3 pl-7 pr-3 py-1.5 text-left hover:bg-accent/50"
1050
+ className="flex w-full items-center gap-3 ps-7 pe-3 py-1.5 text-start hover:bg-accent/50"
1051
1051
  >
1052
1052
  <span className="flex-1 min-w-0 text-[13px] text-foreground truncate">
1053
1053
  {reasoningEffortLabel(option)}
@@ -2154,7 +2154,7 @@ export function TiptapComposer({
2154
2154
  type="button"
2155
2155
  onClick={() => onRemoveContextItem?.(item.key)}
2156
2156
  aria-label={`Remove ${item.title} context`}
2157
- className="ml-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground"
2157
+ className="ms-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground"
2158
2158
  >
2159
2159
  <IconX className="h-3 w-3" />
2160
2160
  </button>