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

Fix default value of ListItem size prop #1117

Closed
3 tasks
Tracked by #1800
yangwooseong opened this issue Feb 1, 2023 · 2 comments · Fixed by #1925
Closed
3 tasks
Tracked by #1800

Fix default value of ListItem size prop #1117

yangwooseong opened this issue Feb 1, 2023 · 2 comments · Fixed by #1925
Assignees
Labels
bug Issues related to anything that isn't working

Comments

@yangwooseong
Copy link
Collaborator

Summary

현재 ListItem 의 size prop의 default value 가 ListItemSize.M 으로 지정되어있습니다.

Reproduction process

image

실제 스펙을 보면 ListItemSize.S 가 default value 이기 때문에 변경이 필요합니다. ListItemSize.Spadding: 4px 6px 인 반면 ListItemSize.Mpadding: 6px 이기 때문에 차이가 생깁니다.

디자인상으로 ListItemSize.M을 사용하고 있어서 size prop를 default value 로 지정하고 있는 곳이 있을 수 있기 때문에 주의해야 합니다.

Version of bezier-react

@1.0.0-next-v1.180

Browser

No response

Operating system

  • macOS
  • Windows
  • Linux

Additonal Information

No response

@yangwooseong yangwooseong added the bug Issues related to anything that isn't working label Feb 1, 2023
@yangwooseong
Copy link
Collaborator Author

yangwooseong commented Sep 19, 2023

베지어 스펙과 구현상 차이가 있어서 발생하는 문제. 베지어 스펙에 맞게 ListItem 컴포넌트의 속성을 하나씩 낮출(L -> M, M -> S, ...) 필요가 있습니다. (#1621 (comment))

image

https://next-v1--62bead1508281287d3c94d25.chromatic.com/?path=/story/components-listitem--primary&args=size:s;description:

@sungik-choi
Copy link
Contributor

우선은 이 방향으로 유지하고, 다음 메이저 버전에서 수정하시죠

@sungik-choi sungik-choi mentioned this issue Dec 15, 2023
@sungik-choi sungik-choi self-assigned this Jan 18, 2024
sungik-choi added a commit that referenced this issue Jan 19, 2024
<!--
  How to write a good PR title:
- Follow [the Conventional Commits
specification](https://www.conventionalcommits.org/en/v1.0.0/).
  - Give as much context as necessary and as little as possible
  - Prefix it with [WIP] while it’s a work in progress
-->

## Self Checklist

- [x] I wrote a PR title in **English** and added an appropriate
**label** to the PR.
- [x] I wrote the commit message in **English** and to follow [**the
Conventional Commits
specification**](https://www.conventionalcommits.org/en/v1.0.0/).
- [x] I [added the
**changeset**](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md)
about the changes that needed to be released. (or didn't have to)
- [x] I wrote or updated **documentation** related to the changes. (or
didn't have to)
- [x] I wrote or updated **tests** related to the changes. (or didn't
have to)
- [x] I tested the changes in various browsers. (or didn't have to)
  - Windows: Chrome, Edge, (Optional) Firefox
  - macOS: Chrome, Edge, Safari, (Optional) Firefox

## Related Issue
<!-- Please link to issue if one exists -->

- #1733
- Fixes #1117 
- Fixes #1314

## Summary
<!-- Please brief explanation of the changes made -->

Migrate `ListItem` component with scss

## Details
<!-- Please elaborate description of the changes -->

- 컴포넌트 인터페이스를 다른 컴포넌트보다 비교적 많이 변경했습니다. 레거시 컴포넌트이며, 사용하지 않는 속성들이 너무나 많고
현재 다른 베지어 컴포넌트의 사용 방식과 일관성이 맞지 않는 부분이 있었습니다.
- `interpolation`, `name`, `optionKey`, `leftIcon` 속성을 제외하고 채널 데스크
애플리케이션 기준 사용처는 없는 것으로 보입니다.
  - `name`, `optionKey` 는 사실상 무의미한 속성이라, 제거해도 동작은 동일합니다.
- `leftIcon` 속성은 Button 컴포넌트 등과 동일하게 `leftContent` 속성에서 `isBezierIcon`
여부를 체크하도록 변경했습니다. 라이브러리 사용자가 일관적으로 컴포넌트를 사용할 수 있도록 하는 변경입니다.
- `useAdjacentElementBorderRadius.ts` : 이제 `:has` 선택자로 해당 기능 구현이 가능해짐에따라
제거했습니다.
- #1117 을 함께 수정합니다. Breaking change 있는 김에 포함하고자 했습니다.
- XL 사이즈의 잘못된 타이포 사이즈를 수정합니다.

**기타**

- `ActivatableProps` 에서 `active` 속성을 제외하고 제거합니다. 사용하지도 않고, 불필요한 속성이 너무
많았습니다.

### Breaking change? (Yes/No)
<!-- If Yes, please describe the impact and migration path for users -->

Yes

**Breaking Changes: Property updates in `ListItem` component**

- No longer support `interpolation` property. Replace any usage of
`interpolation` property with appropriate `style` or `className`
implementations.
- No longer support `iconStyle`, `iconClassName`, `iconInterpolation`,
`contentStyle`, `contentClassName` and `contentInterpolation`. This
decision was made to reduce excessive flexibility in the interface.
- No longer support `leftIcon` property. Removed for consistency with
other component interfaces. Replace it to `leftContent`.
- No longer support `name` property. The second argument (name) of
`onClick` is also removed. If you need an identifier, combine functions
outside of the component.
- No longer support `hide`, `nested`, `optionKey` and
`disableIconActive` property. Removed because it is a legacy property.
Replace `hide` property with conditional rendering.
- The size changes according to the `ListItemSize`. This is a change to
unify the design. Please change it like below.
  - `ListItemSize.S` -> `ListItemSize.XS`
  - `ListItemSize.M` -> `ListItemSize.S`
  - `ListItemSize.L` -> `ListItemSize.M`
  - `ListItemSize.XL` -> `ListItemSize.L`

**Minor Changes:**

- Fix incorrect text size for `XL`(now `L`) size.

## References
<!-- Please list any other resources or points the reviewer should be
aware of -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issues related to anything that isn't working
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants