719 lines
18 KiB
SCSS
719 lines
18 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);
|
|
border: 1px solid var(--button-contained-primary-default-border, rgba(0, 0, 0, 0));
|
|
|
|
svg {
|
|
width: 18px;
|
|
height: 18px;
|
|
}
|
|
|
|
/**
|
|
* Every possible variants
|
|
*/
|
|
|
|
&[variant="primary"] {
|
|
color: var(--button-contained-primary-default-contrast);
|
|
border-color: var(--button-contained-primary-default-border);
|
|
background: var(--button-contained-primary-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-primary-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-contained-primary-hovered-border);
|
|
background: var(--button-contained-primary-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-primary-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-contained-primary-default-contrast);
|
|
border-color: var(--button-contained-primary-pressed-border);
|
|
background: var(--button-contained-primary-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-primary-pressed-contrast);
|
|
}
|
|
}
|
|
|
|
&[styletype="outlined"] {
|
|
color: var(--button-outlined-primary-default-contrast);
|
|
border-color: var(--button-outlined-primary-default-border);
|
|
background: var(--button-outlined-primary-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-primary-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-outlined-primary-hovered-border);
|
|
background: var(--button-outlined-primary-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-primary-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-outlined-primary-pressed-contrast);
|
|
border-color: var(--button-outlined-primary-pressed-border);
|
|
background: var(--button-outlined-primary-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-primary-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
|
|
&[styletype="text"] {
|
|
color: var(--button-text-primary-default-contrast);
|
|
border-color: var(--button-text-primary-default-border);
|
|
background: var(--button-text-primary-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-primary-default-contrast);
|
|
}
|
|
&:hover {
|
|
color: var(--button-text-primary-hovered-contrast);
|
|
border-color: var(--button-text-primary-hovered-border);
|
|
background: var(--button-text-primary-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-primary-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-text-primary-pressed-contrast);
|
|
border-color: var(--button-text-primary-pressed-border);
|
|
background: var(--button-text-primary-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-primary-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&[variant="secondary"] {
|
|
color: var(--button-contained-secondary-default-contrast);
|
|
border-color: var(--button-contained-secondary-default-border);
|
|
background: var(--button-contained-secondary-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-secondary-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-contained-secondary-hovered-border);
|
|
background: var(--button-contained-secondary-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-secondary-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-contained-secondary-default-contrast);
|
|
border-color: var(--button-contained-secondary-pressed-border);
|
|
background: var(--button-contained-secondary-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-secondary-pressed-contrast);
|
|
}
|
|
}
|
|
|
|
&[styletype="outlined"] {
|
|
color: var(--button-outlined-secondary-default-contrast);
|
|
border-color: var(--button-outlined-secondary-default-border);
|
|
background: var(--button-outlined-secondary-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-secondary-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-outlined-secondary-hovered-border);
|
|
background: var(--button-outlined-secondary-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-secondary-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-outlined-secondary-pressed-contrast);
|
|
border-color: var(--button-outlined-secondary-pressed-border);
|
|
background: var(--button-outlined-secondary-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-secondary-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
|
|
&[styletype="text"] {
|
|
color: var(--button-text-secondary-default-contrast);
|
|
border-color: var(--button-text-secondary-default-border);
|
|
background: var(--button-text-secondary-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-secondary-default-contrast);
|
|
}
|
|
&:hover {
|
|
color: var(--button-text-secondary-hovered-contrast);
|
|
border-color: var(--button-text-secondary-hovered-border);
|
|
background: var(--button-text-secondary-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-secondary-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-text-secondary-pressed-contrast);
|
|
border-color: var(--button-text-secondary-pressed-border);
|
|
background: var(--button-text-secondary-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-secondary-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&[variant="neutral"] {
|
|
color: var(--button-contained-neutral-default-contrast);
|
|
border-color: var(--button-contained-neutral-default-border);
|
|
background: var(--button-contained-neutral-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-neutral-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-contained-neutral-hovered-border);
|
|
background: var(--button-contained-neutral-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-neutral-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-contained-neutral-default-contrast);
|
|
border-color: var(--button-contained-neutral-pressed-border);
|
|
background: var(--button-contained-neutral-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-neutral-pressed-contrast);
|
|
}
|
|
}
|
|
|
|
&[styletype="outlined"] {
|
|
color: var(--button-outlined-neutral-default-contrast);
|
|
border-color: var(--button-outlined-neutral-default-border);
|
|
background: var(--button-outlined-neutral-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-neutral-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-outlined-neutral-hovered-border);
|
|
background: var(--button-outlined-neutral-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-neutral-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-outlined-neutral-pressed-contrast);
|
|
border-color: var(--button-outlined-neutral-pressed-border);
|
|
background: var(--button-outlined-neutral-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-neutral-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
|
|
&[styletype="text"] {
|
|
color: var(--button-text-neutral-default-contrast);
|
|
border-color: var(--button-text-neutral-default-border);
|
|
background: var(--button-text-neutral-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-neutral-default-contrast);
|
|
}
|
|
&:hover {
|
|
color: var(--button-text-neutral-hovered-contrast);
|
|
border-color: var(--button-text-neutral-hovered-border);
|
|
background: var(--button-text-neutral-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-neutral-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-text-neutral-pressed-contrast);
|
|
border-color: var(--button-text-neutral-pressed-border);
|
|
background: var(--button-text-neutral-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-neutral-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&[variant="error"] {
|
|
color: var(--button-contained-error-default-contrast);
|
|
border-color: var(--button-contained-error-default-border);
|
|
background: var(--button-contained-error-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-error-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-contained-error-hovered-border);
|
|
background: var(--button-contained-error-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-error-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-contained-error-default-contrast);
|
|
border-color: var(--button-contained-error-pressed-border);
|
|
background: var(--button-contained-error-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-error-pressed-contrast);
|
|
}
|
|
}
|
|
|
|
&[styletype="outlined"] {
|
|
color: var(--button-outlined-error-default-contrast);
|
|
border-color: var(--button-outlined-error-default-border);
|
|
background: var(--button-outlined-error-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-error-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-outlined-error-hovered-border);
|
|
background: var(--button-outlined-error-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-error-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-outlined-error-pressed-contrast);
|
|
border-color: var(--button-outlined-error-pressed-border);
|
|
background: var(--button-outlined-error-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-error-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
|
|
&[styletype="text"] {
|
|
color: var(--button-text-error-default-contrast);
|
|
border-color: var(--button-text-error-default-border);
|
|
background: var(--button-text-error-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-error-default-contrast);
|
|
}
|
|
&:hover {
|
|
color: var(--button-text-error-hovered-contrast);
|
|
border-color: var(--button-text-error-hovered-border);
|
|
background: var(--button-text-error-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-error-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-text-error-pressed-contrast);
|
|
border-color: var(--button-text-error-pressed-border);
|
|
background: var(--button-text-error-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-error-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&[variant="success"] {
|
|
color: var(--button-contained-success-default-contrast);
|
|
border-color: var(--button-contained-success-default-border);
|
|
background: var(--button-contained-success-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-success-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-contained-success-hovered-border);
|
|
background: var(--button-contained-success-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-success-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-contained-success-default-contrast);
|
|
border-color: var(--button-contained-success-pressed-border);
|
|
background: var(--button-contained-success-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-success-pressed-contrast);
|
|
}
|
|
}
|
|
|
|
&[styletype="outlined"] {
|
|
color: var(--button-outlined-success-default-contrast);
|
|
border-color: var(--button-outlined-success-default-border);
|
|
background: var(--button-outlined-success-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-success-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-outlined-success-hovered-border);
|
|
background: var(--button-outlined-success-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-success-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-outlined-success-pressed-contrast);
|
|
border-color: var(--button-outlined-success-pressed-border);
|
|
background: var(--button-outlined-success-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-success-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
|
|
&[styletype="text"] {
|
|
color: var(--button-text-success-default-contrast);
|
|
border-color: var(--button-text-success-default-border);
|
|
background: var(--button-text-success-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-success-default-contrast);
|
|
}
|
|
&:hover {
|
|
color: var(--button-text-success-hovered-contrast);
|
|
border-color: var(--button-text-success-hovered-border);
|
|
background: var(--button-text-success-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-success-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-text-success-pressed-contrast);
|
|
border-color: var(--button-text-success-pressed-border);
|
|
background: var(--button-text-success-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-success-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&[variant="warning"] {
|
|
color: var(--button-contained-warning-default-contrast);
|
|
border-color: var(--button-contained-warning-default-border);
|
|
background: var(--button-contained-warning-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-warning-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-contained-warning-hovered-border);
|
|
background: var(--button-contained-warning-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-warning-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-contained-warning-default-contrast);
|
|
border-color: var(--button-contained-warning-pressed-border);
|
|
background: var(--button-contained-warning-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-warning-pressed-contrast);
|
|
}
|
|
}
|
|
|
|
&[styletype="outlined"] {
|
|
color: var(--button-outlined-warning-default-contrast);
|
|
border-color: var(--button-outlined-warning-default-border);
|
|
background: var(--button-outlined-warning-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-warning-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-outlined-warning-hovered-border);
|
|
background: var(--button-outlined-warning-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-warning-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-outlined-warning-pressed-contrast);
|
|
border-color: var(--button-outlined-warning-pressed-border);
|
|
background: var(--button-outlined-warning-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-warning-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
|
|
&[styletype="text"] {
|
|
color: var(--button-text-warning-default-contrast);
|
|
border-color: var(--button-text-warning-default-border);
|
|
background: var(--button-text-warning-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-warning-default-contrast);
|
|
}
|
|
&:hover {
|
|
color: var(--button-text-warning-hovered-contrast);
|
|
border-color: var(--button-text-warning-hovered-border);
|
|
background: var(--button-text-warning-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-warning-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-text-warning-pressed-contrast);
|
|
border-color: var(--button-text-warning-pressed-border);
|
|
background: var(--button-text-warning-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-warning-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&[variant="info"] {
|
|
color: var(--button-contained-info-default-contrast);
|
|
border-color: var(--button-contained-info-default-border);
|
|
background: var(--button-contained-info-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-info-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-contained-info-hovered-border);
|
|
background: var(--button-contained-info-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-info-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-contained-info-default-contrast);
|
|
border-color: var(--button-contained-info-pressed-border);
|
|
background: var(--button-contained-info-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-contained-info-pressed-contrast);
|
|
}
|
|
}
|
|
|
|
&[styletype="outlined"] {
|
|
color: var(--button-outlined-info-default-contrast);
|
|
border-color: var(--button-outlined-info-default-border);
|
|
background: var(--button-outlined-info-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-info-default-contrast);
|
|
}
|
|
|
|
&:hover {
|
|
border-color: var(--button-outlined-info-hovered-border);
|
|
background: var(--button-outlined-info-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-info-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-outlined-info-pressed-contrast);
|
|
border-color: var(--button-outlined-info-pressed-border);
|
|
background: var(--button-outlined-info-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-outlined-info-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
|
|
&[styletype="text"] {
|
|
color: var(--button-text-info-default-contrast);
|
|
border-color: var(--button-text-info-default-border);
|
|
background: var(--button-text-info-default-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-info-default-contrast);
|
|
}
|
|
&:hover {
|
|
color: var(--button-text-info-hovered-contrast);
|
|
border-color: var(--button-text-info-hovered-border);
|
|
background: var(--button-text-info-hovered-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-info-hovered-contrast);
|
|
}
|
|
}
|
|
|
|
&:focus,
|
|
&:active {
|
|
color: var(--button-text-info-pressed-contrast);
|
|
border-color: var(--button-text-info-pressed-border);
|
|
background: var(--button-text-info-pressed-background);
|
|
|
|
svg {
|
|
stroke: var(--button-text-info-pressed-contrast);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Every possible sizes
|
|
*/
|
|
|
|
&[sizing="sm"] {
|
|
padding: var(--spacing-0-5) var(--spacing-1-5);
|
|
gap: var(--spacing-0-75);
|
|
font-size: 14px;
|
|
height: 32px;
|
|
}
|
|
|
|
&[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 {
|
|
opacity: var(--opacity-disabled, 0.3);
|
|
pointer-events: none;
|
|
}
|
|
}
|