359 Commits
Author SHA1 Message Date
Jay Harris f58305f3a0 [Bookmarks]: Update bookmark icons in the sidebar (#36950)
* [bookmarks]: Change new folder icon

* [bookmarks]: Change folder icons

* [bookmarks]: Change expand/collapse carat

* [bookmarks]: Fix back button

* [bookmarks]: Footer

* [bookmarks]: Replace add button icon

* [bookmarks]: Fix folder fill

* [bookmarks]: Don't register CE upstream
2026-06-04 07:10:23 +01:00
Douglas Daniel 4ed78babf5 [Wallet]: Update Bug Icon and CTA Button (#36892)
Now uses our Nala Bug icon for the Report an issue button.
Updates the Report an issue button to use our Nala Button component.
2026-06-02 10:52:38 -05:00
Jay Harris ecbe1404ab [AI Chat]: Update openai icon to use the dynamically colored version (#36824) 2026-05-29 01:46:11 +01:00
Jay Harris 9c90556eab [Nala]: Update to Svelte5 version of Nala (#36524)
Changes https://github.com/brave/leo/compare/075a3f9ed76e03bdc3f63d7dc4a7269e6dbdec29...e4af287f27ef5bb412a57a057d0edbbc81326168
- **BREAKING** [Icons]: Update icons from Figma ([#1378](https://github.com/brave/leo/pull/1378))
- [svelte5]: Use unmount not destroy ([#1399](https://github.com/brave/leo/pull/1399))
- [Svelte]: Minor bump ([#1398](https://github.com/brave/leo/pull/1398))
- **BREAKING** [Svelte]: Upgrade to Svelte 5 ([#1078](https://github.com/brave/leo/pull/1078))
- chore(deps): updates deps and adds .npmrc with min-release-age ([#1391](https://github.com/brave/leo/pull/1391))
- [Toggle]: Remove :hover effect on mobile ([#1390](https://github.com/brave/leo/pull/1390))
- [Radio]: Remove :hover effect on mobile ([#1389](https://github.com/brave/leo/pull/1389))
- [Checkbox]: Disable `:hover` effect on mobile ([#1388](https://github.com/brave/leo/pull/1388))
- [Button]: Disable :hover state on mobile ([#1387](https://github.com/brave/leo/pull/1387))
- Add transform transition and press scale to button ([#1385](https://github.com/brave/leo/pull/1385))
- Navigation style updates ([#1386](https://github.com/brave/leo/pull/1386))
- Bump postcss from 8.5.6 to 8.5.14 in /examples/example-ui-react ([#1383](https://github.com/brave/leo/pull/1383))
- Bump postcss from 8.5.6 to 8.5.14 ([#1384](https://github.com/brave/leo/pull/1384))
2026-05-28 23:53:06 +01:00
Simon Hong d67f803100 Added Slovakia, Serbia flags to VPN panel (#36684)
F/U PR for #36669
2026-05-26 09:29:01 +09:00
Jay Harris 1a7cc94c5b [externals]: Share React for all ESModule JS bundles (#36597) 2026-05-25 11:11:26 +01:00
Simon Hong f56a64ca46 Added UAE, Nigeria flags to VPN panel (#36669)
Resolves brave/brave-browser#55764
2026-05-25 10:51:50 +09:00
Aleksei Khoroshilov b6295cd1c1 Add Containers enable toggle. (#36447)
* Add Containers enable toggle.

* Replace cr-toggle with settings-toggle-button.
2026-05-15 20:18:11 +07:00
Aleksei Khoroshilov 690260adff Make GN format sort leo icons files automatically. (#36445) 2026-05-15 16:16:22 +07:00
Pete Miller 593f937bfa [AI Chat] Progress indicator with text and expansion button (#35757)
* [AI Chat] Progress indicator with text and expansion button

Introduce ProgressBubble UI component.

Replaces spinner during generation and tool use, adding text description of the operation currently in progress.
Replaces AssistantTask tabs ("Steps"/"Progress") with a button to control expansion and collapse of details.
Replaces SearchSummary special handling with status inside the ProgressBubble and a regular search Tool Use event rendering when detail is expanded.
2026-05-14 20:03:03 +01:00
Douglas Daniel ab255afed3 [Wallet]: Portfolio Asset Distribution (#35340)
Introduces a Portfolio Distribution to the Wallet Portfolio
2026-04-13 15:15:45 -05:00
Kevin Smith abeef22091 [Shields Panel] Apply various UI polish tweaks (#35039) 2026-03-27 12:30:07 -04:00
Douglas Daniel b6f067d967 [Wallet]: Add Unshield Funds Button to Asset Menu (#34774)
Adds a Unshield funds button to the Asset Menu for Shielded ZEC assets
2026-03-18 12:19:14 -05:00
Kevin Smith 6d7d3509dc [Shields UI] Wire up new panel UI to flag (#34639) 2026-03-16 14:50:14 -04:00
Agustín Ruiz c8e21776e6 Add antialiasing to all webUIs (#34753)
* Add antialiasing

* add ; at the end of css declarations
2026-03-16 13:48:51 -03:00
Anthony Tseng 73c1f6462f Move WASM crates next to their consumer components (#34574)
* Move opaque_ke WASM crate next to its consumer component

Move opaque_ke from third_party/wasm/ to
components/brave_account/resources/opaque_ke/ so it lives
next to the component that consumes it.

- Move crate directory with index.js as-is
- Add workspace key to Cargo.toml for workspace discovery
- Update .cargo/config.toml vendor path
- Add transpile_web_ui target in resources/opaque_ke/BUILD.gn
- Update workspace Cargo.toml member path
- Update update.py to use make_config_toml for relative vendor paths

* Move candle_embedding_gemma WASM crate next to its consumer component

Move candle_embedding_gemma from third_party/wasm/ to
components/local_ai/resources/candle_embedding_gemma/ so it lives
next to the component that consumes it.

- Move crate directory
- Add workspace key to Cargo.toml for workspace discovery
- Update .cargo/config.toml vendor path
- Update workspace Cargo.toml member path
- Update update.py PRESERVE_PATTERNS for new config location
2026-03-10 11:06:21 +00:00
Anthony Tseng fef2a76f4c Move WASM workspace to third_party/wasm/ (#34497)
Relocate the WASM workspace from ui/webui/resources/wasm/ to
third_party/wasm/, following the convention of third_party/rust/.

This is a plain move with path updates — no structural changes to
the workspace, crate locations within it, or build targets.
2026-03-09 22:50:50 +00:00
Stephen O'Farrellandjameshawrych c333ff87e7 [Leo] 2026 Feb Model Upgrade (#33973)
* [Leo] update models

* add near GLM 5

* address netzen comments

* formatting

* add removed models to clearprefs migration

* correct model key name to chat-near-deepseek

* clean up strings

---------

Co-authored-by: jameshawrych <69646550+jameshawrych@users.noreply.github.com>
2026-03-02 17:18:22 +00:00
Kevin Smith 14332c8693 [Shields UI] Add advanced view to new panel UI (#34192) 2026-02-27 18:38:29 -05:00
Jay Harris bda4949d93 [AI Chat]: Include inline search widget in AssistantResponse (#34073) 2026-02-25 08:33:25 +13:00
Szilard Szaloki 3e2422d2e4 Account: implements Caps Lock indicator (#33841) 2026-02-10 20:18:44 +00:00
Agustín Ruiz e3238393d9 Settings move searchbar (#33235)
* Remove Brave navigation bar and search field components

Deleted the Brave-specific navigation bar data provider and toolbar search field components, including related TypeScript, HTML, and CSS files. Updated build files and removed all references and initialization code for these components across the codebase. This simplifies the UI code and removes unused or redundant toolbar logic.

* Add Brave-specific toolbar CSS overrides

Introduces a new stylesheet for cr_toolbar with layout overrides and customizations for Brave, including flex adjustments and alignment for toolbar content.

* Center content in toolbar when right content growth is disabled

Updated the CSS for cr_toolbar to center #centeredContent when the toolbar is not narrow and right content growth is disabled. This improves alignment and visual consistency.

* Update cr_toolbar.css

* Remove Brave-specific WebUI customizations and resources

Deleted Brave-specific history and downloads UI overrides, related patch files, and resource build files. Updated downloads UI to remove custom macro usage and simplified cr_elements BUILD.gn patch to exclude Brave resource imports. This streamlines the codebase by removing unnecessary Brave customizations and build steps.

* Update font-family to system defaults in search field

Replaces 'Inter Variable' and 'Inter' fonts with system-ui and sans-serif for input and #prompt elements in cr_toolbar_search_field.css to ensure consistent appearance across platforms.

* Add hover background for search field toolbar

Introduces a subtle background color on hover for the search field toolbar when it is not focused and not in narrow mode, improving visual feedback for users.

* Remove fallback values from CSS custom properties

Eliminated fallback values for several CSS custom properties in cr_toolbar_search_field.css to ensure design consistency and rely solely on the defined variables.
2026-01-25 19:54:17 -03:00
Szilard Szaloki d1917db4a9 Account: resend verification email notifications (desktop) (#33317) 2026-01-23 08:17:54 -07:00
Anthony Tseng 52941f6568 Exclude .vscode in gitignore for ui/webui/resources/wasm/vendor (#32905) 2025-12-19 06:49:20 -05:00
Anthony TsengandVandana Malayil 8484035772 Add candle embedding gemma into wasm (#32318)
* Create candle_embedding_gemma skeleton

* adding embedding gemma core code

* npm run update_wasm_resources and manually revert *README.chromium
deletion and config.toml, .clang-format reset

* Add README.chromium for direct deps

* Backup and restore candle_embedding_gemma/.cargo/config.toml

* Remove object files and DLLs in wasm vendor if found

* Exclude sonarcloud from running on wasm vendor codes

* modified so that embeddings and cosine similarity results match exactly with Python sentence transformer implementation

* adding core functionalities for quantized model instead of FP

* Fix rust format

---------

Co-authored-by: Vandana Malayil <vandurajan91@gmail.com>
2025-12-18 12:01:41 -08:00
Andrea 2d97608128 [ollama] ui (#31570)
* Add Ollama integration to Leo Assistant settings

- Add OllamaService mojo interface bindings in settings UI
- Include ollama.mojom in settings build configuration
- Add Ollama model discovery UI in model list section
- Update content security policy for Ollama endpoints
- Add localized strings for Ollama integration
- Wire up Ollama service through settings browser proxy
2025-12-01 22:21:46 +01:00
Brian R. Bondy a4d9248fcb Add enable_brave_wallet gn var and build flag (#32484)
* Add enable_brave_wallet GN variable and build flag

This adds a new GN build flag 'enable_brave_wallet' that can be set to
false to exclude Brave Wallet from the build. The flag is true by default
to maintain current behavior.

Changes include:
- Add enable_brave_wallet declare_args in build/config/BUILDCONFIG.gn
- Create brave_wallet/common/buildflags with ENABLE_BRAVE_WALLET flag
- Update all BUILD.gn and sources.gni files to use the new flag
- Add wallet buildflags dependencies via minimal one-line imports

* Add patches for wallet buildflags in Chromium BUILD files

Adds minimal one-line patches to import wallet buildflags dependencies
in Chromium source files. This allows Chromium code to conditionally
depend on wallet headers.

Patches:
- chrome/browser/ui/hid/BUILD.gn
- net/BUILD.gn
- third_party/blink/common/BUILD.gn
- third_party/blink/public/common/BUILD.gn
- third_party/blink/renderer/modules/permissions/BUILD.gn

* Guard wallet code in Chromium source overrides

Updates chromium_src overrides to conditionally compile wallet-related
code based on enable_brave_wallet flag. This includes:

- Adding DEPS files to allow buildflags dependencies
- Guarding wallet permission handling with #if BUILDFLAG(ENABLE_BRAVE_WALLET)
- Keeping wallet permission enum values unconditionally to maintain profile
  interchangeability between wallet-enabled and wallet-disabled builds
- Updating component registration and preference handling

Key changes:
- Permission enums remain stable across build configs for UMA and persistence
- Wallet permission handling code only compiled when wallet enabled
- DEPS files updated to allow buildflags includes

* Guard wallet UI code in front-end TypeScript and Mojom

Conditionally compiles wallet-related UI code in TypeScript and Mojom
interfaces based on enable_brave_wallet preprocessor flag.

Changes:
- Settings menu: Use lastInserted pattern for menu item ordering
- Page visibility: Guard wallet page visibility checks
- Browser commands: Guard wallet command handling
- Routes: Conditionally include wallet routes
- Add non-null assertions for DOM insertions in TypeScript
- Update Mojom interfaces to conditionally include wallet enums

Front-end code uses <if expr="enable_brave_wallet"> preprocessor
directives to exclude wallet UI when the feature is disabled.

* Guard wallet usage in non-wallet Brave code

Conditionally compiles wallet-related code in non-wallet Brave files
based on enable_brave_wallet build flag.

Changes include:
- browser/: Guard wallet service factories, preferences, and helpers
- components/: Guard wallet dependencies in rewards, sidebar, and DNS
- renderer/: Conditionally register wallet content settings
- utility/: Guard wallet component registration
- ios/: Add optional chaining for wallet feature flags
- test/: Guard wallet-related test code

Key files:
- brave_stats_updater.cc: Guard wallet pref registration with #if
- brave_profile_prefs.cc: Conditionally register wallet preferences
- sidebar_service.cc: Guard wallet panel items
- iOS WalletConstants.swift: Use optional chaining for feature checks

This allows building Brave without wallet while maintaining profile
compatibility between wallet-enabled and wallet-disabled builds.

* Add static_assert for ENABLE_BRAVE_WALLET in wallet headers

Adds compile-time assertions to wallet headers to ensure they are only
included when wallet is enabled. This prevents accidental usage of wallet
APIs when enable_brave_wallet=false.

Added static_assert(BUILDFLAG(ENABLE_BRAVE_WALLET)) to:

browser/brave_wallet/ (11 files):
- asset_ratio_service_factory.h
- brave_wallet_context_utils.h
- brave_wallet_ipfs_service_factory.h
- brave_wallet_provider_delegate_impl.h
- brave_wallet_service_factory.h
- brave_wallet_tab_helper.h
- meld_integration_service_factory.h
- wallet_notification_service_factory.h
- simulation_service_factory.h
- swap_service_factory.h
- wallet_data_files_installer_delegate_impl.h

components/brave_wallet/browser/ (15 files):
- brave_wallet_p3a_private.h
- brave_wallet_prefs.h
- brave_wallet_service.h
- brave_wallet_utils.h
- ens_resolver_task.h
- json_rpc_service_test_utils.h
- json_rpc_service.h
- keyring_service_observer_base.h
- keyring_service.h
- network_manager.h
- permission_utils.h
- pref_names.h
- test_utils.h
- tx_service.h
- wallet_data_files_installer.h

components/brave_wallet/common/ (6 files):
- brave_wallet_types.h
- common_utils.h
- eth_abi_utils.h
- features.h
- hex_utils.h
- pref_names.h

Also includes minor wallet code updates to use buildflags and
guard zcash-specific test code.

* Follow up fixes after Parts 1-7
2025-11-28 15:54:27 -05:00
Pete Miller b7f4a5afa0 [AI Chat] [Content Agent] Pause / Resume / Stop buttons for tasks (#32523)
* [AI Chat] [Content Agent] Pause / Resume / Stop buttons for tasks
2025-11-27 09:49:38 +01:00
Szilard Szaloki ec9e617ff9 Refactor WASM ui/webui/resources/wasm/update.py to use backup/restore. (#32515) 2025-11-25 10:14:25 +01:00
Stephen O'Farrell ce84f0d360 [Leo] Add new models (#31590)
* add new models to leo

* set tools to false

* remove tools string

* add is_near_model to new bedrock models
2025-11-14 15:21:22 +00:00
Anthony Tseng ccf25aa608 Skip git cl format for both rust-wasm vendor (#32292)
Prevent `git cl format --presubmit` which is used by `npm run presubmit`
from checking rust wasm vendor for formatting
2025-11-13 19:55:18 +01:00
Brian R. Bondy 72cadbd0c6 AIChat build flag and gn var (#31988)
* Add AI Chat build flag to components/ai_chat

* Add AI Chat build flag to browser/ui

* Add AI Chat build flag to browser/resources

* Add AI Chat build flag to chromium overrides

* Add AI Chat build flag to other components

* Add AI Chat build flag to core browser files

* Add AI Chat build flag to app and renderer

* Add AI Chat build flag to remaining files

* Set enable_ai_chat to !is_brave_origin_branded

* Review comments

Including gn_check errors in chromium_src

* Exclude ai_chat Jest tests when not enabled
2025-11-11 11:20:34 -05:00
Douglas Daniel e8deaf99af [AI Chat] [Content Agent]: First use Warning (#32077)
Will now display a Warning before every new Content Agent conversation
2025-10-29 10:02:23 -05:00
Gaetano Checinski ade2e98361 detect what affected tests for webpacked projects - adds ts folders as data (#31254)
extends the transpile_web_ui.py to assert that the source roots provided via imports_from are complete.
The purpose of this is to improve the gn analyze functionality to be able to infer which tests need to run based on filechanges alone.
2025-10-28 07:34:11 +00:00
Aleksei Khoroshilov 67b86db746 Enable rustfmt. (#31974) 2025-10-24 16:34:57 +07:00
Jay Harris bf90c9eecb [Nala]: Rename web_components.ts to initialize_bundle.ts (#31751) 2025-10-13 10:04:09 +01:00
Brian R. BondyandBrian Clifton 868687478d Add Brave Origin Settings UI (#31677)
* Add Settings UI for Brave Origin

Adds the user interface components for Brave Origin settings,
including toggles, strings, and icons for managing various Brave features.

* Use Brave Origin handler API in settings UI

* Review comments

---------

Co-authored-by: Brian Clifton <brian@clifton.me>
2025-10-10 13:49:33 -04:00
Jay Harris 40dcee8e6f [webpack]: Default output_module=true for new WebUIs (#31700) 2025-10-10 05:36:22 +01:00
Jay Harris 9747f4ff4b [AI Chat]: Add UI for attaching bookmarks to conversations (#31610) 2025-10-10 08:55:48 +13:00
Jay Harris ef1053df03 [Nala]: Support dynamically updating the theme on upstream WebUI pages (#31540)
* [Nala]: Allow themes to update dynamically

* [AI Chat]: Don't load the ColorChangeUpdater on Android

* Use runtime detection instead of compile time
2025-10-09 00:54:24 +01:00
Jay Harris 99783f144e [webpack]: output_module=true implies no_iife=true (#31695) 2025-10-09 10:18:13 +13:00
Jay Harris f54055794c [Nala]: Fix scheme relative loading of variables (#31221) 2025-09-17 09:29:07 +12:00
Jay Harris 3dcc8f26dd [WebUI]: Remove unneeded overrides (#31140) 2025-09-15 07:46:03 +09:00
Szilard Szaloki 5d21436331 [iOS] Replace dynamic nala.css with default theme (#31081) 2025-09-08 15:21:46 +09:00
Agustín Ruiz 3303f7bee6 [Settings]: Reduce spacing between menu items (#31020)
* tighten menu

* fix about styles
2025-09-03 20:39:01 -03:00
Jay Harris f4b2fa6f19 [Nala]: Dynamic theming of WebUIs (#30567) 2025-08-28 09:02:34 +12:00
Sangwoo Ko 4b0521b56b [Brave Midnight] Add Brave Midnight (Darker) theme feature and pref (#30520)
* Add Brave Midnight (Darker) theme feature

This commit introduces the Brave Midnight theme, a darker variant of the
existing dark theme, providing users with enhanced customization options
for their browsing experience.

Key changes:
* Add feature flag `kBraveMidnightTheme` to control theme availability
* Create new preference `kBraveDarkerMode` to store user's theme choice
* Implement UI toggle in Customize Chrome side panel for theme switching
* Add Mojo interface methods for theme state management

Technical implementation:
- Created `browser/ui/color/features.{cc,h}` for feature flag definition
- Added feature flag to `about_flags.cc` for experimental access
- Registered preference in `brave_profile_prefs.cc` when feature is enabled
- Extended Customize Chrome UI with `DarkerThemeToggle` component
- Added Mojo interface methods `GetUseDarkerTheme`/`SetUseDarkerTheme`

The feature is disabled by default and can be enabled via the
`brave-midnight-theme` flag in brave://flags. When enabled, users can
toggle the darker theme through the Customize Chrome side panel.
2025-08-26 08:58:43 +09:00
Brian R. Bondy e735d32c78 Leo image attachment support via drag and drop (#30426)
* Leo image attachment support via drag and drop

The main interface handles file processing while the untrusted iframe only detects drag events

* Address review comments

* Implement review comments (Jay)

* DragOverlay props to use useConversationContext
2025-08-07 12:53:21 -04:00
Ste 78dcf585d9 fix(gemma): Add icon to build (#30525) 2025-08-07 17:18:50 +01:00
Pete Miller df3c9a7a8f AI Chat: Create a semi-built-in Profile for agentic features (#30285)
* AI Chat: Create a semi-built-in Profile for agentic features

For now, these features will only be useable in this profile. The purpose is for users and team members to experiment with these features, isolated from their regular browser context with existing site authentication. Whilst these features might evenutally be usable in a user's main profile under isolated storage (a built-in Container), this allows us to decouple these features from that behavior being implemented, as well as try out the separate Profile experience.

- Flag for whether the agentic behavior and the separate profile is enabled
- UI for the button in the AI Chat WebUI that will launch the profile
- Profile creation params, theme, and behavior:
  - Doesn't cause the profile picker to be shown on browser startup

For subsequent PRs:
- A separate and basic NTP with messaging
- Content agent features
2025-08-06 07:08:14 -07:00