parent
c84cd6c3c3
commit
7817345b48
@ -0,0 +1,575 @@ |
||||
.btn { |
||||
@apply cursor-default font-semibold gap-1 inline-flex justify-center px-6 py-2 rounded-md transition; |
||||
|
||||
&--primary { |
||||
@apply bg-primary text-white; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-support-4; |
||||
} |
||||
} |
||||
|
||||
&--primary-outline { |
||||
@apply bg-white border border-solid border-primary text-primary; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-primary text-white; |
||||
} |
||||
} |
||||
|
||||
&--secondary { |
||||
@apply bg-secondary text-white; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-support-5; |
||||
} |
||||
} |
||||
|
||||
&--secondary-outline { |
||||
@apply bg-white border border-solid border-secondary text-secondary; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-secondary text-white; |
||||
} |
||||
} |
||||
|
||||
&--plain { |
||||
@apply bg-gray-90 text-white; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-black; |
||||
} |
||||
} |
||||
|
||||
&--plain-outline { |
||||
@apply bg-white border border-solid border-black text-black; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-gray-90 border-gray-90 text-white; |
||||
} |
||||
} |
||||
|
||||
&--success { |
||||
@apply bg-success text-white; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-success; |
||||
} |
||||
} |
||||
|
||||
&--success-outline { |
||||
@apply bg-white border border-solid border-success text-success; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-success text-white; |
||||
} |
||||
} |
||||
|
||||
&--info { |
||||
@apply bg-info text-white; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-info; |
||||
} |
||||
} |
||||
|
||||
&--info-outline { |
||||
@apply bg-white border border-solid border-info text-info; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-info text-white; |
||||
} |
||||
} |
||||
|
||||
&--warning { |
||||
@apply bg-warning text-gray-90; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-warning; |
||||
} |
||||
} |
||||
|
||||
&--warning-outline { |
||||
@apply bg-white border border-solid border-warning text-warning; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-warning text-gray-90; |
||||
} |
||||
} |
||||
|
||||
&--danger { |
||||
@apply bg-error text-white; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-error; |
||||
} |
||||
} |
||||
|
||||
&--danger-outline { |
||||
@apply bg-white border border-solid border-error text-error; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-error text-white; |
||||
} |
||||
} |
||||
|
||||
&--primary, |
||||
&--secondary, |
||||
&--plain, |
||||
&--success, |
||||
&--info, |
||||
&--warning, |
||||
&--danger { |
||||
&:disabled { |
||||
@apply bg-gray-25 cursor-default select-none text-gray-50; |
||||
} |
||||
} |
||||
|
||||
&--primary-outline, |
||||
&--secondary-outline, |
||||
&--plain-outline, |
||||
&--success-outline, |
||||
&--info-outline, |
||||
&--warning-outline, |
||||
&--danger-outline { |
||||
&:disabled, |
||||
&.disabled { |
||||
@apply bg-gray-10 border-gray-25 cursor-default select-none text-gray-50; |
||||
} |
||||
} |
||||
} |
||||
|
||||
$color_7: #ffffff; |
||||
$color_15: #A855F7; |
||||
$background-color_4: transparent; |
||||
$border-color_4: transparent; |
||||
$border-color_12: #9333EA; |
||||
|
||||
@mixin filled-style($color, $hoverColor) { |
||||
$textColor: 'white'; |
||||
|
||||
@if('warning' == $color) { |
||||
$textColor: 'gray-90'; |
||||
} |
||||
|
||||
@apply bg-#{$color} text-#{$textColor}; |
||||
|
||||
&:enabled { |
||||
&:hover, |
||||
&:focus, |
||||
&:active { |
||||
@apply bg-#{$hoverColor}; |
||||
} |
||||
} |
||||
|
||||
&:disabled, |
||||
&.p-disabled { |
||||
@apply bg-gray-25 text-gray-50; |
||||
} |
||||
} |
||||
|
||||
@mixin outlined-style($color) { |
||||
@apply bg-white border border-solid border-#{$color} text-#{$color}; |
||||
|
||||
&:enabled { |
||||
&:hover, |
||||
&:focus, |
||||
&:active { |
||||
@if ('warning' == $color) { |
||||
@apply bg-#{$color} text-gray-90; |
||||
} @else if('black' == $color) { |
||||
@apply bg-gray-90 border-gray-90 text-white; |
||||
} @else { |
||||
@apply bg-#{$color} text-white; |
||||
} |
||||
} |
||||
} |
||||
|
||||
&:disabled, |
||||
&.p-disabled { |
||||
@apply bg-gray-10 border-gray-25 text-gray-50; |
||||
} |
||||
} |
||||
|
||||
@mixin text-style($color) { |
||||
@apply bg-white text-#{$color}; |
||||
|
||||
&:enabled { |
||||
&:hover, |
||||
&:focus, |
||||
&:active { |
||||
@if('black' == $color) { |
||||
@apply bg-support-1 text-primary; |
||||
} @else { |
||||
@apply bg-gray-10; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.p-button { |
||||
@include filled-style('primary', 'support-4'); |
||||
@apply cursor-default font-semibold gap-1 inline-flex justify-center px-6 py-2 rounded-md transition; |
||||
|
||||
&:focus { |
||||
@apply outline-none; |
||||
} |
||||
|
||||
.p-button-icon { |
||||
@apply font-semibold leading-6 text-sm w-[1.5rem] h-[1.5rem]; |
||||
|
||||
&::before { |
||||
@apply leading-6; |
||||
} |
||||
} |
||||
|
||||
.p-badge { |
||||
@apply bg-white font-semibold h-4 leading-4 min-w-[1rem] text-primary text-[0.625rem]; |
||||
} |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('primary'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('primary'); |
||||
} |
||||
} |
||||
|
||||
.p-button.p-button-raised { |
||||
@apply shadow-lg; |
||||
} |
||||
|
||||
.p-button.p-button-rounded { |
||||
@apply rounded-full; |
||||
} |
||||
|
||||
.p-button.p-button-icon-only.p-button-rounded { |
||||
@apply rounded-full; |
||||
} |
||||
|
||||
.p-button.p-button-sm { |
||||
@apply text-base px-4 py-1; |
||||
} |
||||
|
||||
.p-button.p-button-lg { |
||||
@apply px-8 py-3 text-xl; |
||||
} |
||||
|
||||
// secondary button |
||||
.p-button.p-button-secondary { |
||||
@include filled-style('secondary', 'support-5'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('secondary'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('secondary'); |
||||
} |
||||
} |
||||
|
||||
.p-buttonset.p-button-secondary { |
||||
> .p-button { |
||||
@include filled-style('secondary', 'support-5'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('secondary'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('secondary'); |
||||
} |
||||
} |
||||
} |
||||
|
||||
// plain button |
||||
.p-button.p-button-plain { |
||||
@include filled-style('gray-90', 'black'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('black'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('black'); |
||||
} |
||||
} |
||||
|
||||
.p-buttonset.p-button-plain { |
||||
> .p-button { |
||||
@include filled-style('gray-90', 'black'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('black'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('black'); |
||||
} |
||||
} |
||||
} |
||||
|
||||
// info button |
||||
.p-button.p-button-info { |
||||
@include filled-style('info', 'info'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('info'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('info'); |
||||
} |
||||
} |
||||
|
||||
.p-buttonset.p-button-info { |
||||
> .p-button { |
||||
@include filled-style('info', 'info'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('info'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('info'); |
||||
} |
||||
} |
||||
} |
||||
|
||||
// success button |
||||
.p-button.p-button-success { |
||||
@include filled-style('success', 'success'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('success'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('success'); |
||||
} |
||||
} |
||||
|
||||
.p-buttonset.p-button-success { |
||||
> .p-button { |
||||
@include filled-style('success', 'success'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('success'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('success'); |
||||
} |
||||
} |
||||
} |
||||
|
||||
// warning button |
||||
.p-button.p-button-warning { |
||||
@include filled-style('warning', 'warning'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('warning'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('warning'); |
||||
} |
||||
} |
||||
|
||||
.p-buttonset.p-button-warning { |
||||
> .p-button { |
||||
@include filled-style('warning', 'warning'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('warning'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('warning'); |
||||
} |
||||
} |
||||
} |
||||
|
||||
// help button |
||||
.p-button.p-button-help { |
||||
color: $color_7; |
||||
background: #A855F7; |
||||
border: 1px solid #A855F7; |
||||
|
||||
&:enabled { |
||||
&:hover { |
||||
background: #9333EA; |
||||
color: $color_7; |
||||
border-color: $border-color_12; |
||||
} |
||||
|
||||
&:active { |
||||
background: #9333EA; |
||||
color: $color_7; |
||||
border-color: $border-color_12; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.p-buttonset.p-button-help { |
||||
> .p-button { |
||||
color: $color_7; |
||||
background: #A855F7; |
||||
border: 1px solid #A855F7; |
||||
|
||||
&:enabled { |
||||
&:hover { |
||||
background: #9333EA; |
||||
color: $color_7; |
||||
border-color: $border-color_12; |
||||
} |
||||
|
||||
&:active { |
||||
background: #9333EA; |
||||
color: $color_7; |
||||
border-color: $border-color_12; |
||||
} |
||||
} |
||||
} |
||||
|
||||
> .p-button.p-button-outlined { |
||||
background-color: $background-color_4; |
||||
color: $color_15; |
||||
border: 1px solid; |
||||
|
||||
&:enabled { |
||||
&:hover { |
||||
background: rgba(168, 85, 247, 0.04); |
||||
color: $color_15; |
||||
border: 1px solid; |
||||
} |
||||
|
||||
&:active { |
||||
background: rgba(168, 85, 247, 0.16); |
||||
color: $color_15; |
||||
border: 1px solid; |
||||
} |
||||
} |
||||
} |
||||
|
||||
> .p-button.p-button-text { |
||||
background-color: $background-color_4; |
||||
color: $color_15; |
||||
border-color: $border-color_4; |
||||
|
||||
&:enabled { |
||||
&:hover { |
||||
background: rgba(168, 85, 247, 0.04); |
||||
border-color: $border-color_4; |
||||
color: $color_15; |
||||
} |
||||
|
||||
&:active { |
||||
background: rgba(168, 85, 247, 0.16); |
||||
border-color: $border-color_4; |
||||
color: $color_15; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.p-button.p-button-help.p-button-outlined { |
||||
background-color: $background-color_4; |
||||
color: $color_15; |
||||
border: 1px solid; |
||||
|
||||
&:enabled { |
||||
&:hover { |
||||
background: rgba(168, 85, 247, 0.04); |
||||
color: $color_15; |
||||
border: 1px solid; |
||||
} |
||||
|
||||
&:active { |
||||
background: rgba(168, 85, 247, 0.16); |
||||
color: $color_15; |
||||
border: 1px solid; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.p-button.p-button-help.p-button-text { |
||||
@apply bg-white text-gray-90; |
||||
|
||||
&:enabled { |
||||
&:hover, |
||||
&:active { |
||||
@apply bg-gray-10; |
||||
} |
||||
} |
||||
} |
||||
|
||||
// danger button |
||||
.p-button.p-button-danger { |
||||
@include filled-style('error', 'error'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('error'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('error'); |
||||
} |
||||
} |
||||
|
||||
.p-buttonset.p-button-danger { |
||||
> .p-button { |
||||
@include filled-style('error', 'error'); |
||||
|
||||
&.p-button-outlined { |
||||
@include outlined-style('error'); |
||||
} |
||||
|
||||
&.p-button-text { |
||||
@include text-style('error'); |
||||
} |
||||
} |
||||
} |
||||
|
||||
.p-button.p-button-link { |
||||
@apply cursor-pointer bg-transparent text-primary; |
||||
|
||||
&:enabled { |
||||
&:hover, |
||||
&:focus, |
||||
&:active { |
||||
@apply bg-gray-10; |
||||
|
||||
.p-button-label { |
||||
text-decoration: underline; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
.p-button-label { |
||||
@apply align-middle flex-none font-semibold inline; |
||||
} |
||||
|
||||
.p-button.p-button-icon-only { |
||||
@apply p-2; |
||||
|
||||
.p-button-label { |
||||
@apply flex-initial hidden w-0; |
||||
} |
||||
} |
@ -1,70 +0,0 @@ |
||||
.btn { |
||||
@apply font-semibold px-6 py-3.5 rounded-md text-center transition; |
||||
|
||||
&--primary { |
||||
@apply bg-primary text-white; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-support-4; |
||||
} |
||||
|
||||
&:disabled { |
||||
@apply bg-gray-25 cursor-default select-none text-gray-50; |
||||
} |
||||
} |
||||
|
||||
&--primary-outline { |
||||
@apply bg-white border border-primary text-primary; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-primary text-white; |
||||
} |
||||
|
||||
&:disabled, |
||||
&.disabled{ |
||||
@apply bg-gray-10 border-gray-25 text-gray-50; |
||||
} |
||||
} |
||||
|
||||
&--secondary { |
||||
@apply bg-secondary text-white; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-support-5; |
||||
} |
||||
|
||||
&:disabled { |
||||
@apply bg-gray-25 cursor-default select-none text-gray-50; |
||||
} |
||||
} |
||||
|
||||
&--secondary-outline { |
||||
@apply bg-white border border-secondary text-secondary; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-secondary text-white; |
||||
} |
||||
|
||||
&:disabled, |
||||
&.disabled{ |
||||
@apply bg-gray-10 border-gray-25 text-gray-50; |
||||
} |
||||
} |
||||
|
||||
&--gray { |
||||
@apply bg-gray-90 text-white; |
||||
|
||||
&:hover, |
||||
&:focus { |
||||
@apply bg-black; |
||||
} |
||||
|
||||
&:disabled { |
||||
@apply bg-gray-25 cursor-default select-none text-gray-50; |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue