Skip to content

Commit ccf27df

Browse files
committed
feat: add sentiment borders to badge, alert, banner
1 parent 662bd86 commit ccf27df

File tree

14 files changed

+339
-78
lines changed

14 files changed

+339
-78
lines changed

.prettierignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ website/src/static/css/fonts.css
1313
.gritmodules
1414
storybook-static
1515
tmp
16-
.@tablecheck
16+
.@tablecheck
17+
.all-contributorsrc

system/core/src/components/Alert.ts

+24-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,15 @@ import { css } from '../utils';
33
export const element = 'div';
44
export const className = 'alert';
55

6-
const variants = ['success', 'info', 'error', 'warning', 'neutral'] as const;
6+
const variants = [
7+
'tertiary',
8+
'ghost',
9+
'success',
10+
'info',
11+
'error',
12+
'warning',
13+
'neutral'
14+
] as const;
715

816
export type AlertVariant = (typeof variants)[number];
917

@@ -25,6 +33,7 @@ export const fullStyles = css`
2533
gap: var(--spacing-l1) var(--spacing-l2);
2634
color: var(--neutral-text);
2735
background: var(--neutral-surface);
36+
border: 1px solid var(--neutral-border);
2837
border-radius: var(--border-radius-small);
2938
padding: var(--spacing-l2) var(--spacing-l3);
3039
align-items: flex-start;
@@ -59,20 +68,34 @@ export const fullStyles = css`
5968
grid: 'description' 1fr / 1fr;
6069
}
6170
71+
&[data-variant='tertiary'] {
72+
color: var(--text);
73+
background: var(--surface);
74+
border-color: var(--border);
75+
}
76+
&[data-variant='ghost'] {
77+
color: var(--text);
78+
background: transparent;
79+
border-color: var(--border);
80+
}
6281
&[data-variant='error'] {
6382
color: var(--error-text);
6483
background: var(--error-surface);
84+
border-color: var(--error-border);
6585
}
6686
&[data-variant='warning'] {
6787
color: var(--warning-text);
6888
background: var(--warning-surface);
89+
border-color: var(--warning-border);
6990
}
7091
&[data-variant='success'] {
7192
color: var(--success-text);
7293
background: var(--success-surface);
94+
border-color: var(--success-border);
7395
}
7496
&[data-variant='info'] {
7597
color: var(--info-text);
7698
background: var(--info-surface);
99+
border-color: var(--info-border);
77100
}
78101
`;

system/core/src/components/Badge.ts

+31-11
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export const fullStyles = css`
1414
border-radius: var(--border-radius-small);
1515
color: var(--neutral-text);
1616
background-color: var(--neutral-surface);
17+
border: 1px solid var(--neutral-border);
1718
1819
&[data-size='x-small'] {
1920
padding: 2px 6px;
@@ -41,10 +42,12 @@ export interface Props {
4142
}
4243

4344
const variants = [
45+
'tertiary',
46+
'ghost',
4447
'success',
45-
'warning',
4648
'info',
4749
'error',
50+
'warning',
4851
'neutral',
4952
'purple',
5053
'orange',
@@ -53,19 +56,36 @@ const variants = [
5356

5457
export type BadgeVariant = (typeof variants)[number];
5558

59+
function getVariantStyles(key: BadgeVariant): string {
60+
if (key === 'disabled')
61+
return css`
62+
color: var(--text-disabled);
63+
background-color: var(--surface-disabled);
64+
border-color: transparent;
65+
`;
66+
if (key === 'tertiary')
67+
return css`
68+
color: var(--text);
69+
background-color: var(--surface);
70+
border-color: var(--border);
71+
`;
72+
if (key === 'ghost')
73+
return css`
74+
color: var(--text);
75+
background-color: transparent;
76+
border-color: var(--border);
77+
`;
78+
return css`
79+
color: var(--${key}-text);
80+
background-color: var(--${key}-surface);
81+
border-color: var(--${key}-border);
82+
`;
83+
}
84+
5685
export const variantStyles = variants.reduce(
5786
(result, key) => ({
5887
...result,
59-
[key]:
60-
key === 'disabled'
61-
? css`
62-
color: var(--text-disabled);
63-
background-color: var(--surface-disabled);
64-
`
65-
: css`
66-
color: var(--${key}-text);
67-
background-color: var(--${key}-surface);
68-
`
88+
[key]: getVariantStyles(key)
6989
}),
7090
{} as Record<BadgeVariant, string>
7191
);

system/core/src/components/Banner.ts

+30-4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export const className = 'banner';
55
export const fullStyles = css`
66
padding: var(--spacing-l4);
77
background-color: var(--neutral-surface);
8+
border: 1px solid var(--neutral-border);
89
display: grid;
910
grid-template-columns: min-content auto min-content;
1011
grid-template-areas: 'icon title close' 'icon content content' 'icon actions actions';
@@ -41,16 +42,41 @@ export interface Props {
4142
'data-variant'?: BannerVariant;
4243
}
4344

44-
const variants = ['success', 'warning', 'info', 'neutral'] as const;
45+
const variants = [
46+
'tertiary',
47+
'ghost',
48+
'success',
49+
'warning',
50+
'info',
51+
'neutral'
52+
] as const;
4553

4654
export type BannerVariant = (typeof variants)[number];
4755

56+
function getVariantStyles(key: BannerVariant): string {
57+
if (key === 'tertiary')
58+
return css`
59+
color: var(--text);
60+
background-color: var(--surface);
61+
border-color: var(--border);
62+
`;
63+
if (key === 'ghost')
64+
return css`
65+
color: var(--text);
66+
background-color: transparent;
67+
border-color: var(--border);
68+
`;
69+
return css`
70+
color: var(--${key}-text);
71+
background-color: var(--${key}-surface);
72+
border-color: var(--${key}-border);
73+
`;
74+
}
75+
4876
export const variantStyles = variants.reduce(
4977
(result, key) => ({
5078
...result,
51-
[key]: css`
52-
background-color: var(--${key}-surface);
53-
`
79+
[key]: getVariantStyles(key)
5480
}),
5581
{} as Record<BannerVariant, string>
5682
);

system/core/src/components/Button.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ export const variantStyles = {
7373
}
7474
`,
7575
secondary: css`
76-
--tk-button-color: var(--surface-secondary-text);
76+
--tk-button-color: var(--text-secondary);
7777
--tk-button-background-color: var(--surface-secondary);
7878
--tk-button-border-color: var(--surface-secondary);
7979
&[data-pseudo='hover'],

system/core/src/components/InputAlert.ts

+3
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,19 @@ export const fullStyles = css`
4343
4444
&[data-variant='error'] {
4545
background: var(--error-surface);
46+
border: 1px solid var(--error-border);
4647
color: var(--error-text);
4748
}
4849
4950
&[data-variant='warning'] {
5051
background: var(--warning-surface);
52+
border: 1px solid var(--warning-border);
5153
color: var(--warning-text);
5254
}
5355
5456
&[data-variant='info'] {
5557
background: var(--info-surface);
58+
border: 1px solid var(--info-border);
5659
color: var(--info-text);
5760
}
5861
`;

0 commit comments

Comments
 (0)