diff --git a/.changeset/cuddly-peaches-shake.md b/.changeset/cuddly-peaches-shake.md
new file mode 100644
index 0000000..a67feb8
--- /dev/null
+++ b/.changeset/cuddly-peaches-shake.md
@@ -0,0 +1,5 @@
+---
+'@sopt-makers/ui': patch
+---
+
+select classname prop 추가
diff --git a/apps/docs/src/App.tsx b/apps/docs/src/App.tsx
index 8054a7d..bdafc9d 100644
--- a/apps/docs/src/App.tsx
+++ b/apps/docs/src/App.tsx
@@ -4,7 +4,7 @@ import { ChangeEvent, useState } from 'react';
import '@sopt-makers/ui/dist/index.css';
-import { FieldBox, SearchField, Test, TextArea, TextField } from '@sopt-makers/ui';
+import { FieldBox, SearchField, Test, TextArea, TextField, SelectV2 } from '@sopt-makers/ui';
import { colors } from '@sopt-makers/colors';
function App() {
@@ -46,6 +46,11 @@ function App() {
setSearch('');
};
+ const options = [
+ { label: 'Option 1', value: 'option1' },
+ { label: 'Option 2', value: 'option2' },
+ ];
+
return (
<>
@@ -88,6 +93,30 @@ function App() {
>
여긴 본문
+
+ {
+ console.log('dsad');
+ }}
+ type='text'
+ >
+
+
+
+
+ {options.map((option) => (
+ {
+ console.log('custom logic');
+ }}
+ />
+ ))}
+
+
+
>
);
}
diff --git a/packages/ui/Input/Select.tsx b/packages/ui/Input/Select.tsx
index 8cb7d46..1e964b6 100644
--- a/packages/ui/Input/Select.tsx
+++ b/packages/ui/Input/Select.tsx
@@ -144,18 +144,18 @@ function SelectTrigger({ children }: SelectTriggerProps) {
}
interface SelectTriggerContentProps {
- className?: string;
placeholder?: string;
+ className?: string;
}
// Select.TriggerContent 컴포넌트: trigger의 미리 정의된 UI
-function SelectTriggerContent({ className, placeholder }: SelectTriggerContentProps) {
+function SelectTriggerContent({ placeholder, className }: SelectTriggerContentProps) {
const { open, selected } = useSelectContext();
const selectedLabel = selected ? selected.label : placeholder;
return (
-
+
{selectedLabel}
+
);
@@ -191,10 +192,11 @@ function SelectMenu({ children }: SelectMenuProps) {
interface SelectMenuItemProps {
option: Option;
onClick?: () => void;
+ className?: string;
}
// SelectMenuItem 컴포넌트: 옵션 목록 하나의 UI
-function SelectMenuItem({ option, onClick }: SelectMenuItemProps) {
+function SelectMenuItem({ option, onClick, className }: SelectMenuItemProps) {
const { open, type, handleOptionClick } = useSelectContext();
const handleClick = () => {
@@ -211,7 +213,7 @@ function SelectMenuItem({ option, onClick }: SelectMenuItemProps) {
return (
-