Skip to content

Commit 2fb2bf4

Browse files
committed
Merge branch 'main' into claire/antialiased-text-update
* main: Header button styling (#2748) Remove screenshot from VA test (#2749)
2 parents 2f4e860 + 0e601e2 commit 2fb2bf4

File tree

5 files changed

+67
-29
lines changed

5 files changed

+67
-29
lines changed

.changeset/tasty-cooks-kneel.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'gitbook': patch
3+
---
4+
5+
Improve styling of header buttons with shadows and high-contrast styles

packages/gitbook/e2e/pages.spec.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -876,7 +876,12 @@ const testCases: TestsCase[] = [
876876
);
877877
return `first?jwt_token=${token}`;
878878
})(),
879-
run: waitForCookiesDialog,
879+
run: async (page) => {
880+
await expect(
881+
page.getByRole('heading', { level: 1, name: 'first' }),
882+
).toBeVisible();
883+
},
884+
screenshot: false,
880885
},
881886
{
882887
name: 'Custom page',

packages/gitbook/src/components/Header/HeaderLink.tsx

+11-11
Original file line numberDiff line numberDiff line change
@@ -130,18 +130,17 @@ function HeaderItemButton(
130130
className={tcls(
131131
{
132132
'button-primary':
133-
headerPreset === CustomizationHeaderPreset.Custom ||
134-
headerPreset === CustomizationHeaderPreset.Bold
135-
? tcls(
136-
'bg-header-link-500 hover:bg-text-header-link-300 text-header-button-text',
137-
'dark:bg-header-link-500 dark:hover:bg-text-header-link-300 dark:text-header-button-text',
138-
)
139-
: null,
133+
headerPreset != CustomizationHeaderPreset.Default &&
134+
`bg-header-link dark:bg-header-link hover:bg-header-link dark:hover:bg-header-link
135+
text-header-background dark:text-header-background hover:text-header-background dark:hover:text-header-background
136+
shadow-none hover:shadow-none`,
140137
'button-secondary': tcls(
141-
'bg:transparent hover:bg-transparent',
142-
'dark:bg-transparent dark:hover:bg-transparent',
143-
'ring-header-link-500 hover:ring-header-link-300 text-header-link-500',
144-
'dark:ring-header-link-500 dark:hover:ring-header-link-300 dark:text-header-link-500',
138+
headerPreset != CustomizationHeaderPreset.Default &&
139+
`bg-header-link/2 dark:bg-header-link/2 hover:bg-header-link/3 dark:hover:bg-header-link/3
140+
text-header-link dark:text-header-link hover:text-header-link dark:hover:text-header-link
141+
ring-header-link/4 dark:ring-header-link/4 hover:ring-header-link/5 dark:hover:ring-header-link/5
142+
contrast-more:ring-header-link contrast-more:bg-header-background contrast-more:text-header-link contrast-more:hover:ring-header-link
143+
shadow-none hover:shadow-none`,
145144
),
146145
}[linkStyle],
147146
)}
@@ -161,6 +160,7 @@ function getHeaderLinkClassName(props: { headerPreset: CustomizationHeaderPreset
161160
'flex items-center shrink',
162161
'hover:text-header-link-400 dark:hover:text-light',
163162
'min-w-0',
163+
'contrast-more:underline',
164164

165165
props.headerPreset === CustomizationHeaderPreset.Default
166166
? ['text-dark/8', 'dark:text-light/8']

packages/gitbook/src/components/Header/HeaderLinks.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export async function HeaderLinks({ children }: HeaderLinksProps) {
1313
<div
1414
className={tcls(
1515
styles.containerHeaderlinks,
16-
'grow shrink flex justify-end items-center gap-x-6 lg:gap-x-8 min-w-9 z-20',
16+
'grow shrink flex justify-end items-center gap-x-4 lg:gap-x-6 min-w-9 z-20',
1717
)}
1818
>
1919
{children}

packages/gitbook/src/components/primitives/Button.tsx

+44-16
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,35 @@ export function Button({
2727
variant === 'primary'
2828
? //PRIMARY
2929
[
30-
'bg-primary-600',
31-
'text-white',
32-
'ring-dark/2',
33-
'hover:bg-primary-500',
34-
'dark:ring-light/3',
35-
'dark:bg-primary-600',
36-
'dark:hover:bg-primary-700',
30+
'bg-primary',
31+
'text-light', // TODO: Move to 'text-contrast-primary' once contrast calculation works better
32+
'hover:text-light-1',
33+
'hover:bg-primary-600',
34+
35+
'dark:bg-primary',
36+
'dark:text-contrast-primary',
37+
'dark:hover:bg-primary',
3738
]
3839
: // SECONDARY
3940
[
40-
'bg-dark/2',
41-
'ring-dark/1',
42-
'hover:bg-dark/3',
43-
'dark:bg-light/2',
44-
'dark:ring-light/1',
45-
'dark:hover:bg-light/3',
41+
'bg-light-1',
42+
'text-dark/8',
43+
'hover:text-primary',
44+
'contrast-more:bg-light',
45+
'contrast-more:text-dark',
46+
'contrast-more:hover:ring-primary',
47+
48+
'dark:bg-light/1',
49+
'dark:text-light/8',
50+
'contrast-more:dark:bg-dark',
51+
'contrast-more:dark:text-light',
52+
'dark:hover:bg-light/2',
53+
'dark:hover:text-light',
4654
];
4755

4856
const sizes = {
4957
default: ['text-base', 'px-4', 'py-2'],
50-
medium: ['text-sm', 'px-3', 'py-1'],
58+
medium: ['text-sm', 'px-3', 'py-1.5'],
5159
small: ['text-xs', 'px-3 py-2'],
5260
};
5361

@@ -58,12 +66,32 @@ export function Button({
5866
'rounded-md',
5967
'straight-corners:rounded-none',
6068
'place-self-start',
69+
6170
'ring-1',
62-
'ring-inset',
71+
'ring-dark/1',
72+
'hover:ring-dark/2',
73+
'dark:ring-light/2',
74+
'dark:hover:ring-light/4',
75+
76+
'shadow-sm',
77+
'shadow-dark/4',
78+
'dark:shadow-dark/8',
79+
'hover:shadow-md',
80+
'active:shadow-none',
81+
82+
'contrast-more:ring-dark',
83+
'contrast-more:hover:ring-2',
84+
'contrast-more:hover:ring-dark',
85+
'contrast-more:dark:ring-light',
86+
'contrast-more:dark:hover:ring-light',
87+
88+
'hover:scale-105',
89+
'active:scale-100',
90+
'transition-all',
91+
6392
'grow-0',
6493
'shrink-0',
6594
'truncate',
66-
'transition-colors',
6795
variantClasses,
6896
sizeClasses,
6997
className,

0 commit comments

Comments
 (0)