Skip to content

Commit 226dfa9

Browse files
author
Luke Bowerman
authored
fix(Text): Text should not have default color and lineHeight based on fontSize (#1813)
Added Jest and Storybook image-snaoshots to prevent future regressions
1 parent 90bf39d commit 226dfa9

File tree

6 files changed

+58
-3
lines changed

6 files changed

+58
-3
lines changed
2.01 KB
Loading
3.87 KB
Loading
2.71 KB
Loading
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/*
2+
3+
MIT License
4+
5+
Copyright (c) 2020 Looker Data Sciences, Inc.
6+
7+
Permission is hereby granted, free of charge, to any person obtaining a copy
8+
of this software and associated documentation files (the "Software"), to deal
9+
in the Software without restriction, including without limitation the rights
10+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11+
copies of the Software, and to permit persons to whom the Software is
12+
furnished to do so, subject to the following conditions:
13+
14+
The above copyright notice and this permission notice shall be included in all
15+
copies or substantial portions of the Software.
16+
17+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23+
SOFTWARE.
24+
25+
*/
26+
27+
import React from 'react'
28+
import { Story } from '@storybook/react/types-6-0'
29+
import { Text, TextProps } from './Text'
30+
31+
const Template: Story<TextProps> = (args) => <Text {...args} />
32+
33+
export const Basic = Template.bind({})
34+
Basic.args = {
35+
children: 'Text Example',
36+
}
37+
38+
export const Nesting = () => (
39+
<div style={{ color: '#c00' }}>
40+
<Text>This text should be red</Text>
41+
</div>
42+
)
43+
44+
export const LineHeight = () => (
45+
<div style={{ border: '1px solid #000' }}>
46+
<Text>This text should be 1.5rem line height</Text>
47+
</div>
48+
)
49+
50+
export default {
51+
component: Text,
52+
title: 'Text',
53+
}

packages/components/src/Text/Text.test.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,7 @@ import { Text } from './Text'
3131

3232
test('Text has default fontSize', () => {
3333
renderWithTheme(<Text>Hello</Text>)
34-
expect(screen.getByText('Hello')).toHaveStyleRule('font-size: 16px')
34+
expect(screen.getByText('Hello')).toHaveStyleRule('font-size', '1rem')
35+
expect(screen.getByText('Hello')).toHaveStyleRule('line-height', '1.5rem')
36+
expect(screen.getByText('Hello')).toHaveStyleRule('color', undefined)
3537
})

packages/components/src/Text/Text.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ import { Span, SpanProps } from './Span'
3131
export interface TextProps extends SpanProps {}
3232

3333
export const Text = styled(Span).attrs<TextProps>(
34-
({ color = 'text', fontSize = 'medium' }) => ({
35-
color,
34+
({ fontSize = 'medium', lineHeight }) => ({
3635
fontSize,
36+
lineHeight: lineHeight || fontSize,
3737
})
3838
)<TextProps>``

0 commit comments

Comments
 (0)