}
}
}
-
-
- // scss-docs-start list-group-modifiers
- // List group contextual variants
- //
- // Add modifier classes to change text and background color on individual items.
- // Organizationally, this must come after the `:hover` states.
-
- // @each $state in map.keys($new-theme-colors) {
- // .list-group-item-#{$state} {
-
- // --#{$prefix}list-group-color: var(--#{$prefix}#{$state}-text-emphasis);
- // --#{$prefix}list-group-bg: var(--#{$prefix}#{$state}-bg-subtle);
- // --#{$prefix}list-group-border-color: var(--#{$prefix}#{$state}-border-subtle);
- // --#{$prefix}list-group-action-hover-color: var(--#{$prefix}emphasis-color);
- // --#{$prefix}list-group-action-hover-bg: var(--#{$prefix}#{$state}-border-subtle);
- // --#{$prefix}list-group-action-active-color: var(--#{$prefix}emphasis-color);
- // --#{$prefix}list-group-action-active-bg: var(--#{$prefix}#{$state}-border-subtle);
- // --#{$prefix}list-group-active-color: var(--#{$prefix}#{$state}-bg-subtle);
- // --#{$prefix}list-group-active-bg: var(--#{$prefix}#{$state}-text-emphasis);
- // --#{$prefix}list-group-active-border-color: var(--#{$prefix}#{$state}-text-emphasis);
- // }
- // }
- // scss-docs-end list-group-modifiers
}
) !default;
// scss-docs-end btn-variants
-
-// // Helper function to get nested map values using dot notation
-// @function get-nested-value($map, $keys) {
-// $value: $map;
-// @each $key in $keys {
-// @if type-of($value) == "map" {
-// $value: map-get($value, $key);
-// } @else {
-// @return null;
-// }
-// }
-// @return $value;
-// }
-
-// // Helper function to split dot notation string into list
-// @function split-keys($key) {
-// $keys: ();
-// $parts: str-slice($key, 1);
-// @each $part in $parts {
-// $keys: append($keys, $part);
-// }
-// @return $keys;
-// }
-
// // Main button style generator mixin
-// // scss-docs-start btn-variant-mixin
-// @mixin button-variant($color, $variant) {
-// $variant-styles: map.get($button-variants, $variant);
-
-// @if $variant-styles {
-// // Base properties
-// @each $property, $value in map.get($variant-styles, "base") {
-// @if $value == "transparent" {
-// --#{$prefix}btn-#{$property}: transparent;
-// } @else {
-// --#{$prefix}btn-#{$property}: var(--#{$prefix}#{$color}-#{$value});
-// }
-// }
-
-// // Hover state
-// &:hover {
-// @each $property, $value in map.get($variant-styles, "hover") {
-// @if $value == "transparent" {
-// --#{$prefix}btn-hover-#{$property}: transparent;
-// } @else if meta.type-of($value) == "list" {
-// $first-value: list.nth($value, 1);
-// $second-value: list.nth($value, 2);
-// --#{$prefix}btn-hover-#{$property}: color-mix(in oklch, var(--#{$prefix}#{$color}-#{$first-value}) 50%, var(--#{$prefix}#{$color}-#{$second-value}));
-// } @else if $value == "bg-subtle" {
-// --#{$prefix}btn-hover-#{$property}: var(--#{$prefix}#{$color}-#{$value});
-// } @else {
-// --#{$prefix}btn-hover-#{$property}: oklch(from var(--#{$prefix}#{$color}-#{$value}) calc(l * .95) calc(c * 1.1) h);
-// }
-// }
-// }
-
-// &:focus-visible {
-// outline-color: var(--#{$prefix}#{$color}-focus-ring);
-// }
-
-// // Active state
-// &:active,
-// &.active {
-// @each $property, $value in map.get($variant-styles, "active") {
-// @if $value == "transparent" {
-// --#{$prefix}btn-active-#{$property}: transparent;
-// } @else if $value == "bg-subtle" {
-// --#{$prefix}btn-active-#{$property}: var(--#{$prefix}#{$color}-#{$value});
-// } @else {
-// --#{$prefix}btn-active-#{$property}: oklch(from var(--#{$prefix}#{$color}-#{$value}) calc(l * .9) calc(c * 1.15) h);
-// }
-// }
-// }
-// }
-// }
-// // scss-docs-end btn-variant-mixin
// Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)
+// scss-docs-start btn-variant-mixin
@each $variant, $_ in $button-variants {
.btn-#{$variant} {
- // Base properties
@each $property, $value in map.get($button-variants, $variant, "base") {
@if $value == "transparent" {
--#{$prefix}btn-#{$property}: transparent;
}
}
- // Hover state
&:hover {
@each $property, $value in map.get($button-variants, $variant, "hover") {
@if $value == "transparent" {
outline-color: var(--#{$prefix}theme-focus-ring);
}
- // Active state
&:active,
&.active {
@each $property, $value in map.get($button-variants, $variant, "active") {
}
}
}
+// scss-docs-end btn-variant-mixin
// scss-docs-start btn-size-mixin
@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {