From 5ffb9a02da9b180d285013065476f24db23aa37a Mon Sep 17 00:00:00 2001 From: Brian Love Date: Mon, 18 May 2026 09:17:19 -0700 Subject: [PATCH 1/3] feat(chat): match sidenav New chat + New project radius to 8px --- libs/chat/src/lib/styles/chat-project-list.styles.spec.ts | 6 ++++++ libs/chat/src/lib/styles/chat-project-list.styles.ts | 2 +- libs/chat/src/lib/styles/chat-sidenav.styles.spec.ts | 6 ++++++ libs/chat/src/lib/styles/chat-sidenav.styles.ts | 4 ++-- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/libs/chat/src/lib/styles/chat-project-list.styles.spec.ts b/libs/chat/src/lib/styles/chat-project-list.styles.spec.ts index 1b2dcc679..10214dfcf 100644 --- a/libs/chat/src/lib/styles/chat-project-list.styles.spec.ts +++ b/libs/chat/src/lib/styles/chat-project-list.styles.spec.ts @@ -34,4 +34,10 @@ describe('CHAT_PROJECT_LIST_STYLES — New project button', () => { /\.chat-project-list__new:hover\s*\{[^}]*background:\s*color-mix\(in srgb,\s*var\(--ngaf-chat-text\)\s*8%,\s*var\(--ngaf-chat-surface-alt\)\)\s*;/, ); }); + + it('uses 8px border-radius (consistent with thread items)', () => { + expect(normalized).toMatch( + /\.chat-project-list__new\s*\{[^}]*border-radius:\s*8px\s*;/, + ); + }); }); diff --git a/libs/chat/src/lib/styles/chat-project-list.styles.ts b/libs/chat/src/lib/styles/chat-project-list.styles.ts index bf928e219..ae0d3914f 100644 --- a/libs/chat/src/lib/styles/chat-project-list.styles.ts +++ b/libs/chat/src/lib/styles/chat-project-list.styles.ts @@ -79,7 +79,7 @@ export const CHAT_PROJECT_LIST_STYLES = ` color: var(--ngaf-chat-text); border: 0; padding: 10px 16px; - border-radius: 9999px; + border-radius: 8px; font-size: 12px; display: flex; align-items: center; diff --git a/libs/chat/src/lib/styles/chat-sidenav.styles.spec.ts b/libs/chat/src/lib/styles/chat-sidenav.styles.spec.ts index 5e2c760fa..298836b6a 100644 --- a/libs/chat/src/lib/styles/chat-sidenav.styles.spec.ts +++ b/libs/chat/src/lib/styles/chat-sidenav.styles.spec.ts @@ -34,4 +34,10 @@ describe('CHAT_SIDENAV_STYLES — New chat button', () => { /\.chat-sidenav__action--new:focus-visible\s*\{[^}]*outline:\s*2px\s+solid\s+var\(--ngaf-chat-primary\)\s*;/, ); }); + + it('uses 8px border-radius (consistent with Search button + thread items)', () => { + expect(normalized).toMatch( + /\.chat-sidenav__action\.chat-sidenav__action--new\s*\{[^}]*border-radius:\s*8px\s*;/, + ); + }); }); diff --git a/libs/chat/src/lib/styles/chat-sidenav.styles.ts b/libs/chat/src/lib/styles/chat-sidenav.styles.ts index 28a4bd154..915fa2949 100644 --- a/libs/chat/src/lib/styles/chat-sidenav.styles.ts +++ b/libs/chat/src/lib/styles/chat-sidenav.styles.ts @@ -104,7 +104,7 @@ export const CHAT_SIDENAV_STYLES = ` .chat-sidenav__action.chat-sidenav__action--new block. */ border: 0; padding: 12px 18px; - border-radius: 9999px; + border-radius: 8px; font-size: 13px; font-weight: 600; display: flex; @@ -175,7 +175,7 @@ export const CHAT_SIDENAV_STYLES = ` .chat-sidenav__action.chat-sidenav__action--new { background: var(--ngaf-chat-text); color: var(--ngaf-chat-bg); - border-radius: 9999px; + border-radius: 8px; padding: 12px 18px; font-weight: 600; font-size: 13px; From 602f6a89afbe757bf29771e5351c77a057334819 Mon Sep 17 00:00:00 2001 From: Brian Love Date: Mon, 18 May 2026 09:22:23 -0700 Subject: [PATCH 2/3] feat(demo): match More prompts dropdown styling to featured chip --- .../welcome-suggestions.component.spec.ts | 24 +++++++++++++++++++ .../modes/welcome-suggestions.component.ts | 17 +++++++++++++ 2 files changed, 41 insertions(+) diff --git a/examples/chat/angular/src/app/modes/welcome-suggestions.component.spec.ts b/examples/chat/angular/src/app/modes/welcome-suggestions.component.spec.ts index c8b4f1eff..e7ff2ab04 100644 --- a/examples/chat/angular/src/app/modes/welcome-suggestions.component.spec.ts +++ b/examples/chat/angular/src/app/modes/welcome-suggestions.component.spec.ts @@ -51,4 +51,28 @@ describe('WelcomeSuggestionsComponent', () => { chipBtn.click(); expect(captured).toBe(FEATURED_SUGGESTIONS[0].value); }); + + it('overrides the More prompts trigger to match the featured chip styling', () => { + // The component's styles block must include ::ng-deep overrides for the + // chat-select trigger so it visually matches chat-welcome-suggestion. + // We assert by inspecting the component's stringified styles via the + // DOM: the trigger should compute to chip-equivalent padding/border. + const trigger = fx.nativeElement.querySelector( + '.welcome-suggestions__row chat-select .chat-select__trigger', + ) as HTMLElement; + expect(trigger).toBeTruthy(); + const cs = getComputedStyle(trigger); + // 10px 16px padding (chip) + expect(cs.paddingTop).toBe('10px'); + expect(cs.paddingBottom).toBe('10px'); + expect(cs.paddingLeft).toBe('16px'); + expect(cs.paddingRight).toBe('16px'); + // 1px border (chip has a border; default trigger has none). + // JSDOM 29 does not cascade border-width from