Skip to content

Conversation

@yolophg
Copy link
Contributor

@yolophg yolophg commented Jan 3, 2026

변경 사항

  • CheckboxGroup 컴포넌트 구현
  • 개별 Checkbox를 그룹 단위로 제어할 수 있도록 구조 정리 및 상태 관리 로직 구성

목적

  • 컴포넌트 단위의 일관성을 위해

리뷰어에게

  • API 네이밍이나 그룹 구조가 직관적인지 등 사용 흐름이 명확하게 드러나는지 확인 부탁드립니다.

PR 작성자 체크 리스트

  • UI Review를 요청하고 검토를 받았나요?
  • UI Tests를 진행했나요?

@yolophg yolophg linked an issue Jan 3, 2026 that may be closed by this pull request
@yolophg yolophg force-pushed the 597-implement-checkboxgroup branch 3 times, most recently from 4b0bd7e to 567a8f2 Compare January 3, 2026 00:37
@codecov
Copy link

codecov bot commented Jan 3, 2026

Codecov Report

❌ Patch coverage is 94.28571% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/components/CheckboxGroup/CheckboxGroup.tsx 94.28% 1 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@yolophg yolophg force-pushed the 597-implement-checkboxgroup branch from 567a8f2 to 43a7500 Compare January 3, 2026 00:42
@codecov
Copy link

codecov bot commented Jan 3, 2026

Bundle Report

Bundle size has no change ✅

@yolophg yolophg marked this pull request as ready for review January 9, 2026 23:49
@yolophg yolophg requested a review from a team as a code owner January 9, 2026 23:49
layout: "centered",
design: {
type: "figma",
url: "https://www.figma.com/design/mQ2ETYC6LXGOwVETov3CgO/Dale-UI-Kit?node-id=851-1768",
Copy link
Contributor

Choose a reason for hiding this comment

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

체크박스 그룹이 아닌 체크박스 피그마로 링크되어있습니다.
https://www.figma.com/design/mQ2ETYC6LXGOwVETov3CgO/Dale-UI-Kit?node-id=6814-1500 로 수정부탁드립니다.

Comment on lines +49 to +58
<CheckboxGroup
name="vertical-orientation"
label="좋아하는 과일을 선택하세요 (옵션 선택)"
orientation="vertical"
defaultValue={["apple"]}
>
<CheckboxItem value="apple">사과</CheckboxItem>
<CheckboxItem value="banana">바나나</CheckboxItem>
<CheckboxItem value="orange">오렌지</CheckboxItem>
</CheckboxGroup>
Copy link
Contributor

Choose a reason for hiding this comment

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

default args에 children을 주입하고 있고 여기서 주입하는것과 동일한 형태로 보입니다.

<CheckboxGroup
          name="vertical-orientation"
          label="좋아하는 과일을 선택하세요 (옵션 선택)"
          orientation="vertical"
          defaultValue={["apple"]}
          {...args}
 />

로 변경하면 children을 중복해서 선언하지않아도 되고 option을 변경하였을때 수정도 한번에 되니 유지보수에도 유리할것으로 예상됩니다.

Comment on lines +46 to +48
<div
className={css({ display: "flex", flexDirection: "column", gap: "32" })}
>
Copy link
Contributor

Choose a reason for hiding this comment

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

중앙정렬이 들어가도 괜찮다면 VStack 컴포넌트를 사용하는것이 어떨까요?

onValueChange: (value: string, checked: boolean) => void;
} | null>(null);

export interface CheckboxGroupProps {
Copy link
Contributor

Choose a reason for hiding this comment

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

required는 지원안하는건지 궁금합니다.

Comment on lines +258 to +260
</ArkCheckbox.Root>
);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

한샘님이 작성하신 checkbox 컴포넌트를 import해서 사용하는것이 어떨까요?
별도의 구현체로 가다보면 관리포인트도 늘어나고 추후에 스타일이 동일하지 않는 문제가 생길거같습니다.

Comment on lines +35 to +45
/**
* 컴포넌트가 처음 렌더링될 때 선택되는 값들입니다.
* @default undefined
*/
defaultValue?: string[];

/**
* 외부에서 선택 값을 직접 제어할 때 사용합니다.
* @default undefined
*/
value?: string[];
Copy link
Member

Choose a reason for hiding this comment

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

string 배열인데 변수 이름은 단수라 어색하네요. 복수형으로 바꾸면 자연스러울 것 같은데 어떻게 생각하시나요?

* true이면 모든 체크박스가 비활성화되어 상호작용이 불가합니다.
* @default false
*/
disabled?: boolean;
Copy link
Member

Choose a reason for hiding this comment

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

default가 false라면서 컴포넌트 함수 default parameter에는 아무것도 할당되어 있지 않은데 의도하신 건가요?

Comment on lines +184 to +188
/**
* true이면 이 체크박스가 비활성화됩니다.
* @default false
*/
disabled?: boolean;
Copy link
Member

Choose a reason for hiding this comment

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

여기도 이 코멘트와 동일합니다.

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.

CheckboxGroup 컴포넌트 구현

4 participants