Skip to content

Commit

Permalink
fix: input, dropdown className 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
jikwan0327 committed Mar 2, 2023
1 parent 6e6ebc4 commit e319bc8
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 15 deletions.
5 changes: 4 additions & 1 deletion src/components/dropdown/ItemsBox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Dispatch, SetStateAction } from 'react';
import styled from 'styled-components';

interface PropsType<T> {
className?: string;
items: ReadonlyArray<T>;
onChange: (value: T) => void;
isOpen: boolean;
Expand All @@ -17,11 +18,13 @@ export const ItemBox = <T extends string>({
setIsOpen,
setText,
disable,
className,
}: PropsType<T>) => {
return (
<_DropDownItemsBox isOpen={!disable && isOpen}>
<_DropDownItemsBox className={className} isOpen={!disable && isOpen}>
{items.map((i, idx) => (
<_DropDownItem
className={className}
key={idx}
onClick={() => {
setIsOpen(false);
Expand Down
5 changes: 3 additions & 2 deletions src/components/dropdown/Label.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { Text } from '../styleGuide/text/Text';

interface PropsType {
className?: string;
label: string;
}

export const Label = ({ label }: PropsType) => {
export const Label = ({ label, className }: PropsType) => {
return (
<Text size="bodyM" color="gray6">
<Text className={className} size="bodyM" color="gray6">
{label}
</Text>
);
Expand Down
11 changes: 9 additions & 2 deletions src/components/dropdown/SelectedBox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import styled from 'styled-components';
import { Arrow } from '../styleGuide/icon';

interface PropsType<T> {
className?: string;
disable?: boolean;
setIsOpen: Dispatch<SetStateAction<boolean>>;
placeholder: string;
Expand All @@ -16,15 +17,21 @@ export const SelectedBox = <T extends string>({
placeholder,
text,
isOpen,
className,
}: PropsType<T>) => {
return (
<_DropDownSelectedBox
className={className}
disable={disable}
onClick={() => !disable && setIsOpen(!isOpen)}
isPlaceholder={text === placeholder}
>
<p>{text}</p>
<Arrow colorKey={'gray5'} direction={isOpen ? 'top' : 'bottom'} />
<p className={className}>{text}</p>
<Arrow
className={className}
colorKey={'gray5'}
direction={isOpen ? 'top' : 'bottom'}
/>
</_DropDownSelectedBox>
);
};
Expand Down
6 changes: 4 additions & 2 deletions src/components/dropdown/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,18 @@ export const DropDown = <T extends string>({
return (
<_Wrapper margin={margin} className={className}>
<OutsideClickHandler onOutsideClick={() => setIsOpen(false)}>
{label && <Label label={label} />}
<_DropDownBox width={width}>
{label && <Label className={className} label={label} />}
<_DropDownBox className={className} width={width}>
<SelectedBox
className={className}
disable={disable}
setIsOpen={setIsOpen}
placeholder={placeholder}
text={text}
isOpen={isOpen}
/>
<ItemBox
className={className}
items={items}
onChange={onChange}
isOpen={isOpen}
Expand Down
10 changes: 8 additions & 2 deletions src/components/input/ErrorMsg.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,18 @@ import styled from 'styled-components';
import { Text } from '../styleGuide/text/Text';

export interface errorMsgPropsType {
className?: string;
errorMsg?: string;
}

export const ErrorMsg = ({ errorMsg }: errorMsgPropsType) => {
export const ErrorMsg = ({ errorMsg, className }: errorMsgPropsType) => {
return (
<_Error margin={[8, 0, 0, 16]} color="error" size="captionM">
<_Error
className={className}
margin={[8, 0, 0, 16]}
color="error"
size="captionM"
>
{errorMsg}
</_Error>
);
Expand Down
5 changes: 3 additions & 2 deletions src/components/input/Label.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ import { Text } from '../styleGuide/text/Text';

export interface labelPropsType {
label?: string;
className?: string;
}

export const Label = ({ label }: labelPropsType) => {
export const Label = ({ label, className }: labelPropsType) => {
return (
<Text margin={['left', 6]} size="bodyM" color="gray6">
<Text className={className} margin={['left', 6]} size="bodyM" color="gray6">
{label}
</Text>
);
Expand Down
10 changes: 6 additions & 4 deletions src/components/input/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,10 @@ export const Input = ({
const [isInputClicked, setIsInputClicked] = useState<boolean>(false);
return (
<_Wrapper margin={margin} className={className}>
<Label label={label} />
<_InputWrapper width={width}>
<Label className={className} label={label} />
<_InputWrapper className={className} width={width}>
<_Input
className={className}
onWheel={(e) => {
//@ts-ignore
document.activeElement.blur();
Expand All @@ -56,16 +57,17 @@ export const Input = ({
name={name}
/>
{type == 'password' && (
<_IconBox>
<_IconBox className={className}>
<Eye
className={className}
onClick={() => setIsOpen(!isOpen)}
colorKey="gray5"
state={isOpen}
/>
</_IconBox>
)}
</_InputWrapper>
<ErrorMsg errorMsg={errorMsg} />
<ErrorMsg className={className} errorMsg={errorMsg} />
</_Wrapper>
);
};
Expand Down

0 comments on commit e319bc8

Please sign in to comment.