+
{children}
)
}
-export { SearchDiv };
\ No newline at end of file
+export { SearchDiv };
diff --git a/packages/common/business_components/src/ui/search_input/index.tsx b/packages/common/business_components/src/ui/search_input/index.tsx
new file mode 100644
index 000000000..f2d1caeb4
--- /dev/null
+++ b/packages/common/business_components/src/ui/search_input/index.tsx
@@ -0,0 +1,16 @@
+import { Input, Label } from "@common/components";
+import React from "react";
+
+const SearchInput = React.forwardRef<
+ HTMLDivElement& HTMLInputElement,
+ React.HTMLAttributes
& {className:string, label:string}>
+(({className, label}, ref) => {
+ console.log(ref);
+ return (
+
+ {label && }
+
+
+ )
+});
+export { SearchInput };
diff --git a/packages/common/business_components/src/ui/search_input_select/index.tsx b/packages/common/business_components/src/ui/search_input_select/index.tsx
new file mode 100644
index 000000000..1496d9ddd
--- /dev/null
+++ b/packages/common/business_components/src/ui/search_input_select/index.tsx
@@ -0,0 +1,38 @@
+import { Input, Label } from "@common/components";
+import React from "react";
+import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../select/lib/selectBox";
+export type SelectDataType = {
+ text: string;
+ val: string;
+}
+/**
+ * 검색 입력 및 선택 컴포넌트
+ * @param className - string tailwindcss class
+ * @param label - string label
+ * @param selectData - SelectDataType[] 선택 데이터
+ * @param onSelectValue - (val:string)=>void 선택 값 콜백
+ * @param refs - React.forwardRef | null 입력값 ref
+ * @returns React.FC
+ */
+const SearchInputSelect = React.forwardRefvoid}>(({className, label, selectData, onSelectValue}, refs) => {
+ return (
+
+ {label &&
}
+
+
+
+
+
+ )
+});
+export { SearchInputSelect };
diff --git a/packages/common/business_components/src/ui/select/index.tsx b/packages/common/business_components/src/ui/select/index.tsx
index 72f304caa..d039c2c2a 100644
--- a/packages/common/business_components/src/ui/select/index.tsx
+++ b/packages/common/business_components/src/ui/select/index.tsx
@@ -1,45 +1,35 @@
import { Label } from "@common/components";
+import React from "react";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "./lib/selectBox";
/** 차트 기본 스타일 */
-const styles = {
- selectBoxDiv : {
- marginLeft : '2rem',
- display : 'flex'
- } as React.CSSProperties,
- selectStyle : {
- marginLeft: '1rem',
- width:'8rem'
- } as React.CSSProperties,
- labelStyle : {
- margin:'0.8rem 0.8rem 0.8rem 0.8rem',
- fontSize: '10px',
- } as React.CSSProperties
-}
-
interface SelectBox1 {
text:string,
val:string
}
-function SelectBox(props: {label : string, selectArray: SelectBox1[]}){
- const placeHolder = props.selectArray.length > 0 ? props.selectArray[0].text : "";
+
+const SelectBox = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes & {label:string, className:string, selectArray:SelectBox1[], onSelectValue:(val:string)=>void}
+>(({ label, className, selectArray, onSelectValue }, ref)=>{
+ const placeHolder = selectArray?.[0]?.text ?? "";
return (
-
- {props.label &&
}
-