2024-07-17 11:20:20 +02:00

402 lines
7.9 KiB
SCSS

@import "@Themes/constants.scss";
.root {
display: inline-flex;
justify-content: center;
border: 1px solid;
box-sizing: border-box;
height: fit-content;
align-items: center;
background: transparent;
font-style: normal;
font-weight: var(--font-text-weight-regular, 400);
white-space: nowrap;
user-select: none;
cursor: pointer;
font-family: var(--font-text-family);
svg {
width: 18px;
height: 18px;
}
/**
* Every possible variants
*/
&[variant="primary"] {
color: var(--color-primary-500);
border: 1px solid var(--button-contained-primary-default-border, rgba(0, 0, 0, 0));
background: var(--button-contained-primary-default-background, #005bcb);
&:hover {
border: 1px solid var(--button-contained-primary-hovered-border, rgba(0, 0, 0, 0));
background: var(--button-contained-primary-hovered-background, #0040a4);
}
&:focus,
&:active {
border: 1px solid var(--button-contained-primary-pressed-border, rgba(0, 0, 0, 0));
background: var(--button-contained-primary-pressed-background, #013391);
}
&[styleType="outlined"] {
&:hover {
background-color: var(--color-primary-50);
}
&:focus,
&:active {
background-color: var(--color-primary-100);
color: var(--color-primary-700);
border-color: var(--color-primary-700);
}
}
&[styleType="text"] {
&:hover {
background-color: transparent;
}
&:focus,
&:active {
background-color: transparent;
color: var(--color-primary-800);
border-color: var(--color-primary-800);
}
}
}
&[variant="secondary"] {
color: var(--color-secondary-500);
background: var(--color-secondary-500);
border-color: var(--color-secondary-500);
&:hover {
background: var(--color-secondary-700);
border-color: var(--color-secondary-700);
}
&:focus,
&:active {
background: var(--color-secondary-800);
border-color: var(--color-secondary-800);
}
&[styleType="outlined"] {
&:hover {
background-color: var(--color-secondary-50);
}
&:focus,
&:active {
background-color: var(--color-secondary-100);
color: var(--color-secondary-700);
border-color: var(--color-secondary-700);
}
}
&[styleType="text"] {
&:hover {
background-color: transparent;
}
&:focus,
&:active {
background-color: transparent;
color: var(--color-secondary-800);
border-color: var(--color-secondary-800);
}
}
}
&[variant="neutral"] {
color: var(--color-neutral-500);
background: var(--color-neutral-500);
border-color: var(--color-neutral-500);
&:hover {
background: var(--color-neutral-700);
border-color: var(--color-neutral-700);
}
&:focus,
&:active {
background: var(--color-neutral-800);
border-color: var(--color-neutral-800);
}
&[styleType="outlined"] {
&:hover {
background-color: var(--color-neutral-50);
}
&:focus,
&:active {
background-color: var(--color-neutral-100);
color: var(--color-neutral-700);
border-color: var(--color-neutral-700);
}
}
&[styleType="text"] {
&:hover {
background-color: transparent;
}
&:focus,
&:active {
background-color: transparent;
color: var(--color-neutral-800);
border-color: var(--color-neutral-800);
}
}
}
&[variant="error"] {
color: var(--color-error-600);
background: var(--color-error-600);
border-color: var(--color-error-600);
&:hover {
background: var(--color-error-800);
border-color: var(--color-error-800);
}
&:focus,
&:active {
background: var(--color-error-900);
border-color: var(--color-error-900);
}
&[styleType="outlined"] {
&:hover {
background-color: var(--color-error-50);
border-color: var(--color-secondary-700);
}
&:focus,
&:active {
background-color: var(--color-error-100);
color: var(--color-secondary-700);
border-color: var(--color-secondary-700);
}
}
&[styleType="text"] {
&:hover {
background-color: transparent;
color: var(--color-error-800);
border-color: var(--color-error-800);
}
&:focus,
&:active {
background-color: transparent;
color: var(--color-error-900);
border-color: var(--color-error-900);
}
}
}
&[variant="warning"] {
color: var(--color-warning-600);
background: var(--color-warning-600);
border-color: var(--color-warning-600);
&:hover {
background: var(--color-warning-800);
border-color: var(--color-warning-800);
}
&:focus,
&:active {
background: var(--color-warning-900);
border-color: var(--color-warning-900);
}
&[styleType="outlined"] {
&:hover {
background-color: var(--color-warning-50);
border-color: var(--color-warning-700);
color: var(--color-warning-700);
}
&:focus,
&:active {
background-color: var(--color-warning-100);
color: var(--color-warning-700);
border-color: var(--color-warning-700);
}
}
&[styleType="text"] {
&:hover {
background-color: transparent;
color: var(--color-warning-800);
border-color: var(--color-warning-800);
}
&:focus,
&:active {
background-color: transparent;
color: var(--color-warning-900);
border-color: var(--color-warning-900);
}
}
}
&[variant="success"] {
color: var(--color-success-600);
background: var(--color-success-600);
border-color: var(--color-success-600);
&:hover {
background: var(--color-success-800);
border-color: var(--color-success-800);
}
&:focus,
&:active {
background: var(--color-success-900);
border-color: var(--color-success-900);
}
&[styleType="outlined"] {
&:hover {
background-color: var(--color-success-50);
border-color: var(--color-success-700);
color: var(--color-success-700);
}
&:focus,
&:active {
background-color: var(--color-success-100);
color: var(--color-success-700);
border-color: var(--color-success-700);
}
}
&[styleType="text"] {
&:hover {
background-color: transparent;
color: var(--color-success-800);
border-color: var(--color-success-800);
}
&:focus,
&:active {
background-color: transparent;
color: var(--color-success-900);
border-color: var(--color-success-900);
}
}
}
&[variant="info"] {
color: var(--color-info-700);
background: var(--color-info-700);
border-color: var(--color-info-700);
&:hover {
background: var(--color-info-900);
border-color: var(--color-info-900);
}
&:focus,
&:active {
background: var(--color-info-950);
border-color: var(--color-info-950);
}
&[styleType="outlined"] {
&:hover {
background-color: var(--color-info-50);
border-color: var(--color-info-700);
color: var(--color-info-700);
}
&:focus,
&:active {
background-color: var(--color-info-100);
color: var(--color-info-700);
border-color: var(--color-info-700);
}
}
&[styleType="text"] {
&:hover {
background-color: transparent;
color: var(--color-info-900);
border-color: var(--color-info-900);
}
&:focus,
&:active {
background-color: transparent;
color: var(--color-info-950);
border-color: var(--color-info-950);
}
}
}
/**
* Every possible sizes
*/
&[sizing="sm"] {
padding: var(--spacing-0-5) var(--spacing-1-5);
gap: var(--spacing-0-75);
font-size: 14px;
}
&[sizing="md"] {
padding: var(--spacing-1) var(--spacing-2);
gap: var(--spacing-0-75);
font-size: 16px;
}
&[sizing="lg"] {
padding: var(--spacing-2) var(--spacing-3);
gap: var(--spacing-1-5);
font-size: 16px;
}
/**
* Every possible style types
*/
&[styleType="contained"] {
color: var(--color-generic-white);
}
&[styleType="outlined"] {
background: transparent;
}
&[styleType="text"] {
background: transparent;
border: none;
border-bottom: 1px solid;
}
/**
* Every possible states
*/
&[fullwidthattr="true"] {
width: 100%;
flex: 1;
}
&[fullwidthattr="false"] {
width: fit-content;
}
&[touppercase="false"] {
text-transform: inherit;
}
&[disabled="true"] {
opacity: var(--opacity-disabled, 0.3);
}
}