@import "../node_modules/delite/css/includes";

// Button variant
// -------------------------
.d-button-variant(@color; @background; @border) {
	color: @color;
	background-color: @background;
	border-color: @border;
	&:hover, &:focus, &:active, &.active {
		color: @color;
		background-color: darken(@background, 8%);
		border-color: darken(@border, 12%);
	}
	&:active, &.active {
		background-image: none;
	}
	&[aria-disabled=true] {
		&, &:hover, &:focus, &:active, &.active {
			background-color: @background;
			border-color: @border;
		}
	}
}
// Button base
// -------------------------
.d-button-base () {
	display: inline-flex;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
	margin-bottom: 0;
	font-weight: @btn-font-weight;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	background-image: none;
	border-width: 1px;
	border-style: solid;
	border-color: transparent;
	white-space: nowrap;
	padding: @padding-base-vertical @padding-base-horizontal;
	border-radius: @border-radius-base;

	.user-select(none);
	&, &:active, &.active {
		&:focus {
			.tab-focus();
		}
	}
	&:hover, &:focus {
		color: @btn-default-color;
		text-decoration: none;
	}
	&:active, &.active {
		outline: 0;
		background-image: none;
		.box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));
	}
	&[aria-disabled=true], fieldset[disabled] & {
		cursor: not-allowed;
		opacity: .65;
		.box-shadow(none);
		pointer-events: none;
	}
}

// ==================== d-button ======================

.d-button {
	.d-button-base();
	.d-button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);
}
.d-button-primary {
	.d-button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
}
// Success appears as green
.d-button-success {
	.d-button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);
}
// Info appears as blue-green
.d-button-info {
	.d-button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);
}
// Warning appears as orange
.d-button-warning {
	.d-button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);
}
// Danger and error appear as red
.d-button-danger {
	.d-button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);
}
