@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
@@ -139,7 +139,7 @@ function BucketBars({
139
139
  </span>
140
140
  <span className="shrink-0 text-muted-foreground tabular-nums">
141
141
  {formatSpend(b.cents, billing)}
142
- <span className="ml-1 opacity-60">
142
+ <span className="ms-1 opacity-60">
143
143
  · {formatTokens(b.inputTokens + b.outputTokens)} tok
144
144
  </span>
145
145
  </span>
@@ -268,7 +268,7 @@ export function UsageSection() {
268
268
  {formatSpend(data.totalCents, billing)}
269
269
  </div>
270
270
  </div>
271
- <div className="text-right">
271
+ <div className="text-end">
272
272
  <div className="text-[10px] text-muted-foreground">
273
273
  {data.totalCalls} calls
274
274
  </div>
@@ -350,7 +350,7 @@ export function UsageSection() {
350
350
  {new Date(r.createdAt).toLocaleString()} · {r.model}
351
351
  </div>
352
352
  </div>
353
- <div className="shrink-0 text-right tabular-nums text-muted-foreground">
353
+ <div className="shrink-0 text-end tabular-nums text-muted-foreground">
354
354
  {formatSpend(r.cents, billing)}
355
355
  </div>
356
356
  </div>
@@ -506,7 +506,7 @@ export function VoiceTranscriptionSection() {
506
506
  {showAdvanced ? (
507
507
  <IconChevronDown size={12} />
508
508
  ) : (
509
- <IconChevronRight size={12} />
509
+ <IconChevronRight size={12} className="rtl:-scale-x-100" />
510
510
  )}
511
511
  Add API keys
512
512
  </span>
@@ -763,7 +763,7 @@ function ProviderOption({
763
763
  aria-pressed={selected}
764
764
  aria-disabled={disabled || undefined}
765
765
  // Theme tokens; streaming agent owns layout.
766
- className={`w-full text-left rounded-md border px-2.5 py-2 flex items-start gap-2 ${
766
+ className={`w-full text-start rounded-md border px-2.5 py-2 flex items-start gap-2 ${
767
767
  selected
768
768
  ? "border-primary bg-primary/10"
769
769
  : "border-border bg-accent/30 hover:bg-accent/50"
@@ -944,7 +944,7 @@ function SystemAudioStatus() {
944
944
  <button
945
945
  type="button"
946
946
  onClick={openPrivacy}
947
- className="ml-1 inline-flex items-center gap-1 rounded border border-border px-1.5 py-0.5 text-[10px] text-muted-foreground hover:bg-accent/40 hover:text-foreground"
947
+ className="ms-1 inline-flex items-center gap-1 rounded border border-border px-1.5 py-0.5 text-[10px] text-muted-foreground hover:bg-accent/40 hover:text-foreground"
948
948
  >
949
949
  <IconLockOpen size={10} />
950
950
  Open System Settings
@@ -1028,7 +1028,7 @@ function AdvancedAccessPopover({
1028
1028
  disabled={!canManage || control.pending}
1029
1029
  onClick={onToggle}
1030
1030
  className={cn(
1031
- "flex w-full items-start gap-3 rounded-md border border-border/70 bg-background px-3 py-2.5 text-left transition-colors hover:bg-accent/45 disabled:cursor-not-allowed disabled:opacity-60",
1031
+ "flex w-full items-start gap-3 rounded-md border border-border/70 bg-background px-3 py-2.5 text-start transition-colors hover:bg-accent/45 disabled:cursor-not-allowed disabled:opacity-60",
1032
1032
  control.checked && "border-border bg-accent/35 text-foreground",
1033
1033
  )}
1034
1034
  >
@@ -1181,7 +1181,7 @@ function MemberAutocomplete({
1181
1181
  aria-hidden
1182
1182
  size={15}
1183
1183
  strokeWidth={1.8}
1184
- className="pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"
1184
+ className="pointer-events-none absolute start-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"
1185
1185
  />
1186
1186
  <input
1187
1187
  ref={inputRef}
@@ -1209,14 +1209,14 @@ function MemberAutocomplete({
1209
1209
  }}
1210
1210
  onKeyDown={handleKeyDown}
1211
1211
  autoComplete="off"
1212
- className="h-9 w-full min-w-0 rounded-md border border-input bg-background pl-8 pr-8 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background"
1212
+ className="h-9 w-full min-w-0 rounded-md border border-input bg-background ps-8 pe-8 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background"
1213
1213
  />
1214
1214
  {search.isLoading ? (
1215
1215
  <IconLoader2
1216
1216
  aria-hidden
1217
1217
  size={15}
1218
1218
  strokeWidth={1.8}
1219
- className="pointer-events-none absolute right-2.5 top-1/2 -translate-y-1/2 animate-spin text-muted-foreground"
1219
+ className="pointer-events-none absolute end-2.5 top-1/2 -translate-y-1/2 animate-spin text-muted-foreground"
1220
1220
  />
1221
1221
  ) : null}
1222
1222
  </div>
@@ -1377,7 +1377,7 @@ function CopyLinkField({
1377
1377
  const selectContentClass =
1378
1378
  "z-[2100] min-w-[12rem] overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0";
1379
1379
  const selectItemClass =
1380
- "relative flex w-full cursor-pointer select-none items-start gap-2 rounded-sm py-2 pl-8 pr-3 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1380
+ "relative flex w-full cursor-pointer select-none items-start gap-2 rounded-sm py-2 ps-8 pe-3 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
1381
1381
 
1382
1382
  interface ShadSelectItemProps {
1383
1383
  value: string;
@@ -1394,7 +1394,7 @@ function SelectItems({ items }: { items: ShadSelectItemProps[] }) {
1394
1394
  value={it.value}
1395
1395
  className={selectItemClass}
1396
1396
  >
1397
- <span className="absolute left-2 top-2 flex h-4 w-4 items-center justify-center">
1397
+ <span className="absolute start-2 top-2 flex h-4 w-4 items-center justify-center">
1398
1398
  <Select.ItemIndicator>
1399
1399
  <IconCheck size={14} />
1400
1400
  </Select.ItemIndicator>
@@ -1485,7 +1485,7 @@ function VisibilitySelect(props: {
1485
1485
  <Select.Trigger
1486
1486
  className={cn(
1487
1487
  BUTTON_BASE,
1488
- "h-7 px-1 -ml-1 bg-transparent text-foreground hover:bg-accent hover:text-accent-foreground",
1488
+ "h-7 px-1 -ms-1 bg-transparent text-foreground hover:bg-accent hover:text-accent-foreground",
1489
1489
  )}
1490
1490
  aria-label="General access"
1491
1491
  >
@@ -649,7 +649,7 @@ function CopyField({
649
649
  const selectContentClass =
650
650
  "z-[2100] min-w-[12rem] overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md";
651
651
  const selectItemClass =
652
- "relative flex w-full cursor-pointer select-none items-start gap-2 rounded-sm py-2 pl-8 pr-3 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
652
+ "relative flex w-full cursor-pointer select-none items-start gap-2 rounded-sm py-2 ps-8 pe-3 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
653
653
 
654
654
  function SelectItems({
655
655
  items,
@@ -664,7 +664,7 @@ function SelectItems({
664
664
  value={it.value}
665
665
  className={selectItemClass}
666
666
  >
667
- <span className="absolute left-2 top-2 flex h-4 w-4 items-center justify-center">
667
+ <span className="absolute start-2 top-2 flex h-4 w-4 items-center justify-center">
668
668
  <Select.ItemIndicator>
669
669
  <IconCheck size={14} />
670
670
  </Select.ItemIndicator>
@@ -734,7 +734,7 @@ function VisibilitySelect(props: {
734
734
  aria-label="General access"
735
735
  className={cn(
736
736
  BUTTON_BASE,
737
- "h-7 px-1 -ml-1 bg-transparent text-foreground hover:bg-accent hover:text-accent-foreground",
737
+ "h-7 px-1 -ms-1 bg-transparent text-foreground hover:bg-accent hover:text-accent-foreground",
738
738
  )}
739
739
  >
740
740
  <Select.Value>{current.label}</Select.Value>
@@ -2123,11 +2123,11 @@ export default bundle;
2123
2123
  copyInstalledFfmpegStaticPackage(nitro.options.output.serverDir);
2124
2124
  }
2125
2125
 
2126
- // Durable background agent runs (default-ON; opt out with a falsy
2126
+ // Durable background agent runs (default-OFF / opt-in; enable with a truthy
2127
2127
  // AGENT_CHAT_DURABLE_BACKGROUND). Additive ONLY: emits a SECOND Netlify
2128
2128
  // function whose name ends in `-background` re-exporting the same handler
2129
2129
  // bundle, so the chat `_process-run` POST lands on Netlify's async (15-min)
2130
- // function. When explicitly opted out this is a no-op and the single-function
2130
+ // function. When not opted in this is a no-op and the single-function
2131
2131
  // deploy is byte-for-byte unchanged.
2132
2132
  if (preset === "netlify" && isDurableBackgroundDeployEnabled()) {
2133
2133
  try {
@@ -31,7 +31,7 @@
31
31
 
32
32
  .agent-conversation__scroll-bottom {
33
33
  position: absolute;
34
- right: 18px;
34
+ inset-inline-end: 18px;
35
35
  bottom: 92px;
36
36
  z-index: 2;
37
37
  display: flex;
@@ -115,12 +115,12 @@
115
115
 
116
116
  .agent-conversation-markdown ul,
117
117
  .agent-conversation-markdown ol {
118
- padding-left: 20px;
118
+ padding-inline-start: 20px;
119
119
  }
120
120
 
121
121
  .agent-conversation-markdown li {
122
122
  margin: 3px 0;
123
- padding-left: 2px;
123
+ padding-inline-start: 2px;
124
124
  }
125
125
 
126
126
  .agent-conversation-markdown li > p {
@@ -248,7 +248,7 @@
248
248
  }
249
249
 
250
250
  .agent-conversation-tool__summary {
251
- margin-left: auto;
251
+ margin-inline-start: auto;
252
252
  font-size: 11px;
253
253
  }
254
254
 
@@ -410,7 +410,7 @@
410
410
  display: inline-flex;
411
411
  align-items: center;
412
412
  gap: 5px;
413
- margin-left: auto;
413
+ margin-inline-start: auto;
414
414
  color: hsl(var(--muted-foreground));
415
415
  text-decoration: none;
416
416
  }
@@ -496,7 +496,7 @@
496
496
  .agent-markdown ul,
497
497
  .agent-markdown ol {
498
498
  margin: 0.5em 0;
499
- padding-left: 1.5em;
499
+ padding-inline-start: 1.5em;
500
500
  }
501
501
 
502
502
  .agent-markdown li {
@@ -576,8 +576,8 @@
576
576
  }
577
577
 
578
578
  .agent-markdown blockquote {
579
- border-left: 2px solid hsl(var(--border, 0 0% 20%));
580
- padding-left: 0.75em;
579
+ border-inline-start: 2px solid hsl(var(--border, 0 0% 20%));
580
+ padding-inline-start: 0.75em;
581
581
  margin: 0.5em 0;
582
582
  opacity: 0.8;
583
583
  }
@@ -592,7 +592,7 @@
592
592
  .agent-markdown td {
593
593
  border: 1px solid hsl(var(--border, 0 0% 20%));
594
594
  padding: 0.35em 0.65em;
595
- text-align: left;
595
+ text-align: start;
596
596
  }
597
597
 
598
598
  .agent-markdown th {
@@ -608,7 +608,7 @@
608
608
  display: inline-block;
609
609
  width: 0.42em;
610
610
  height: 1em;
611
- margin-left: 0.12em;
611
+ margin-inline-start: 0.12em;
612
612
  border-radius: 999px;
613
613
  background: currentColor;
614
614
  opacity: 0.35;
@@ -642,7 +642,7 @@
642
642
  .plan-code-chrome-float {
643
643
  position: absolute;
644
644
  top: 0.5rem;
645
- right: 0.5rem;
645
+ inset-inline-end: 0.5rem;
646
646
  z-index: 2;
647
647
  }
648
648
 
@@ -917,7 +917,7 @@
917
917
  background: transparent;
918
918
  color: hsl(var(--foreground));
919
919
  font-size: 0.8rem;
920
- text-align: left;
920
+ text-align: start;
921
921
  cursor: pointer;
922
922
  }
923
923
 
@@ -317,7 +317,7 @@
317
317
  .an-rich-md-prose h3.is-empty::before,
318
318
  .an-rich-md-prose h4.is-empty::before {
319
319
  content: attr(data-placeholder);
320
- float: left;
320
+ float: inline-start;
321
321
  color: hsl(var(--muted-foreground));
322
322
  opacity: 0.55;
323
323
  pointer-events: none;
@@ -432,7 +432,7 @@
432
432
  align-items: center;
433
433
  gap: 8px;
434
434
  padding: 6px 10px;
435
- text-align: left;
435
+ text-align: start;
436
436
  background: none;
437
437
  border: none;
438
438
  cursor: pointer;
@@ -19,7 +19,7 @@ export function MobileNav() {
19
19
  <div className="flex h-12 shrink-0 items-center border-b border-border bg-sidebar px-4 md:hidden">
20
20
  <button
21
21
  onClick={() => setOpen(true)}
22
- className="mr-3 p-2.5 -ml-1 rounded-md hover:bg-sidebar-accent/50"
22
+ className="me-3 p-2.5 -ms-1 rounded-md hover:bg-sidebar-accent/50"
23
23
  aria-label={t("navigation.openNavigation")}
24
24
  >
25
25
  <IconMenu className="h-5 w-5 text-foreground" />
@@ -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";
@@ -25,11 +25,11 @@ function Calendar({
25
25
  nav: "flex items-center gap-1",
26
26
  button_previous: cn(
27
27
  buttonVariants({ variant: "outline" }),
28
- "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 absolute left-1 top-1 z-10",
28
+ "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 absolute start-1 top-1 z-10",
29
29
  ),
30
30
  button_next: cn(
31
31
  buttonVariants({ variant: "outline" }),
32
- "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 absolute right-1 top-1 z-10",
32
+ "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 absolute end-1 top-1 z-10",
33
33
  ),
34
34
  month_grid: "w-full border-collapse",
35
35
  weekdays: "flex",
@@ -47,8 +47,8 @@ function Calendar({
47
47
  outside: "text-muted-foreground opacity-50",
48
48
  disabled: "text-muted-foreground opacity-50",
49
49
  hidden: "invisible",
50
- range_start: "rounded-l-md",
51
- range_end: "rounded-r-md",
50
+ range_start: "rounded-s-md",
51
+ range_end: "rounded-e-md",
52
52
  range_middle:
53
53
  "aria-selected:bg-accent aria-selected:text-accent-foreground",
54
54
  ...classNames,
@@ -56,9 +56,9 @@ function Calendar({
56
56
  components={{
57
57
  Chevron: (props) => {
58
58
  if (props.orientation === "left") {
59
- return <IconChevronLeft className="h-4 w-4" />;
59
+ return <IconChevronLeft className="h-4 w-4 rtl:-scale-x-100" />;
60
60
  }
61
- return <IconChevronRight className="h-4 w-4" />;
61
+ return <IconChevronRight className="h-4 w-4 rtl:-scale-x-100" />;
62
62
  },
63
63
  }}
64
64
  {...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}
@@ -35,7 +35,7 @@ export function DatePicker({
35
35
  <Button
36
36
  variant="outline"
37
37
  className={cn(
38
- "h-8 justify-start text-left font-normal text-xs gap-2 px-2.5",
38
+ "h-8 justify-start text-start font-normal text-xs gap-2 px-2.5",
39
39
  !validDate && "text-muted-foreground",
40
40
  className,
41
41
  )}
@@ -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
  )}