mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-30 15:18:50 +01:00
* refactor(OpenSidebar): removed useless classNames
* style(Header): update hover styles across various components for improved UI consistency
* style(Nav): update hover styles in AccountSettings and SearchBar for improved UI consistency
* style: update button classes for consistent hover effects and improved UI responsiveness
* style(Nav, OpenSidebar, Header, Convo): improve UI responsiveness and animation transitions
* style(PresetsMenu, NewChat): update icon sizes and improve component styling for better UI consistency
* style(Nav, Root): enhance sidebar mobile animations and responsiveness for better UI experience
* style(ExportAndShareMenu, BookmarkMenu): update icon sizes for improved UI consistency
* style: remove transition duration from button classes for improved UI responsiveness
* style(CustomMenu, ModelSelector): update background colors for improved UI consistency and responsiveness
* style(ExportAndShareMenu): update icon color for improved UI consistency
* style(TemporaryChat): refine button styles for improved UI consistency and responsiveness
* style(BookmarkNav): refactor to use DropdownPopup and remove BookmarkNavItems for improved UI consistency and functionality
* style(CustomMenu, EndpointItem): enhance UI elements for improved consistency and accessibility
* style(EndpointItem): adjust gap in icon container for improved layout consistency
* style(CustomMenu, EndpointItem): update focus ring color for improved UI consistency
* style(EndpointItem): update icon color for improved UI consistency in dark theme
* style: update focus styles for improved accessibility and consistency across components
* refactor(Nav): extract sidebar width to NAV_WIDTH constant
Centralize mobile (320px) and desktop (260px) sidebar widths in a single
exported constant to avoid magic numbers and ensure consistency.
* fix(BookmarkNav): memoize handlers used in useMemo
Wrap handleTagClick and handleClear in useCallback and add them to the
dropdownItems useMemo dependency array to prevent stale closures.
* feat: introduce FilterInput component and replace existing inputs with it across multiple components
* feat(DataTable): replace custom input with FilterInput component for improved filtering
* fix: Nested dialog overlay stacking issue
Fixes overlay appearing behind content when opening nested dialogs.
Introduced dynamic z-index calculation based on dialog depth using React context.
- First dialog: overlay z-50, content z-100
- Nested dialogs increment by 60: overlay z-110/content z-160, etc.
Preserves a11y escape key handling from #10975 and #10851.
Regression from #11008 (afb67fcf1) which increased content z-index
without adjusting overlay z-index for nested dialog scenarios.
* Refactor admin settings components to use a unified AdminSettingsDialog
- Removed redundant code from AdminSettings, MCPAdminSettings, and Memories AdminSettings components.
- Introduced AdminSettingsDialog component to handle permission management for different sections.
- Updated permission handling logic to use a consistent structure across components.
- Enhanced role selection and permission confirmation features in the new dialog.
- Improved UI consistency and maintainability by centralizing dialog functionality.
* refactor(Memory): memory management UI components and replace MemoryViewer with MemoryPanel
* refactor(Memory): enhance UI components for Memory dialogs and improve input styling
* refactor(Bookmarks): improve bookmark management UI with enhanced styling
* refactor(translations): remove redundant filter input and bookmark count entries
* refactor(Convo): integrate useShiftKey hook for enhanced keyboard interaction and improve UI responsiveness
115 lines
3.8 KiB
JSON
115 lines
3.8 KiB
JSON
{
|
|
"name": "@librechat/client",
|
|
"version": "0.4.3",
|
|
"description": "React components for LibreChat",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/danny-avila/LibreChat"
|
|
},
|
|
"main": "dist/index.js",
|
|
"module": "dist/index.es.js",
|
|
"types": "dist/types/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"import": "./dist/index.es.js",
|
|
"require": "./dist/index.js",
|
|
"types": "./dist/types/index.d.ts"
|
|
}
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"scripts": {
|
|
"clean": "rimraf dist",
|
|
"b:clean": "bun run rimraf dist",
|
|
"build": "npm run clean && rollup -c --bundleConfigAsCjs",
|
|
"build:dev": "npm run clean && NODE_ENV=development rollup -c --bundleConfigAsCjs",
|
|
"b:build": "bun run b:clean && bun run rollup -c --silent --bundleConfigAsCjs",
|
|
"build:watch": "rollup -c -w --bundleConfigAsCjs",
|
|
"dev": "rollup -c -w --bundleConfigAsCjs"
|
|
},
|
|
"peerDependencies": {
|
|
"@ariakit/react": "^0.4.16",
|
|
"@ariakit/react-core": "^0.4.17",
|
|
"@dicebear/collection": "^9.2.2",
|
|
"@dicebear/core": "^9.2.2",
|
|
"@headlessui/react": "^2.1.2",
|
|
"@radix-ui/react-accordion": "^1.2.11",
|
|
"@radix-ui/react-alert-dialog": "1.0.2",
|
|
"@radix-ui/react-checkbox": "^1.0.3",
|
|
"@radix-ui/react-collapsible": "^1.1.11",
|
|
"@radix-ui/react-dialog": "1.0.2",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.1",
|
|
"@radix-ui/react-hover-card": "^1.0.5",
|
|
"@radix-ui/react-icons": "^1.3.0",
|
|
"@radix-ui/react-label": "^2.1.7",
|
|
"@radix-ui/react-progress": "^1.1.2",
|
|
"@radix-ui/react-radio-group": "^1.3.7",
|
|
"@radix-ui/react-select": "^2.2.5",
|
|
"@radix-ui/react-separator": "^1.1.7",
|
|
"@radix-ui/react-slider": "^1.3.5",
|
|
"@radix-ui/react-slot": "^1.0.0",
|
|
"@radix-ui/react-switch": "^1.2.5",
|
|
"@radix-ui/react-tabs": "^1.0.3",
|
|
"@radix-ui/react-toast": "^1.1.5",
|
|
"@react-spring/web": "^10.0.1",
|
|
"@tanstack/react-query": "^4.28.0 || ^5.0.0",
|
|
"@tanstack/react-table": "^8.11.7",
|
|
"@tanstack/react-virtual": "^3.0.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"dompurify": "^3.3.0",
|
|
"framer-motion": "^12.23.6",
|
|
"i18next": "^24.2.2 || ^25.3.2",
|
|
"i18next-browser-languagedetector": "^8.2.0",
|
|
"input-otp": "^1.4.2",
|
|
"jotai": "^2.12.5",
|
|
"lucide-react": "^0.525.0",
|
|
"match-sorter": "^8.1.0",
|
|
"rc-input-number": "^7.4.2",
|
|
"react": "^18.2.0 || ^19.1.0",
|
|
"react-dom": "^18.2.0 || ^19.1.0",
|
|
"react-hook-form": "^7.56.4",
|
|
"react-i18next": "^15.4.0 || ^15.6.0",
|
|
"react-resizable-panels": "^3.0.6",
|
|
"react-textarea-autosize": "^8.4.0",
|
|
"tailwind-merge": "^1.9.1"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.28.5",
|
|
"@babel/preset-env": "^7.28.5",
|
|
"@babel/preset-react": "^7.28.5",
|
|
"@babel/preset-typescript": "^7.28.5",
|
|
"@rollup/plugin-alias": "^5.1.0",
|
|
"@rollup/plugin-commonjs": "^29.0.0",
|
|
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
"@rollup/plugin-replace": "^5.0.5",
|
|
"@tanstack/react-query": "^4.28.0",
|
|
"@tanstack/react-table": "^8.21.3",
|
|
"@tanstack/react-virtual": "^3.13.13",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^14.0.0",
|
|
"@types/jest": "^29.5.14",
|
|
"@types/react": "^18.2.11",
|
|
"@types/react-dom": "^18.2.4",
|
|
"babel-jest": "^30.2.0",
|
|
"caniuse-lite": "^1.0.30001741",
|
|
"concat-with-sourcemaps": "^1.1.0",
|
|
"i18next": "^24.2.3",
|
|
"identity-obj-proxy": "^3.0.0",
|
|
"jest": "^30.2.0",
|
|
"jest-environment-jsdom": "^30.2.0",
|
|
"jotai": "^2.12.5",
|
|
"lucide-react": "^0.525.0",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"react-i18next": "^15.4.0",
|
|
"rimraf": "^6.1.2",
|
|
"rollup": "^4.0.0",
|
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
"rollup-plugin-postcss": "^4.0.2",
|
|
"rollup-plugin-typescript2": "^0.35.0",
|
|
"tailwindcss-radix": "^2.8.0",
|
|
"typescript": "^5.0.0"
|
|
}
|
|
}
|