@agent-native/core 0.76.2 → 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 (429) hide show
  1. package/corpus/core/CHANGELOG.md +14 -0
  2. package/corpus/core/package.json +1 -1
  3. package/corpus/core/src/agent/durable-background.ts +8 -7
  4. package/corpus/core/src/client/AgentPanel.tsx +3 -3
  5. package/corpus/core/src/client/AgentTaskCard.tsx +2 -1
  6. package/corpus/core/src/client/AppearancePicker.tsx +1 -1
  7. package/corpus/core/src/client/AssistantChat.tsx +3 -3
  8. package/corpus/core/src/client/CommandMenu.tsx +4 -4
  9. package/corpus/core/src/client/ErrorBoundary.tsx +1 -1
  10. package/corpus/core/src/client/MultiTabAssistantChat.tsx +11 -11
  11. package/corpus/core/src/client/NewWorkspaceAppFlow.tsx +5 -5
  12. package/corpus/core/src/client/components/ui/dropdown-menu.tsx +9 -9
  13. package/corpus/core/src/client/components/ui/sheet.tsx +1 -1
  14. package/corpus/core/src/client/composer/ComposerPlusMenu.tsx +6 -6
  15. package/corpus/core/src/client/composer/MentionPopover.tsx +4 -4
  16. package/corpus/core/src/client/composer/PastedTextChip.tsx +3 -3
  17. package/corpus/core/src/client/composer/PromptComposer.tsx +3 -3
  18. package/corpus/core/src/client/composer/TiptapComposer.tsx +16 -16
  19. package/corpus/core/src/client/guided-questions.tsx +6 -8
  20. package/corpus/core/src/client/i18n.tsx +2 -2
  21. package/corpus/core/src/client/integrations/IntegrationCard.tsx +2 -2
  22. package/corpus/core/src/client/integrations/IntegrationsPanel.tsx +4 -4
  23. package/corpus/core/src/client/notifications/NotificationsBell.tsx +3 -3
  24. package/corpus/core/src/client/onboarding/OnboardingBanner.tsx +3 -3
  25. package/corpus/core/src/client/onboarding/OnboardingPanel.tsx +17 -10
  26. package/corpus/core/src/client/org/OrgSwitcher.tsx +13 -11
  27. package/corpus/core/src/client/org/TeamPage.tsx +2 -2
  28. package/corpus/core/src/client/settings/AgentsSection.tsx +3 -3
  29. package/corpus/core/src/client/settings/AutomationsSection.tsx +3 -3
  30. package/corpus/core/src/client/settings/SecretsSection.tsx +2 -2
  31. package/corpus/core/src/client/settings/SettingsPanel.tsx +5 -7
  32. package/corpus/core/src/client/settings/SettingsSection.tsx +1 -1
  33. package/corpus/core/src/client/settings/UsageSection.tsx +3 -3
  34. package/corpus/core/src/client/settings/VoiceTranscriptionSection.tsx +3 -3
  35. package/corpus/core/src/client/sharing/ShareButton.tsx +7 -7
  36. package/corpus/core/src/client/sharing/ShareDialog.tsx +3 -3
  37. package/corpus/core/src/deploy/build.ts +2 -2
  38. package/corpus/core/src/styles/agent-conversation.css +10 -10
  39. package/corpus/core/src/styles/blocks.css +2 -2
  40. package/corpus/core/src/styles/rich-markdown-editor.css +2 -2
  41. package/corpus/templates/analytics/app/components/layout/MobileNav.tsx +1 -1
  42. package/corpus/templates/analytics/app/components/ui/alert-dialog.tsx +1 -1
  43. package/corpus/templates/analytics/app/components/ui/alert.tsx +1 -1
  44. package/corpus/templates/analytics/app/components/ui/breadcrumb.tsx +1 -1
  45. package/corpus/templates/analytics/app/components/ui/calendar.tsx +6 -6
  46. package/corpus/templates/analytics/app/components/ui/carousel.tsx +6 -6
  47. package/corpus/templates/analytics/app/components/ui/command.tsx +2 -2
  48. package/corpus/templates/analytics/app/components/ui/context-menu.tsx +9 -9
  49. package/corpus/templates/analytics/app/components/ui/date-picker.tsx +1 -1
  50. package/corpus/templates/analytics/app/components/ui/dialog.tsx +2 -2
  51. package/corpus/templates/analytics/app/components/ui/drawer.tsx +1 -1
  52. package/corpus/templates/analytics/app/components/ui/dropdown-menu.tsx +9 -9
  53. package/corpus/templates/analytics/app/components/ui/input-otp.tsx +1 -1
  54. package/corpus/templates/analytics/app/components/ui/menubar.tsx +9 -9
  55. package/corpus/templates/analytics/app/components/ui/navigation-menu.tsx +3 -3
  56. package/corpus/templates/analytics/app/components/ui/pagination.tsx +4 -4
  57. package/corpus/templates/analytics/app/components/ui/scroll-area.tsx +1 -1
  58. package/corpus/templates/analytics/app/components/ui/select.tsx +3 -3
  59. package/corpus/templates/analytics/app/components/ui/sheet.tsx +2 -2
  60. package/corpus/templates/analytics/app/components/ui/sidebar.tsx +6 -6
  61. package/corpus/templates/analytics/app/components/ui/table.tsx +2 -2
  62. package/corpus/templates/analytics/app/components/ui/toast.tsx +3 -3
  63. package/corpus/templates/assets/app/components/layout/Layout.tsx +2 -2
  64. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +12 -12
  65. package/corpus/templates/assets/app/components/ui/alert-dialog.tsx +1 -1
  66. package/corpus/templates/assets/app/components/ui/alert.tsx +1 -1
  67. package/corpus/templates/assets/app/components/ui/breadcrumb.tsx +1 -1
  68. package/corpus/templates/assets/app/components/ui/dialog.tsx +2 -2
  69. package/corpus/templates/assets/app/components/ui/dropdown-menu.tsx +9 -9
  70. package/corpus/templates/assets/app/components/ui/pagination.tsx +4 -4
  71. package/corpus/templates/assets/app/components/ui/scroll-area.tsx +1 -1
  72. package/corpus/templates/assets/app/components/ui/select.tsx +3 -3
  73. package/corpus/templates/assets/app/components/ui/sheet.tsx +2 -2
  74. package/corpus/templates/assets/app/components/ui/table.tsx +2 -2
  75. package/corpus/templates/assets/app/routes/library.tsx +3 -3
  76. package/corpus/templates/assets/app/routes/settings.tsx +1 -1
  77. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +5 -5
  78. package/corpus/templates/brain/app/components/ui/dropdown-menu.tsx +9 -9
  79. package/corpus/templates/brain/app/components/ui/select.tsx +3 -3
  80. package/corpus/templates/brain/app/components/ui/sheet.tsx +2 -2
  81. package/corpus/templates/brain/app/components/ui/table.tsx +2 -2
  82. package/corpus/templates/calendar/app/components/calendar/GoogleConnectBanner.tsx +6 -6
  83. package/corpus/templates/calendar/app/components/calendar/GoogleSetupWizard.tsx +3 -3
  84. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +11 -9
  85. package/corpus/templates/calendar/app/components/ui/alert-dialog.tsx +1 -1
  86. package/corpus/templates/calendar/app/components/ui/alert.tsx +1 -1
  87. package/corpus/templates/calendar/app/components/ui/breadcrumb.tsx +1 -1
  88. package/corpus/templates/calendar/app/components/ui/calendar.tsx +5 -5
  89. package/corpus/templates/calendar/app/components/ui/carousel.tsx +6 -6
  90. package/corpus/templates/calendar/app/components/ui/command.tsx +2 -2
  91. package/corpus/templates/calendar/app/components/ui/context-menu.tsx +9 -9
  92. package/corpus/templates/calendar/app/components/ui/dialog.tsx +2 -2
  93. package/corpus/templates/calendar/app/components/ui/drawer.tsx +1 -1
  94. package/corpus/templates/calendar/app/components/ui/dropdown-menu.tsx +9 -9
  95. package/corpus/templates/calendar/app/components/ui/input-otp.tsx +1 -1
  96. package/corpus/templates/calendar/app/components/ui/menubar.tsx +9 -9
  97. package/corpus/templates/calendar/app/components/ui/navigation-menu.tsx +3 -3
  98. package/corpus/templates/calendar/app/components/ui/pagination.tsx +4 -4
  99. package/corpus/templates/calendar/app/components/ui/scroll-area.tsx +1 -1
  100. package/corpus/templates/calendar/app/components/ui/select.tsx +3 -3
  101. package/corpus/templates/calendar/app/components/ui/sheet.tsx +2 -2
  102. package/corpus/templates/calendar/app/components/ui/sidebar.tsx +6 -6
  103. package/corpus/templates/calendar/app/components/ui/sonner.tsx +1 -1
  104. package/corpus/templates/calendar/app/components/ui/table.tsx +2 -2
  105. package/corpus/templates/calendar/app/components/ui/toast.tsx +3 -3
  106. package/corpus/templates/calendar/app/pages/Settings.tsx +5 -5
  107. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +9 -9
  108. package/corpus/templates/chat/app/components/ui/alert-dialog.tsx +1 -1
  109. package/corpus/templates/chat/app/components/ui/alert.tsx +1 -1
  110. package/corpus/templates/chat/app/components/ui/breadcrumb.tsx +1 -1
  111. package/corpus/templates/chat/app/components/ui/calendar.tsx +5 -5
  112. package/corpus/templates/chat/app/components/ui/carousel.tsx +6 -6
  113. package/corpus/templates/chat/app/components/ui/command.tsx +2 -2
  114. package/corpus/templates/chat/app/components/ui/context-menu.tsx +9 -9
  115. package/corpus/templates/chat/app/components/ui/dialog.tsx +2 -2
  116. package/corpus/templates/chat/app/components/ui/drawer.tsx +1 -1
  117. package/corpus/templates/chat/app/components/ui/dropdown-menu.tsx +9 -9
  118. package/corpus/templates/chat/app/components/ui/input-otp.tsx +1 -1
  119. package/corpus/templates/chat/app/components/ui/menubar.tsx +9 -9
  120. package/corpus/templates/chat/app/components/ui/navigation-menu.tsx +3 -3
  121. package/corpus/templates/chat/app/components/ui/pagination.tsx +4 -4
  122. package/corpus/templates/chat/app/components/ui/scroll-area.tsx +1 -1
  123. package/corpus/templates/chat/app/components/ui/select.tsx +3 -3
  124. package/corpus/templates/chat/app/components/ui/sheet.tsx +2 -2
  125. package/corpus/templates/chat/app/components/ui/sidebar.tsx +6 -6
  126. package/corpus/templates/chat/app/components/ui/table.tsx +2 -2
  127. package/corpus/templates/chat/app/components/ui/toast.tsx +3 -3
  128. package/corpus/templates/clips/app/components/capture-install-options.tsx +3 -3
  129. package/corpus/templates/clips/app/components/editable-recording-title.tsx +1 -1
  130. package/corpus/templates/clips/app/components/library/bulk-action-toolbar.tsx +3 -3
  131. package/corpus/templates/clips/app/components/library/folder-tree.tsx +5 -5
  132. package/corpus/templates/clips/app/components/library/library-layout.tsx +3 -3
  133. package/corpus/templates/clips/app/components/library/organization-switcher.tsx +4 -4
  134. package/corpus/templates/clips/app/components/library/recording-card.tsx +11 -11
  135. package/corpus/templates/clips/app/components/library/search-bar.tsx +4 -4
  136. package/corpus/templates/clips/app/components/library/space-card.tsx +1 -1
  137. package/corpus/templates/clips/app/components/library/tag-input.tsx +1 -1
  138. package/corpus/templates/clips/app/components/meetings/quick-ask-sidebar.tsx +2 -2
  139. package/corpus/templates/clips/app/components/recorder/camera-visualizer.tsx +2 -2
  140. package/corpus/templates/clips/app/components/recorder/microphone-visualizer.tsx +1 -1
  141. package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +4 -4
  142. package/corpus/templates/clips/app/components/recorder/storage-setup-card.tsx +1 -1
  143. package/corpus/templates/clips/app/components/sharing/share-ui.tsx +2 -2
  144. package/corpus/templates/clips/app/components/ui/alert-dialog.tsx +1 -1
  145. package/corpus/templates/clips/app/components/ui/alert.tsx +1 -1
  146. package/corpus/templates/clips/app/components/ui/breadcrumb.tsx +1 -1
  147. package/corpus/templates/clips/app/components/ui/calendar.tsx +5 -5
  148. package/corpus/templates/clips/app/components/ui/carousel.tsx +6 -6
  149. package/corpus/templates/clips/app/components/ui/command.tsx +2 -2
  150. package/corpus/templates/clips/app/components/ui/context-menu.tsx +9 -9
  151. package/corpus/templates/clips/app/components/ui/dialog.tsx +2 -2
  152. package/corpus/templates/clips/app/components/ui/drawer.tsx +1 -1
  153. package/corpus/templates/clips/app/components/ui/dropdown-menu.tsx +9 -9
  154. package/corpus/templates/clips/app/components/ui/input-otp.tsx +1 -1
  155. package/corpus/templates/clips/app/components/ui/menubar.tsx +9 -9
  156. package/corpus/templates/clips/app/components/ui/navigation-menu.tsx +3 -3
  157. package/corpus/templates/clips/app/components/ui/pagination.tsx +4 -4
  158. package/corpus/templates/clips/app/components/ui/scroll-area.tsx +1 -1
  159. package/corpus/templates/clips/app/components/ui/select.tsx +3 -3
  160. package/corpus/templates/clips/app/components/ui/sheet.tsx +2 -2
  161. package/corpus/templates/clips/app/components/ui/sidebar.tsx +6 -6
  162. package/corpus/templates/clips/app/components/ui/table.tsx +2 -2
  163. package/corpus/templates/clips/app/components/ui/toast.tsx +3 -3
  164. package/corpus/templates/clips/app/components/workspace/branding-editor.tsx +1 -1
  165. package/corpus/templates/clips/app/components/workspace/insights-hub.tsx +2 -2
  166. package/corpus/templates/clips/app/components/workspace/invite-dialog.tsx +2 -2
  167. package/corpus/templates/clips/app/components/workspace/top-creators-table.tsx +6 -6
  168. package/corpus/templates/clips/app/components/workspace/top-videos-table.tsx +2 -2
  169. package/corpus/templates/clips/app/routes/_app.dictate.tsx +4 -4
  170. package/corpus/templates/clips/app/routes/_app.meetings._index.tsx +7 -7
  171. package/corpus/templates/clips/app/routes/_app.settings._index.tsx +1 -1
  172. package/corpus/templates/clips/app/routes/download.tsx +2 -2
  173. package/corpus/templates/clips/app/routes/invite.$token.tsx +2 -2
  174. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +3 -3
  175. package/corpus/templates/clips/app/routes/record.tsx +5 -5
  176. package/corpus/templates/clips/app/routes/share.$shareId.tsx +7 -7
  177. package/corpus/templates/content/app/components/EmptyState.tsx +1 -1
  178. package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +17 -17
  179. package/corpus/templates/content/app/components/layout/Layout.tsx +2 -2
  180. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +10 -9
  181. package/corpus/templates/content/app/components/sidebar/DocumentTreeItem.tsx +10 -6
  182. package/corpus/templates/content/app/components/sidebar/NotionButton.tsx +3 -3
  183. package/corpus/templates/content/app/components/ui/alert-dialog.tsx +1 -1
  184. package/corpus/templates/content/app/components/ui/dialog.tsx +2 -2
  185. package/corpus/templates/content/app/components/ui/dropdown-menu.tsx +9 -9
  186. package/corpus/templates/content/app/components/ui/scroll-area.tsx +1 -1
  187. package/corpus/templates/content/app/components/ui/sheet.tsx +2 -2
  188. package/corpus/templates/content/app/components/ui/table.tsx +2 -2
  189. package/corpus/templates/content/app/components/ui/toast.tsx +3 -3
  190. package/corpus/templates/design/app/components/layout/Layout.tsx +3 -3
  191. package/corpus/templates/design/app/components/layout/Sidebar.tsx +3 -3
  192. package/corpus/templates/design/app/components/ui/alert-dialog.tsx +1 -1
  193. package/corpus/templates/design/app/components/ui/alert.tsx +1 -1
  194. package/corpus/templates/design/app/components/ui/breadcrumb.tsx +1 -1
  195. package/corpus/templates/design/app/components/ui/calendar.tsx +5 -5
  196. package/corpus/templates/design/app/components/ui/carousel.tsx +6 -6
  197. package/corpus/templates/design/app/components/ui/command.tsx +2 -2
  198. package/corpus/templates/design/app/components/ui/context-menu.tsx +9 -9
  199. package/corpus/templates/design/app/components/ui/dialog.tsx +2 -2
  200. package/corpus/templates/design/app/components/ui/drawer.tsx +1 -1
  201. package/corpus/templates/design/app/components/ui/dropdown-menu.tsx +9 -9
  202. package/corpus/templates/design/app/components/ui/input-otp.tsx +1 -1
  203. package/corpus/templates/design/app/components/ui/menubar.tsx +9 -9
  204. package/corpus/templates/design/app/components/ui/navigation-menu.tsx +3 -3
  205. package/corpus/templates/design/app/components/ui/pagination.tsx +4 -4
  206. package/corpus/templates/design/app/components/ui/scroll-area.tsx +1 -1
  207. package/corpus/templates/design/app/components/ui/select.tsx +3 -3
  208. package/corpus/templates/design/app/components/ui/sheet.tsx +2 -2
  209. package/corpus/templates/design/app/components/ui/sidebar.tsx +6 -6
  210. package/corpus/templates/design/app/components/ui/table.tsx +2 -2
  211. package/corpus/templates/design/app/components/ui/toast.tsx +3 -3
  212. package/corpus/templates/design/app/pages/DesignSystems.tsx +6 -8
  213. package/corpus/templates/design/app/pages/Index.tsx +8 -8
  214. package/corpus/templates/design/app/pages/NotFound.tsx +1 -1
  215. package/corpus/templates/design/app/pages/Templates.tsx +2 -2
  216. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +3 -3
  217. package/corpus/templates/forms/app/components/ui/alert-dialog.tsx +1 -1
  218. package/corpus/templates/forms/app/components/ui/alert.tsx +1 -1
  219. package/corpus/templates/forms/app/components/ui/breadcrumb.tsx +1 -1
  220. package/corpus/templates/forms/app/components/ui/calendar.tsx +9 -6
  221. package/corpus/templates/forms/app/components/ui/carousel.tsx +6 -6
  222. package/corpus/templates/forms/app/components/ui/command.tsx +2 -2
  223. package/corpus/templates/forms/app/components/ui/context-menu.tsx +9 -9
  224. package/corpus/templates/forms/app/components/ui/dialog.tsx +2 -2
  225. package/corpus/templates/forms/app/components/ui/drawer.tsx +1 -1
  226. package/corpus/templates/forms/app/components/ui/dropdown-menu.tsx +9 -9
  227. package/corpus/templates/forms/app/components/ui/input-otp.tsx +1 -1
  228. package/corpus/templates/forms/app/components/ui/menubar.tsx +9 -9
  229. package/corpus/templates/forms/app/components/ui/navigation-menu.tsx +3 -3
  230. package/corpus/templates/forms/app/components/ui/pagination.tsx +4 -4
  231. package/corpus/templates/forms/app/components/ui/scroll-area.tsx +1 -1
  232. package/corpus/templates/forms/app/components/ui/select.tsx +3 -3
  233. package/corpus/templates/forms/app/components/ui/sheet.tsx +2 -2
  234. package/corpus/templates/forms/app/components/ui/sidebar.tsx +6 -6
  235. package/corpus/templates/forms/app/components/ui/table.tsx +2 -2
  236. package/corpus/templates/forms/app/components/ui/toast.tsx +3 -3
  237. package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +18 -18
  238. package/corpus/templates/forms/app/pages/FormsListPage.tsx +9 -9
  239. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +4 -4
  240. package/corpus/templates/macros/app/components/ui/alert-dialog.tsx +1 -1
  241. package/corpus/templates/macros/app/components/ui/alert.tsx +1 -1
  242. package/corpus/templates/macros/app/components/ui/breadcrumb.tsx +1 -1
  243. package/corpus/templates/macros/app/components/ui/command.tsx +2 -2
  244. package/corpus/templates/macros/app/components/ui/context-menu.tsx +9 -9
  245. package/corpus/templates/macros/app/components/ui/dialog.tsx +2 -2
  246. package/corpus/templates/macros/app/components/ui/drawer.tsx +1 -1
  247. package/corpus/templates/macros/app/components/ui/dropdown-menu.tsx +9 -9
  248. package/corpus/templates/macros/app/components/ui/menubar.tsx +9 -9
  249. package/corpus/templates/macros/app/components/ui/navigation-menu.tsx +3 -3
  250. package/corpus/templates/macros/app/components/ui/pagination.tsx +4 -4
  251. package/corpus/templates/macros/app/components/ui/scroll-area.tsx +1 -1
  252. package/corpus/templates/macros/app/components/ui/select.tsx +3 -3
  253. package/corpus/templates/macros/app/components/ui/sheet.tsx +2 -2
  254. package/corpus/templates/macros/app/components/ui/table.tsx +2 -2
  255. package/corpus/templates/macros/app/components/ui/toast.tsx +3 -3
  256. package/corpus/templates/macros/app/routes/_index.tsx +2 -2
  257. package/corpus/templates/macros/app/routes/analytics.tsx +1 -1
  258. package/corpus/templates/mail/app/components/GoogleConnectBanner.tsx +6 -6
  259. package/corpus/templates/mail/app/components/email/AttachmentStrip.tsx +2 -2
  260. package/corpus/templates/mail/app/components/email/EmailListItem.tsx +5 -5
  261. package/corpus/templates/mail/app/components/email/IntegrationsSidebar.tsx +5 -5
  262. package/corpus/templates/mail/app/components/email/MobileActionBar.tsx +3 -3
  263. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +10 -10
  264. package/corpus/templates/mail/app/components/layout/CommandPalette.tsx +1 -1
  265. package/corpus/templates/mail/app/components/layout/SearchBar.tsx +3 -3
  266. package/corpus/templates/mail/app/components/ui/alert-dialog.tsx +1 -1
  267. package/corpus/templates/mail/app/components/ui/alert.tsx +1 -1
  268. package/corpus/templates/mail/app/components/ui/breadcrumb.tsx +1 -1
  269. package/corpus/templates/mail/app/components/ui/calendar.tsx +4 -4
  270. package/corpus/templates/mail/app/components/ui/carousel.tsx +6 -6
  271. package/corpus/templates/mail/app/components/ui/command.tsx +2 -2
  272. package/corpus/templates/mail/app/components/ui/context-menu.tsx +9 -9
  273. package/corpus/templates/mail/app/components/ui/dialog.tsx +2 -2
  274. package/corpus/templates/mail/app/components/ui/drawer.tsx +1 -1
  275. package/corpus/templates/mail/app/components/ui/dropdown-menu.tsx +9 -9
  276. package/corpus/templates/mail/app/components/ui/input-otp.tsx +1 -1
  277. package/corpus/templates/mail/app/components/ui/menubar.tsx +9 -9
  278. package/corpus/templates/mail/app/components/ui/navigation-menu.tsx +3 -3
  279. package/corpus/templates/mail/app/components/ui/pagination.tsx +4 -4
  280. package/corpus/templates/mail/app/components/ui/scroll-area.tsx +1 -1
  281. package/corpus/templates/mail/app/components/ui/select.tsx +3 -3
  282. package/corpus/templates/mail/app/components/ui/sheet.tsx +2 -2
  283. package/corpus/templates/mail/app/components/ui/sidebar.tsx +6 -6
  284. package/corpus/templates/mail/app/components/ui/sonner.tsx +2 -2
  285. package/corpus/templates/mail/app/components/ui/table.tsx +2 -2
  286. package/corpus/templates/mail/app/components/ui/toast.tsx +3 -3
  287. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +10 -10
  288. package/corpus/templates/plan/app/components/ui/alert-dialog.tsx +1 -1
  289. package/corpus/templates/plan/app/components/ui/alert.tsx +1 -1
  290. package/corpus/templates/plan/app/components/ui/breadcrumb.tsx +1 -1
  291. package/corpus/templates/plan/app/components/ui/calendar.tsx +5 -5
  292. package/corpus/templates/plan/app/components/ui/carousel.tsx +6 -6
  293. package/corpus/templates/plan/app/components/ui/command.tsx +2 -2
  294. package/corpus/templates/plan/app/components/ui/context-menu.tsx +9 -9
  295. package/corpus/templates/plan/app/components/ui/dialog.tsx +2 -2
  296. package/corpus/templates/plan/app/components/ui/drawer.tsx +1 -1
  297. package/corpus/templates/plan/app/components/ui/dropdown-menu.tsx +9 -9
  298. package/corpus/templates/plan/app/components/ui/input-otp.tsx +1 -1
  299. package/corpus/templates/plan/app/components/ui/menubar.tsx +9 -9
  300. package/corpus/templates/plan/app/components/ui/navigation-menu.tsx +3 -3
  301. package/corpus/templates/plan/app/components/ui/pagination.tsx +4 -4
  302. package/corpus/templates/plan/app/components/ui/scroll-area.tsx +1 -1
  303. package/corpus/templates/plan/app/components/ui/select.tsx +3 -3
  304. package/corpus/templates/plan/app/components/ui/sheet.tsx +2 -2
  305. package/corpus/templates/plan/app/components/ui/sidebar.tsx +6 -6
  306. package/corpus/templates/plan/app/components/ui/table.tsx +2 -2
  307. package/corpus/templates/plan/app/components/ui/toast.tsx +3 -3
  308. package/corpus/templates/slides/app/components/layout/Layout.tsx +1 -1
  309. package/corpus/templates/slides/app/components/ui/alert-dialog.tsx +1 -1
  310. package/corpus/templates/slides/app/components/ui/alert.tsx +1 -1
  311. package/corpus/templates/slides/app/components/ui/breadcrumb.tsx +1 -1
  312. package/corpus/templates/slides/app/components/ui/calendar.tsx +5 -5
  313. package/corpus/templates/slides/app/components/ui/carousel.tsx +6 -6
  314. package/corpus/templates/slides/app/components/ui/command.tsx +2 -2
  315. package/corpus/templates/slides/app/components/ui/context-menu.tsx +9 -9
  316. package/corpus/templates/slides/app/components/ui/dialog.tsx +2 -2
  317. package/corpus/templates/slides/app/components/ui/drawer.tsx +1 -1
  318. package/corpus/templates/slides/app/components/ui/dropdown-menu.tsx +9 -9
  319. package/corpus/templates/slides/app/components/ui/input-otp.tsx +1 -1
  320. package/corpus/templates/slides/app/components/ui/menubar.tsx +9 -9
  321. package/corpus/templates/slides/app/components/ui/navigation-menu.tsx +3 -3
  322. package/corpus/templates/slides/app/components/ui/pagination.tsx +4 -4
  323. package/corpus/templates/slides/app/components/ui/scroll-area.tsx +1 -1
  324. package/corpus/templates/slides/app/components/ui/select.tsx +3 -3
  325. package/corpus/templates/slides/app/components/ui/sheet.tsx +2 -2
  326. package/corpus/templates/slides/app/components/ui/sidebar.tsx +6 -6
  327. package/corpus/templates/slides/app/components/ui/table.tsx +2 -2
  328. package/corpus/templates/slides/app/components/ui/toast.tsx +3 -3
  329. package/corpus/templates/videos/app/components/ui/alert-dialog.tsx +1 -1
  330. package/corpus/templates/videos/app/components/ui/alert.tsx +1 -1
  331. package/corpus/templates/videos/app/components/ui/breadcrumb.tsx +1 -1
  332. package/corpus/templates/videos/app/components/ui/calendar.tsx +5 -5
  333. package/corpus/templates/videos/app/components/ui/carousel.tsx +6 -6
  334. package/corpus/templates/videos/app/components/ui/command.tsx +2 -2
  335. package/corpus/templates/videos/app/components/ui/context-menu.tsx +9 -9
  336. package/corpus/templates/videos/app/components/ui/dialog.tsx +2 -2
  337. package/corpus/templates/videos/app/components/ui/drawer.tsx +1 -1
  338. package/corpus/templates/videos/app/components/ui/dropdown-menu.tsx +9 -9
  339. package/corpus/templates/videos/app/components/ui/input-otp.tsx +1 -1
  340. package/corpus/templates/videos/app/components/ui/menubar.tsx +9 -9
  341. package/corpus/templates/videos/app/components/ui/navigation-menu.tsx +3 -3
  342. package/corpus/templates/videos/app/components/ui/pagination.tsx +4 -4
  343. package/corpus/templates/videos/app/components/ui/scroll-area.tsx +1 -1
  344. package/corpus/templates/videos/app/components/ui/select.tsx +3 -3
  345. package/corpus/templates/videos/app/components/ui/sheet.tsx +2 -2
  346. package/corpus/templates/videos/app/components/ui/sidebar.tsx +6 -6
  347. package/corpus/templates/videos/app/components/ui/table.tsx +2 -2
  348. package/corpus/templates/videos/app/components/ui/toast.tsx +3 -3
  349. package/dist/agent/durable-background.d.ts +2 -2
  350. package/dist/agent/durable-background.d.ts.map +1 -1
  351. package/dist/agent/durable-background.js +8 -7
  352. package/dist/agent/durable-background.js.map +1 -1
  353. package/dist/client/AgentPanel.js +3 -3
  354. package/dist/client/AgentPanel.js.map +1 -1
  355. package/dist/client/AgentTaskCard.d.ts.map +1 -1
  356. package/dist/client/AgentTaskCard.js +1 -1
  357. package/dist/client/AgentTaskCard.js.map +1 -1
  358. package/dist/client/AppearancePicker.js +1 -1
  359. package/dist/client/AppearancePicker.js.map +1 -1
  360. package/dist/client/AssistantChat.js +3 -3
  361. package/dist/client/AssistantChat.js.map +1 -1
  362. package/dist/client/CommandMenu.js +4 -4
  363. package/dist/client/CommandMenu.js.map +1 -1
  364. package/dist/client/ErrorBoundary.js +1 -1
  365. package/dist/client/ErrorBoundary.js.map +1 -1
  366. package/dist/client/MultiTabAssistantChat.js +9 -9
  367. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  368. package/dist/client/NewWorkspaceAppFlow.js +5 -5
  369. package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
  370. package/dist/client/components/ui/dropdown-menu.js +6 -6
  371. package/dist/client/components/ui/dropdown-menu.js.map +1 -1
  372. package/dist/client/components/ui/sheet.js +1 -1
  373. package/dist/client/components/ui/sheet.js.map +1 -1
  374. package/dist/client/composer/ComposerPlusMenu.js +5 -5
  375. package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
  376. package/dist/client/composer/MentionPopover.js +4 -4
  377. package/dist/client/composer/MentionPopover.js.map +1 -1
  378. package/dist/client/composer/PastedTextChip.js +2 -2
  379. package/dist/client/composer/PastedTextChip.js.map +1 -1
  380. package/dist/client/composer/PromptComposer.js +3 -3
  381. package/dist/client/composer/PromptComposer.js.map +1 -1
  382. package/dist/client/composer/TiptapComposer.js +12 -12
  383. package/dist/client/composer/TiptapComposer.js.map +1 -1
  384. package/dist/client/guided-questions.d.ts.map +1 -1
  385. package/dist/client/guided-questions.js +5 -5
  386. package/dist/client/guided-questions.js.map +1 -1
  387. package/dist/client/i18n.js +2 -2
  388. package/dist/client/i18n.js.map +1 -1
  389. package/dist/client/integrations/IntegrationCard.js +1 -1
  390. package/dist/client/integrations/IntegrationCard.js.map +1 -1
  391. package/dist/client/integrations/IntegrationsPanel.js +4 -4
  392. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  393. package/dist/client/notifications/NotificationsBell.js +3 -3
  394. package/dist/client/notifications/NotificationsBell.js.map +1 -1
  395. package/dist/client/onboarding/OnboardingBanner.js +3 -3
  396. package/dist/client/onboarding/OnboardingBanner.js.map +1 -1
  397. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
  398. package/dist/client/onboarding/OnboardingPanel.js +15 -10
  399. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  400. package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
  401. package/dist/client/org/OrgSwitcher.js +7 -7
  402. package/dist/client/org/OrgSwitcher.js.map +1 -1
  403. package/dist/client/org/TeamPage.js +2 -2
  404. package/dist/client/org/TeamPage.js.map +1 -1
  405. package/dist/client/settings/AgentsSection.js +3 -3
  406. package/dist/client/settings/AgentsSection.js.map +1 -1
  407. package/dist/client/settings/AutomationsSection.js +2 -2
  408. package/dist/client/settings/AutomationsSection.js.map +1 -1
  409. package/dist/client/settings/SecretsSection.js +2 -2
  410. package/dist/client/settings/SecretsSection.js.map +1 -1
  411. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  412. package/dist/client/settings/SettingsPanel.js +4 -4
  413. package/dist/client/settings/SettingsPanel.js.map +1 -1
  414. package/dist/client/settings/SettingsSection.js +1 -1
  415. package/dist/client/settings/SettingsSection.js.map +1 -1
  416. package/dist/client/settings/UsageSection.js +2 -2
  417. package/dist/client/settings/UsageSection.js.map +1 -1
  418. package/dist/client/settings/VoiceTranscriptionSection.js +3 -3
  419. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  420. package/dist/client/sharing/ShareButton.js +6 -6
  421. package/dist/client/sharing/ShareButton.js.map +1 -1
  422. package/dist/client/sharing/ShareDialog.js +3 -3
  423. package/dist/client/sharing/ShareDialog.js.map +1 -1
  424. package/dist/deploy/build.js +2 -2
  425. package/dist/deploy/build.js.map +1 -1
  426. package/dist/styles/agent-conversation.css +10 -10
  427. package/dist/styles/blocks.css +2 -2
  428. package/dist/styles/rich-markdown-editor.css +2 -2
  429. package/package.json +1 -1
