From 5e6b8f979c41d97750b95f8c8733b0aa48b50c1b Mon Sep 17 00:00:00 2001 From: Ruben Talstra Date: Thu, 27 Feb 2025 13:47:39 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20chore:=20Update=20Tailwind=20CSS?= =?UTF-8?q?=20configuration=20and=20dependencies=20in=20package.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .prettierrc | 2 +- client/package.json | 22 +- client/postcss.config.js | 8 - client/src/App.jsx | 2 +- .../src/components/Artifacts/ArtifactTabs.tsx | 4 +- client/src/components/Artifacts/Code.tsx | 2 +- client/src/components/Audio/Voices.tsx | 6 +- client/src/components/Auth/AuthLayout.tsx | 2 +- client/src/components/Auth/ErrorMessage.tsx | 2 +- client/src/components/Auth/LoginForm.tsx | 8 +- client/src/components/Auth/Registration.tsx | 6 +- .../components/Auth/RequestPasswordReset.tsx | 6 +- client/src/components/Auth/ResetPassword.tsx | 12 +- client/src/components/Banners/Banner.tsx | 2 +- .../src/components/Bookmarks/BookmarkForm.tsx | 2 +- .../src/components/Bookmarks/BookmarkItem.tsx | 2 +- .../src/components/Chat/Input/AddedConvo.tsx | 4 +- client/src/components/Chat/Input/ChatForm.tsx | 2 +- .../components/Chat/Input/CollapseChat.tsx | 2 +- .../Chat/Input/Files/AttachFile.tsx | 2 +- .../Chat/Input/Files/AttachFileMenu.tsx | 2 +- .../Chat/Input/Files/DragDropOverlay.tsx | 4 +- .../Input/Files/Table/SortFilterHeader.tsx | 2 +- .../components/Chat/Input/HeaderOptions.tsx | 2 +- client/src/components/Chat/Input/Mention.tsx | 2 +- .../src/components/Chat/Input/MentionItem.tsx | 6 +- .../components/Chat/Input/OptionsPopover.tsx | 2 +- .../components/Chat/Input/PromptsCommand.tsx | 2 +- .../components/Chat/Input/TemporaryChat.tsx | 4 +- .../Chat/Menus/Endpoints/MenuItem.tsx | 2 +- .../Chat/Menus/Models/ModelSpec.tsx | 2 +- .../Chat/Menus/Presets/PresetItems.tsx | 4 +- .../src/components/Chat/Menus/UI/MenuItem.tsx | 2 +- .../Chat/Messages/Content/DialogImage.tsx | 4 +- .../Chat/Messages/Content/EditMessage.tsx | 2 +- .../Messages/Content/Parts/EditTextPart.tsx | 2 +- .../Chat/Messages/Content/Parts/LogLink.tsx | 2 +- .../Chat/Messages/Content/ToolPopover.tsx | 4 +- .../components/Chat/Messages/HoverButtons.tsx | 14 +- .../components/Chat/Messages/MessageParts.tsx | 4 +- .../components/Chat/Messages/MessagesView.tsx | 2 +- .../Chat/Messages/MinimalHoverButtons.tsx | 2 +- .../Chat/Messages/MinimalMessages.tsx | 2 +- .../Chat/Messages/SearchMessage.tsx | 4 +- .../Chat/Messages/SiblingSwitch.tsx | 6 +- .../Chat/Messages/ui/MessageRender.tsx | 6 +- client/src/components/Conversations/Convo.tsx | 6 +- .../ConvoOptions/ConvoOptions.tsx | 4 +- client/src/components/Conversations/Fork.tsx | 10 +- .../components/Conversations/HoverToggle.tsx | 4 +- .../Endpoints/SaveAsPresetDialog.tsx | 4 +- .../Endpoints/Settings/Advanced.tsx | 2 +- .../Endpoints/Settings/Examples.tsx | 4 +- .../Endpoints/Settings/OptionHover.tsx | 2 +- .../Files/FileList/DataTableFile.tsx | 2 +- .../Input/Generations/Regenerate.tsx | 2 +- .../Input/ModelSelect/TemporaryChat.tsx | 2 +- .../components/Messages/Content/CodeBlock.tsx | 2 +- .../components/Messages/Content/Container.tsx | 2 +- .../Messages/Content/ResultSwitcher.tsx | 2 +- .../src/components/Messages/ContentRender.tsx | 6 +- client/src/components/Nav/AccountSettings.tsx | 2 +- .../components/Nav/Bookmarks/BookmarkNav.tsx | 4 +- client/src/components/Nav/Nav.tsx | 2 +- client/src/components/Nav/NewChat.tsx | 2 +- client/src/components/Nav/SearchBar.tsx | 2 +- client/src/components/Nav/Settings.tsx | 4 +- .../SettingsTabs/Account/BackupCodesItem.tsx | 2 +- .../General/ArchivedChatsTable.tsx | 2 +- .../Nav/SettingsTabs/HoverCardSettings.tsx | 2 +- .../Plugins/Store/PluginAuthForm.tsx | 2 +- .../Plugins/Store/PluginStoreDialog.tsx | 2 +- .../Prompts/Groups/ChatGroupItem.tsx | 2 +- .../Prompts/Groups/CreatePromptForm.tsx | 2 +- .../Prompts/Groups/DashGroupItem.tsx | 2 +- .../Prompts/Groups/GroupSidePanel.tsx | 2 +- client/src/components/Prompts/Groups/List.tsx | 2 +- .../src/components/Prompts/PromptEditor.tsx | 4 +- client/src/components/Prompts/PromptName.tsx | 4 +- .../src/components/Prompts/PromptVersions.tsx | 2 +- client/src/components/Prompts/PromptsView.tsx | 2 +- client/src/components/Share/Message.tsx | 4 +- client/src/components/Share/MessagesView.tsx | 2 +- client/src/components/Share/ShareView.tsx | 2 +- .../SidePanel/Agents/ActionsInput.tsx | 6 +- .../SidePanel/Agents/AgentConfig.tsx | 2 +- .../SidePanel/Agents/AgentPanel.tsx | 2 +- .../SidePanel/Bookmarks/BookmarkTable.tsx | 2 +- .../components/SidePanel/Builder/Action.tsx | 4 +- .../SidePanel/Builder/ActionCallback.tsx | 2 +- .../SidePanel/Builder/ActionsAuth.tsx | 6 +- .../SidePanel/Builder/ActionsInput.tsx | 6 +- .../SidePanel/Builder/AssistantPanel.tsx | 4 +- .../SidePanel/Builder/AssistantSelect.tsx | 2 +- .../SidePanel/Files/PanelFileCell.tsx | 2 +- .../components/SidePanel/Files/PanelTable.tsx | 4 +- client/src/components/SidePanel/Nav.tsx | 4 +- .../SidePanel/Parameters/DynamicTextarea.tsx | 2 +- .../SidePanel/Parameters/OptionHover.tsx | 2 +- client/src/components/SidePanel/SidePanel.tsx | 2 +- .../src/components/Tools/ToolSelectDialog.tsx | 4 +- client/src/components/svg/DotsIcon.tsx | 2 +- client/src/components/svg/Files/FileIcon.tsx | 2 +- client/src/components/ui/AlertDialog.tsx | 4 +- .../src/components/ui/AnimatedSearchInput.tsx | 12 +- client/src/components/ui/Button.tsx | 2 +- client/src/components/ui/Checkbox.tsx | 2 +- client/src/components/ui/Combobox.tsx | 4 +- client/src/components/ui/ControlCombobox.tsx | 8 +- .../components/ui/DataTableColumnHeader.tsx | 2 +- client/src/components/ui/Dialog.tsx | 14 +- client/src/components/ui/DropdownMenu.tsx | 8 +- client/src/components/ui/DropdownNoState.tsx | 2 +- client/src/components/ui/DropdownPopup.tsx | 2 +- client/src/components/ui/HoverCard.tsx | 2 +- client/src/components/ui/Input.tsx | 2 +- client/src/components/ui/InputCombobox.tsx | 8 +- client/src/components/ui/InputNumber.tsx | 4 +- client/src/components/ui/InputOTP.tsx | 4 +- .../src/components/ui/InputWithDropDown.tsx | 4 +- client/src/components/ui/ModelParameters.tsx | 2 +- client/src/components/ui/MultiSearch.tsx | 4 +- .../src/components/ui/MultiSelectDropDown.tsx | 4 +- client/src/components/ui/MultiSelectPop.tsx | 2 +- client/src/components/ui/OriginalDialog.tsx | 2 +- client/src/components/ui/Resizable.tsx | 4 +- client/src/components/ui/Select.tsx | 4 +- client/src/components/ui/SelectDropDown.tsx | 2 +- client/src/components/ui/Slider.tsx | 2 +- client/src/components/ui/Switch.tsx | 2 +- client/src/components/ui/Table.tsx | 2 +- client/src/components/ui/Tabs.tsx | 2 +- .../components/ui/TermsAndConditionsModal.tsx | 2 +- client/src/components/ui/Textarea.tsx | 2 +- client/src/components/ui/ThemeSelector.tsx | 2 +- client/src/components/ui/Toast.tsx | 2 +- client/src/routes/Layouts/DashBreadcrumb.tsx | 8 +- client/src/routes/RouteErrorBoundary.tsx | 2 +- client/src/routes/Search.tsx | 2 +- client/src/style.css | 12 +- client/src/utils/index.ts | 8 +- ...tailwind.config.js => tailwind.config.mjs} | 14 +- client/vite.config.ts | 28 +- package-lock.json | 4060 +++-------------- packages/mcp/package.json | 2 +- 145 files changed, 906 insertions(+), 3712 deletions(-) delete mode 100644 client/postcss.config.js rename client/{tailwind.config.js => tailwind.config.mjs} (95%) diff --git a/.prettierrc b/.prettierrc index 9c4eb2e35d..488a7801f7 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,5 @@ { - "tailwindConfig": "./client/tailwind.config.cjs", + "tailwindConfig": "./client/tailwind.config.mjs", "printWidth": 100, "tabWidth": 2, "useTabs": false, diff --git a/client/package.json b/client/package.json index 8ee9c79ffa..6c678f902c 100644 --- a/client/package.json +++ b/client/package.json @@ -65,7 +65,7 @@ "framer-motion": "^11.5.4", "html-to-image": "^1.11.11", "i18next": "^24.2.2", - "i18next-browser-languagedetector": "^8.0.3", + "i18next-browser-languagedetector": "^8.0.4", "input-otp": "^1.4.2", "js-cookie": "^3.0.5", "librechat-data-provider": "*", @@ -83,7 +83,7 @@ "react-flip-toolkit": "^7.1.0", "react-gtm-module": "^2.0.11", "react-hook-form": "^7.43.9", - "react-i18next": "^15.4.0", + "react-i18next": "^15.4.1", "react-lazy-load-image-component": "^1.6.0", "react-markdown": "^9.0.1", "react-resizable-panels": "^2.1.7", @@ -101,9 +101,9 @@ "remark-math": "^6.0.0", "remark-supersub": "^1.0.0", "sse.js": "^2.5.0", - "tailwind-merge": "^1.9.1", - "tailwindcss-animate": "^1.0.5", - "tailwindcss-radix": "^2.8.0", + "tailwind-merge": "^3.0.2", + "tailwindcss-animate": "^1.0.7", + "tailwindcss-radix": "^4.0.2", "zod": "^3.22.4" }, "devDependencies": { @@ -121,7 +121,7 @@ "@types/node": "^20.3.0", "@types/react": "^18.2.11", "@types/react-dom": "^18.2.4", - "@vitejs/plugin-react": "^4.2.1", + "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "^10.4.20", "babel-plugin-replace-ts-export-assignment": "^0.0.2", "babel-plugin-root-import": "^6.6.0", @@ -134,15 +134,13 @@ "jest-environment-jsdom": "^29.7.0", "jest-file-loader": "^1.0.3", "jest-junit": "^16.0.0", - "postcss": "^8.5.3", - "postcss-loader": "^8.1.1", - "postcss-preset-env": "^10.1.5", - "tailwindcss": "^3.4.17", - "ts-jest": "^29.2.6", + "tailwindcss": "^4.0.9", + "@tailwindcss/vite": "^4.0.9", + "ts-jest": "^29.2.5", "typescript": "^5.3.3", "vite": "^6.1.0", - "vite-plugin-compression": "^0.5.1", "vite-plugin-node-polyfills": "^0.17.0", + "vite-plugin-compression": "^0.5.1", "vite-plugin-pwa": "^0.21.1" } } diff --git a/client/postcss.config.js b/client/postcss.config.js deleted file mode 100644 index 5b60a8e697..0000000000 --- a/client/postcss.config.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - plugins: { - 'postcss-import': {}, - 'postcss-preset-env': {}, - tailwindcss: {}, - autoprefixer: {}, - } -} \ No newline at end of file diff --git a/client/src/App.jsx b/client/src/App.jsx index 38e568e422..29f69adff3 100644 --- a/client/src/App.jsx +++ b/client/src/App.jsx @@ -35,7 +35,7 @@ const App = () => { - + diff --git a/client/src/components/Artifacts/ArtifactTabs.tsx b/client/src/components/Artifacts/ArtifactTabs.tsx index 2704ebae72..e9033f966f 100644 --- a/client/src/components/Artifacts/ArtifactTabs.tsx +++ b/client/src/components/Artifacts/ArtifactTabs.tsx @@ -31,7 +31,7 @@ export default function ArtifactTabs({ ref={contentRef} value="code" id="artifacts-code" - className={cn('flex-grow overflow-auto')} + className={cn('grow overflow-auto')} > {children}; + return {children}; }); export const CodeMarkdown = memo( diff --git a/client/src/components/Audio/Voices.tsx b/client/src/components/Audio/Voices.tsx index 963ff250d8..b59c14f8da 100644 --- a/client/src/components/Audio/Voices.tsx +++ b/client/src/components/Audio/Voices.tsx @@ -27,7 +27,7 @@ export function EdgeVoiceDropdown() { value={voice ?? ''} options={voices} onChange={handleVoiceChange} - sizeClasses="min-w-[200px] !max-w-[400px] [--anchor-max-width:400px]" + sizeClasses="min-w-[200px] max-w-[400px]! [--anchor-max-width:400px]" testId="EdgeVoiceDropdown" /> @@ -55,7 +55,7 @@ export function BrowserVoiceDropdown() { value={voice ?? ''} options={voices} onChange={handleVoiceChange} - sizeClasses="min-w-[200px] !max-w-[400px] [--anchor-max-width:400px]" + sizeClasses="min-w-[200px] max-w-[400px]! [--anchor-max-width:400px]" testId="BrowserVoiceDropdown" /> @@ -83,7 +83,7 @@ export function ExternalVoiceDropdown() { value={voice ?? ''} options={voices} onChange={handleVoiceChange} - sizeClasses="min-w-[200px] !max-w-[400px] [--anchor-max-width:400px]" + sizeClasses="min-w-[200px] max-w-[400px]! [--anchor-max-width:400px]" testId="ExternalVoiceDropdown" /> diff --git a/client/src/components/Auth/AuthLayout.tsx b/client/src/components/Auth/AuthLayout.tsx index d90f0d3dfe..6b0a8898d9 100644 --- a/client/src/components/Auth/AuthLayout.tsx +++ b/client/src/components/Auth/AuthLayout.tsx @@ -74,7 +74,7 @@ function AuthLayout({ -
+
{!hasStartupConfigError && !isFetching && (

(
{children}
diff --git a/client/src/components/Auth/LoginForm.tsx b/client/src/components/Auth/LoginForm.tsx index 2cd62d08b9..da63a47dc6 100644 --- a/client/src/components/Auth/LoginForm.tsx +++ b/client/src/components/Auth/LoginForm.tsx @@ -98,7 +98,7 @@ const LoginForm: React.FC = ({ onSubmit, startupConfig, error, aria-invalid={!!errors.email} className=" webkit-dark-styles transition-color peer w-full rounded-2xl border border-border-light - bg-surface-primary px-3.5 pb-2.5 pt-3 text-text-primary duration-200 focus:border-green-500 focus:outline-none + bg-surface-primary px-3.5 pb-2.5 pt-3 text-text-primary duration-200 focus:border-green-500 focus:outline-hidden " placeholder=" " /> @@ -108,7 +108,7 @@ const LoginForm: React.FC = ({ onSubmit, startupConfig, error, absolute start-3 top-1.5 z-10 origin-[0] -translate-y-4 scale-75 transform bg-surface-primary px-2 text-sm text-text-secondary-alt duration-200 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:scale-100 peer-focus:top-1.5 peer-focus:-translate-y-4 peer-focus:scale-75 peer-focus:px-2 peer-focus:text-green-600 dark:peer-focus:text-green-500 - rtl:peer-focus:left-auto rtl:peer-focus:translate-x-1/4 + peer-focus:rtl:left-auto peer-focus:rtl:translate-x-1/4 " > {useUsernameLogin @@ -133,7 +133,7 @@ const LoginForm: React.FC = ({ onSubmit, startupConfig, error, aria-invalid={!!errors.password} className=" webkit-dark-styles transition-color peer w-full rounded-2xl border border-border-light - bg-surface-primary px-3.5 pb-2.5 pt-3 text-text-primary duration-200 focus:border-green-500 focus:outline-none + bg-surface-primary px-3.5 pb-2.5 pt-3 text-text-primary duration-200 focus:border-green-500 focus:outline-hidden " placeholder=" " /> @@ -143,7 +143,7 @@ const LoginForm: React.FC = ({ onSubmit, startupConfig, error, absolute start-3 top-1.5 z-10 origin-[0] -translate-y-4 scale-75 transform bg-surface-primary px-2 text-sm text-text-secondary-alt duration-200 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:scale-100 peer-focus:top-1.5 peer-focus:-translate-y-4 peer-focus:scale-75 peer-focus:px-2 peer-focus:text-green-600 dark:peer-focus:text-green-500 - rtl:peer-focus:left-auto rtl:peer-focus:translate-x-1/4 + peer-focus:rtl:left-auto peer-focus:rtl:translate-x-1/4 " > {localize('com_auth_password')} diff --git a/client/src/components/Auth/Registration.tsx b/client/src/components/Auth/Registration.tsx index 047808ffea..c1be8b21ef 100644 --- a/client/src/components/Auth/Registration.tsx +++ b/client/src/components/Auth/Registration.tsx @@ -71,7 +71,7 @@ const Registration: React.FC = () => { aria-invalid={!!errors[id]} className=" webkit-dark-styles transition-color peer w-full rounded-2xl border border-border-light - bg-surface-primary px-3.5 pb-2.5 pt-3 text-text-primary duration-200 focus:border-green-500 focus:outline-none + bg-surface-primary px-3.5 pb-2.5 pt-3 text-text-primary duration-200 focus:border-green-500 focus:outline-hidden " placeholder=" " data-testid={id} @@ -82,7 +82,7 @@ const Registration: React.FC = () => { absolute start-3 top-1.5 z-10 origin-[0] -translate-y-4 scale-75 transform bg-surface-primary px-2 text-sm text-text-secondary-alt duration-200 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:scale-100 peer-focus:top-1.5 peer-focus:-translate-y-4 peer-focus:scale-75 peer-focus:px-2 peer-focus:text-green-500 - rtl:peer-focus:left-auto rtl:peer-focus:translate-x-1/4 + peer-focus:rtl:left-auto peer-focus:rtl:translate-x-1/4 " > {localize(label)} @@ -185,7 +185,7 @@ const Registration: React.FC = () => { aria-label="Submit registration" className=" w-full rounded-2xl bg-green-600 px-4 py-3 text-sm font-medium text-white - transition-colors hover:bg-green-700 focus:outline-none focus:ring-2 + transition-colors hover:bg-green-700 focus:outline-hidden focus:ring-2 focus:ring-green-500 focus:ring-offset-2 disabled:opacity-50 disabled:hover:bg-green-600 dark:bg-green-600 dark:hover:bg-green-700 " diff --git a/client/src/components/Auth/RequestPasswordReset.tsx b/client/src/components/Auth/RequestPasswordReset.tsx index 1010c90a98..a76286a47f 100644 --- a/client/src/components/Auth/RequestPasswordReset.tsx +++ b/client/src/components/Auth/RequestPasswordReset.tsx @@ -10,7 +10,7 @@ import { useLocalize } from '~/hooks'; const BodyTextWrapper: FC<{ children: ReactNode }> = ({ children }) => { return (
{children} @@ -108,7 +108,7 @@ function RequestPasswordReset() { className=" peer w-full rounded-lg border border-gray-300 bg-transparent px-4 py-3 text-base text-gray-900 placeholder-transparent transition-all - focus:border-green-500 focus:outline-none focus:ring-2 focus:ring-green-500/20 + focus:border-green-500 focus:outline-hidden focus:ring-2 focus:ring-green-500/20 dark:border-gray-700 dark:text-white dark:focus:border-green-500 " placeholder="email@example.com" @@ -138,7 +138,7 @@ function RequestPasswordReset() { disabled={!!errors.email} className=" w-full rounded-2xl bg-green-600 px-4 py-3 text-sm font-medium text-white - transition-colors hover:bg-green-700 focus:outline-none focus:ring-2 + transition-colors hover:bg-green-700 focus:outline-hidden focus:ring-2 focus:ring-green-500 focus:ring-offset-2 disabled:opacity-50 disabled:hover:bg-green-600 dark:bg-green-600 dark:hover:bg-green-700 " diff --git a/client/src/components/Auth/ResetPassword.tsx b/client/src/components/Auth/ResetPassword.tsx index 3039e81c29..e115f5bff6 100644 --- a/client/src/components/Auth/ResetPassword.tsx +++ b/client/src/components/Auth/ResetPassword.tsx @@ -43,7 +43,7 @@ function ResetPassword() { @@ -91,7 +91,7 @@ function ResetPassword() { aria-invalid={!!errors.password} className=" webkit-dark-styles transition-color peer w-full rounded-2xl border border-border-light - bg-surface-primary px-3.5 pb-2.5 pt-3 text-text-primary duration-200 focus:border-green-500 focus:outline-none + bg-surface-primary px-3.5 pb-2.5 pt-3 text-text-primary duration-200 focus:border-green-500 focus:outline-hidden " placeholder=" " /> @@ -101,7 +101,7 @@ function ResetPassword() { absolute start-3 top-1.5 z-10 origin-[0] -translate-y-4 scale-75 transform bg-surface-primary px-2 text-sm text-text-secondary-alt duration-200 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:scale-100 peer-focus:top-1.5 peer-focus:-translate-y-4 peer-focus:scale-75 peer-focus:px-2 peer-focus:text-green-500 - rtl:peer-focus:left-auto rtl:peer-focus:translate-x-1/4 + peer-focus:rtl:left-auto peer-focus:rtl:translate-x-1/4 " > {localize('com_auth_password')} @@ -126,7 +126,7 @@ function ResetPassword() { aria-invalid={!!errors.confirm_password} className=" webkit-dark-styles transition-color peer w-full rounded-2xl border border-border-light - bg-surface-primary px-3.5 pb-2.5 pt-3 text-text-primary duration-200 focus:border-green-500 focus:outline-none + bg-surface-primary px-3.5 pb-2.5 pt-3 text-text-primary duration-200 focus:border-green-500 focus:outline-hidden " placeholder=" " /> @@ -136,7 +136,7 @@ function ResetPassword() { absolute start-3 top-1.5 z-10 origin-[0] -translate-y-4 scale-75 transform bg-surface-primary px-2 text-sm text-text-secondary-alt duration-200 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:scale-100 peer-focus:top-1.5 peer-focus:-translate-y-4 peer-focus:scale-75 peer-focus:px-2 peer-focus:text-green-500 - rtl:peer-focus:left-auto rtl:peer-focus:translate-x-1/4 + peer-focus:rtl:left-auto peer-focus:rtl:translate-x-1/4 " > {localize('com_auth_password_confirm')} @@ -165,7 +165,7 @@ function ResetPassword() { aria-label={localize('com_auth_submit_registration')} className=" w-full rounded-2xl bg-green-600 px-4 py-3 text-sm font-medium text-white - transition-colors hover:bg-green-700 focus:outline-none focus:ring-2 + transition-colors hover:bg-green-700 focus:outline-hidden focus:ring-2 focus:ring-green-500 focus:ring-offset-2 disabled:opacity-50 disabled:hover:bg-green-600 dark:bg-green-600 dark:hover:bg-green-700 " diff --git a/client/src/components/Banners/Banner.tsx b/client/src/components/Banners/Banner.tsx index d4bc2e5853..d3681e0b4e 100644 --- a/client/src/components/Banners/Banner.tsx +++ b/client/src/components/Banners/Banner.tsx @@ -29,7 +29,7 @@ export const Banner = ({ onHeightChange }: { onHeightChange?: (height: number) = return (
diff --git a/client/src/components/Bookmarks/BookmarkItem.tsx b/client/src/components/Bookmarks/BookmarkItem.tsx index 92a6df0b54..9ce10fd316 100644 --- a/client/src/components/Bookmarks/BookmarkItem.tsx +++ b/client/src/components/Bookmarks/BookmarkItem.tsx @@ -46,7 +46,7 @@ const BookmarkItem: FC = ({ tag, selected, handleSubmit, icon, .. return ( - +
diff --git a/client/src/components/Chat/Input/OptionsPopover.tsx b/client/src/components/Chat/Input/OptionsPopover.tsx index a49d31f334..19403f2189 100644 --- a/client/src/components/Chat/Input/OptionsPopover.tsx +++ b/client/src/components/Chat/Input/OptionsPopover.tsx @@ -54,7 +54,7 @@ export default function OptionsPopover({ return ( -
+
{ diff --git a/client/src/components/Chat/Input/TemporaryChat.tsx b/client/src/components/Chat/Input/TemporaryChat.tsx index c1f571ba47..82b28773d2 100644 --- a/client/src/components/Chat/Input/TemporaryChat.tsx +++ b/client/src/components/Chat/Input/TemporaryChat.tsx @@ -16,7 +16,7 @@ export const TemporaryChat = ({ isTemporaryChat, setIsTemporaryChat }: Temporary return (
- +
@@ -25,7 +25,7 @@ export const TemporaryChat = ({ isTemporaryChat, setIsTemporaryChat }: Temporary {localize('com_ui_temporary_chat')}
width ? 1 / 1.75 : 1.75 / 1 }} > diff --git a/client/src/components/Chat/Messages/Content/EditMessage.tsx b/client/src/components/Chat/Messages/Content/EditMessage.tsx index aa2eca2d11..58af63718d 100644 --- a/client/src/components/Chat/Messages/Content/EditMessage.tsx +++ b/client/src/components/Chat/Messages/Content/EditMessage.tsx @@ -150,7 +150,7 @@ const EditMessage = ({ return ( -
+
{ diff --git a/client/src/components/Chat/Messages/Content/Parts/EditTextPart.tsx b/client/src/components/Chat/Messages/Content/Parts/EditTextPart.tsx index e6736b192e..5ce990a1cb 100644 --- a/client/src/components/Chat/Messages/Content/Parts/EditTextPart.tsx +++ b/client/src/components/Chat/Messages/Content/Parts/EditTextPart.tsx @@ -146,7 +146,7 @@ const EditTextPart = ({ return ( -
+
{ diff --git a/client/src/components/Chat/Messages/Content/Parts/LogLink.tsx b/client/src/components/Chat/Messages/Content/Parts/LogLink.tsx index c1886e7460..e8ee829932 100644 --- a/client/src/components/Chat/Messages/Content/Parts/LogLink.tsx +++ b/client/src/components/Chat/Messages/Content/Parts/LogLink.tsx @@ -42,7 +42,7 @@ const LogLink: React.FC = ({ href, filename, children }) => { onClick={handleDownload} target="_blank" rel="noopener noreferrer" - className="!text-blue-400 visited:!text-purple-400 hover:underline" + className="text-blue-400! visited:text-purple-400! hover:underline" > {children} diff --git a/client/src/components/Chat/Messages/Content/ToolPopover.tsx b/client/src/components/Chat/Messages/Content/ToolPopover.tsx index 198f64b3e0..a22ac30cb0 100644 --- a/client/src/components/Chat/Messages/Content/ToolPopover.tsx +++ b/client/src/components/Chat/Messages/Content/ToolPopover.tsx @@ -48,7 +48,7 @@ export default function ToolPopover({
{title}
- {formatText(input)} + {formatText(input)}
{output != null && output && ( @@ -58,7 +58,7 @@ export default function ToolPopover({
- {formatText(output)} + {formatText(output)}
diff --git a/client/src/components/Chat/Messages/HoverButtons.tsx b/client/src/components/Chat/Messages/HoverButtons.tsx index 9558c5c8f1..989da54bd7 100644 --- a/client/src/components/Chat/Messages/HoverButtons.tsx +++ b/client/src/components/Chat/Messages/HoverButtons.tsx @@ -71,7 +71,7 @@ export default function HoverButtons({ return ( @@ -110,7 +110,7 @@ export default function HoverButtons({ content={message.content ?? message.text} isLast={isLast} className={cn( - 'ml-0 flex items-center gap-1.5 rounded-md p-1 text-xs hover:bg-gray-100 hover:text-gray-500 focus:opacity-100 dark:text-gray-400/70 dark:hover:bg-gray-700 dark:hover:text-gray-200 disabled:dark:hover:text-gray-400 md:group-hover:visible md:group-[.final-completion]:visible', + 'ml-0 flex items-center gap-1.5 rounded-md p-1 text-xs hover:bg-gray-100 hover:text-gray-500 focus:opacity-100 dark:text-gray-400/70 dark:hover:bg-gray-700 dark:hover:text-gray-200 dark:disabled:hover:text-gray-400 md:group-hover:visible md:group-[.final-completion]:visible', )} /> )} @@ -118,7 +118,7 @@ export default function HoverButtons({ ) : null}
diff --git a/client/src/components/Chat/Messages/MessageParts.tsx b/client/src/components/Chat/Messages/MessageParts.tsx index 7104528566..c8d297ac87 100644 --- a/client/src/components/Chat/Messages/MessageParts.tsx +++ b/client/src/components/Chat/Messages/MessageParts.tsx @@ -80,7 +80,7 @@ export default function Message(props: TMessageProps) { >
-
+
@@ -97,7 +97,7 @@ export default function Message(props: TMessageProps) { >
{name}
-
+
diff --git a/client/src/components/Chat/Messages/MinimalHoverButtons.tsx b/client/src/components/Chat/Messages/MinimalHoverButtons.tsx index a5b717c96b..a2ce8395ba 100644 --- a/client/src/components/Chat/Messages/MinimalHoverButtons.tsx +++ b/client/src/components/Chat/Messages/MinimalHoverButtons.tsx @@ -15,7 +15,7 @@ export default function MinimalHoverButtons({ message }: THoverButtons) { return (
- + {siblingIdx + 1} / {siblingCount} @@ -203,7 +203,7 @@ export default function Fork({
diff --git a/client/src/components/Conversations/HoverToggle.tsx b/client/src/components/Conversations/HoverToggle.tsx index 79bfc1222a..23466fa7f2 100644 --- a/client/src/components/Conversations/HoverToggle.tsx +++ b/client/src/components/Conversations/HoverToggle.tsx @@ -26,8 +26,8 @@ const HoverToggle = ({ 'peer items-center gap-1.5 rounded-r-lg from-gray-900 pl-2 pr-2 dark:text-white', isPopoverActive || isActiveConvo ? 'flex' : 'hidden group-hover:flex', isActiveConvo - ? 'from-gray-50 from-85% to-transparent group-hover:bg-gradient-to-l group-hover:from-gray-200 dark:from-gray-800 dark:group-hover:from-gray-800' - : 'z-50 from-gray-50 from-0% to-transparent hover:bg-gradient-to-l hover:from-gray-200 dark:from-gray-800 dark:hover:from-gray-800', + ? 'from-gray-50 from-85% to-transparent group-hover:bg-linear-to-l group-hover:from-gray-200 dark:from-gray-800 dark:group-hover:from-gray-800' + : 'z-50 from-gray-50 from-0% to-transparent hover:bg-linear-to-l hover:from-gray-200 dark:from-gray-800 dark:hover:from-gray-800', isPopoverActive && !isActiveConvo ? 'from-gray-50 dark:from-gray-800' : '', className, )} diff --git a/client/src/components/Endpoints/SaveAsPresetDialog.tsx b/client/src/components/Endpoints/SaveAsPresetDialog.tsx index b827a2d8c2..5b11691ff1 100644 --- a/client/src/components/Endpoints/SaveAsPresetDialog.tsx +++ b/client/src/components/Endpoints/SaveAsPresetDialog.tsx @@ -58,8 +58,8 @@ const SaveAsPresetDialog = ({ open, onOpenChange, preset }: TEditPresetProps) => diff --git a/client/src/components/Endpoints/Settings/Advanced.tsx b/client/src/components/Endpoints/Settings/Advanced.tsx index 601e9a675c..0b27edc468 100644 --- a/client/src/components/Endpoints/Settings/Advanced.tsx +++ b/client/src/components/Endpoints/Settings/Advanced.tsx @@ -292,7 +292,7 @@ export default function Settings({ className={cn( defaultTextProps, optionText, - 'flex rounded-md bg-transparent py-2 text-xs focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-offset-2 dark:border-gray-700', + 'flex rounded-md bg-transparent py-2 text-xs focus:outline-hidden focus:ring-2 focus:ring-gray-400 focus:ring-offset-2 dark:border-gray-700', 'pointer-events-none max-h-5 w-12 border-0 group-hover/temp:border-gray-200', )} /> diff --git a/client/src/components/Endpoints/Settings/Examples.tsx b/client/src/components/Endpoints/Settings/Examples.tsx index 98dac9ea94..054dd2e755 100644 --- a/client/src/components/Endpoints/Settings/Examples.tsx +++ b/client/src/components/Endpoints/Settings/Examples.tsx @@ -78,14 +78,14 @@ function Examples({ readonly, examples, setExample, addExample, removeExample }:
); diff --git a/client/src/components/Input/ModelSelect/TemporaryChat.tsx b/client/src/components/Input/ModelSelect/TemporaryChat.tsx index 3b0cae4912..78368133f9 100644 --- a/client/src/components/Input/ModelSelect/TemporaryChat.tsx +++ b/client/src/components/Input/ModelSelect/TemporaryChat.tsx @@ -48,7 +48,7 @@ export const TemporaryChat = () => { {localize('com_ui_temporary_chat')}
-
+
= ({ {codeChildren} diff --git a/client/src/components/Messages/Content/Container.tsx b/client/src/components/Messages/Content/Container.tsx index 445e2019f2..bad054da25 100644 --- a/client/src/components/Messages/Content/Container.tsx +++ b/client/src/components/Messages/Content/Container.tsx @@ -1,6 +1,6 @@ // Container Component const Container = ({ children }: { children: React.ReactNode }) => ( -
{children}
+
{children}
); export default Container; diff --git a/client/src/components/Messages/Content/ResultSwitcher.tsx b/client/src/components/Messages/Content/ResultSwitcher.tsx index eb8c59b568..8de0b22f7e 100644 --- a/client/src/components/Messages/Content/ResultSwitcher.tsx +++ b/client/src/components/Messages/Content/ResultSwitcher.tsx @@ -38,7 +38,7 @@ const ResultSwitcher: React.FC = ({ - + {currentIndex + 1} / {totalCount}

diff --git a/client/src/components/Prompts/PromptVersions.tsx b/client/src/components/Prompts/PromptVersions.tsx index b221087de4..03f2e33aab 100644 --- a/client/src/components/Prompts/PromptVersions.tsx +++ b/client/src/components/Prompts/PromptVersions.tsx @@ -106,7 +106,7 @@ const VersionCard = ({ 'group relative w-full rounded-lg border border-border-light p-4 transition-all duration-300', isSelected ? 'bg-surface-hover shadow-xl' - : 'bg-surface-primary shadow-sm hover:bg-surface-secondary', + : 'bg-surface-primary shadow-2xs hover:bg-surface-secondary', )} onClick={onClick} aria-selected={isSelected} diff --git a/client/src/components/Prompts/PromptsView.tsx b/client/src/components/Prompts/PromptsView.tsx index 9a5b3f4eaa..027553a3cf 100644 --- a/client/src/components/Prompts/PromptsView.tsx +++ b/client/src/components/Prompts/PromptsView.tsx @@ -36,7 +36,7 @@ export default function PromptsView() { return (
-
+
diff --git a/client/src/components/Share/Message.tsx b/client/src/components/Share/Message.tsx index 85f60cbe78..67957cc2e2 100644 --- a/client/src/components/Share/Message.tsx +++ b/client/src/components/Share/Message.tsx @@ -50,7 +50,7 @@ export default function Message(props: TMessageProps) {
-
+
@@ -64,7 +64,7 @@ export default function Message(props: TMessageProps) { >
{messageLabel}
-
+
)} -
+
diff --git a/client/src/components/Share/ShareView.tsx b/client/src/components/Share/ShareView.tsx index 5317678fbf..e4b0d47928 100644 --- a/client/src/components/Share/ShareView.tsx +++ b/client/src/components/Share/ShareView.tsx @@ -69,7 +69,7 @@ function SharedView() {
{content}
-
+
diff --git a/client/src/components/SidePanel/Agents/ActionsInput.tsx b/client/src/components/SidePanel/Agents/ActionsInput.tsx index b2c2b9d51b..2802d2b3cb 100644 --- a/client/src/components/SidePanel/Agents/ActionsInput.tsx +++ b/client/src/components/SidePanel/Agents/ActionsInput.tsx @@ -235,7 +235,7 @@ export default function ActionsInput({ onChange={handleInputChange} spellCheck="false" placeholder={localize('com_ui_enter_openapi_schema')} - className="text-token-text-primary block h-96 w-full bg-transparent p-2 font-mono text-xs outline-none focus:ring-1 focus:ring-border-light" + className="text-token-text-primary block h-96 w-full bg-transparent p-2 font-mono text-xs outline-hidden focus:ring-1 focus:ring-border-light" /> {/* TODO: format input button */}
@@ -269,7 +269,7 @@ export default function ActionsInput({
@@ -277,7 +277,7 @@ export default function ActionsInput({