-
Notifications
You must be signed in to change notification settings - Fork 818
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Charts: Small type, style and exports changes #41523
Conversation
Thank you for your PR! When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:
This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation 🤖 The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available. Follow this PR Review Process:
Still unsure? Reach out in #jetpack-developers for guidance! |
@@ -157,7 +156,7 @@ const LineChart: FC< LineChartProps > = ( { | |||
theme={ theme } | |||
width={ width } | |||
height={ height } | |||
margin={ margin } | |||
margin={ { top: 0, right: 0, bottom: 0, left: 0, ...margin } } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Default no margin, and this is also required for type checks.
@@ -20,11 +20,6 @@ interface PieChartProps extends OmitBaseChartProps { | |||
*/ | |||
innerRadius?: number; | |||
|
|||
/** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to base type
@@ -23,7 +23,7 @@ export function withResponsive< T extends BaseChartProps< unknown > >( | |||
) { | |||
const { maxWidth = 1200, aspectRatio = 0.5, debounceTime = 50 } = config || {}; | |||
|
|||
return function ResponsiveChart( props: Omit< T, 'width' | 'height' | 'size' > ) { | |||
return function ResponsiveChart( props: Optional< T, 'width' | 'height' | 'size' > ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix the type checks from consumers
Code Coverage SummaryThis PR did not change code coverage! That could be good or bad, depending on the situation. Everything covered before, and still is? Great! Nothing was covered before? Not so great. 🤷 |
@@ -32,14 +32,13 @@ export function withResponsive< T extends BaseChartProps< unknown > >( | |||
|
|||
// Calculate dimensions | |||
const containerWidth = parentWidth ? Math.min( parentWidth, maxWidth ) : 600; | |||
const containerHeight = containerWidth * aspectRatio; | |||
const containerHeight = props.height ?? containerWidth * aspectRatio; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Users should still be able to specify the height so that it'll be a different ratio even when responsive.
@@ -23,7 +23,7 @@ export function withResponsive< T extends BaseChartProps< unknown > >( | |||
) { | |||
const { maxWidth = 1200, aspectRatio = 0.5, debounceTime = 50 } = config || {}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering where can we change those params 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What specifically are you interested in changing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
aspectRatio
and maxWidth
export { ThemeProvider } from './providers/theme'; | ||
export { defaultTheme, jetpackTheme, wooTheme } from './providers/theme/themes'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need those exported which are required by ThemeProvider
|
||
return ( | ||
<div | ||
ref={ parentRef } | ||
style={ { | ||
width: '100%', | ||
minHeight: `${ containerHeight }px`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It otherwise set a min height for the wrapper which creates a big gap when the height is specified.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This works well for me. All charts still work as expected, all tests pass 👍
Fixes #
Proposed changes:
Other information:
Jetpack product discussion
n/a
Does this pull request change what data or activity we track or use?
no
Testing instructions: