mirror of
https://github.com/vercel/commerce.git
synced 2025-07-05 04:31:22 +00:00
feat: components SelectCommon
This commit is contained in:
parent
c0c4aa9c10
commit
a18eb2b320
@ -1,12 +1,9 @@
|
|||||||
@import '../../../styles/utilities';
|
|
||||||
|
|
||||||
.heartToggle{
|
.heartToggle{
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 2.4rem;
|
width: 2.4rem;
|
||||||
height: 2.4rem;
|
height: 2.4rem;
|
||||||
path{
|
|
||||||
stroke: var(--primary);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.isToggleOn{
|
.isToggleOn{
|
||||||
svg path{
|
svg path{
|
||||||
|
@ -8,7 +8,7 @@ interface Props {
|
|||||||
onChange?: () => void
|
onChange?: () => void
|
||||||
}
|
}
|
||||||
|
|
||||||
const ItemWishList = memo(({isActive, onChange}:Props) => {
|
const ItemWishList = memo(({isActive=false, onChange}:Props) => {
|
||||||
return(
|
return(
|
||||||
<div className={classNames({
|
<div className={classNames({
|
||||||
[s.heartToggle]: true,
|
[s.heartToggle]: true,
|
||||||
|
32
src/components/common/SelectCommon/SelectCommon.module.scss
Normal file
32
src/components/common/SelectCommon/SelectCommon.module.scss
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
@import "../../../styles/utilities";
|
||||||
|
|
||||||
|
.select{
|
||||||
|
@apply rounded-lg border-solid;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1.2rem 1.6rem;
|
||||||
|
&.base{
|
||||||
|
width: 18.6rem;
|
||||||
|
height: 4.8rem;
|
||||||
|
}
|
||||||
|
&.large{
|
||||||
|
width: 34.25rem;
|
||||||
|
height: 5.6rem;
|
||||||
|
}
|
||||||
|
&.default{
|
||||||
|
@apply border;
|
||||||
|
}
|
||||||
|
&.custom{
|
||||||
|
@apply border-2;
|
||||||
|
border-color: var(--border-line);
|
||||||
|
color: var(--text-label);
|
||||||
|
}
|
||||||
|
.option{
|
||||||
|
&:hover{
|
||||||
|
background-color: black;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
27
src/components/common/SelectCommon/SelectCommon.tsx
Normal file
27
src/components/common/SelectCommon/SelectCommon.tsx
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import s from './SelectCommon.module.scss'
|
||||||
|
import classNames from 'classnames'
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
placeHolder? : string,
|
||||||
|
size?: 'base' | 'large',
|
||||||
|
type?: 'default' | 'custom',
|
||||||
|
option: {name: string}[],
|
||||||
|
}
|
||||||
|
|
||||||
|
const SelectCommon = ({ type = 'default', size = 'base', option, placeHolder }: Props) => {
|
||||||
|
return(
|
||||||
|
<select className={classNames({
|
||||||
|
[s.select] : true,
|
||||||
|
[s[type]]: !!type,
|
||||||
|
[s[size]]: !!size,
|
||||||
|
})}
|
||||||
|
>
|
||||||
|
<option disabled selected hidden>{placeHolder}</option>
|
||||||
|
{
|
||||||
|
option.map(item => <option className={s.option} value={item.name}> {item.name} </option>)
|
||||||
|
}
|
||||||
|
</select>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default SelectCommon
|
Loading…
x
Reference in New Issue
Block a user