@@ -186,7 +186,7 @@ export function RecordingCard({
186
186
  </div>
187
187
 
188
188
  {/* Duration badge */}
189
- <div className="absolute bottom-2 right-2 rounded bg-black/80 px-1.5 py-0.5 text-[11px] font-medium text-white tabular-nums">
189
+ <div className="absolute bottom-2 end-2 rounded bg-black/80 px-1.5 py-0.5 text-[11px] font-medium text-white tabular-nums">
190
190
  {duration}
191
191
  </div>
192
192
 
@@ -194,7 +194,7 @@ export function RecordingCard({
194
194
  {(selectionMode || hovered || selected) && (
195
195
  <div
196
196
  onClick={handleCheckbox}
197
- className="absolute top-2 left-2 flex h-5 w-5 items-center justify-center rounded bg-background/90 border border-border"
197
+ className="absolute top-2 start-2 flex h-5 w-5 items-center justify-center rounded bg-background/90 border border-border"
198
198
  >
199
199
  <Checkbox
200
200
  checked={selected}
@@ -207,7 +207,7 @@ export function RecordingCard({
207
207
 
208
208
  {/* Status pill for non-ready recordings */}
209
209
  {recording.status !== "ready" && (
210
- <div className="absolute top-2 right-2 rounded-full bg-black/80 px-2 py-0.5 text-[10px] font-medium text-white uppercase tracking-wide">
210
+ <div className="absolute top-2 end-2 rounded-full bg-black/80 px-2 py-0.5 text-[10px] font-medium text-white uppercase tracking-wide">
211
211
  {waitingForStorage ? "storage" : recording.status}
212
212
  </div>
213
213
  )}
@@ -215,7 +215,7 @@ export function RecordingCard({
215
215
  {(recording.status === "failed" || waitingForStorage) && (
216
216
  <div
217
217
  className={cn(
218
- "absolute inset-x-2 bottom-2 rounded-md border bg-background/95 p-2 text-left shadow-sm backdrop-blur",
218
+ "absolute inset-x-2 bottom-2 rounded-md border bg-background/95 p-2 text-start shadow-sm backdrop-blur",
219
219
  waitingForStorage ? "border-primary/30" : "border-destructive/30",
220
220
  )}
221
221
  >
@@ -303,34 +303,34 @@ export function RecordingCard({
303
303
  onClick={(e) => e.stopPropagation()}
304
304
  >
305
305
  <DropdownMenuItem onSelect={() => onShare?.(recording)}>
306
- <IconShare className="h-4 w-4 mr-2" /> Share
306
+ <IconShare className="h-4 w-4 me-2" /> Share
307
307
  </DropdownMenuItem>
308
308
  <DropdownMenuItem onSelect={() => onMove?.(recording)}>
309
- <IconFolder className="h-4 w-4 mr-2" /> Move to folder
309
+ <IconFolder className="h-4 w-4 me-2" /> Move to folder
310
310
  </DropdownMenuItem>
311
311
  {onRename ? (
312
312
  <>
313
313
  <DropdownMenuSeparator />
314
314
  <DropdownMenuItem onSelect={() => onRename(recording)}>
315
- <IconEdit className="h-4 w-4 mr-2" /> Rename
315
+ <IconEdit className="h-4 w-4 me-2" /> Rename
316
316
  </DropdownMenuItem>
317
317
  </>
318
318
  ) : null}
319
319
  <DropdownMenuSeparator />
320
320
  {recording.archivedAt ? (
321
321
  <DropdownMenuItem onSelect={() => onArchive?.(recording)}>
322
- <IconCheck className="h-4 w-4 mr-2" /> Unarchive
322
+ <IconCheck className="h-4 w-4 me-2" /> Unarchive
323
323
  </DropdownMenuItem>
324
324
  ) : (
325
325
  <DropdownMenuItem onSelect={() => onArchive?.(recording)}>
326
- <IconArchive className="h-4 w-4 mr-2" /> Archive
326
+ <IconArchive className="h-4 w-4 me-2" /> Archive
327
327
  </DropdownMenuItem>
328
328
  )}
329
329
  <DropdownMenuItem
330
330
  onSelect={() => onTrash?.(recording)}
331
331
  className="text-destructive focus:text-destructive"
332
332
  >
333
- <IconTrash className="h-4 w-4 mr-2" /> Delete
333
+ <IconTrash className="h-4 w-4 me-2" /> Delete
334
334
  </DropdownMenuItem>
335
335
  </DropdownMenuContent>
336
336
  </DropdownMenu>
@@ -347,7 +347,7 @@ export function RecordingCard({
347
347
  {recording.ownerEmail}
348
348
  </span>
349
349
  {recording.tags.length > 0 && (
350
- <div className="ml-auto flex items-center gap-1 truncate">
350
+ <div className="ms-auto flex items-center gap-1 truncate">
351
351
  {recording.tags.slice(0, 2).map((t) => (
352
352
  <span
353
353
  key={t}
@@ -118,7 +118,7 @@ export function SearchBar({ className }: SearchBarProps) {
118
118
  <div className={cn("relative w-full", className)}>
119
119
  <PopoverTrigger asChild>
120
120
  <div className="relative">
121
- <IconSearch className="absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground" />
121
+ <IconSearch className="absolute start-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground" />
122
122
  <input
123
123
  ref={inputRef}
124
124
  value={query}
@@ -128,7 +128,7 @@ export function SearchBar({ className }: SearchBarProps) {
128
128
  }}
129
129
  onFocus={() => setOpen(true)}
130
130
  placeholder="Search recordings…"
131
- className="w-full h-8 rounded-md border border-border bg-background pl-8 pr-12 text-xs outline-none focus:ring-2 focus:ring-primary/30"
131
+ className="w-full h-8 rounded-md border border-border bg-background ps-8 pe-12 text-xs outline-none focus:ring-2 focus:ring-primary/30"
132
132
  />
133
133
  {query ? (
134
134
  <button
@@ -137,12 +137,12 @@ export function SearchBar({ className }: SearchBarProps) {
137
137
  setQuery("");
138
138
  inputRef.current?.focus();
139
139
  }}
140
- className="absolute right-1.5 top-1/2 -translate-y-1/2 rounded p-1 text-muted-foreground hover:bg-accent"
140
+ className="absolute end-1.5 top-1/2 -translate-y-1/2 rounded p-1 text-muted-foreground hover:bg-accent"
141
141
  >
142
142
  <IconX className="h-3 w-3" />
143
143
  </button>
144
144
  ) : (
145
- <span className="absolute right-1.5 top-1/2 -translate-y-1/2 inline-flex items-center gap-0.5 rounded border border-border bg-muted px-1 py-0.5 text-[10px] font-medium text-muted-foreground">
145
+ <span className="absolute end-1.5 top-1/2 -translate-y-1/2 inline-flex items-center gap-0.5 rounded border border-border bg-muted px-1 py-0.5 text-[10px] font-medium text-muted-foreground">
146
146
  {shortcutLabel("cmd+k")}
147
147
  </span>
148
148
  )}
@@ -28,7 +28,7 @@ export function SpaceCard({ space, className }: SpaceCardProps) {
28
28
  type="button"
29
29
  onClick={() => navigate(`/spaces/${space.id}`)}
30
30
  className={cn(
31
- "group flex flex-col overflow-hidden rounded-lg border border-border bg-card text-left",
31
+ "group flex flex-col overflow-hidden rounded-lg border border-border bg-card text-start",
32
32
  "hover:border-primary/40",
33
33
  "shadow-[0_1px_2px_rgba(15,23,42,0.04)] hover:shadow-md",
34
34
  className,
@@ -73,7 +73,7 @@ export function TagInput({
73
73
  {value.map((tag) => (
74
74
  <span
75
75
  key={tag}
76
- className="inline-flex items-center gap-1 rounded-full bg-primary/10 text-primary text-xs pl-2 pr-1 py-0.5"
76
+ className="inline-flex items-center gap-1 rounded-full bg-primary/10 text-primary text-xs ps-2 pe-1 py-0.5"
77
77
  >
78
78
  {tag}
79
79
  <button
@@ -178,7 +178,7 @@ export function QuickAskSidebar({
178
178
  key={q.label}
179
179
  type="button"
180
180
  onClick={() => send(q.prompt)}
181
- className="text-left text-xs rounded-md border border-border bg-background px-2.5 py-2 hover:bg-accent/40 cursor-pointer"
181
+ className="text-start text-xs rounded-md border border-border bg-background px-2.5 py-2 hover:bg-accent/40 cursor-pointer"
182
182
  >
183
183
  {q.label}
184
184
  </button>
@@ -247,7 +247,7 @@ export function QuickAskSidebar({
247
247
  className="cursor-pointer h-9 w-9 shrink-0"
248
248
  aria-label="Send"
249
249
  >
250
- <IconSend className="h-4 w-4" />
250
+ <IconSend className="h-4 w-4 rtl:-scale-x-100" />
251
251
  </Button>
252
252
  </form>
253
253
  </SheetContent>
@@ -292,7 +292,7 @@ export function CameraVisualizer({
292
292
  return (
293
293
  <div className={cn("space-y-2", disabled && "opacity-70", className)}>
294
294
  <div className="flex items-center justify-between gap-2">
295
- <div className="flex min-w-0 items-center gap-2 rounded-full border border-border bg-muted/20 py-0.5 pl-2 pr-0.5">
295
+ <div className="flex min-w-0 items-center gap-2 rounded-full border border-border bg-muted/20 py-0.5 ps-2 pe-0.5">
296
296
  <span className="text-[11px] text-muted-foreground">Bubble</span>
297
297
  {live || starting ? (
298
298
  <span className="rounded-full bg-background px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground shadow-sm">
@@ -324,7 +324,7 @@ export function CameraVisualizer({
324
324
  size="sm"
325
325
  disabled={disabled || starting}
326
326
  onClick={live ? stopTest : startTest}
327
- className="ml-auto h-7 shrink-0 px-2.5 text-xs"
327
+ className="ms-auto h-7 shrink-0 px-2.5 text-xs"
328
328
  >
329
329
  {live ? "Stop" : starting ? "Opening..." : "Test"}
330
330
  </Button>
@@ -467,7 +467,7 @@ export function MicrophoneVisualizer({
467
467
  {statusLabel ? (
468
468
  <span
469
469
  className={cn(
470
- "pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 rounded-full bg-background/85 px-2 py-0.5 text-[10px] font-medium text-muted-foreground shadow-sm",
470
+ "pointer-events-none absolute end-2 top-1/2 -translate-y-1/2 rounded-full bg-background/85 px-2 py-0.5 text-[10px] font-medium text-muted-foreground shadow-sm",
471
471
  error && "text-foreground",
472
472
  )}
473
473
  >
@@ -589,7 +589,7 @@ export function PreRecordPanel({
589
589
  // this click and the ?mode=camera deep-link path.
590
590
  onClick={() => chooseMode(opt.value)}
591
591
  className={cn(
592
- "flex min-h-20 min-w-0 flex-col justify-between rounded-xl border p-3 text-left transition-colors",
592
+ "flex min-h-20 min-w-0 flex-col justify-between rounded-xl border p-3 text-start transition-colors",
593
593
  active
594
594
  ? "border-primary bg-primary text-primary-foreground shadow-sm"
595
595
  : "border-border bg-background text-foreground hover:border-foreground/30 hover:bg-muted/45",
@@ -624,7 +624,7 @@ export function PreRecordPanel({
624
624
  <CollapsibleTrigger asChild>
625
625
  <button
626
626
  type="button"
627
- className="flex w-full items-center gap-3 px-6 py-4 text-left transition-colors hover:bg-muted/35"
627
+ className="flex w-full items-center gap-3 px-6 py-4 text-start transition-colors hover:bg-muted/35"
628
628
  >
629
629
  <div className="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-muted text-muted-foreground">
630
630
  <IconDeviceDesktop className="h-4 w-4" />
@@ -657,7 +657,7 @@ export function PreRecordPanel({
657
657
  type="button"
658
658
  onClick={() => chooseDisplaySurface(opt.value)}
659
659
  className={cn(
660
- "flex min-h-[76px] flex-col rounded-lg border p-2 text-left transition-colors",
660
+ "flex min-h-[76px] flex-col rounded-lg border p-2 text-start transition-colors",
661
661
  active
662
662
  ? "border-primary bg-primary/10 text-foreground"
663
663
  : "border-border bg-background text-muted-foreground hover:border-foreground/40 hover:text-foreground",
@@ -687,7 +687,7 @@ export function PreRecordPanel({
687
687
  <CollapsibleTrigger asChild>
688
688
  <button
689
689
  type="button"
690
- className="flex w-full items-center gap-3 px-6 py-4 text-left transition-colors hover:bg-muted/35"
690
+ className="flex w-full items-center gap-3 px-6 py-4 text-start transition-colors hover:bg-muted/35"
691
691
  >
692
692
  <div className="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-muted text-muted-foreground">
693
693
  {needsCamera ? (
@@ -130,7 +130,7 @@ export function StorageSetupCard({
130
130
  onClick={handleConnect}
131
131
  disabled={connecting || connected}
132
132
  className={
133
- "flex items-start gap-3 rounded-xl border px-4 py-3.5 text-left " +
133
+ "flex items-start gap-3 rounded-xl border px-4 py-3.5 text-start " +
134
134
  (connected
135
135
  ? "border-primary/50 bg-primary/5"
136
136
  : "border-border bg-background hover:border-foreground/30")
@@ -146,7 +146,7 @@ export function ShareCardHeader({
146
146
  <div
147
147
  className={cn(
148
148
  "min-w-0 border-b border-border px-4 pb-3 pt-3",
149
- reserveCloseButton && "pr-12",
149
+ reserveCloseButton && "pe-12",
150
150
  )}
151
151
  >
152
152
  <div className="min-w-0 truncate text-sm font-semibold" title={title}>
@@ -201,7 +201,7 @@ export function GeneralAccessSelect({
201
201
  onValueChange={(v) => onChange(v as Visibility)}
202
202
  disabled={!canManage || isPending}
203
203
  >
204
- <SelectTrigger className="h-8 border-0 -ml-2 bg-transparent px-2 shadow-none focus:ring-0 [&>span]:text-left">
204
+ <SelectTrigger className="h-8 border-0 -ms-2 bg-transparent px-2 shadow-none focus:ring-0 [&>span]:text-start">
205
205
  <SelectValue />
206
206
  </SelectTrigger>
207
207
  <SelectContent>
@@ -49,7 +49,7 @@ const AlertDialogHeader = ({
49
49
  }: React.HTMLAttributes<HTMLDivElement>) => (
50
50
  <div
51
51
  className={cn(
52
- "flex flex-col space-y-2 text-center sm:text-left",
52
+ "flex flex-col space-y-2 text-center sm:text-start",
53
53
  className,
54
54
  )}
55
55
  {...props}
@@ -4,7 +4,7 @@ import { cva, type VariantProps } from "class-variance-authority";
4
4
  import { cn } from "@/lib/utils";
5
5
 
6
6
  const alertVariants = cva(
7
- "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
7
+ "relative w-full rounded-lg border p-4 [&>svg~*]:ps-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:start-4 [&>svg]:top-4 [&>svg]:text-foreground",
8
8
  {
9
9
  variants: {
10
10
  variant: {
@@ -83,7 +83,7 @@ const BreadcrumbSeparator = ({
83
83
  className={cn("[&>svg]:size-3.5", className)}
84
84
  {...props}
85
85
  >
86
- {children ?? <IconChevronRight />}
86
+ {children ?? <IconChevronRight className="rtl:-scale-x-100" />}
87
87
  </li>
88
88
  );
89
89
  BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
@@ -27,14 +27,14 @@ function Calendar({
27
27
  buttonVariants({ variant: "outline" }),
28
28
  "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100",
29
29
  ),
30
- nav_button_previous: "absolute left-1",
31
- nav_button_next: "absolute right-1",
30
+ nav_button_previous: "absolute start-1",
31
+ nav_button_next: "absolute end-1",
32
32
  table: "w-full border-collapse space-y-1",
33
33
  head_row: "flex",
34
34
  head_cell:
35
35
  "text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",
36
36
  row: "flex w-full mt-2",
37
- cell: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",
37
+ cell: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-e-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-s-md last:[&:has([aria-selected])]:rounded-e-md focus-within:relative focus-within:z-20",
38
38
  day: cn(
39
39
  buttonVariants({ variant: "ghost" }),
40
40
  "h-9 w-9 p-0 font-normal aria-selected:opacity-100",
@@ -54,9 +54,9 @@ function Calendar({
54
54
  components={{
55
55
  Chevron: (props) => {
56
56
  if (props.orientation === "left") {
57
- return <IconChevronLeft className="h-4 w-4" />;
57
+ return <IconChevronLeft className="h-4 w-4 rtl:-scale-x-100" />;
58
58
  }
59
- return <IconChevronRight className="h-4 w-4" />;
59
+ return <IconChevronRight className="h-4 w-4 rtl:-scale-x-100" />;
60
60
  },
61
61
  }}
62
62
  {...props}
@@ -160,7 +160,7 @@ const CarouselContent = React.forwardRef<
160
160
  ref={ref}
161
161
  className={cn(
162
162
  "flex",
163
- orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
163
+ orientation === "horizontal" ? "-ms-4" : "-mt-4 flex-col",
164
164
  className,
165
165
  )}
166
166
  {...props}
@@ -183,7 +183,7 @@ const CarouselItem = React.forwardRef<
183
183
  aria-roledescription="slide"
184
184
  className={cn(
185
185
  "min-w-0 shrink-0 grow-0 basis-full",
186
- orientation === "horizontal" ? "pl-4" : "pt-4",
186
+ orientation === "horizontal" ? "ps-4" : "pt-4",
187
187
  className,
188
188
  )}
189
189
  {...props}
@@ -206,7 +206,7 @@ const CarouselPrevious = React.forwardRef<
206
206
  className={cn(
207
207
  "absolute h-8 w-8 rounded-full",
208
208
  orientation === "horizontal"
209
- ? "-left-12 top-1/2 -translate-y-1/2"
209
+ ? "-start-12 top-1/2 -translate-y-1/2"
210
210
  : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
211
211
  className,
212
212
  )}
@@ -214,7 +214,7 @@ const CarouselPrevious = React.forwardRef<
214
214
  onClick={scrollPrev}
215
215
  {...props}
216
216
  >
217
- <IconArrowLeft className="h-4 w-4" />
217
+ <IconArrowLeft className="h-4 w-4 rtl:-scale-x-100" />
218
218
  <span className="sr-only">Previous slide</span>
219
219
  </Button>
220
220
  );
@@ -235,7 +235,7 @@ const CarouselNext = React.forwardRef<
235
235
  className={cn(
236
236
  "absolute h-8 w-8 rounded-full",
237
237
  orientation === "horizontal"
238
- ? "-right-12 top-1/2 -translate-y-1/2"
238
+ ? "-end-12 top-1/2 -translate-y-1/2"
239
239
  : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
240
240
  className,
241
241
  )}
@@ -243,7 +243,7 @@ const CarouselNext = React.forwardRef<
243
243
  onClick={scrollNext}
244
244
  {...props}
245
245
  >
246
- <IconArrowRight className="h-4 w-4" />
246
+ <IconArrowRight className="h-4 w-4 rtl:-scale-x-100" />
247
247
  <span className="sr-only">Next slide</span>
248
248
  </Button>
249
249
  );
@@ -41,7 +41,7 @@ const CommandInput = React.forwardRef<
41
41
  React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>
42
42
  >(({ className, ...props }, ref) => (
43
43
  <div className="flex items-center border-b px-3" cmdk-input-wrapper="">
44
- <IconSearch className="mr-2 h-4 w-4 shrink-0 opacity-50" />
44
+ <IconSearch className="me-2 h-4 w-4 shrink-0 opacity-50" />
45
45
  <CommandPrimitive.Input
46
46
  ref={ref}
47
47
  className={cn(
@@ -132,7 +132,7 @@ const CommandShortcut = ({
132
132
  return (
133
133
  <span
134
134
  className={cn(
135
- "ml-auto text-xs tracking-widest text-muted-foreground",
135
+ "ms-auto text-xs tracking-widest text-muted-foreground",
136
136
  className,
137
137
  )}
138
138
  {...props}
@@ -30,13 +30,13 @@ const ContextMenuSubTrigger = React.forwardRef<
30
30
  ref={ref}
31
31
  className={cn(
32
32
  "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
33
- inset && "pl-8",
33
+ inset && "ps-8",
34
34
  className,
35
35
  )}
36
36
  {...props}
37
37
  >
38
38
  {children}
39
- <IconChevronRight className="ml-auto h-4 w-4" />
39
+ <IconChevronRight className="ms-auto h-4 w-4 rtl:-scale-x-100" />
40
40
  </ContextMenuPrimitive.SubTrigger>
41
41
  ));
42
42
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
@@ -83,7 +83,7 @@ const ContextMenuItem = React.forwardRef<
83
83
  ref={ref}
84
84
  className={cn(
85
85
  "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
86
- inset && "pl-8",
86
+ inset && "ps-8",
87
87
  className,
88
88
  )}
89
89
  {...props}
@@ -98,13 +98,13 @@ const ContextMenuCheckboxItem = React.forwardRef<
98
98
  <ContextMenuPrimitive.CheckboxItem
99
99
  ref={ref}
100
100
  className={cn(
101
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
101
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
102
102
  className,
103
103
  )}
104
104
  checked={checked}
105
105
  {...props}
106
106
  >
107
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
107
+ <span className="absolute start-2 flex h-3.5 w-3.5 items-center justify-center">
108
108
  <ContextMenuPrimitive.ItemIndicator>
109
109
  <IconCheck className="h-4 w-4" />
110
110
  </ContextMenuPrimitive.ItemIndicator>
@@ -122,12 +122,12 @@ const ContextMenuRadioItem = React.forwardRef<
122
122
  <ContextMenuPrimitive.RadioItem
123
123
  ref={ref}
124
124
  className={cn(
125
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
125
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 ps-8 pe-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
126
126
  className,
127
127
  )}
128
128
  {...props}
129
129
  >
130
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
130
+ <span className="absolute start-2 flex h-3.5 w-3.5 items-center justify-center">
131
131
  <ContextMenuPrimitive.ItemIndicator>
132
132
  <IconCircleFilled className="h-2 w-2" />
133
133
  </ContextMenuPrimitive.ItemIndicator>
@@ -147,7 +147,7 @@ const ContextMenuLabel = React.forwardRef<
147
147
  ref={ref}
148
148
  className={cn(
149
149
  "px-2 py-1.5 text-sm font-semibold text-foreground",
150
- inset && "pl-8",
150
+ inset && "ps-8",
151
151
  className,
152
152
  )}
153
153
  {...props}
@@ -174,7 +174,7 @@ const ContextMenuShortcut = ({
174
174
  return (
175
175
  <span
176
176
  className={cn(
177
- "ml-auto text-xs tracking-widest text-muted-foreground",
177
+ "ms-auto text-xs tracking-widest text-muted-foreground",
178
178
  className,
179
179
  )}
180
180
  {...props}
@@ -51,7 +51,7 @@ const DialogContent = React.forwardRef<
51
51
  >
52
52
  {children}
53
53
  {!hideClose && (
54
- <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground">
54
+ <DialogPrimitive.Close className="absolute end-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground">
55
55
  <IconX className="h-4 w-4" />
56
56
  <span className="sr-only">Close</span>
57
57
  </DialogPrimitive.Close>
@@ -67,7 +67,7 @@ const DialogHeader = ({
67
67
  }: React.HTMLAttributes<HTMLDivElement>) => (
68
68
  <div
69
69
  className={cn(
70
- "flex flex-col space-y-1.5 text-center sm:text-left",
70
+ "flex flex-col space-y-1.5 text-center sm:text-start",
71
71
  className,
72
72
  )}
73
73
  {...props}
@@ -58,7 +58,7 @@ const DrawerHeader = ({
58
58
  ...props
59
59
  }: React.HTMLAttributes<HTMLDivElement>) => (
60
60
  <div
61
- className={cn("grid gap-1.5 p-4 text-center sm:text-left", className)}
61
+ className={cn("grid gap-1.5 p-4 text-center sm:text-start", className)}
62
62
  {...props}
63
63
  />
64
64
  );
@@ -30,13 +30,13 @@ const DropdownMenuSubTrigger = React.forwardRef<
30
30
  ref={ref}
31
31
  className={cn(
32
32
  "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",
33
- inset && "pl-8",
33
+ inset && "ps-8",
34
34
  className,
35
35
  )}
36
36
  {...props}
37
37
  >
38
38
  {children}
39
- <IconChevronRight className="ml-auto h-4 w-4" />
39
+ <IconChevronRight className="ms-auto h-4 w-4 rtl:-scale-x-100" />
40
40
  </DropdownMenuPrimitive.SubTrigger>
41
41
  ));
42
42
  DropdownMenuSubTrigger.displayName =
@@ -96,7 +96,7 @@ const DropdownMenuItem = React.forwardRef<
96
96
  ref={ref}
97
97
  className={cn(
98
98
  "relative flex cursor-default select-none items-center 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",
99
- inset && "pl-8",
99
+ inset && "ps-8",
100
100
  className,
101
101
  )}
102
102
  {...props}
@@ -111,13 +111,13 @@ const DropdownMenuCheckboxItem = React.forwardRef<
111
111
  <DropdownMenuPrimitive.CheckboxItem
112
112
  ref={ref}
113
113
  className={cn(
114
- "relative flex cursor-default 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",
114
+ "relative flex cursor-default 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",
115
115
  className,
116
116
  )}
117
117
  checked={checked}
118
118
  {...props}
119
119
  >
120
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
120
+ <span className="absolute start-2 flex h-3.5 w-3.5 items-center justify-center">
121
121
  <DropdownMenuPrimitive.ItemIndicator>
122
122
  <IconCheck className="h-4 w-4" />
123
123
  </DropdownMenuPrimitive.ItemIndicator>
@@ -135,12 +135,12 @@ const DropdownMenuRadioItem = React.forwardRef<
135
135
  <DropdownMenuPrimitive.RadioItem
136
136
  ref={ref}
137
137
  className={cn(
138
- "relative flex cursor-default 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",
138
+ "relative flex cursor-default 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",
139
139
  className,
140
140
  )}
141
141
  {...props}
142
142
  >
143
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
143
+ <span className="absolute start-2 flex h-3.5 w-3.5 items-center justify-center">
144
144
  <DropdownMenuPrimitive.ItemIndicator>
145
145
  <IconCircleFilled className="h-2 w-2" />
146
146
  </DropdownMenuPrimitive.ItemIndicator>
@@ -160,7 +160,7 @@ const DropdownMenuLabel = React.forwardRef<
160
160
  ref={ref}
161
161
  className={cn(
162
162
  "px-2 py-1.5 text-sm font-semibold",
163
- inset && "pl-8",
163
+ inset && "ps-8",
164
164
  className,
165
165
  )}
166
166
  {...props}
@@ -186,7 +186,7 @@ const DropdownMenuShortcut = ({
186
186
  }: React.HTMLAttributes<HTMLSpanElement>) => {
187
187
  return (
188
188
  <span
189
- className={cn("ml-auto text-xs tracking-widest opacity-60", className)}
189
+ className={cn("ms-auto text-xs tracking-widest opacity-60", className)}
190
190
  {...props}
191
191
  />
192
192
  );
@@ -39,7 +39,7 @@ const InputOTPSlot = React.forwardRef<
39
39
  <div
40
40
  ref={ref}
41
41
  className={cn(
42
- "relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
42
+ "relative flex h-10 w-10 items-center justify-center border-y border-e border-input text-sm transition-all first:rounded-s-md first:border-s last:rounded-e-md",
43
43
  isActive && "z-10 ring-2 ring-ring ring-offset-background",
44
44
  className,
45
45
  )}