[FIX] Select width 수정, TextArea/Input/Select padding 조절#79
Conversation
WalkthroughSelect 관련 컴포넌트들의 레이아웃·스타일이 정리되고 SelectMain에 Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor 사용자
participant SelectMain
participant SelectButton
participant OptionList
Note over SelectMain: Props: value?, defaultValue?
사용자->>SelectButton: 클릭 (열기/닫기)
SelectButton->>SelectMain: isOpen 토글 요청
SelectMain-->>OptionList: isOpen 상태 전달
alt 값 존재
SelectMain->>SelectButton: 표시 텍스트 = value
else 값 없음
SelectMain->>SelectButton: 표시 텍스트 = defaultValue
end
사용자->>OptionList: 옵션 선택
OptionList->>SelectMain: onChange(value)
SelectMain->>SelectButton: 표시 텍스트 갱신 (value)
SelectMain-->>OptionList: 닫기
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧬 Code graph analysis (1)src/shared/ui/Select/SelectButton.tsx (2)
🔇 Additional comments (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Update: 2025년 10월 10일 14시 25분 34초 |
There was a problem hiding this comment.
Actionable comments posted: 5
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/shared/ui/Select/SelectMain.tsx (1)
24-24: defaultValue를 선택적 prop으로 변경해야 합니다.현재
defaultValue가 필수 prop으로 정의되어 있지만, 기본값을 항상 제공해야 하는 것은 아닙니다.다음 diff를 적용하여 선택적 prop으로 변경하세요:
/** * The default value of the select component. */ - defaultValue: string; + defaultValue?: string;
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (9)
src/shared/ui/Input/Input.tsx(1 hunks)src/shared/ui/Select/Option.tsx(1 hunks)src/shared/ui/Select/OptionGroupName.tsx(1 hunks)src/shared/ui/Select/OptionList.tsx(1 hunks)src/shared/ui/Select/Select.stories.tsx(2 hunks)src/shared/ui/Select/SelectButton.tsx(3 hunks)src/shared/ui/Select/SelectMain.tsx(2 hunks)src/shared/ui/TextArea/TextArea.stories.tsx(0 hunks)src/shared/ui/TextArea/TextArea.tsx(1 hunks)
💤 Files with no reviewable changes (1)
- src/shared/ui/TextArea/TextArea.stories.tsx
🧰 Additional context used
🧬 Code graph analysis (2)
src/shared/ui/Select/SelectMain.tsx (2)
src/shared/ui/Select/SelectButton.tsx (1)
SelectButton(31-62)src/shared/ui/Select/OptionList.tsx (1)
OptionList(26-30)
src/shared/ui/Select/SelectButton.tsx (2)
src/shared/index.ts (2)
Flex(10-10)cn(29-29)src/shared/ui/Flex/Flex.tsx (1)
Flex(78-107)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: preview-storybook
🔇 Additional comments (7)
src/shared/ui/Select/Option.tsx (1)
8-13: LGTM! 패딩 및 호버 스타일 변경이 적절합니다.호버 배경색을
gray-100으로 변경하고lg크기의 패딩을px-4 py-3.5로 통일하여 PR 목표에 부합합니다.src/shared/ui/Select/OptionGroupName.tsx (1)
6-6: LGTM! 패딩 통일로 일관성이 개선되었습니다.
px-4 py-3.5패딩이 Option 컴포넌트와 일치하며, 단순화된 렌더링 구조가 적절합니다.src/shared/ui/Select/SelectMain.tsx (1)
47-53: 래퍼 div 제거가 레이아웃에 미치는 영향을 확인하세요.SelectButton과 OptionList를 직접 렌더링하도록 변경되었습니다. OptionList의 포지셔닝이 absolute에서 relative로 변경된 것과 함께 레이아웃이 의도대로 작동하는지 확인이 필요합니다.
src/shared/ui/Select/SelectButton.tsx (1)
33-60: Flex 컴포넌트 사용으로 레이아웃이 개선되었습니다.Flex 컴포넌트를 사용한 구조 개선이 적절하며, 아이콘 회전 애니메이션도 잘 유지되고 있습니다.
src/shared/ui/Select/Select.stories.tsx (2)
10-17: LGTM! Storybook 문서화가 개선되었습니다.컴포넌트 설명을
parameters.docs.description으로 이동한 것이 Storybook 모범 사례에 부합합니다.
31-41: LGTM! argTypes 추가로 문서화가 명확해졌습니다.새로 추가된
defaultValueprop과sizeprop에 대한 argTypes가 적절하게 정의되었습니다.src/shared/ui/Select/OptionList.tsx (1)
8-8:OptionList포지셔닝 변경 시각 확인 필요
OptionList가absolute에서relative로 변경되어 드롭다운 위치가 달라졌습니다. SelectButton 아래에 정상적으로 표시되는지 화면에서 확인하세요.
a696a69 to
e76205a
Compare
🔥 연관 이슈
🚀 작업 내용
고민한 내용
기존에 구현되어 있던 TextArea, Input, Select 컴포넌트는 패딩 값이 서로 달라 일관성이 부족했습니다.
이 세 컴포넌트는 사용자의 입력과 직접 맞닿는 영역이며, 한 화면에서 함께 사용될 가능성이 높기 때문에 패딩 차이가 존재하면 시각적으로 이질감을 줄 수 있다고 판단했습니다. 이에 따라 세 컴포넌트의 패딩 값을 14px 16px으로 통일했습니다.
as is



Summary by CodeRabbit
New Features
Refactor
Style
Breaking Changes
Documentation