@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
@@ -74,7 +74,7 @@ const GENERATION_COUNTS = [1, 2, 3, 4, 6] as const;
74
74
  const STARTER_PRESET = DEFAULT_LIBRARY_PRESETS[0];
75
75
  const STARTER_LIBRARY_ID = `starter:${STARTER_PRESET.id}`;
76
76
  const PICKER_INLINE_SELECT_CLASS =
77
- "h-7 w-auto min-w-0 max-w-full rounded-md border-0 bg-transparent px-1.5 py-1 text-xs font-medium text-muted-foreground shadow-none ring-offset-transparent transition hover:bg-accent/50 hover:text-foreground focus:ring-0 focus:ring-offset-0 sm:px-2 [&>svg]:ml-1 [&>svg]:size-3.5 [&>svg]:opacity-60";
77
+ "h-7 w-auto min-w-0 max-w-full rounded-md border-0 bg-transparent px-1.5 py-1 text-xs font-medium text-muted-foreground shadow-none ring-offset-transparent transition hover:bg-accent/50 hover:text-foreground focus:ring-0 focus:ring-offset-0 sm:px-2 [&>svg]:ms-1 [&>svg]:size-3.5 [&>svg]:opacity-60";
78
78
  type PickerMediaType = "image" | "video";
79
79
 
80
80
  type Asset = {
@@ -1633,7 +1633,7 @@ export default function AssetPicker() {
1633
1633
  }
1634
1634
  }}
1635
1635
  title={assetDisplayTitle(asset)}
1636
- className="block w-full text-left focus-visible:outline-none"
1636
+ className="block w-full text-start focus-visible:outline-none"
1637
1637
  >
1638
1638
  <div className="aspect-square bg-muted">
1639
1639
  {asset.mediaType === "video" ||
@@ -1660,7 +1660,7 @@ export default function AssetPicker() {
1660
1660
  event.stopPropagation();
1661
1661
  chooseAsset(asset);
1662
1662
  }}
1663
- className="absolute right-2 top-2 z-10 inline-flex h-8 w-8 items-center justify-center rounded-full bg-background/80 text-foreground opacity-0 shadow-sm backdrop-blur transition hover:bg-primary hover:text-primary-foreground focus:outline-none focus-visible:opacity-100 focus-visible:ring-2 focus-visible:ring-ring group-hover:opacity-100"
1663
+ className="absolute end-2 top-2 z-10 inline-flex h-8 w-8 items-center justify-center rounded-full bg-background/80 text-foreground opacity-0 shadow-sm backdrop-blur transition hover:bg-primary hover:text-primary-foreground focus:outline-none focus-visible:opacity-100 focus-visible:ring-2 focus-visible:ring-ring group-hover:opacity-100"
1664
1664
  >
1665
1665
  <IconClipboard className="h-4 w-4" />
1666
1666
  </button>
@@ -358,7 +358,7 @@ function SettingsRow({
358
358
  </p>
359
359
  </div>
360
360
  </div>
361
- {action ? <div className="shrink-0 sm:ml-4">{action}</div> : null}
361
+ {action ? <div className="shrink-0 sm:ms-4">{action}</div> : null}
362
362
  </div>
363
363
  );
364
364
  }
@@ -199,8 +199,8 @@ function BrainChatsSection() {
199
199
  }
200
200
 
201
201
  return (
202
- <div className="mt-2 border-l border-sidebar-border/70 pl-3">
203
- <div className="mb-1 flex h-7 items-center gap-2 pr-1">
202
+ <div className="mt-2 border-s border-sidebar-border/70 ps-3">
203
+ <div className="mb-1 flex h-7 items-center gap-2 pe-1">
204
204
  <div className="min-w-0 flex-1 text-xs font-medium text-sidebar-foreground/70">
205
205
  {t("chat.chats")}
206
206
  </div>
@@ -260,13 +260,13 @@ function BrainChatsSection() {
260
260
  <button
261
261
  type="button"
262
262
  onClick={() => openThread(thread.id)}
263
- className="flex h-full min-w-0 flex-1 items-center px-2 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring"
263
+ className="flex h-full min-w-0 flex-1 items-center px-2 text-start outline-none focus-visible:ring-2 focus-visible:ring-ring"
264
264
  >
265
265
  <span className="min-w-0 flex-1 truncate">
266
266
  {threadTitle(thread)}
267
267
  </span>
268
268
  </button>
269
- <div className="relative flex size-7 shrink-0 items-center justify-end pr-1">
269
+ <div className="relative flex size-7 shrink-0 items-center justify-end pe-1">
270
270
  <span className="text-[11px] text-sidebar-foreground/50 transition-opacity group-hover:opacity-0 group-focus-within:opacity-0">
271
271
  {isActive ? "" : formatThreadAge(threadUpdatedAt(thread))}
272
272
  </span>
@@ -277,7 +277,7 @@ function BrainChatsSection() {
277
277
  aria-label={t("chat.optionsFor", {
278
278
  title: threadTitle(thread),
279
279
  })}
280
- className="absolute right-1 flex size-6 items-center justify-center rounded-md text-sidebar-foreground/65 opacity-0 transition-opacity hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring group-hover:opacity-100 group-focus-within:opacity-100 data-[state=open]:opacity-100"
280
+ className="absolute end-1 flex size-6 items-center justify-center rounded-md text-sidebar-foreground/65 opacity-0 transition-opacity hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring group-hover:opacity-100 group-focus-within:opacity-100 data-[state=open]:opacity-100"
281
281
  >
282
282
  <IconDots className="size-4" />
283
283
  </button>
@@ -76,7 +76,7 @@ function DropdownMenuItem({
76
76
  data-inset={inset}
77
77
  data-variant={variant}
78
78
  className={cn(
79
- "relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",
79
+ "relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:ps-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",
80
80
  className,
81
81
  )}
82
82
  {...props}
@@ -94,13 +94,13 @@ function DropdownMenuCheckboxItem({
94
94
  <DropdownMenuPrimitive.CheckboxItem
95
95
  data-slot="dropdown-menu-checkbox-item"
96
96
  className={cn(
97
- "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
97
+ "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pe-2 ps-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
98
98
  className,
99
99
  )}
100
100
  checked={checked}
101
101
  {...props}
102
102
  >
103
- <span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
103
+ <span className="pointer-events-none absolute start-2 flex size-3.5 items-center justify-center">
104
104
  <DropdownMenuPrimitive.ItemIndicator>
105
105
  <IconCheck className="size-4" />
106
106
  </DropdownMenuPrimitive.ItemIndicator>
@@ -130,12 +130,12 @@ function DropdownMenuRadioItem({
130
130
  <DropdownMenuPrimitive.RadioItem
131
131
  data-slot="dropdown-menu-radio-item"
132
132
  className={cn(
133
- "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
133
+ "relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pe-2 ps-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
134
134
  className,
135
135
  )}
136
136
  {...props}
137
137
  >
138
- <span className="pointer-events-none absolute left-2 flex size-3.5 items-center justify-center">
138
+ <span className="pointer-events-none absolute start-2 flex size-3.5 items-center justify-center">
139
139
  <DropdownMenuPrimitive.ItemIndicator>
140
140
  <IconCircleFilled className="size-2 fill-current" />
141
141
  </DropdownMenuPrimitive.ItemIndicator>
@@ -157,7 +157,7 @@ function DropdownMenuLabel({
157
157
  data-slot="dropdown-menu-label"
158
158
  data-inset={inset}
159
159
  className={cn(
160
- "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
160
+ "px-2 py-1.5 text-sm font-medium data-[inset]:ps-8",
161
161
  className,
162
162
  )}
163
163
  {...props}
@@ -186,7 +186,7 @@ function DropdownMenuShortcut({
186
186
  <span
187
187
  data-slot="dropdown-menu-shortcut"
188
188
  className={cn(
189
- "ml-auto text-xs tracking-widest text-muted-foreground",
189
+ "ms-auto text-xs tracking-widest text-muted-foreground",
190
190
  className,
191
191
  )}
192
192
  {...props}
@@ -213,13 +213,13 @@ function DropdownMenuSubTrigger({
213
213
  data-slot="dropdown-menu-sub-trigger"
214
214
  data-inset={inset}
215
215
  className={cn(
216
- "flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
216
+ "flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:ps-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
217
217
  className,
218
218
  )}
219
219
  {...props}
220
220
  >
221
221
  {children}
222
- <IconChevronRight className="ml-auto size-4" />
222
+ <IconChevronRight className="ms-auto size-4 rtl:-scale-x-100" />
223
223
  </DropdownMenuPrimitive.SubTrigger>
224
224
  );
225
225
  }
@@ -103,7 +103,7 @@ const SelectLabel = React.forwardRef<
103
103
  >(({ className, ...props }, ref) => (
104
104
  <SelectPrimitive.Label
105
105
  ref={ref}
106
- className={cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className)}
106
+ className={cn("py-1.5 ps-8 pe-2 text-sm font-semibold", className)}
107
107
  {...props}
108
108
  />
109
109
  ));
@@ -116,12 +116,12 @@ const SelectItem = React.forwardRef<
116
116
  <SelectPrimitive.Item
117
117
  ref={ref}
118
118
  className={cn(
119
- "relative flex w-full 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",
119
+ "relative flex w-full 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",
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
  <SelectPrimitive.ItemIndicator>
126
126
  <IconCheck className="h-4 w-4" />
127
127
  </SelectPrimitive.ItemIndicator>
@@ -83,7 +83,7 @@ const SheetContent = React.forwardRef<
83
83
  >
84
84
  {children}
85
85
  {showClose ? (
86
- <SheetPrimitive.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-secondary">
86
+ <SheetPrimitive.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-secondary">
87
87
  <IconX className="h-4 w-4" />
88
88
  <span className="sr-only">Close</span>
89
89
  </SheetPrimitive.Close>
@@ -100,7 +100,7 @@ const SheetHeader = ({
100
100
  }: React.HTMLAttributes<HTMLDivElement>) => (
101
101
  <div
102
102
  className={cn(
103
- "flex flex-col space-y-2 text-center sm:text-left",
103
+ "flex flex-col space-y-2 text-center sm:text-start",
104
104
  className,
105
105
  )}
106
106
  {...props}
@@ -73,7 +73,7 @@ const TableHead = React.forwardRef<
73
73
  <th
74
74
  ref={ref}
75
75
  className={cn(
76
- "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
76
+ "h-12 px-4 text-start align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pe-0",
77
77
  className,
78
78
  )}
79
79
  {...props}
@@ -87,7 +87,7 @@ const TableCell = React.forwardRef<
87
87
  >(({ className, ...props }, ref) => (
88
88
  <td
89
89
  ref={ref}
90
- className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}
90
+ className={cn("p-4 align-middle [&:has([role=checkbox])]:pe-0", className)}
91
91
  {...props}
92
92
  />
93
93
  ));
@@ -371,7 +371,7 @@ export function GoogleConnectBanner({
371
371
  )}
372
372
 
373
373
  {showWizard && !allConfigured && (
374
- <div className="mt-8 w-full max-w-lg text-left">
374
+ <div className="mt-8 w-full max-w-lg text-start">
375
375
  <SetupWizard
376
376
  currentStep={currentStep}
377
377
  setCurrentStep={setCurrentStep}
@@ -561,7 +561,7 @@ function GoogleVerificationNotice({ className = "" }: { className?: string }) {
561
561
  Google may show a warning
562
562
  </button>
563
563
  </PopoverTrigger>
564
- <PopoverContent align="center" className="w-72 text-left">
564
+ <PopoverContent align="center" className="w-72 text-start">
565
565
  <div className="flex items-start gap-2.5">
566
566
  <div className="mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-amber-500/15 text-amber-300">
567
567
  <IconAlertTriangle className="h-3.5 w-3.5" />
@@ -611,7 +611,7 @@ function GoogleAuthIssuePanel({
611
611
 
612
612
  return (
613
613
  <div
614
- className={`rounded-lg border border-amber-500/25 bg-amber-500/[0.07] p-3 text-left ${className}`}
614
+ className={`rounded-lg border border-amber-500/25 bg-amber-500/[0.07] p-3 text-start ${className}`}
615
615
  >
616
616
  <div className="flex items-start gap-3">
617
617
  <div className="mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-amber-500/15 text-amber-300">
@@ -633,7 +633,7 @@ function GoogleAuthIssuePanel({
633
633
  className="h-8 gap-1.5 px-3 text-xs font-medium"
634
634
  onClick={onSignOut}
635
635
  >
636
- <IconLogout className="h-3.5 w-3.5" />
636
+ <IconLogout className="h-3.5 w-3.5 rtl:-scale-x-100" />
637
637
  Sign out
638
638
  </Button>
639
639
  <Button
@@ -696,7 +696,7 @@ function SetupWizard({
696
696
  key={i}
697
697
  role="button"
698
698
  tabIndex={0}
699
- className={`w-full text-left rounded-lg border p-3 transition-colors cursor-pointer ${
699
+ className={`w-full text-start rounded-lg border p-3 transition-colors cursor-pointer ${
700
700
  isActive
701
701
  ? "border-primary/40 bg-primary/5"
702
702
  : isCompleted
@@ -723,7 +723,7 @@ function SetupWizard({
723
723
  </div>
724
724
  <div className="flex-1 min-w-0">
725
725
  <p className="text-sm font-medium">
726
- <span className="text-muted-foreground mr-1.5">{i + 1}.</span>
726
+ <span className="text-muted-foreground me-1.5">{i + 1}.</span>
727
727
  {step.title}
728
728
  </p>
729
729
 
@@ -188,7 +188,7 @@ export function GoogleSetupWizard() {
188
188
  key={i}
189
189
  role="button"
190
190
  tabIndex={0}
191
- className={`w-full text-left rounded-lg border p-4 transition-colors cursor-pointer ${
191
+ className={`w-full text-start rounded-lg border p-4 transition-colors cursor-pointer ${
192
192
  isActive
193
193
  ? "border-primary/40 bg-primary/5"
194
194
  : isCompleted
@@ -215,7 +215,7 @@ export function GoogleSetupWizard() {
215
215
  </div>
216
216
  <div className="flex-1 min-w-0">
217
217
  <p className="text-sm font-medium">
218
- <span className="text-muted-foreground mr-1.5">{i + 1}.</span>
218
+ <span className="text-muted-foreground me-1.5">{i + 1}.</span>
219
219
  {step.title}
220
220
  </p>
221
221
 
@@ -372,7 +372,7 @@ export function GoogleSetupWizard() {
372
372
  }
373
373
  >
374
374
  {saving && (
375
- <IconLoader2 className="mr-1.5 h-3 w-3 animate-spin" />
375
+ <IconLoader2 className="me-1.5 h-3 w-3 animate-spin" />
376
376
  )}
377
377
  {saving ? "Saving..." : "Save credentials"}
378
378
  </Button>
@@ -141,7 +141,7 @@ function MonthYearPicker({
141
141
  className="flex h-7 w-7 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground"
142
142
  aria-label="Previous year"
143
143
  >
144
- <IconChevronLeft className="h-3.5 w-3.5" />
144
+ <IconChevronLeft className="h-3.5 w-3.5 rtl:-scale-x-100" />
145
145
  </button>
146
146
  <span className="text-sm font-semibold">{year}</span>
147
147
  <button
@@ -150,7 +150,7 @@ function MonthYearPicker({
150
150
  className="flex h-7 w-7 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground"
151
151
  aria-label="Next year"
152
152
  >
153
- <IconChevronRight className="h-3.5 w-3.5" />
153
+ <IconChevronRight className="h-3.5 w-3.5 rtl:-scale-x-100" />
154
154
  </button>
155
155
  </div>
156
156
  <div className="grid grid-cols-3 gap-1">
@@ -225,7 +225,7 @@ function MiniCalendar({
225
225
  <PopoverTrigger asChild>
226
226
  <button
227
227
  type="button"
228
- className="-ml-1 flex items-center gap-1 rounded px-1 py-0.5 text-xs font-medium text-foreground hover:bg-accent"
228
+ className="-ms-1 flex items-center gap-1 rounded px-1 py-0.5 text-xs font-medium text-foreground hover:bg-accent"
229
229
  >
230
230
  {format(viewMonth, "MMMM yyyy")}
231
231
  <IconChevronDown className="h-3 w-3 text-muted-foreground" />
@@ -653,7 +653,7 @@ export function Sidebar({ open, onClose }: SidebarProps) {
653
653
  <aside
654
654
  data-open={open ? "true" : "false"}
655
655
  className={cn(
656
- "calendar-app-sidebar fixed left-0 top-0 z-50 flex h-full w-56 min-w-0 flex-col overflow-hidden border-r border-border bg-card transition-transform duration-200 lg:static",
656
+ "calendar-app-sidebar fixed start-0 top-0 z-50 flex h-full w-56 min-w-0 flex-col overflow-hidden border-e border-border bg-card transition-transform duration-200 lg:static",
657
657
  )}
658
658
  >
659
659
  {/* Logo */}
@@ -774,9 +774,11 @@ export function Sidebar({ open, onClose }: SidebarProps) {
774
774
  {peopleGroupOpen ? (
775
775
  <IconChevronDown className="h-3 w-3" />
776
776
  ) : (
777
- <IconChevronRight className="h-3 w-3" />
777
+ <IconChevronRight className="h-3 w-3 rtl:-scale-x-100" />
778
778
  )}
779
- <span className="min-w-0 flex-1 text-left">People</span>
779
+ <span className="min-w-0 flex-1 text-start">
780
+ People
781
+ </span>
780
782
  <span className="text-[10px]">
781
783
  {overlayPeople.length}
782
784
  </span>
@@ -871,9 +873,9 @@ export function Sidebar({ open, onClose }: SidebarProps) {
871
873
  {feedsGroupOpen ? (
872
874
  <IconChevronDown className="h-3 w-3" />
873
875
  ) : (
874
- <IconChevronRight className="h-3 w-3" />
876
+ <IconChevronRight className="h-3 w-3 rtl:-scale-x-100" />
875
877
  )}
876
- <span className="min-w-0 flex-1 text-left">Feeds</span>
878
+ <span className="min-w-0 flex-1 text-start">Feeds</span>
877
879
  <span className="text-[10px]">
878
880
  {externalCalendars.length}
879
881
  </span>
@@ -986,7 +988,7 @@ export function Sidebar({ open, onClose }: SidebarProps) {
986
988
  <TooltipContent side="top">
987
989
  <p>
988
990
  Keyboard shortcuts{" "}
989
- <kbd className="ml-1 rounded border border-border bg-muted px-1 font-mono text-[10px]">
991
+ <kbd className="ms-1 rounded border border-border bg-muted px-1 font-mono text-[10px]">
990
992
  ?
991
993
  </kbd>
992
994
  </p>
@@ -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
  );