Skip to content
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

feat(pie-chart): apply className to the label and labelLine #4381

Merged
merged 2 commits into from
Apr 3, 2024

Conversation

108yen
Copy link
Contributor

@108yen 108yen commented Apr 3, 2024

Description

apply className to the label and labelLine in PieChart component.

Related Issue

#4378

Motivation and Context

Required if you want to assign className to the PieChart component.

How Has This Been Tested?

Added unit test.

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • I have added a storybook story or extended an existing story to show my changes

Copy link
Member

@ckifer ckifer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can do the suggestion later, this looks good how it is

@@ -402,7 +402,8 @@ export class Pie extends PureComponent<Props, State> {
return option(props);
}

return <Curve {...props} type="linear" className="recharts-pie-label-line" />;
const className = clsx('recharts-pie-label-line', typeof option !== 'boolean' ? option.className : '');
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: we kind of already have a typeguard for this right?
76bbdcb#diff-0030e00d80866b12434b3def516dcf03f12a37360fcaaa5fc6a7c32e0d04d17cR187

We can move the typeguard out of polar utils to somewhere that is more generic, and then make the function more generic so it works for every case.

And actually to make it a true "type guard" we could instead do

export const hasCustomClassName = <T extends SVGElement>(
  option?: SVGProps<T> | ReactElement<SVGElement> | ((props: any) => ReactElement<SVGElement>) | boolean,
): option is { className: string } =>
  !isValidElement(option) && !isFunction(option) && typeof option !== 'boolean' && 'className' in option;

Then `const className = clsx('recharts-pie-label-line', hasCustomClassName(option) ? option.className : '');

@ckifer ckifer merged commit 25c8bbd into recharts:master Apr 3, 2024
5 checks passed
renovate bot added a commit to SAP/ui5-webcomponents-react that referenced this pull request Apr 8, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [recharts](https://togithub.com/recharts/recharts) | [`2.12.3` ->
`2.12.4`](https://renovatebot.com/diffs/npm/recharts/2.12.3/2.12.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/recharts/2.12.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/recharts/2.12.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/recharts/2.12.3/2.12.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/recharts/2.12.3/2.12.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>recharts/recharts (recharts)</summary>

###
[`v2.12.4`](https://togithub.com/recharts/recharts/releases/tag/v2.12.4)

[Compare
Source](https://togithub.com/recharts/recharts/compare/v2.12.3...v2.12.4)

#### What's Changed

Small fixes while working on v3 continued...

##### Fix

- `Accessibility`: remove role attribute from recharts-wrapper which
caused an accessibility violation with > 1 chart on the same page by
[@&#8203;julianna-langston](https://togithub.com/julianna-langston) in
[recharts/recharts#4386,
fixes [#&#8203;4384](https://togithub.com/recharts/recharts/issues/4384)
- `X/YAxis`: fix incorrect padding calculation when there is 1 datapoint
or less by [@&#8203;graup](https://togithub.com/graup) in
[recharts/recharts#4314
closes
[#&#8203;4313](https://togithub.com/recharts/recharts/issues/4313)

`className` fixes - helps slowly address
[recharts/recharts#2169:

- `Tooltip`: allow custom `className` on `cursor` by
[@&#8203;108yen](https://togithub.com/108yen) in
[recharts/recharts#4306
- `RadarChart/RadialBarChart`: allow custom `className` on
`PolarRadiusAxis`, `PolarAngleAxis`, and `Radar` dot by
[@&#8203;108yen](https://togithub.com/108yen) in
[recharts/recharts#4335
- `Pie`: allow custom `className` on `label` and `labelLine` of `Pie` by
[@&#8203;108yen](https://togithub.com/108yen) in
[recharts/recharts#4381

**Full Changelog**:
recharts/recharts@v2.12.3...v2.12.4

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/SAP/ui5-webcomponents-react).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lukas Harbarth <lukas.harbarth@sap.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants