diff --git a/.changeset/soft-icons-add.md b/.changeset/soft-icons-add.md new file mode 100644 index 000000000..00c57b48c --- /dev/null +++ b/.changeset/soft-icons-add.md @@ -0,0 +1,5 @@ +--- +"@tabler/core": patch +--- + +Refactor SCSS for alerts and close button styles diff --git a/core/scss/_bootstrap-components.scss b/core/scss/_bootstrap-components.scss index 71037d485..f1c420a85 100644 --- a/core/scss/_bootstrap-components.scss +++ b/core/scss/_bootstrap-components.scss @@ -14,12 +14,10 @@ @import "bootstrap/scss/nav"; @import "bootstrap/scss/navbar"; @import "bootstrap/scss/card"; -// @import "bootstrap/scss/accordion"; @import "bootstrap/scss/breadcrumb"; @import "bootstrap/scss/pagination"; @import "bootstrap/scss/progress"; @import "bootstrap/scss/list-group"; -@import "bootstrap/scss/close"; @import "bootstrap/scss/toasts"; @import "bootstrap/scss/modal"; @import "bootstrap/scss/tooltip"; diff --git a/core/scss/_variables.scss b/core/scss/_variables.scss index ab1268ac9..613f34af6 100644 --- a/core/scss/_variables.scss +++ b/core/scss/_variables.scss @@ -216,7 +216,7 @@ $secondary: $text-secondary !default; $muted: $text-secondary !default; $success: $green !default; $info: $azure !default; -$warning: $orange !default; +$warning: $yellow !default; $danger: $red !default; $link-color: $primary !default; diff --git a/core/scss/ui/_alerts.scss b/core/scss/ui/_alerts.scss index ad1ae9962..106b337af 100644 --- a/core/scss/ui/_alerts.scss +++ b/core/scss/ui/_alerts.scss @@ -1,10 +1,10 @@ .alert { - --#{$prefix}alert-bg: transparent; + --#{$prefix}alert-color: var(--#{$prefix}body-color); + --#{$prefix}alert-bg: #{color-transparent(var(--#{$prefix}alert-color), .1)}; --#{$prefix}alert-padding-x: #{$alert-padding-x}; --#{$prefix}alert-padding-y: #{$alert-padding-y}; --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom}; - --#{$prefix}alert-color: inherit; - --#{$prefix}alert-border-color: var(--#{$prefix}border-color); + --#{$prefix}alert-border-color: #{color-transparent(var(--#{$prefix}alert-color), .2)}; --#{$prefix}alert-border: var(--#{$prefix}border-width) solid var(--#{$prefix}alert-border-color); --#{$prefix}alert-border-radius: var(--#{$prefix}border-radius); --#{$prefix}alert-link-color: inherit; @@ -66,8 +66,8 @@ .btn-close { position: absolute; - top: 0; - right: 0; + top: calc(var(--#{$prefix}alert-padding-x) / 2 - 1px); + right: calc(var(--#{$prefix}alert-padding-y) / 2 - 1px); z-index: 1; padding: calc(var(--#{$prefix}alert-padding-y) * 1.25) var(--#{$prefix}alert-padding-x); } @@ -75,12 +75,21 @@ .alert-important { border-color: var(--#{$prefix}alert-color); - color: var(--#{$prefix}alert-color); + background-color: var(--#{$prefix}alert-color); + color: var(--#{$prefix}white); - .btn-close, .alert-description { color: inherit; } + + .alert-icon { + color: inherit; + } +} + +.alert-minor { + background: transparent; + border-color: var(--tblr-border-color); } @each $name, $color in $theme-colors { diff --git a/core/scss/ui/_close.scss b/core/scss/ui/_close.scss index 54273a31f..607785b48 100644 --- a/core/scss/ui/_close.scss +++ b/core/scss/ui/_close.scss @@ -1,7 +1,60 @@ .btn-close { + --#{$prefix}btn-close-color: currentColor; + --#{$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}; + --#{$prefix}btn-close-size: #{$btn-close-width}; + + width: var(--#{$prefix}btn-close-size); + height: var(--#{$prefix}btn-close-size); + padding: $btn-close-padding-y $btn-close-padding-x; + color: var(--#{$prefix}btn-close-color); + mask: var(--#{$prefix}btn-close-bg) no-repeat center/calc(var(--#{$prefix}btn-close-size) * .75); + background-color: var(--#{$prefix}btn-close-color); + border: 0; + border-radius: var(--tblr-border-radius); + opacity: var(--#{$prefix}btn-close-opacity); cursor: pointer; + display: block; + + &:hover { + color: var(--#{$prefix}btn-close-color); + text-decoration: none; + opacity: var(--#{$prefix}btn-close-hover-opacity); + } &:focus { - outline: none; + outline: 0; + box-shadow: var(--#{$prefix}btn-close-focus-shadow); + opacity: var(--#{$prefix}btn-close-focus-opacity); } -} \ No newline at end of file + + &: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(); +// } +// } \ No newline at end of file diff --git a/preview/pages/_includes/ui/alert.html b/preview/pages/_includes/ui/alert.html index 7f7d06be4..5f6ba8252 100644 --- a/preview/pages/_includes/ui/alert.html +++ b/preview/pages/_includes/ui/alert.html @@ -11,7 +11,7 @@ {% endif %} {% endunless %} - +
+
+
+

Minor alerts

+ {% include "ui/alert.html" show-close minor=true type="danger" title="Password does not meet requirements:" list="Minimum 8 characters,Include a special character" %} + {% include "ui/alert.html" show-close minor=true type="success" description="This is a custom alert box with a description." %} + {% include "ui/alert.html" show-close minor=true type="warning" description="This is a custom alert box with a description." %} + {% include "ui/alert.html" show-close minor=true type="info" description="This is a custom alert box with a description." %} +
+
+