mirror of https://github.com/twbs/bootstrap.git
91 lines
3.3 KiB
SCSS
91 lines
3.3 KiB
SCSS
|
|
@use "../config" as *;
|
||
|
|
@use "../colors" as *;
|
||
|
|
@use "../variables" as *;
|
||
|
|
@use "../mixins/border-radius" as *;
|
||
|
|
@use "../mixins/color-mode" as *;
|
||
|
|
|
||
|
|
// scss-docs-start close-variables
|
||
|
|
$btn-close-width: 1em !default;
|
||
|
|
$btn-close-height: $btn-close-width !default;
|
||
|
|
$btn-close-padding-x: .25em !default;
|
||
|
|
$btn-close-padding-y: $btn-close-padding-x !default;
|
||
|
|
$btn-close-color: $black !default;
|
||
|
|
$btn-close-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>") !default;
|
||
|
|
$btn-close-focus-shadow: $focus-ring-box-shadow !default;
|
||
|
|
$btn-close-opacity: .5 !default;
|
||
|
|
$btn-close-hover-opacity: .75 !default;
|
||
|
|
$btn-close-focus-opacity: 1 !default;
|
||
|
|
$btn-close-disabled-opacity: .25 !default;
|
||
|
|
$btn-close-filter: null !default;
|
||
|
|
$btn-close-filter-dark: invert(1) grayscale(100%) brightness(200%) !default;
|
||
|
|
// scss-docs-end close-variables
|
||
|
|
|
||
|
|
// Transparent background and border properties included for button version.
|
||
|
|
// iOS requires the button element instead of an anchor tag.
|
||
|
|
// If you want the anchor version, it requires `href="#"`.
|
||
|
|
// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
|
||
|
|
|
||
|
|
@layer components {
|
||
|
|
.btn-close {
|
||
|
|
// scss-docs-start close-css-vars
|
||
|
|
--#{$prefix}btn-close-color: #{$btn-close-color};
|
||
|
|
--#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) };
|
||
|
|
--#{$prefix}btn-close-opacity: #{$btn-close-opacity};
|
||
|
|
--#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};
|
||
|
|
--#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow};
|
||
|
|
--#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};
|
||
|
|
--#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};
|
||
|
|
// scss-docs-end close-css-vars
|
||
|
|
|
||
|
|
box-sizing: content-box;
|
||
|
|
width: $btn-close-width;
|
||
|
|
height: $btn-close-height;
|
||
|
|
padding: $btn-close-padding-y $btn-close-padding-x;
|
||
|
|
color: var(--#{$prefix}btn-close-color);
|
||
|
|
background: transparent var(--#{$prefix}btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements
|
||
|
|
filter: var(--#{$prefix}btn-close-filter);
|
||
|
|
border: 0; // for button elements
|
||
|
|
@include border-radius();
|
||
|
|
opacity: var(--#{$prefix}btn-close-opacity);
|
||
|
|
|
||
|
|
// Override <a>'s hover style
|
||
|
|
&:hover {
|
||
|
|
color: var(--#{$prefix}btn-close-color);
|
||
|
|
text-decoration: none;
|
||
|
|
opacity: var(--#{$prefix}btn-close-hover-opacity);
|
||
|
|
}
|
||
|
|
|
||
|
|
&:focus {
|
||
|
|
outline: 0;
|
||
|
|
box-shadow: var(--#{$prefix}btn-close-focus-shadow);
|
||
|
|
opacity: var(--#{$prefix}btn-close-focus-opacity);
|
||
|
|
}
|
||
|
|
|
||
|
|
&:disabled,
|
||
|
|
&.disabled {
|
||
|
|
pointer-events: none;
|
||
|
|
user-select: none;
|
||
|
|
opacity: var(--#{$prefix}btn-close-disabled-opacity);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
@mixin btn-close-white() {
|
||
|
|
--#{$prefix}btn-close-filter: #{$btn-close-filter-dark};
|
||
|
|
}
|
||
|
|
|
||
|
|
.btn-close-white {
|
||
|
|
@include btn-close-white();
|
||
|
|
}
|
||
|
|
|
||
|
|
:root,
|
||
|
|
[data-bs-theme="light"] {
|
||
|
|
--#{$prefix}btn-close-filter: #{$btn-close-filter};
|
||
|
|
}
|
||
|
|
|
||
|
|
@if $enable-dark-mode {
|
||
|
|
@include color-mode(dark, true) {
|
||
|
|
@include btn-close-white();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|