From acc77d79cc17585ef861d9e68021fe96965c4ef8 Mon Sep 17 00:00:00 2001 From: itwillbeoptimal Date: Tue, 30 Jun 2026 22:12:22 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20Checkbox/Radio=EC=9D=98=20input=20ty?= =?UTF-8?q?pe=20prop=20=EC=99=B8=EB=B6=80=20=EC=98=A4=EB=B2=84=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=EB=93=9C=20=EC=B0=A8=EB=8B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/jds/src/components/Checkbox/checkbox.types.ts | 2 +- packages/jds/src/components/Radio/radio.types.ts | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/jds/src/components/Checkbox/checkbox.types.ts b/packages/jds/src/components/Checkbox/checkbox.types.ts index ef89df341..18d47fb4a 100644 --- a/packages/jds/src/components/Checkbox/checkbox.types.ts +++ b/packages/jds/src/components/Checkbox/checkbox.types.ts @@ -60,7 +60,7 @@ type CheckboxBasicUncontrolledProps = { type CheckboxBasicBaseProps = Omit< ComponentPropsWithoutRef<"input">, - "size" | "checked" | "defaultChecked" | "onChange" + "size" | "checked" | "defaultChecked" | "onChange" | "type" > & { size?: CheckboxSize; value?: string; diff --git a/packages/jds/src/components/Radio/radio.types.ts b/packages/jds/src/components/Radio/radio.types.ts index b45a88ddc..e9a787526 100644 --- a/packages/jds/src/components/Radio/radio.types.ts +++ b/packages/jds/src/components/Radio/radio.types.ts @@ -29,8 +29,10 @@ type RadioRootBaseProps = { export type RadioRootProps = RadioRootBaseProps & (RadioRootControlledProps | RadioRootUncontrolledProps); -export interface RadioBasicProps - extends Omit, "value" | "size"> { +export interface RadioBasicProps extends Omit< + ComponentPropsWithoutRef<"input">, + "value" | "size" | "type" +> { size?: RadioSize; value: string; } From b5654e1bfb45c80581d9bf9020fdd0f7f5a671c3 Mon Sep 17 00:00:00 2001 From: itwillbeoptimal Date: Tue, 30 Jun 2026 22:13:02 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20Checkbox.Label=20z-index=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/jds/src/components/Checkbox/checkbox.css.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/jds/src/components/Checkbox/checkbox.css.ts b/packages/jds/src/components/Checkbox/checkbox.css.ts index 5997b3437..577443c19 100644 --- a/packages/jds/src/components/Checkbox/checkbox.css.ts +++ b/packages/jds/src/components/Checkbox/checkbox.css.ts @@ -229,6 +229,7 @@ export const checkboxItem = recipe({ export const checkboxLabel = style({ whiteSpace: "nowrap", + zIndex: 10, vars: { [labelColorVar]: vars.color.semantic.object.bolder }, selectors: { "[data-disabled] &": { vars: { [labelColorVar]: vars.color.semantic.object.subtle } }, From 7ef1999953554285105a4bfcc19dec710d727325 Mon Sep 17 00:00:00 2001 From: itwillbeoptimal Date: Tue, 30 Jun 2026 22:17:33 +0900 Subject: [PATCH 3/3] =?UTF-8?q?refactor:=20Checkbox,=20Radio=20=ED=83=80?= =?UTF-8?q?=EC=9E=85=20=EC=A0=95=EC=9D=98=20type=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/Checkbox/checkbox.types.ts | 23 +++++-------------- .../jds/src/components/Radio/radio.types.ts | 18 +++++++-------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/packages/jds/src/components/Checkbox/checkbox.types.ts b/packages/jds/src/components/Checkbox/checkbox.types.ts index 18d47fb4a..1369255b2 100644 --- a/packages/jds/src/components/Checkbox/checkbox.types.ts +++ b/packages/jds/src/components/Checkbox/checkbox.types.ts @@ -7,8 +7,6 @@ export type CheckboxSize = (typeof CHECKBOX_SIZE_OPTIONS)[number]; export type CheckboxVariant = (typeof CHECKBOX_VARIANT_OPTIONS)[number]; export type CheckedState = boolean | "indeterminate"; -// Checkbox.Root - type CheckboxRootControlledProps = { value: string[]; defaultValue?: never; @@ -33,18 +31,13 @@ type CheckboxRootBaseProps = { export type CheckboxRootProps = CheckboxRootBaseProps & (CheckboxRootControlledProps | CheckboxRootUncontrolledProps); -// Checkbox.Item - -export interface CheckboxItemProps extends ComponentPropsWithoutRef<"label"> { +export type CheckboxItemProps = ComponentPropsWithoutRef<"label"> & { size?: CheckboxSize; variant?: CheckboxVariant; disabled?: boolean; isInvalid?: boolean; children: ReactNode; -} - -// Checkbox.Basic -// Checkbox.Root 안에서 사용 시 value가 그룹 내 식별자가 되며 checked 상태는 그룹이 관리한다. +}; type CheckboxBasicControlledProps = { checked: CheckedState; @@ -71,14 +64,10 @@ type CheckboxBasicBaseProps = Omit< export type CheckboxBasicProps = CheckboxBasicBaseProps & (CheckboxBasicControlledProps | CheckboxBasicUncontrolledProps); -// Checkbox.Label - -export interface CheckboxLabelProps { +export type CheckboxLabelProps = { children: ReactNode; -} - -// Checkbox.Helper +}; -export interface CheckboxHelperProps { +export type CheckboxHelperProps = { children: ReactNode; -} +}; diff --git a/packages/jds/src/components/Radio/radio.types.ts b/packages/jds/src/components/Radio/radio.types.ts index e9a787526..e97482303 100644 --- a/packages/jds/src/components/Radio/radio.types.ts +++ b/packages/jds/src/components/Radio/radio.types.ts @@ -29,25 +29,25 @@ type RadioRootBaseProps = { export type RadioRootProps = RadioRootBaseProps & (RadioRootControlledProps | RadioRootUncontrolledProps); -export interface RadioBasicProps extends Omit< +export type RadioBasicProps = Omit< ComponentPropsWithoutRef<"input">, "value" | "size" | "type" -> { +> & { size?: RadioSize; value: string; -} +}; -export interface RadioItemProps extends ComponentPropsWithoutRef<"label"> { +export type RadioItemProps = ComponentPropsWithoutRef<"label"> & { size?: RadioSize; variant?: RadioVariant; disabled?: boolean; children: ReactNode; -} +}; -export interface RadioLabelProps { +export type RadioLabelProps = { children: ReactNode; -} +}; -export interface RadioHelperProps { +export type RadioHelperProps = { children: ReactNode; -} +};