styles: button common border radius

This commit is contained in:
lytrankieio123 2021-08-20 18:47:18 +07:00
parent 7613ef8581
commit b2ac71f8cd
10 changed files with 44 additions and 36 deletions

View File

@ -4,7 +4,7 @@ export default function Home() {
return (
<>
<div>This is home page</div>
<ButtonCommon />
<ButtonCommon>Button default</ButtonCommon>
<p>Go to <code>pages/index.tsx</code> to get your hand dirty!</p>
<p>Go to <code>src/components</code> to make your awesome component!</p>
<p>Go to <code>src/styles</code> to find global styles!</p>

View File

@ -1,5 +0,0 @@
/* style demo here */
.buttonCommon {
color: red;
}

View File

@ -0,0 +1,7 @@
@import '../../../styles/utilities';
.buttonCommon {
@apply custom-border-radius bg-primary hover:bg-hover-primary transition-all duration-200;
padding: 1.6rem 3.6rem;
}

View File

@ -1,14 +1,27 @@
import { FC, useRef, useEffect } from 'react'
import s from './ButtonCommon.module.css'
import classNames from 'classnames'
import React from 'react'
import { ButonType, ButtonSize } from 'src/utils/constanst.utils'
import s from './ButtonCommon.module.scss'
interface Props {
className?: string
children?: any
children?: any,
type?: ButonType,
size?: ButtonSize,
icon?: HTMLElement,
}
const ButtonCommon: FC<Props> = ({ }) => {
const ButtonCommon = ({ type, size, icon, children }: Props) => {
return (
<div className={s.buttonCommon}>This is button common</div>
<button className={classNames({
[s.buttonCommon]: true,
[s.type]: type,
[s.size]: size,
})}>
{
icon && { icon }
}
<span className={s.label}>{children}</span>
</button>
)
}

View File

@ -2,7 +2,8 @@
.header {
.btn {
@apply font-bold py-2 px-4 rounded;
// @apply font-bold py-2 px-4 rounded;
}
.btnBlue {
@apply bg-primary hover:bg-warning text-label font-bold py-2 px-4 custom-border-radius;

View File

@ -10,27 +10,6 @@ const Header: FC<Props> = ({ }: Props) => {
return (
<div className={s.header}>
This is Header
<button className={s.btnBlue}>
Button
</button>
<button className={s.btn}>
Button
</button>
<div className={s.link}>
Test link style
</div>
<h1 className="heading-1">
HEADING 1
</h1>
<p className="spacing-horizontal">
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Sunt delectus, atque aliquid repudiandae debitis dolor facere impedit alias nemo dolores voluptatum? Commodi, delectus. Dignissimos aspernatur nobis, distinctio delectus eligendi nisi illo tempore non nostrum, molestias excepturi dolor culpa fugiat rem perspiciatis. Repellendus numquam quisquam possimus natus vero recusandae, ipsam earum ratione quos ex consectetur cum nostrum modi amet odit fugiat fugit. Facere cum enim dignissimos molestias facilis error dicta exercitationem, delectus voluptates fuga laboriosam esse sunt odio, impedit modi veritatis, nisi nam? Voluptatum voluptas similique aspernatur. Soluta, accusamus! Mollitia praesentium adipisci perspiciatis iusto dolorum sint sit placeat, nesciunt id repellendus.
</p>
<p className="spacing-horizontal-left">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Itaque doloremque quos excepturi laborum maiores laudantium hic iusto natus? Ipsa deleniti quas odit! Labore esse enim ipsam tempora tenetur beatae maxime officiis est, a illo! Soluta suscipit maxime odit eveniet laudantium, iure atque doloribus quaerat. Obcaecati tempore molestiae aliquid amet maiores suscipit, beatae repellat illum ipsam tenetur. Porro officiis omnis quam, iure quia necessitatibus consectetur culpa itaque, in tempora rem ex ad et iusto, hic commodi fuga quibusdam. Dolores exercitationem natus dolor pariatur voluptates non corporis, minus repellat! Quis distinctio esse, animi suscipit ducimus sequi obcaecati facere, perferendis ea omnis soluta.
</p>
<p className={s.paragraph}>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Tempore, natus?
</p>
</div>
)
}

View File

@ -1,5 +1,6 @@
:root {
--primary: #36bf6d;
--hover-primary: #3ccc76;
--primary-light: #e0f6e8;
--primary-lightest: #effaf4;

View File

@ -88,6 +88,6 @@
}
}
.custom-border-radius {
border-radius: 50% 20% / 10% 40%;
border-radius: 20% 10% 10% 4%/ 15% 40% 25% 50%;
}
}

View File

@ -1 +1,12 @@
// constanst here
export enum ButonType {
primary,
light,
}
export enum ButtonSize {
default,
large,
}

View File

@ -22,6 +22,7 @@ module.exports = {
},
colors: {
primary: 'var(--primary)',
'hover-primary': 'var(--hover-primary)',
'primary-light': 'var(--primary-light)',
'primary-lightest': 'var(--primary-lightest)',