mirror of
https://github.com/n8n-io/n8n.git
synced 2026-09-24 23:22:38 +08:00
286 lines
12 KiB
SCSS
286 lines
12 KiB
SCSS
@use '../../css/mixins/utils';
|
|
@use '../../css/common/var';
|
|
@use 'sass:string';
|
|
|
|
@mixin n8n-button($override: false) {
|
|
$important: if($override, !important, '');
|
|
|
|
display: inline-block;
|
|
line-height: 1;
|
|
white-space: nowrap;
|
|
cursor: pointer;
|
|
|
|
border: var(--border-width) var.$button-border-color var(--border-style)
|
|
string.unquote($important);
|
|
color: var.$button-font-color string.unquote($important);
|
|
background-color: var.$button-background-color string.unquote($important);
|
|
font-weight: var(--font-weight--medium) string.unquote($important);
|
|
border-radius: var.$button-border-radius string.unquote($important);
|
|
padding: var.$button-padding-vertical var.$button-padding-horizontal string.unquote($important);
|
|
font-size: var.$button-font-size string.unquote($important);
|
|
|
|
-webkit-appearance: none;
|
|
text-align: center;
|
|
box-sizing: border-box;
|
|
outline: none;
|
|
margin: 0;
|
|
transition:
|
|
all 0.3s,
|
|
padding 0s,
|
|
width 0s,
|
|
height 0s;
|
|
|
|
gap: var(--spacing--3xs);
|
|
|
|
@include utils.utils-user-select(none);
|
|
|
|
// Solution for a inside button
|
|
& a {
|
|
color: var.$button-font-color string.unquote($important);
|
|
}
|
|
|
|
&:hover {
|
|
color: var.$button-hover-font-color string.unquote($important);
|
|
border-color: var.$button-hover-border-color string.unquote($important);
|
|
background-color: var.$button-hover-background-color string.unquote($important);
|
|
|
|
& a {
|
|
color: var.$button-hover-font-color string.unquote($important);
|
|
}
|
|
}
|
|
|
|
&:active,
|
|
&.active {
|
|
color: var.$button-active-font-color string.unquote($important);
|
|
border-color: var.$button-active-border-color string.unquote($important);
|
|
background-color: var.$button-active-background-color string.unquote($important);
|
|
outline: none;
|
|
|
|
& a {
|
|
color: var.$button-active-font-color string.unquote($important);
|
|
}
|
|
}
|
|
|
|
&:focus-visible:not(:active, .active) {
|
|
color: var.$button-focus-font-color string.unquote($important);
|
|
border-color: var.$button-focus-border-color string.unquote($important);
|
|
background-color: var.$button-focus-background-color string.unquote($important);
|
|
outline: var.$focus-outline-width solid var.$button-focus-outline-color
|
|
string.unquote($important);
|
|
|
|
& a {
|
|
color: var.$button-focus-font-color string.unquote($important);
|
|
}
|
|
}
|
|
|
|
&.disabled {
|
|
&,
|
|
&:hover,
|
|
&:active,
|
|
&:focus-visible {
|
|
color: var.$button-disabled-font-color;
|
|
border-color: var.$button-disabled-border-color;
|
|
background-color: var.$button-disabled-background-color;
|
|
|
|
& a {
|
|
color: var.$button-disabled-font-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
.loading {
|
|
&,
|
|
&:hover,
|
|
&:active,
|
|
&:focus-visible {
|
|
color: var.$button-loading-font-color;
|
|
border-color: var.$button-loading-border-color;
|
|
background-color: var.$button-loading-background-color;
|
|
|
|
& a {
|
|
color: var.$button-loading-font-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
&::-moz-focus-inner {
|
|
border: 0;
|
|
}
|
|
|
|
> i {
|
|
display: none;
|
|
}
|
|
|
|
> span {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
}
|
|
|
|
@mixin n8n-button-secondary {
|
|
--button--color--text: var(--button--color--text--secondary);
|
|
--button--border-color: var(--button--border-color--secondary);
|
|
--button--color--background: var(--button--color--background--secondary);
|
|
|
|
--button--color--text--hover: var(--button--color--text--secondary--hover-active-focus);
|
|
--button--border-color--hover: var(--button--border-color--secondary--hover-active-focus);
|
|
--button--color--background--hover: var(--button--color--background--secondary--hover);
|
|
|
|
--button--color--text--active: var(--button--color--text--secondary--hover-active-focus);
|
|
--button--border-color--active: var(--button--border-color--secondary--hover-active-focus);
|
|
--button--color--background--active: var(--button--color--background--secondary--active-focus);
|
|
|
|
--button--color--text--focus: var(--button--color--text--secondary--hover-active-focus);
|
|
--button--border-color--focus: var(--button--border-color--secondary--hover-active-focus);
|
|
--button--color--background--focus: var(--button--color--background--secondary--active-focus);
|
|
--button--outline-color--focus: var(--button--outline-color--secondary--focus);
|
|
|
|
--button--color--text--disabled: var(--button--color--text--secondary--disabled);
|
|
--button--border-color--disabled: var(--button--border-color--secondary--disabled);
|
|
--button--color--background--disabled: var(--button--color--background--secondary);
|
|
|
|
--button--color--text--loading: var(--button--color--text--secondary--loading);
|
|
--button--border-color--loading: var(--button--border-color--secondary--loading);
|
|
--button--color--background--loading: var(--button--color--background--secondary--loading);
|
|
}
|
|
|
|
@mixin n8n-button-highlight {
|
|
--button--color--text: var(--button--color--text--highlight);
|
|
--button--border-color: var(--button--border-color--highlight);
|
|
--button--color--background: var(--button--color--background--highlight);
|
|
|
|
--button--color--text--hover: var(--button--color--text--highlight--hover-active-focus);
|
|
--button--border-color--hover: var(--button--border-color--highlight--hover-active-focus);
|
|
--button--color--background--hover: var(--button--color--background--highlight--hover);
|
|
|
|
--button--color--text--active: var(--button--color--text--highlight--hover-active-focus);
|
|
--button--border-color--active: var(--button--border-color--highlight--hover-active-focus);
|
|
--button--color--background--active: var(--button--color--background--highlight--active-focus);
|
|
|
|
--button--color--text--focus: var(--button--color--text--highlight--hover-active-focus);
|
|
--button--border-color--focus: var(--button--border-color--highlight--hover-active-focus);
|
|
--button--color--background--focus: var(--button--color--background--highlight--active-focus);
|
|
--button--outline-color--focus: var(--button--outline-color--highlight--focus);
|
|
|
|
--button--color--text--disabled: var(--button--color--text--highlight--disabled);
|
|
--button--border-color--disabled: var(--button--border-color--highlight--disabled);
|
|
--button--color--background--disabled: var(--button--color--background--highlight--disabled);
|
|
|
|
--button--color--text--loading: var(--button--color--text--highlight--loading);
|
|
--button--border-color--loading: var(--button--border-color--highlight--loading);
|
|
--button--color--background--loading: var(--button--color--background--highlight--loading);
|
|
}
|
|
|
|
@mixin n8n-button-highlight-fill {
|
|
--button--color--text: var(--button--color--text--highlight-fill);
|
|
--button--border-color: var(--button--border-color--highlight-fill);
|
|
--button--color--background: var(--button--color--background--highlight-fill);
|
|
|
|
--button--color--text--hover: var(--button--color--text--highlight-fill--hover-active-focus);
|
|
--button--border-color--hover: var(--button--border-color--highlight-fill--hover-active-focus);
|
|
--button--color--background--hover: var(--button--color--background--highlight-fill--hover);
|
|
|
|
--button--color--text--active: var(--button--color--text--highlight-fill--hover-active-focus);
|
|
--button--border-color--active: var(--button--border-color--highlight-fill--hover-active-focus);
|
|
--button--color--background--active: var(
|
|
--button--color--background--highlight-fill--active-focus
|
|
);
|
|
|
|
--button--color--text--focus: var(--button--color--text--highlight-fill--hover-active-focus);
|
|
--button--border-color--focus: var(--button--border-color--highlight-fill--hover-active-focus);
|
|
--button--color--background--focus: var(
|
|
--button--color--background--highlight-fill--active-focus
|
|
);
|
|
--button--outline-color--focus: var(--button--outline-color--highlight-fill--focus);
|
|
|
|
--button--color--text--disabled: var(--button--color--text--highlight-fill--disabled);
|
|
--button--border-color--disabled: var(--button--border-color--highlight-fill--disabled);
|
|
--button--color--background--disabled: var(--button--color--background--highlight-fill--disabled);
|
|
|
|
--button--color--text--loading: var(--button--color--text--highlight-fill);
|
|
--button--border-color--loading: var(--button--border-color--highlight-fill);
|
|
--button--color--background--loading: var(--button--color--background--highlight-fill);
|
|
}
|
|
|
|
@mixin n8n-button-success {
|
|
--button--color--text: var(--button--color--text--success);
|
|
--button--border-color: var(--color--success);
|
|
--button--color--background: var(--color--success);
|
|
|
|
--button--color--text--hover: var(--button--color--text--success);
|
|
--button--border-color--hover: var(--color--success--shade-1);
|
|
--button--color--background--hover: var(--color--success--shade-1);
|
|
|
|
--button--color--text--active: var(--button--color--text--success);
|
|
--button--border-color--active: var(--color--success--shade-1);
|
|
--button--color--background--active: var(--color--success--shade-1);
|
|
|
|
--button--color--text--focus: var(--button--color--text--success);
|
|
--button--border-color--focus: var(--color--success);
|
|
--button--color--background--focus: var(--color--success);
|
|
--button--outline-color--focus: var(--color--success--tint-1);
|
|
|
|
--button--color--text--disabled: var(--button--color--text--success--disabled);
|
|
--button--border-color--disabled: var(--color--success--tint-3);
|
|
--button--color--background--disabled: var(--color--success--tint-3);
|
|
|
|
--button--color--text--loading: var(--button--color--text--success);
|
|
--button--border-color--loading: var(--color--success);
|
|
--button--color--background--loading: var(--color--success);
|
|
}
|
|
|
|
@mixin n8n-button-warning {
|
|
--button--color--text: var(--button--color--text--warning);
|
|
--button--border-color: var(--color--warning);
|
|
--button--color--background: var(--color--warning);
|
|
|
|
--button--color--text--hover: var(--button--color--text--warning);
|
|
--button--border-color--hover: var(--color--warning--shade-1);
|
|
--button--color--background--hover: var(--color--warning--shade-1);
|
|
|
|
--button--color--text--active: var(--button--color--text--warning);
|
|
--button--border-color--active: var(--color--warning--shade-1);
|
|
--button--color--background--active: var(--color--warning--shade-1);
|
|
|
|
--button--color--text--focus: var(--button--color--text--warning);
|
|
--button--border-color--focus: var(--color--warning);
|
|
--button--color--background--focus: var(--color--warning);
|
|
--button--outline-color--focus: var(--color--warning--tint-1);
|
|
|
|
--button--color--text--disabled: var(--button--color--text--warning--disabled);
|
|
--button--border-color--disabled: var(--color--warning--tint-1);
|
|
--button--color--background--disabled: var(--color--warning--tint-1);
|
|
|
|
--button--color--text--loading: var(--button--color--text--warning);
|
|
--button--border-color--loading: var(--color--warning);
|
|
--button--color--background--loading: var(--color--warning);
|
|
}
|
|
|
|
@mixin n8n-button-danger {
|
|
--button--color--text: var(--button--color--text--danger);
|
|
--button--border-color: var(--button--border-color--danger);
|
|
--button--color--background: var(--color--danger);
|
|
|
|
--button--color--text--hover: var(--button--color--text--danger);
|
|
--button--border-color--hover: var(--color--danger--shade-1);
|
|
--button--color--background--hover: var(--color--danger--shade-1);
|
|
|
|
--button--color--text--active: var(--button--color--text--danger);
|
|
--button--border-color--active: var(--color--danger--shade-1);
|
|
--button--color--background--active: var(--color--danger--shade-1);
|
|
|
|
--button--color--text--focus: var(--button--color--text--danger);
|
|
--button--border-color--focus: var(--color--danger);
|
|
--button--color--background--focus: var(--color--danger);
|
|
--button--outline-color--focus: var(--button--outline-color--danger--focus);
|
|
|
|
--button--color--text--disabled: var(--button--color--text--danger--disabled);
|
|
--button--border-color--disabled: var(--button--border-color--danger--disabled);
|
|
--button--color--background--disabled: var(--button--color--background--danger--disabled);
|
|
|
|
--button--color--text--loading: var(--button--color--text--danger);
|
|
--button--border-color--loading: var(--color--danger);
|
|
--button--color--background--loading: var(--color--danger);
|
|
}
|