@nuvoui/core 1.2.5 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +2 -2
  2. package/dist/nuvoui.css +22277 -22831
  3. package/dist/nuvoui.css.map +1 -1
  4. package/dist/nuvoui.min.css +1 -1
  5. package/dist/nuvoui.min.css.map +1 -1
  6. package/package.json +2 -2
  7. package/src/styles/abstracts/_config.scss +124 -56
  8. package/src/styles/abstracts/_functions.scss +21 -61
  9. package/src/styles/base/_base.scss +67 -59
  10. package/src/styles/base/_reset.scss +11 -8
  11. package/src/styles/index.scss +28 -10
  12. package/src/styles/layouts/_container.scss +1 -2
  13. package/src/styles/layouts/_flex.scss +442 -154
  14. package/src/styles/layouts/_grid.scss +145 -75
  15. package/src/styles/mixins-map.json +482 -0
  16. package/src/styles/mixins-map.scss +1 -1
  17. package/src/styles/themes/_theme.scss +114 -94
  18. package/src/styles/utilities/_alignment.scss +40 -13
  19. package/src/styles/utilities/_animations.scss +165 -105
  20. package/src/styles/utilities/_backdrop-filters.scss +156 -107
  21. package/src/styles/utilities/_borders.scss +329 -143
  22. package/src/styles/utilities/_colors.scss +24 -25
  23. package/src/styles/utilities/_container-queries.scss +7 -7
  24. package/src/styles/utilities/_cursor.scss +10 -17
  25. package/src/styles/utilities/_display.scss +234 -85
  26. package/src/styles/utilities/_helpers.scss +5 -5
  27. package/src/styles/utilities/_media-queries.scss +24 -27
  28. package/src/styles/utilities/_opacity.scss +15 -31
  29. package/src/styles/utilities/_position.scss +129 -66
  30. package/src/styles/utilities/_shadows.scss +25 -31
  31. package/src/styles/utilities/_sizing.scss +269 -108
  32. package/src/styles/utilities/_spacing.scss +254 -156
  33. package/src/styles/utilities/_tooltips.scss +35 -31
  34. package/src/styles/utilities/_transforms.scss +179 -156
  35. package/src/styles/utilities/_transitions.scss +134 -68
  36. package/src/styles/utilities/_typography.scss +341 -127
  37. package/src/styles/utilities/_z-index.scss +79 -49
  38. package/src/styles/abstracts/_index.scss +0 -1
  39. package/src/styles/base/_index.scss +0 -2
  40. package/src/styles/layouts/_index.scss +0 -3
  41. package/src/styles/themes/_index.scss +0 -1
  42. package/src/styles/utilities/_index.scss +0 -23
@@ -1 +1 @@
1
- @use 'abstracts/config' as *; @use 'abstracts/functions' as *; @use 'abstracts/index' as *; @use 'base/base' as *; @use 'base/index' as *; @use 'base/reset' as *; @use 'layouts/container' as *; @use 'layouts/flex' as *; @use 'layouts/grid' as *; @use 'layouts/index' as *; @use 'themes/index' as *; @use 'themes/theme' as *; @use 'utilities/alignment' as *; @use 'utilities/animations' as *; @use 'utilities/backdrop-filters' as *; @use 'utilities/borders' as *; @use 'utilities/colors' as *; @use 'utilities/container-queries' as *; @use 'utilities/cursor' as *; @use 'utilities/display' as *; @use 'utilities/helpers' as *; @use 'utilities/index' as *; @use 'utilities/media-queries' as *; @use 'utilities/opacity' as *; @use 'utilities/position' as *; @use 'utilities/shadows' as *; @use 'utilities/sizing' as *; @use 'utilities/spacing' as *; @use 'utilities/tooltips' as *; @use 'utilities/transforms' as *; @use 'utilities/transitions' as *; @use 'utilities/typography' as *; @use 'utilities/z-index' as *; @use 'sass:string' as str; @use 'sass:map'; @use 'sass:list'; @mixin apply($mixins...) { @each $mixin in $mixins { $ms: #{$mixin}; @if str.index($ms, '(') { $opening: str.index($ms, '('); $closing: null; $depth: 1; $break: 0; @for $i from $opening + 1 through str.length($ms) { @if $break == 0 { $char: str.slice($ms, $i, $i); @if $char == '(' { $depth: $depth + 1; } @else if $char == ')' { $depth: $depth - 1; @if $depth == 0 { $closing: $i; $break: 1; } } } } @if $closing { $mixin-name: str.slice($ms, 1, $opening - 1); $mixin-params: split(str.slice($ms, $opening + 1, $closing - 1), ','); $full-mixin-call: str.slice($ms, 1, $closing); $modifiers_text: ""; @if str.length($ms) > $closing { $modifiers_text: str.slice($ms, $closing + 1); @while str.slice($modifiers_text, 1, 1) == ' ' { $modifiers_text: str.slice($modifiers_text, 2); } } $breakpoint: null; $state: null; @if $modifiers_text != "" { $modifier-list: str.split($modifiers_text, ' '); @each $mod in $modifier-list { @if map.has-key($breakpoints, $mod) { $breakpoint: $mod; } @else { $state: $mod; } } } @if $state and $breakpoint { @include media-up($breakpoint) { &:#{$state} { @include apply-mixin($full-mixin-call, $mixin-params); } } } @else if $state { &:#{$state} { @include apply-mixin($full-mixin-call, $mixin-params); } } @else if $breakpoint { @include media-up($breakpoint) { @include apply-mixin($full-mixin-call, $mixin-params); } } @else { @include apply-mixin($full-mixin-call, $mixin-params); } } } @else { $parts: str.split($ms, ' '); $base-mixin: list.nth($parts, 1); $breakpoint: null; $state: null; @if list.length($parts) > 1 { @for $i from 2 through list.length($parts) { $mod: list.nth($parts, $i); @if map.has-key($breakpoints, $mod) { $breakpoint: $mod; } @else { $state: $mod; } } } @if $state and $breakpoint { @include media-up($breakpoint) { &:#{$state} { @include apply-mixin($base-mixin); } } } @else if $state { &:#{$state} { @include apply-mixin($base-mixin); } } @else if $breakpoint { @include media-up($breakpoint) { @include apply-mixin($base-mixin); } } @else { @include apply-mixin($base-mixin); } } } } @mixin apply-mixin($ms, $params: null) { @if $ms == 'container-base' { @include container-base; } @else if str.index($ms, 'container-padding(') == 1 { $param1: list.nth($params, 1); @include container-padding($param1); } @else if str.index($ms, 'container(') == 1 { $param1: list.nth($params, 1); @include container($param1); } @else if $ms == 'flex' { @include flex; } @else if $ms == 'flex-inline' { @include flex-inline; } @else if $ms == 'row' { @include row; } @else if $ms == 'row-reverse' { @include row-reverse; } @else if $ms == 'col' { @include col; } @else if $ms == 'col-reverse' { @include col-reverse; } @else if $ms == 'wrap' { @include wrap; } @else if $ms == 'nowrap' { @include nowrap; } @else if $ms == 'wrap-reverse' { @include wrap-reverse; } @else if $ms == 'start' { @include start; } @else if $ms == 'end' { @include end; } @else if $ms == 'center' { @include center; } @else if $ms == 'stretch' { @include stretch; } @else if $ms == 'between' { @include between; } @else if $ms == 'around' { @include around; } @else if $ms == 'evenly' { @include evenly; } @else if $ms == 'x-start' { @include x-start; } @else if $ms == 'x-end' { @include x-end; } @else if $ms == 'x-center' { @include x-center; } @else if $ms == 'x-stretch' { @include x-stretch; } @else if $ms == 'x-baseline' { @include x-baseline; } @else if $ms == 'x-content-start' { @include x-content-start; } @else if $ms == 'x-content-end' { @include x-content-end; } @else if $ms == 'x-content-center' { @include x-content-center; } @else if $ms == 'x-content-between' { @include x-content-between; } @else if $ms == 'x-content-around' { @include x-content-around; } @else if $ms == 'x-content-evenly' { @include x-content-evenly; } @else if $ms == 'x-content-stretch' { @include x-content-stretch; } @else if $ms == 'self-auto' { @include self-auto; } @else if $ms == 'self-start' { @include self-start; } @else if $ms == 'self-end' { @include self-end; } @else if $ms == 'self-center' { @include self-center; } @else if $ms == 'self-stretch' { @include self-stretch; } @else if $ms == 'self-baseline' { @include self-baseline; } @else if $ms == 'shrink' { @include shrink; } @else if $ms == 'no-shrink' { @include no-shrink; } @else if $ms == 'shrink-twice' { @include shrink-twice; } @else if $ms == 'fill-full' { @include fill-full; } @else if $ms == 'fill-auto' { @include fill-auto; } @else if $ms == 'grow' { @include grow; } @else if $ms == 'no-grow' { @include no-grow; } @else if $ms == 'grow-only' { @include grow-only; } @else if str.index($ms, 'fill(') == 1 { $param1: list.nth($params, 1); @include fill($param1); } @else if $ms == 'grid' { @include grid; } @else if $ms == 'grid-inline' { @include grid-inline; } @else if str.index($ms, 'cols(') == 1 { $param1: list.nth($params, 1); @include cols($param1); } @else if str.index($ms, 'rows(') == 1 { $param1: list.nth($params, 1); @include rows($param1); } @else if str.index($ms, 'cols-custom(') == 1 { $param1: list.nth($params, 1); @include cols-custom($param1); } @else if str.index($ms, 'auto-fit(') == 1 { $param1: list.nth($params, 1); @include auto-fit($param1); } @else if str.index($ms, 'auto-fill(') == 1 { $param1: list.nth($params, 1); @include auto-fill($param1); } @else if $ms == 'flow-in-row' { @include flow-in-row; } @else if $ms == 'flow-in-col' { @include flow-in-col; } @else if $ms == 'flow-dense-items' { @include flow-dense-items; } @else if str.index($ms, 'justify(') == 1 { $param1: list.nth($params, 1); @include justify($param1); } @else if str.index($ms, 'align(') == 1 { $param1: list.nth($params, 1); @include align($param1); } @else if str.index($ms, 'place(') == 1 { $param1: list.nth($params, 1); @include place($param1); } @else if str.index($ms, 'col-span(') == 1 { $param1: list.nth($params, 1); @include col-span($param1); } @else if str.index($ms, 'row-span(') == 1 { $param1: list.nth($params, 1); @include row-span($param1); } @else if str.index($ms, 'col-start(') == 1 { $param1: list.nth($params, 1); @include col-start($param1); } @else if str.index($ms, 'col-end(') == 1 { $param1: list.nth($params, 1); @include col-end($param1); } @else if str.index($ms, 'row-start(') == 1 { $param1: list.nth($params, 1); @include row-start($param1); } @else if str.index($ms, 'row-end(') == 1 { $param1: list.nth($params, 1); @include row-end($param1); } @else if str.index($ms, 'grid-position(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include grid-position($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include grid-position($param1, $param2); } } @else if str.index($ms, 'position-col(') == 1 { $param1: list.nth($params, 1); @include position-col($param1); } @else if str.index($ms, 'position-row(') == 1 { $param1: list.nth($params, 1); @include position-row($param1); } @else if $ms == 'align-baseline' { @include align-baseline; } @else if $ms == 'align-top' { @include align-top; } @else if $ms == 'align-middle' { @include align-middle; } @else if $ms == 'align-bottom' { @include align-bottom; } @else if str.index($ms, 'ensure-keyframes(') == 1 { $param1: list.nth($params, 1); @include ensure-keyframes($param1); } @else if str.index($ms, 'animate-bounce(') == 1 { $param1: list.nth($params, 1); @include animate-bounce($param1); } @else if $ms == 'hover-ready' { @include hover-ready; } @else if str.index($ms, 'animate-pulse(') == 1 { $param1: list.nth($params, 1); @include animate-pulse($param1); } @else if str.index($ms, 'animate-spin(') == 1 { $param1: list.nth($params, 1); @include animate-spin($param1); } @else if str.index($ms, 'animate-ping(') == 1 { $param1: list.nth($params, 1); @include animate-ping($param1); } @else if str.index($ms, 'animate-fade(') == 1 { $param1: list.nth($params, 1); @include animate-fade($param1); } @else if str.index($ms, 'animate-shake(') == 1 { $param1: list.nth($params, 1); @include animate-shake($param1); } @else if str.index($ms, 'backdrop-filter(') == 1 { $param1: list.nth($params, 1); @include backdrop-filter($param1); } @else if str.index($ms, 'backdrop-blur(') == 1 { $param1: list.nth($params, 1); @include backdrop-blur($param1); } @else if str.index($ms, 'backdrop-brightness(') == 1 { $param1: list.nth($params, 1); @include backdrop-brightness($param1); } @else if str.index($ms, 'backdrop-contrast(') == 1 { $param1: list.nth($params, 1); @include backdrop-contrast($param1); } @else if str.index($ms, 'backdrop-grayscale(') == 1 { $param1: list.nth($params, 1); @include backdrop-grayscale($param1); } @else if str.index($ms, 'backdrop-hue-rotate(') == 1 { $param1: list.nth($params, 1); @include backdrop-hue-rotate($param1); } @else if str.index($ms, 'backdrop-invert(') == 1 { $param1: list.nth($params, 1); @include backdrop-invert($param1); } @else if str.index($ms, 'backdrop-saturate(') == 1 { $param1: list.nth($params, 1); @include backdrop-saturate($param1); } @else if str.index($ms, 'backdrop-sepia(') == 1 { $param1: list.nth($params, 1); @include backdrop-sepia($param1); } @else if $ms == 'backdrop-frosted' { @include backdrop-frosted; } @else if $ms == 'backdrop-glass' { @include backdrop-glass; } @else if $ms == 'backdrop-dark-glass' { @include backdrop-dark-glass; } @else if $ms == 'backdrop-crystal' { @include backdrop-crystal; } @else if $ms == 'backdrop-matte' { @include backdrop-matte; } @else if $ms == 'backdrop-none' { @include backdrop-none; } @else if str.index($ms, 'generate-backdrop-filter-utilities(') == 1 { $param1: list.nth($params, 1); @include generate-backdrop-filter-utilities($param1); } @else if str.index($ms, 'border(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include border($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include border($param1, $param2); } @else if (list.length($params) == 3) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); @include border($param1, $param2, $param3); } } @else if str.index($ms, 'border-top(') == 1 { $param1: list.nth($params, 1); @include border-top($param1); } @else if str.index($ms, 'border-right(') == 1 { $param1: list.nth($params, 1); @include border-right($param1); } @else if str.index($ms, 'border-bottom(') == 1 { $param1: list.nth($params, 1); @include border-bottom($param1); } @else if str.index($ms, 'border-left(') == 1 { $param1: list.nth($params, 1); @include border-left($param1); } @else if str.index($ms, 'rounded(') == 1 { $param1: list.nth($params, 1); @include rounded($param1); } @else if str.index($ms, 'rounded-t(') == 1 { $param1: list.nth($params, 1); @include rounded-t($param1); } @else if str.index($ms, 'rounded-r(') == 1 { $param1: list.nth($params, 1); @include rounded-r($param1); } @else if str.index($ms, 'rounded-b(') == 1 { $param1: list.nth($params, 1); @include rounded-b($param1); } @else if str.index($ms, 'rounded-l(') == 1 { $param1: list.nth($params, 1); @include rounded-l($param1); } @else if str.index($ms, 'rounded-tl(') == 1 { $param1: list.nth($params, 1); @include rounded-tl($param1); } @else if str.index($ms, 'rounded-tr(') == 1 { $param1: list.nth($params, 1); @include rounded-tr($param1); } @else if str.index($ms, 'rounded-br(') == 1 { $param1: list.nth($params, 1); @include rounded-br($param1); } @else if str.index($ms, 'rounded-bl(') == 1 { $param1: list.nth($params, 1); @include rounded-bl($param1); } @else if str.index($ms, 'border-style(') == 1 { $param1: list.nth($params, 1); @include border-style($param1); } @else if str.index($ms, 'border-color(') == 1 { $param1: list.nth($params, 1); @include border-color($param1); } @else if str.index($ms, 'border-all(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include border-all($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include border-all($param1, $param2); } @else if (list.length($params) == 3) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); @include border-all($param1, $param2, $param3); } } @else if $ms == 'pill' { @include pill; } @else if str.index($ms, 'adaptive-contrast(') == 1 { $param1: list.nth($params, 1); @include adaptive-contrast($param1); } @else if str.index($ms, 'bg(') == 1 { $param1: list.nth($params, 1); @include bg($param1); } @else if str.index($ms, 'color(') == 1 { $param1: list.nth($params, 1); @include color($param1); } @else if str.index($ms, 'gradient(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include gradient($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include gradient($param1, $param2); } } @else if str.index($ms, 'container-up(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include container-up($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include container-up($param1, $param2); } } @else if str.index($ms, 'container-down(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include container-down($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include container-down($param1, $param2); } } @else if str.index($ms, 'container-between(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include container-between($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include container-between($param1, $param2); } @else if (list.length($params) == 3) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); @include container-between($param1, $param2, $param3); } } @else if str.index($ms, 'container-only(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include container-only($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include container-only($param1, $param2); } } @else if str.index($ms, 'container-query(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include container-query($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include container-query($param1, $param2); } } @else if str.index($ms, 'container-type(') == 1 { $param1: list.nth($params, 1); @include container-type($param1); } @else if str.index($ms, 'container-name(') == 1 { $param1: list.nth($params, 1); @include container-name($param1); } @else if str.index($ms, 'cursor(') == 1 { $param1: list.nth($params, 1); @include cursor($param1); } @else if $ms == 'hide' { @include hide; } @else if $ms == 'block' { @include block; } @else if $ms == 'inline' { @include inline; } @else if $ms == 'inline-block' { @include inline-block; } @else if $ms == 'show' { @include show; } @else if $ms == 'd-tbl' { @include d-tbl; } @else if $ms == 'd-tbl-row' { @include d-tbl-row; } @else if $ms == 'd-tbl-cell' { @include d-tbl-cell; } @else if $ms == 'visible' { @include visible; } @else if $ms == 'invisible' { @include invisible; } @else if $ms == 'collapse' { @include collapse; } @else if $ms == 'contents' { @include contents; } @else if $ms == 'overflow-hidden' { @include overflow-hidden; } @else if $ms == 'overflow-visible' { @include overflow-visible; } @else if $ms == 'overflow-scroll' { @include overflow-scroll; } @else if $ms == 'overflow-auto' { @include overflow-auto; } @else if $ms == 'overflow-x-hidden' { @include overflow-x-hidden; } @else if $ms == 'overflow-y-hidden' { @include overflow-y-hidden; } @else if $ms == 'overflow-x-scroll' { @include overflow-x-scroll; } @else if $ms == 'overflow-y-scroll' { @include overflow-y-scroll; } @else if $ms == 'overflow-x-auto' { @include overflow-x-auto; } @else if $ms == 'overflow-y-auto' { @include overflow-y-auto; } @else if str.index($ms, 'media-up(') == 1 { $param1: list.nth($params, 1); @include media-up($param1); } @else if str.index($ms, 'media-down(') == 1 { $param1: list.nth($params, 1); @include media-down($param1); } @else if str.index($ms, 'media-between(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include media-between($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include media-between($param1, $param2); } } @else if str.index($ms, 'media-only(') == 1 { $param1: list.nth($params, 1); @include media-only($param1); } @else if $ms == 'touch' { @include touch; } @else if $ms == 'print' { @include print; } @else if str.index($ms, 'supports(') == 1 { $param1: list.nth($params, 1); @include supports($param1); } @else if $ms == 'prefers-dark' { @include prefers-dark; } @else if $ms == 'dark-mode' { @include dark-mode; } @else if $ms == 'landscape' { @include landscape; } @else if $ms == 'portrait' { @include portrait; } @else if str.index($ms, 'aspect-ratio(') == 1 { $param1: list.nth($params, 1); @include aspect-ratio($param1); } @else if $ms == 'dvh' { @include dvh; } @else if str.index($ms, 'safe-area-inset(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include safe-area-inset($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include safe-area-inset($param1, $param2); } } @else if $ms == 'reduced-motion' { @include reduced-motion; } @else if $ms == 'fine-pointer' { @include fine-pointer; } @else if str.index($ms, 'display-mode(') == 1 { $param1: list.nth($params, 1); @include display-mode($param1); } @else if $ms == 'high-contrast' { @include high-contrast; } @else if str.index($ms, 'opacity(') == 1 { $param1: list.nth($params, 1); @include opacity($param1); } @else if $ms == 'static' { @include static; } @else if $ms == 'relative' { @include relative; } @else if $ms == 'absolute' { @include absolute; } @else if $ms == 'fixed' { @include fixed; } @else if $ms == 'sticky' { @include sticky; } @else if str.index($ms, 'top(') == 1 { $param1: list.nth($params, 1); @include top($param1); } @else if str.index($ms, 'right(') == 1 { $param1: list.nth($params, 1); @include right($param1); } @else if str.index($ms, 'bottom(') == 1 { $param1: list.nth($params, 1); @include bottom($param1); } @else if str.index($ms, 'left(') == 1 { $param1: list.nth($params, 1); @include left($param1); } @else if $ms == 'absolute-center' { @include absolute-center; } @else if str.index($ms, 'shadow-base(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include shadow-base($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include shadow-base($param1, $param2); } @else if (list.length($params) == 3) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); @include shadow-base($param1, $param2, $param3); } @else if (list.length($params) == 4) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); $param4: list.nth($params, 4); @include shadow-base($param1, $param2, $param3, $param4); } @else if (list.length($params) == 5) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); $param4: list.nth($params, 4); $param5: list.nth($params, 5); @include shadow-base($param1, $param2, $param3, $param4, $param5); } } @else if str.index($ms, 'shadow(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include shadow($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include shadow($param1, $param2); } } @else if str.index($ms, 'shadow-inset(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include shadow-inset($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include shadow-inset($param1, $param2); } } @else if str.index($ms, 'elevation(') == 1 { $param1: list.nth($params, 1); @include elevation($param1); } @else if str.index($ms, 'width(') == 1 { $param1: list.nth($params, 1); @include width($param1); } @else if str.index($ms, 'height(') == 1 { $param1: list.nth($params, 1); @include height($param1); } @else if str.index($ms, 'min-width(') == 1 { $param1: list.nth($params, 1); @include min-width($param1); } @else if str.index($ms, 'min-height(') == 1 { $param1: list.nth($params, 1); @include min-height($param1); } @else if str.index($ms, 'max-width(') == 1 { $param1: list.nth($params, 1); @include max-width($param1); } @else if str.index($ms, 'max-height(') == 1 { $param1: list.nth($params, 1); @include max-height($param1); } @else if str.index($ms, 'width-percent(') == 1 { $param1: list.nth($params, 1); @include width-percent($param1); } @else if str.index($ms, 'height-percent(') == 1 { $param1: list.nth($params, 1); @include height-percent($param1); } @else if str.index($ms, 'min-width-percent(') == 1 { $param1: list.nth($params, 1); @include min-width-percent($param1); } @else if str.index($ms, 'min-height-percent(') == 1 { $param1: list.nth($params, 1); @include min-height-percent($param1); } @else if str.index($ms, 'max-width-percent(') == 1 { $param1: list.nth($params, 1); @include max-width-percent($param1); } @else if str.index($ms, 'max-height-percent(') == 1 { $param1: list.nth($params, 1); @include max-height-percent($param1); } @else if $ms == 'w-auto' { @include w-auto; } @else if $ms == 'w-full' { @include w-full; } @else if $ms == 'h-auto' { @include h-auto; } @else if $ms == 'h-full' { @include h-full; } @else if $ms == 'w-max' { @include w-max; } @else if $ms == 'h-max' { @include h-max; } @else if $ms == 'w-min' { @include w-min; } @else if $ms == 'h-min' { @include h-min; } @else if $ms == 'w-fit' { @include w-fit; } @else if $ms == 'h-fit' { @include h-fit; } @else if $ms == 'min-w-full' { @include min-w-full; } @else if $ms == 'max-w-full' { @include max-w-full; } @else if $ms == 'min-h-full' { @include min-h-full; } @else if $ms == 'max-h-full' { @include max-h-full; } @else if $ms == 'w-screen' { @include w-screen; } @else if $ms == 'h-screen' { @include h-screen; } @else if str.index($ms, 'p(') == 1 { $param1: list.nth($params, 1); @include p($param1); } @else if str.index($ms, 'px(') == 1 { $param1: list.nth($params, 1); @include px($param1); } @else if str.index($ms, 'py(') == 1 { $param1: list.nth($params, 1); @include py($param1); } @else if str.index($ms, 'pt(') == 1 { $param1: list.nth($params, 1); @include pt($param1); } @else if str.index($ms, 'pr(') == 1 { $param1: list.nth($params, 1); @include pr($param1); } @else if str.index($ms, 'pb(') == 1 { $param1: list.nth($params, 1); @include pb($param1); } @else if str.index($ms, 'pl(') == 1 { $param1: list.nth($params, 1); @include pl($param1); } @else if str.index($ms, 'm(') == 1 { $param1: list.nth($params, 1); @include m($param1); } @else if str.index($ms, 'mx(') == 1 { $param1: list.nth($params, 1); @include mx($param1); } @else if str.index($ms, 'my(') == 1 { $param1: list.nth($params, 1); @include my($param1); } @else if str.index($ms, 'mt(') == 1 { $param1: list.nth($params, 1); @include mt($param1); } @else if str.index($ms, 'mr(') == 1 { $param1: list.nth($params, 1); @include mr($param1); } @else if str.index($ms, 'mb(') == 1 { $param1: list.nth($params, 1); @include mb($param1); } @else if str.index($ms, 'ml(') == 1 { $param1: list.nth($params, 1); @include ml($param1); } @else if $ms == 'ml-auto' { @include ml-auto; } @else if $ms == 'mr-auto' { @include mr-auto; } @else if $ms == 'mx-auto' { @include mx-auto; } @else if str.index($ms, 'inset(') == 1 { $param1: list.nth($params, 1); @include inset($param1); } @else if str.index($ms, 'inset-x(') == 1 { $param1: list.nth($params, 1); @include inset-x($param1); } @else if str.index($ms, 'inset-y(') == 1 { $param1: list.nth($params, 1); @include inset-y($param1); } @else if $ms == 'inset-auto' { @include inset-auto; } @else if $ms == 'inset-x-auto' { @include inset-x-auto; } @else if $ms == 'inset-y-auto' { @include inset-y-auto; } @else if str.index($ms, 'space-y(') == 1 { $param1: list.nth($params, 1); @include space-y($param1); } @else if str.index($ms, 'space-x(') == 1 { $param1: list.nth($params, 1); @include space-x($param1); } @else if str.index($ms, 'gap(') == 1 { $param1: list.nth($params, 1); @include gap($param1); } @else if str.index($ms, 'gap-x(') == 1 { $param1: list.nth($params, 1); @include gap-x($param1); } @else if str.index($ms, 'gap-y(') == 1 { $param1: list.nth($params, 1); @include gap-y($param1); } @else if $ms == 'apply-transform' { @include apply-transform; } @else if str.index($ms, 'translate-x(') == 1 { $param1: list.nth($params, 1); @include translate-x($param1); } @else if str.index($ms, 'translate-y(') == 1 { $param1: list.nth($params, 1); @include translate-y($param1); } @else if str.index($ms, 'translate-z(') == 1 { $param1: list.nth($params, 1); @include translate-z($param1); } @else if str.index($ms, 'translate(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include translate($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include translate($param1, $param2); } } @else if str.index($ms, 'scale-x(') == 1 { $param1: list.nth($params, 1); @include scale-x($param1); } @else if str.index($ms, 'scale-y(') == 1 { $param1: list.nth($params, 1); @include scale-y($param1); } @else if str.index($ms, 'scale(') == 1 { $param1: list.nth($params, 1); @include scale($param1); } @else if str.index($ms, 'rotate(') == 1 { $param1: list.nth($params, 1); @include rotate($param1); } @else if str.index($ms, 'skew-x(') == 1 { $param1: list.nth($params, 1); @include skew-x($param1); } @else if str.index($ms, 'skew-y(') == 1 { $param1: list.nth($params, 1); @include skew-y($param1); } @else if str.index($ms, 'origin(') == 1 { $param1: list.nth($params, 1); @include origin($param1); } @else if $ms == 'transition-none' { @include transition-none; } @else if $ms == 'transition' { @include transition; } @else if $ms == 'transition-colors' { @include transition-colors; } @else if $ms == 'transition-opacity' { @include transition-opacity; } @else if $ms == 'transition-shadow' { @include transition-shadow; } @else if $ms == 'transition-transform' { @include transition-transform; } @else if str.index($ms, 'duration(') == 1 { $param1: list.nth($params, 1); @include duration($param1); } @else if $ms == 'ease-linear' { @include ease-linear; } @else if $ms == 'ease-in' { @include ease-in; } @else if $ms == 'ease-out' { @include ease-out; } @else if $ms == 'ease-in-out' { @include ease-in-out; } @else if str.index($ms, 'delay(') == 1 { $param1: list.nth($params, 1); @include delay($param1); } @else if str.index($ms, 'text-size(') == 1 { $param1: list.nth($params, 1); @include text-size($param1); } @else if $ms == 'font-thin' { @include font-thin; } @else if $ms == 'font-extralight' { @include font-extralight; } @else if $ms == 'font-light' { @include font-light; } @else if $ms == 'font-normal' { @include font-normal; } @else if $ms == 'font-medium' { @include font-medium; } @else if $ms == 'font-semibold' { @include font-semibold; } @else if $ms == 'font-bold' { @include font-bold; } @else if $ms == 'font-extrabold' { @include font-extrabold; } @else if $ms == 'font-black' { @include font-black; } @else if str.index($ms, 'leading(') == 1 { $param1: list.nth($params, 1); @include leading($param1); } @else if $ms == 'leading-none' { @include leading-none; } @else if $ms == 'leading-tight' { @include leading-tight; } @else if $ms == 'leading-snug' { @include leading-snug; } @else if $ms == 'leading-normal' { @include leading-normal; } @else if $ms == 'leading-relaxed' { @include leading-relaxed; } @else if $ms == 'leading-loose' { @include leading-loose; } @else if $ms == 'text-left' { @include text-left; } @else if $ms == 'text-center' { @include text-center; } @else if $ms == 'text-right' { @include text-right; } @else if $ms == 'text-justify' { @include text-justify; } @else if $ms == 'uppercase' { @include uppercase; } @else if $ms == 'lowercase' { @include lowercase; } @else if $ms == 'capitalize' { @include capitalize; } @else if $ms == 'normal-case' { @include normal-case; } @else if $ms == 'italic' { @include italic; } @else if $ms == 'not-italic' { @include not-italic; } @else if $ms == 'underline' { @include underline; } @else if $ms == 'line-through' { @include line-through; } @else if $ms == 'no-underline' { @include no-underline; } @else if $ms == 'truncate' { @include truncate; } @else if $ms == 'overflow-label' { @include overflow-label; } @else if str.index($ms, 'truncate-lines(') == 1 { $param1: list.nth($params, 1); @include truncate-lines($param1); } @else if $ms == 'break-normal' { @include break-normal; } @else if $ms == 'break-words' { @include break-words; } @else if $ms == 'break-all' { @include break-all; } @else if $ms == 'whitespace-normal' { @include whitespace-normal; } @else if $ms == 'whitespace-nowrap' { @include whitespace-nowrap; } @else if $ms == 'whitespace-pre' { @include whitespace-pre; } @else if $ms == 'whitespace-pre-line' { @include whitespace-pre-line; } @else if $ms == 'whitespace-pre-wrap' { @include whitespace-pre-wrap; } @else if str.index($ms, 'tracking(') == 1 { $param1: list.nth($params, 1); @include tracking($param1); } @else if $ms == 'tracking-tighter' { @include tracking-tighter; } @else if $ms == 'tracking-tight' { @include tracking-tight; } @else if $ms == 'tracking-normal' { @include tracking-normal; } @else if $ms == 'tracking-wide' { @include tracking-wide; } @else if $ms == 'tracking-wider' { @include tracking-wider; } @else if $ms == 'tracking-widest' { @include tracking-widest; } @else if str.index($ms, 'responsive-typography(') == 1 { $param1: list.nth($params, 1); @include responsive-typography($param1); } @else if str.index($ms, 'z-index(') == 1 { $param1: list.nth($params, 1); @include z-index($param1); } @else if str.index($ms, 'z-index-utilities(') == 1 { $param1: list.nth($params, 1); @include z-index-utilities($param1); } @else if $ms == 'z-base' { @include z-base; } @else if $ms == 'z-hover' { @include z-hover; } @else if $ms == 'z-dropdown' { @include z-dropdown; } @else if $ms == 'z-sticky' { @include z-sticky; } @else if $ms == 'z-fixed' { @include z-fixed; } @else if $ms == 'z-drawer' { @include z-drawer; } @else if $ms == 'z-modal' { @include z-modal; } @else if $ms == 'z-popover' { @include z-popover; } @else if $ms == 'z-tooltip' { @include z-tooltip; } @else if $ms == 'z-overlay' { @include z-overlay; } @else if $ms == 'z-toast' { @include z-toast; } @else if $ms == 'z-max' { @include z-max; } @else if $ms == 'z-auto' { @include z-auto; } @else { @debug 'Mixin not found: ' + $ms; } }
1
+ @use 'abstracts/config' as *; @use 'abstracts/functions' as *; @use 'base/base' as *; @use 'base/reset' as *; @use 'layouts/container' as *; @use 'layouts/flex' as *; @use 'layouts/grid' as *; @use 'themes/theme' as *; @use 'utilities/alignment' as *; @use 'utilities/animations' as *; @use 'utilities/backdrop-filters' as *; @use 'utilities/borders' as *; @use 'utilities/colors' as *; @use 'utilities/container-queries' as *; @use 'utilities/cursor' as *; @use 'utilities/display' as *; @use 'utilities/helpers' as *; @use 'utilities/media-queries' as *; @use 'utilities/opacity' as *; @use 'utilities/position' as *; @use 'utilities/shadows' as *; @use 'utilities/sizing' as *; @use 'utilities/spacing' as *; @use 'utilities/tooltips' as *; @use 'utilities/transforms' as *; @use 'utilities/transitions' as *; @use 'utilities/typography' as *; @use 'utilities/z-index' as *; @use 'sass:string' as str; @use 'sass:map'; @use 'sass:list'; @mixin apply($mixins...) { @each $mixin in $mixins { $ms: #{$mixin}; @if str.index($ms, '(') { $opening: str.index($ms, '('); $closing: null; $depth: 1; $break: 0; @for $i from $opening + 1 through str.length($ms) { @if $break == 0 { $char: str.slice($ms, $i, $i); @if $char == '(' { $depth: $depth + 1; } @else if $char == ')' { $depth: $depth - 1; @if $depth == 0 { $closing: $i; $break: 1; } } } } @if $closing { $mixin-name: str.slice($ms, 1, $opening - 1); $mixin-params: split(str.slice($ms, $opening + 1, $closing - 1), ','); $full-mixin-call: str.slice($ms, 1, $closing); $modifiers_text: ""; @if str.length($ms) > $closing { $modifiers_text: str.slice($ms, $closing + 1); @while str.slice($modifiers_text, 1, 1) == ' ' { $modifiers_text: str.slice($modifiers_text, 2); } } $breakpoint: null; $state: null; @if $modifiers_text != "" { $modifier-list: str.split($modifiers_text, ' '); @each $mod in $modifier-list { @if map.has-key($breakpoints, $mod) { $breakpoint: $mod; } @else { $state: $mod; } } } @if $state and $breakpoint { @include media-up($breakpoint) { &:#{$state} { @include apply-mixin($full-mixin-call, $mixin-params); } } } @else if $state { &:#{$state} { @include apply-mixin($full-mixin-call, $mixin-params); } } @else if $breakpoint { @include media-up($breakpoint) { @include apply-mixin($full-mixin-call, $mixin-params); } } @else { @include apply-mixin($full-mixin-call, $mixin-params); } } } @else { $parts: str.split($ms, ' '); $base-mixin: list.nth($parts, 1); $breakpoint: null; $state: null; @if list.length($parts) > 1 { @for $i from 2 through list.length($parts) { $mod: list.nth($parts, $i); @if map.has-key($breakpoints, $mod) { $breakpoint: $mod; } @else { $state: $mod; } } } @if $state and $breakpoint { @include media-up($breakpoint) { &:#{$state} { @include apply-mixin($base-mixin); } } } @else if $state { &:#{$state} { @include apply-mixin($base-mixin); } } @else if $breakpoint { @include media-up($breakpoint) { @include apply-mixin($base-mixin); } } @else { @include apply-mixin($base-mixin); } } } } @mixin apply-mixin($ms, $params: null) { @if $ms == 'container-base' { @include container-base; } @else if str.index($ms, 'container-padding(') == 1 { $param1: list.nth($params, 1); @include container-padding($param1); } @else if str.index($ms, 'container(') == 1 { $param1: list.nth($params, 1); @include container($param1); } @else if $ms == 'flex' { @include flex; } @else if $ms == 'flex-inline' { @include flex-inline; } @else if $ms == 'row' { @include row; } @else if $ms == 'row-reverse' { @include row-reverse; } @else if $ms == 'col' { @include col; } @else if $ms == 'col-reverse' { @include col-reverse; } @else if $ms == 'wrap' { @include wrap; } @else if $ms == 'nowrap' { @include nowrap; } @else if $ms == 'wrap-reverse' { @include wrap-reverse; } @else if $ms == 'start' { @include start; } @else if $ms == 'end' { @include end; } @else if $ms == 'center' { @include center; } @else if $ms == 'stretch' { @include stretch; } @else if $ms == 'between' { @include between; } @else if $ms == 'around' { @include around; } @else if $ms == 'evenly' { @include evenly; } @else if $ms == 'x-start' { @include x-start; } @else if $ms == 'x-end' { @include x-end; } @else if $ms == 'x-center' { @include x-center; } @else if $ms == 'x-stretch' { @include x-stretch; } @else if $ms == 'x-baseline' { @include x-baseline; } @else if $ms == 'x-content-start' { @include x-content-start; } @else if $ms == 'x-content-end' { @include x-content-end; } @else if $ms == 'x-content-center' { @include x-content-center; } @else if $ms == 'x-content-between' { @include x-content-between; } @else if $ms == 'x-content-around' { @include x-content-around; } @else if $ms == 'x-content-evenly' { @include x-content-evenly; } @else if $ms == 'x-content-stretch' { @include x-content-stretch; } @else if $ms == 'self-auto' { @include self-auto; } @else if $ms == 'self-start' { @include self-start; } @else if $ms == 'self-end' { @include self-end; } @else if $ms == 'self-center' { @include self-center; } @else if $ms == 'self-stretch' { @include self-stretch; } @else if $ms == 'self-baseline' { @include self-baseline; } @else if $ms == 'shrink' { @include shrink; } @else if $ms == 'no-shrink' { @include no-shrink; } @else if $ms == 'shrink-twice' { @include shrink-twice; } @else if $ms == 'fill-full' { @include fill-full; } @else if $ms == 'fill-auto' { @include fill-auto; } @else if $ms == 'grow' { @include grow; } @else if $ms == 'no-grow' { @include no-grow; } @else if $ms == 'grow-only' { @include grow-only; } @else if str.index($ms, 'fill(') == 1 { $param1: list.nth($params, 1); @include fill($param1); } @else if $ms == 'grid' { @include grid; } @else if $ms == 'grid-inline' { @include grid-inline; } @else if str.index($ms, 'cols(') == 1 { $param1: list.nth($params, 1); @include cols($param1); } @else if str.index($ms, 'rows(') == 1 { $param1: list.nth($params, 1); @include rows($param1); } @else if str.index($ms, 'cols-custom(') == 1 { $param1: list.nth($params, 1); @include cols-custom($param1); } @else if str.index($ms, 'auto-fit(') == 1 { $param1: list.nth($params, 1); @include auto-fit($param1); } @else if str.index($ms, 'auto-fill(') == 1 { $param1: list.nth($params, 1); @include auto-fill($param1); } @else if $ms == 'flow-in-row' { @include flow-in-row; } @else if $ms == 'flow-in-col' { @include flow-in-col; } @else if $ms == 'flow-dense-items' { @include flow-dense-items; } @else if str.index($ms, 'justify(') == 1 { $param1: list.nth($params, 1); @include justify($param1); } @else if str.index($ms, 'align(') == 1 { $param1: list.nth($params, 1); @include align($param1); } @else if str.index($ms, 'place(') == 1 { $param1: list.nth($params, 1); @include place($param1); } @else if str.index($ms, 'col-span(') == 1 { $param1: list.nth($params, 1); @include col-span($param1); } @else if str.index($ms, 'row-span(') == 1 { $param1: list.nth($params, 1); @include row-span($param1); } @else if str.index($ms, 'col-start(') == 1 { $param1: list.nth($params, 1); @include col-start($param1); } @else if str.index($ms, 'col-end(') == 1 { $param1: list.nth($params, 1); @include col-end($param1); } @else if str.index($ms, 'row-start(') == 1 { $param1: list.nth($params, 1); @include row-start($param1); } @else if str.index($ms, 'row-end(') == 1 { $param1: list.nth($params, 1); @include row-end($param1); } @else if str.index($ms, 'grid-position(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include grid-position($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include grid-position($param1, $param2); } } @else if str.index($ms, 'position-col(') == 1 { $param1: list.nth($params, 1); @include position-col($param1); } @else if str.index($ms, 'position-row(') == 1 { $param1: list.nth($params, 1); @include position-row($param1); } @else if $ms == 'align-baseline' { @include align-baseline; } @else if $ms == 'align-top' { @include align-top; } @else if $ms == 'align-middle' { @include align-middle; } @else if $ms == 'align-bottom' { @include align-bottom; } @else if str.index($ms, 'ensure-keyframes(') == 1 { $param1: list.nth($params, 1); @include ensure-keyframes($param1); } @else if str.index($ms, 'animate-bounce(') == 1 { $param1: list.nth($params, 1); @include animate-bounce($param1); } @else if $ms == 'hover-ready' { @include hover-ready; } @else if str.index($ms, 'animate-pulse(') == 1 { $param1: list.nth($params, 1); @include animate-pulse($param1); } @else if str.index($ms, 'animate-spin(') == 1 { $param1: list.nth($params, 1); @include animate-spin($param1); } @else if str.index($ms, 'animate-ping(') == 1 { $param1: list.nth($params, 1); @include animate-ping($param1); } @else if str.index($ms, 'animate-fade(') == 1 { $param1: list.nth($params, 1); @include animate-fade($param1); } @else if str.index($ms, 'animate-shake(') == 1 { $param1: list.nth($params, 1); @include animate-shake($param1); } @else if str.index($ms, 'backdrop-filter(') == 1 { $param1: list.nth($params, 1); @include backdrop-filter($param1); } @else if $ms == 'backdrop-layer' { @include backdrop-layer; } @else if str.index($ms, 'backdrop-blur(') == 1 { $param1: list.nth($params, 1); @include backdrop-blur($param1); } @else if str.index($ms, 'backdrop-brightness(') == 1 { $param1: list.nth($params, 1); @include backdrop-brightness($param1); } @else if str.index($ms, 'backdrop-contrast(') == 1 { $param1: list.nth($params, 1); @include backdrop-contrast($param1); } @else if str.index($ms, 'backdrop-grayscale(') == 1 { $param1: list.nth($params, 1); @include backdrop-grayscale($param1); } @else if str.index($ms, 'backdrop-hue-rotate(') == 1 { $param1: list.nth($params, 1); @include backdrop-hue-rotate($param1); } @else if str.index($ms, 'backdrop-invert(') == 1 { $param1: list.nth($params, 1); @include backdrop-invert($param1); } @else if str.index($ms, 'backdrop-saturate(') == 1 { $param1: list.nth($params, 1); @include backdrop-saturate($param1); } @else if str.index($ms, 'backdrop-sepia(') == 1 { $param1: list.nth($params, 1); @include backdrop-sepia($param1); } @else if $ms == 'backdrop-frosted' { @include backdrop-frosted; } @else if $ms == 'backdrop-glass' { @include backdrop-glass; } @else if $ms == 'backdrop-dark-glass' { @include backdrop-dark-glass; } @else if $ms == 'backdrop-crystal' { @include backdrop-crystal; } @else if $ms == 'backdrop-matte' { @include backdrop-matte; } @else if $ms == 'backdrop-none' { @include backdrop-none; } @else if str.index($ms, 'generate-backdrop-filter-utilities(') == 1 { $param1: list.nth($params, 1); @include generate-backdrop-filter-utilities($param1); } @else if str.index($ms, 'border(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include border($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include border($param1, $param2); } @else if (list.length($params) == 3) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); @include border($param1, $param2, $param3); } } @else if str.index($ms, 'border-top(') == 1 { $param1: list.nth($params, 1); @include border-top($param1); } @else if str.index($ms, 'border-right(') == 1 { $param1: list.nth($params, 1); @include border-right($param1); } @else if str.index($ms, 'border-bottom(') == 1 { $param1: list.nth($params, 1); @include border-bottom($param1); } @else if str.index($ms, 'border-left(') == 1 { $param1: list.nth($params, 1); @include border-left($param1); } @else if str.index($ms, 'rounded(') == 1 { $param1: list.nth($params, 1); @include rounded($param1); } @else if str.index($ms, 'rounded-t(') == 1 { $param1: list.nth($params, 1); @include rounded-t($param1); } @else if str.index($ms, 'rounded-r(') == 1 { $param1: list.nth($params, 1); @include rounded-r($param1); } @else if str.index($ms, 'rounded-b(') == 1 { $param1: list.nth($params, 1); @include rounded-b($param1); } @else if str.index($ms, 'rounded-l(') == 1 { $param1: list.nth($params, 1); @include rounded-l($param1); } @else if str.index($ms, 'rounded-tl(') == 1 { $param1: list.nth($params, 1); @include rounded-tl($param1); } @else if str.index($ms, 'rounded-tr(') == 1 { $param1: list.nth($params, 1); @include rounded-tr($param1); } @else if str.index($ms, 'rounded-br(') == 1 { $param1: list.nth($params, 1); @include rounded-br($param1); } @else if str.index($ms, 'rounded-bl(') == 1 { $param1: list.nth($params, 1); @include rounded-bl($param1); } @else if str.index($ms, 'border-style(') == 1 { $param1: list.nth($params, 1); @include border-style($param1); } @else if str.index($ms, 'border-color(') == 1 { $param1: list.nth($params, 1); @include border-color($param1); } @else if str.index($ms, 'border-all(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include border-all($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include border-all($param1, $param2); } @else if (list.length($params) == 3) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); @include border-all($param1, $param2, $param3); } } @else if $ms == 'pill' { @include pill; } @else if str.index($ms, 'adaptive-contrast(') == 1 { $param1: list.nth($params, 1); @include adaptive-contrast($param1); } @else if str.index($ms, 'bg(') == 1 { $param1: list.nth($params, 1); @include bg($param1); } @else if str.index($ms, 'color(') == 1 { $param1: list.nth($params, 1); @include color($param1); } @else if str.index($ms, 'gradient(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include gradient($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include gradient($param1, $param2); } } @else if str.index($ms, 'container-up(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include container-up($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include container-up($param1, $param2); } } @else if str.index($ms, 'container-down(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include container-down($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include container-down($param1, $param2); } } @else if str.index($ms, 'container-between(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include container-between($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include container-between($param1, $param2); } @else if (list.length($params) == 3) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); @include container-between($param1, $param2, $param3); } } @else if str.index($ms, 'container-only(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include container-only($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include container-only($param1, $param2); } } @else if str.index($ms, 'container-query(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include container-query($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include container-query($param1, $param2); } } @else if str.index($ms, 'container-type(') == 1 { $param1: list.nth($params, 1); @include container-type($param1); } @else if str.index($ms, 'container-name(') == 1 { $param1: list.nth($params, 1); @include container-name($param1); } @else if str.index($ms, 'cursor(') == 1 { $param1: list.nth($params, 1); @include cursor($param1); } @else if $ms == 'hide' { @include hide; } @else if $ms == 'block' { @include block; } @else if $ms == 'inline' { @include inline; } @else if $ms == 'inline-block' { @include inline-block; } @else if $ms == 'show' { @include show; } @else if $ms == 'd-tbl' { @include d-tbl; } @else if $ms == 'd-tbl-row' { @include d-tbl-row; } @else if $ms == 'd-tbl-cell' { @include d-tbl-cell; } @else if $ms == 'visible' { @include visible; } @else if $ms == 'invisible' { @include invisible; } @else if $ms == 'collapse' { @include collapse; } @else if $ms == 'contents' { @include contents; } @else if $ms == 'overflow-hidden' { @include overflow-hidden; } @else if $ms == 'overflow-visible' { @include overflow-visible; } @else if $ms == 'overflow-scroll' { @include overflow-scroll; } @else if $ms == 'overflow-auto' { @include overflow-auto; } @else if $ms == 'overflow-x-hidden' { @include overflow-x-hidden; } @else if $ms == 'overflow-y-hidden' { @include overflow-y-hidden; } @else if $ms == 'overflow-x-scroll' { @include overflow-x-scroll; } @else if $ms == 'overflow-y-scroll' { @include overflow-y-scroll; } @else if $ms == 'overflow-x-auto' { @include overflow-x-auto; } @else if $ms == 'overflow-y-auto' { @include overflow-y-auto; } @else if str.index($ms, 'media-up(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include media-up($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include media-up($param1, $param2); } } @else if str.index($ms, 'media-down(') == 1 { $param1: list.nth($params, 1); @include media-down($param1); } @else if str.index($ms, 'media-between(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include media-between($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include media-between($param1, $param2); } } @else if str.index($ms, 'media-only(') == 1 { $param1: list.nth($params, 1); @include media-only($param1); } @else if $ms == 'touch' { @include touch; } @else if $ms == 'print' { @include print; } @else if str.index($ms, 'supports(') == 1 { $param1: list.nth($params, 1); @include supports($param1); } @else if $ms == 'prefers-dark' { @include prefers-dark; } @else if $ms == 'dark-mode' { @include dark-mode; } @else if $ms == 'landscape' { @include landscape; } @else if $ms == 'portrait' { @include portrait; } @else if str.index($ms, 'aspect-ratio(') == 1 { $param1: list.nth($params, 1); @include aspect-ratio($param1); } @else if $ms == 'dvh' { @include dvh; } @else if str.index($ms, 'safe-area-inset(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include safe-area-inset($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include safe-area-inset($param1, $param2); } } @else if $ms == 'reduced-motion' { @include reduced-motion; } @else if $ms == 'fine-pointer' { @include fine-pointer; } @else if str.index($ms, 'display-mode(') == 1 { $param1: list.nth($params, 1); @include display-mode($param1); } @else if $ms == 'high-contrast' { @include high-contrast; } @else if str.index($ms, 'opacity(') == 1 { $param1: list.nth($params, 1); @include opacity($param1); } @else if $ms == 'static' { @include static; } @else if $ms == 'relative' { @include relative; } @else if $ms == 'absolute' { @include absolute; } @else if $ms == 'fixed' { @include fixed; } @else if $ms == 'sticky' { @include sticky; } @else if str.index($ms, 'top(') == 1 { $param1: list.nth($params, 1); @include top($param1); } @else if str.index($ms, 'right(') == 1 { $param1: list.nth($params, 1); @include right($param1); } @else if str.index($ms, 'bottom(') == 1 { $param1: list.nth($params, 1); @include bottom($param1); } @else if str.index($ms, 'left(') == 1 { $param1: list.nth($params, 1); @include left($param1); } @else if $ms == 'absolute-center' { @include absolute-center; } @else if str.index($ms, 'shadow-base(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include shadow-base($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include shadow-base($param1, $param2); } @else if (list.length($params) == 3) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); @include shadow-base($param1, $param2, $param3); } @else if (list.length($params) == 4) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); $param4: list.nth($params, 4); @include shadow-base($param1, $param2, $param3, $param4); } @else if (list.length($params) == 5) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); $param3: list.nth($params, 3); $param4: list.nth($params, 4); $param5: list.nth($params, 5); @include shadow-base($param1, $param2, $param3, $param4, $param5); } } @else if str.index($ms, 'shadow(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include shadow($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include shadow($param1, $param2); } } @else if str.index($ms, 'shadow-inset(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include shadow-inset($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include shadow-inset($param1, $param2); } } @else if str.index($ms, 'elevation(') == 1 { $param1: list.nth($params, 1); @include elevation($param1); } @else if str.index($ms, 'width(') == 1 { $param1: list.nth($params, 1); @include width($param1); } @else if str.index($ms, 'height(') == 1 { $param1: list.nth($params, 1); @include height($param1); } @else if str.index($ms, 'min-width(') == 1 { $param1: list.nth($params, 1); @include min-width($param1); } @else if str.index($ms, 'min-height(') == 1 { $param1: list.nth($params, 1); @include min-height($param1); } @else if str.index($ms, 'max-width(') == 1 { $param1: list.nth($params, 1); @include max-width($param1); } @else if str.index($ms, 'max-height(') == 1 { $param1: list.nth($params, 1); @include max-height($param1); } @else if str.index($ms, 'width-percent(') == 1 { $param1: list.nth($params, 1); @include width-percent($param1); } @else if str.index($ms, 'height-percent(') == 1 { $param1: list.nth($params, 1); @include height-percent($param1); } @else if str.index($ms, 'min-width-percent(') == 1 { $param1: list.nth($params, 1); @include min-width-percent($param1); } @else if str.index($ms, 'min-height-percent(') == 1 { $param1: list.nth($params, 1); @include min-height-percent($param1); } @else if str.index($ms, 'max-width-percent(') == 1 { $param1: list.nth($params, 1); @include max-width-percent($param1); } @else if str.index($ms, 'max-height-percent(') == 1 { $param1: list.nth($params, 1); @include max-height-percent($param1); } @else if $ms == 'w-auto' { @include w-auto; } @else if $ms == 'w-full' { @include w-full; } @else if $ms == 'h-auto' { @include h-auto; } @else if $ms == 'h-full' { @include h-full; } @else if $ms == 'w-max' { @include w-max; } @else if $ms == 'h-max' { @include h-max; } @else if $ms == 'w-min' { @include w-min; } @else if $ms == 'h-min' { @include h-min; } @else if $ms == 'w-fit' { @include w-fit; } @else if $ms == 'h-fit' { @include h-fit; } @else if $ms == 'min-w-full' { @include min-w-full; } @else if $ms == 'max-w-full' { @include max-w-full; } @else if $ms == 'min-h-full' { @include min-h-full; } @else if $ms == 'max-h-full' { @include max-h-full; } @else if $ms == 'w-screen' { @include w-screen; } @else if $ms == 'h-screen' { @include h-screen; } @else if str.index($ms, 'p(') == 1 { $param1: list.nth($params, 1); @include p($param1); } @else if str.index($ms, 'px(') == 1 { $param1: list.nth($params, 1); @include px($param1); } @else if str.index($ms, 'py(') == 1 { $param1: list.nth($params, 1); @include py($param1); } @else if str.index($ms, 'pt(') == 1 { $param1: list.nth($params, 1); @include pt($param1); } @else if str.index($ms, 'pr(') == 1 { $param1: list.nth($params, 1); @include pr($param1); } @else if str.index($ms, 'pb(') == 1 { $param1: list.nth($params, 1); @include pb($param1); } @else if str.index($ms, 'pl(') == 1 { $param1: list.nth($params, 1); @include pl($param1); } @else if str.index($ms, 'm(') == 1 { $param1: list.nth($params, 1); @include m($param1); } @else if str.index($ms, 'mx(') == 1 { $param1: list.nth($params, 1); @include mx($param1); } @else if str.index($ms, 'my(') == 1 { $param1: list.nth($params, 1); @include my($param1); } @else if str.index($ms, 'mt(') == 1 { $param1: list.nth($params, 1); @include mt($param1); } @else if str.index($ms, 'mr(') == 1 { $param1: list.nth($params, 1); @include mr($param1); } @else if str.index($ms, 'mb(') == 1 { $param1: list.nth($params, 1); @include mb($param1); } @else if str.index($ms, 'ml(') == 1 { $param1: list.nth($params, 1); @include ml($param1); } @else if $ms == 'ml-auto' { @include ml-auto; } @else if $ms == 'mr-auto' { @include mr-auto; } @else if $ms == 'mx-auto' { @include mx-auto; } @else if str.index($ms, 'inset(') == 1 { $param1: list.nth($params, 1); @include inset($param1); } @else if str.index($ms, 'inset-x(') == 1 { $param1: list.nth($params, 1); @include inset-x($param1); } @else if str.index($ms, 'inset-y(') == 1 { $param1: list.nth($params, 1); @include inset-y($param1); } @else if $ms == 'inset-auto' { @include inset-auto; } @else if $ms == 'inset-x-auto' { @include inset-x-auto; } @else if $ms == 'inset-y-auto' { @include inset-y-auto; } @else if str.index($ms, 'space-y(') == 1 { $param1: list.nth($params, 1); @include space-y($param1); } @else if str.index($ms, 'space-x(') == 1 { $param1: list.nth($params, 1); @include space-x($param1); } @else if str.index($ms, 'gap(') == 1 { $param1: list.nth($params, 1); @include gap($param1); } @else if str.index($ms, 'gap-x(') == 1 { $param1: list.nth($params, 1); @include gap-x($param1); } @else if str.index($ms, 'gap-y(') == 1 { $param1: list.nth($params, 1); @include gap-y($param1); } @else if $ms == 'tooltip-variables' { @include tooltip-variables; } @else if $ms == 'apply-transform' { @include apply-transform; } @else if str.index($ms, 'translate-x(') == 1 { $param1: list.nth($params, 1); @include translate-x($param1); } @else if str.index($ms, 'translate-y(') == 1 { $param1: list.nth($params, 1); @include translate-y($param1); } @else if str.index($ms, 'translate-z(') == 1 { $param1: list.nth($params, 1); @include translate-z($param1); } @else if str.index($ms, 'translate(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include translate($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include translate($param1, $param2); } } @else if str.index($ms, 'scale-x(') == 1 { $param1: list.nth($params, 1); @include scale-x($param1); } @else if str.index($ms, 'scale-y(') == 1 { $param1: list.nth($params, 1); @include scale-y($param1); } @else if str.index($ms, 'scale(') == 1 { $param1: list.nth($params, 1); @include scale($param1); } @else if str.index($ms, 'rotate(') == 1 { $param1: list.nth($params, 1); @include rotate($param1); } @else if str.index($ms, 'skew-x(') == 1 { $param1: list.nth($params, 1); @include skew-x($param1); } @else if str.index($ms, 'skew-y(') == 1 { $param1: list.nth($params, 1); @include skew-y($param1); } @else if str.index($ms, 'origin(') == 1 { $param1: list.nth($params, 1); @include origin($param1); } @else if $ms == 'transition-none' { @include transition-none; } @else if $ms == 'transition' { @include transition; } @else if $ms == 'transition-colors' { @include transition-colors; } @else if $ms == 'transition-opacity' { @include transition-opacity; } @else if $ms == 'transition-shadow' { @include transition-shadow; } @else if $ms == 'transition-transform' { @include transition-transform; } @else if str.index($ms, 'duration(') == 1 { $param1: list.nth($params, 1); @include duration($param1); } @else if $ms == 'ease-linear' { @include ease-linear; } @else if $ms == 'ease-in' { @include ease-in; } @else if $ms == 'ease-out' { @include ease-out; } @else if $ms == 'ease-in-out' { @include ease-in-out; } @else if str.index($ms, 'delay(') == 1 { $param1: list.nth($params, 1); @include delay($param1); } @else if str.index($ms, 'text-size(') == 1 { $param1: list.nth($params, 1); @include text-size($param1); } @else if $ms == 'font-thin' { @include font-thin; } @else if $ms == 'font-extralight' { @include font-extralight; } @else if $ms == 'font-light' { @include font-light; } @else if $ms == 'font-normal' { @include font-normal; } @else if $ms == 'font-medium' { @include font-medium; } @else if $ms == 'font-semibold' { @include font-semibold; } @else if $ms == 'font-bold' { @include font-bold; } @else if $ms == 'font-extrabold' { @include font-extrabold; } @else if $ms == 'font-black' { @include font-black; } @else if str.index($ms, 'leading(') == 1 { $param1: list.nth($params, 1); @include leading($param1); } @else if $ms == 'leading-none' { @include leading-none; } @else if $ms == 'leading-tight' { @include leading-tight; } @else if $ms == 'leading-snug' { @include leading-snug; } @else if $ms == 'leading-normal' { @include leading-normal; } @else if $ms == 'leading-relaxed' { @include leading-relaxed; } @else if $ms == 'leading-loose' { @include leading-loose; } @else if $ms == 'text-left' { @include text-left; } @else if $ms == 'text-center' { @include text-center; } @else if $ms == 'text-right' { @include text-right; } @else if $ms == 'text-justify' { @include text-justify; } @else if $ms == 'uppercase' { @include uppercase; } @else if $ms == 'lowercase' { @include lowercase; } @else if $ms == 'capitalize' { @include capitalize; } @else if $ms == 'normal-case' { @include normal-case; } @else if $ms == 'italic' { @include italic; } @else if $ms == 'not-italic' { @include not-italic; } @else if $ms == 'underline' { @include underline; } @else if $ms == 'line-through' { @include line-through; } @else if $ms == 'no-underline' { @include no-underline; } @else if $ms == 'truncate' { @include truncate; } @else if $ms == 'overflow-label' { @include overflow-label; } @else if str.index($ms, 'truncate-lines(') == 1 { $param1: list.nth($params, 1); @include truncate-lines($param1); } @else if $ms == 'break-normal' { @include break-normal; } @else if $ms == 'break-words' { @include break-words; } @else if $ms == 'break-all' { @include break-all; } @else if $ms == 'whitespace-normal' { @include whitespace-normal; } @else if $ms == 'whitespace-nowrap' { @include whitespace-nowrap; } @else if $ms == 'whitespace-pre' { @include whitespace-pre; } @else if $ms == 'whitespace-pre-line' { @include whitespace-pre-line; } @else if $ms == 'whitespace-pre-wrap' { @include whitespace-pre-wrap; } @else if str.index($ms, 'tracking(') == 1 { $param1: list.nth($params, 1); @include tracking($param1); } @else if $ms == 'tracking-tighter' { @include tracking-tighter; } @else if $ms == 'tracking-tight' { @include tracking-tight; } @else if $ms == 'tracking-normal' { @include tracking-normal; } @else if $ms == 'tracking-wide' { @include tracking-wide; } @else if $ms == 'tracking-wider' { @include tracking-wider; } @else if $ms == 'tracking-widest' { @include tracking-widest; } @else if str.index($ms, 'responsive-typography(') == 1 { $param1: list.nth($params, 1); @include responsive-typography($param1); } @else if str.index($ms, 'z-index(') == 1 { $param1: list.nth($params, 1); @include z-index($param1); } @else if str.index($ms, 'z-index-utilities(') == 1 { $param1: list.nth($params, 1); @include z-index-utilities($param1); } @else if $ms == 'z-base' { @include z-base; } @else if $ms == 'z-hover' { @include z-hover; } @else if $ms == 'z-dropdown' { @include z-dropdown; } @else if $ms == 'z-sticky' { @include z-sticky; } @else if $ms == 'z-fixed' { @include z-fixed; } @else if $ms == 'z-drawer' { @include z-drawer; } @else if $ms == 'z-modal' { @include z-modal; } @else if $ms == 'z-popover' { @include z-popover; } @else if $ms == 'z-tooltip' { @include z-tooltip; } @else if $ms == 'z-overlay' { @include z-overlay; } @else if $ms == 'z-toast' { @include z-toast; } @else if $ms == 'z-max' { @include z-max; } @else if $ms == 'z-auto' { @include z-auto; } @else { @debug 'Mixin not found: ' + $ms; } }
@@ -1,11 +1,14 @@
1
1
  // _theme.scss - CSS variables and utility classes
2
2
  @use "sass:color";
3
3
  @use "sass:map";
4
+ @use "sass:string";
5
+ @use "sass:list";
4
6
  @use "../utilities/colors" as COL;
5
- @use "../abstracts" as *;
7
+ @use "../abstracts/config" as VAR;
6
8
 
7
- @if $generate-utility-classes {
8
- :root {
9
+ @if VAR.$generate-utility-classes {
10
+ :root,
11
+ #{VAR.$parent-selector} [data-theme="light"] {
9
12
  // Theme color CSS variables
10
13
  @each $color-name, $scale in COL.$colors {
11
14
  --#{$color-name}: #{color.adjust(map.get($scale, 500), $alpha: 1)};
@@ -22,54 +25,37 @@
22
25
  }
23
26
  }
24
27
 
28
+ @each $token in VAR.$theme-tokens {
29
+ --#{$token}: #{map.get(VAR.$light-theme, $token)};
30
+ --inverted-#{$token}: #{map.get(VAR.$dark-theme, $token)};
31
+ }
32
+ @each $color-name, $color-val in VAR.$basic-colors {
33
+ --#{$color-name}: #{$color-val};
34
+ }
35
+
36
+ // --button-text-color: #{map.get(VAR.$dark-theme, "text-default")};
37
+ // --inverted-text-color: #{map.get(VAR.$dark-theme, "text-default")};
38
+
25
39
  // Light theme variables
26
- --background: #{map.get($light-theme, "background")};
27
- --foreground: #{map.get($light-theme, "foreground")};
28
- --surface: #{map.get($light-theme, "surface")};
29
- --border: var(--gray-600);
30
- --text-primary: var(--gray-900);
31
- --text-secondary: var(--gray-600);
32
40
  --button-bg-color: var(--primary);
33
41
  --button-bg-color-hover: var(--primary-600);
34
- --button-text-color: var(--gray-100);
35
42
  --link-color: var(--primary);
36
43
  --link-hover-color: var(--primary-600);
37
- --inverted-text-color: var(--gray-100);
38
-
39
- // Scrollbar styling
40
- &::-webkit-scrollbar {
41
- width: 12px;
42
- }
43
-
44
- &::-webkit-scrollbar-track {
45
- background: var(--background);
46
- }
47
-
48
- &::-webkit-scrollbar-thumb {
49
- background-color: #888;
50
- border-radius: 6px;
51
- border: 3px solid var(--background);
52
- }
53
-
54
- scrollbar-width: thin;
55
- scrollbar-color: #888 var(--background);
56
44
  }
57
-
58
- @if $enable-dark-mode {
45
+
46
+ @if VAR.$enable-dark-mode {
59
47
  // Dark theme settings
60
48
  [data-theme="dark"] {
61
- --background: #{map.get($dark-theme, "background")};
62
- --foreground: #{map.get($dark-theme, "foreground")};
63
- --surface: #{map.get($dark-theme, "surface")};
64
- --border: var(--gray-400);
65
- --text-primary: var(--gray-100);
66
- --text-secondary: var(--gray-400);
49
+ @each $token in VAR.$theme-tokens {
50
+ --#{$token}: #{map.get(VAR.$dark-theme, $token)};
51
+ --inverted-#{$token}: #{map.get(VAR.$light-theme, $token)};
52
+ }
53
+
54
+ --button-text-color: #{map.get(VAR.$light-theme, "text-default")};
67
55
  --button-bg-color: var(--primary);
68
56
  --button-bg-color-hover: var(--primary-400);
69
- --button-text-color: var(--gray-200);
70
57
  --link-color: var(--primary);
71
58
  --link-hover-color: var(--primary-400);
72
- --inverted-text-color: var(--gray-900);
73
59
 
74
60
  &::-webkit-scrollbar-track {
75
61
  background: var(--background);
@@ -94,111 +80,145 @@
94
80
  @each $shade, $value in $scale {
95
81
  // Automatic text contrast for backgrounds
96
82
  // todo: documentaton may add karo issay
97
- .text-on-#{$color-name}-#{$shade} {
83
+ #{VAR.$parent-selector} .text-on-#{$color-name}-#{$shade} {
98
84
  color: COL.find-text-color($value);
99
85
  }
100
86
 
101
- .text-#{$color-name}-#{$shade},
102
- .hover\:text-#{$color-name}-#{$shade}:hover, // todo: improve these loops to save time
103
- .group:hover .group-hover\:text-#{$color-name}-#{$shade} {
87
+ #{VAR.$parent-selector} .text-#{$color-name}-#{$shade},
88
+ #{VAR.$parent-selector} .hover\:text-#{$color-name}-#{$shade}:hover, // todo: improve these loops to save time
89
+ #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name}-#{$shade} {
104
90
  color: var(--#{$color-name}-#{$shade});
105
91
  }
106
92
 
107
- .bg-#{$color-name}-#{$shade},
108
- .hover\:bg-#{$color-name}-#{$shade}:hover, // todo: improve these loops to save time
109
- .group:hover .group-hover\:bg-#{$color-name}-#{$shade} {
93
+ #{VAR.$parent-selector} .bg-#{$color-name}-#{$shade},
94
+ #{VAR.$parent-selector} .hover\:bg-#{$color-name}-#{$shade}:hover, // todo: improve these loops to save time
95
+ #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name}-#{$shade} {
110
96
  background-color: var(--#{$color-name}-#{$shade});
111
97
  }
112
98
 
113
- .border-#{$color-name}-#{$shade},
114
- .hover\:border-#{$color-name}-#{$shade}:hover,
115
- .group:hover .group-hover\:border-#{$color-name}-#{$shade} {
99
+ #{VAR.$parent-selector} .border-#{$color-name}-#{$shade},
100
+ #{VAR.$parent-selector} .hover\:border-#{$color-name}-#{$shade}:hover,
101
+ #{VAR.$parent-selector} .group:hover .group-hover\:border-#{$color-name}-#{$shade} {
116
102
  border-color: var(--#{$color-name}-#{$shade});
117
103
  }
118
104
  }
119
105
 
120
106
  // Base color classes
121
- .text-#{$color-name},
122
- .hover\:text-#{$color-name}:hover, // todo: improve these loops to save time
123
- .group:hover .group-hover\:text-#{$color-name} {
107
+ #{VAR.$parent-selector} .text-#{$color-name},
108
+ #{VAR.$parent-selector} .hover\:text-#{$color-name}:hover, // todo: improve these loops to save time
109
+ #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name} {
124
110
  color: var(--#{$color-name});
125
111
  }
126
112
 
127
- .bg-#{$color-name},
128
- .hover\:bg-#{$color-name}:hover, // todo: improve these loops to save time
129
- .group:hover .group-hover\:bg-#{$color-name} {
113
+ #{VAR.$parent-selector} .bg-#{$color-name},
114
+ #{VAR.$parent-selector} .hover\:bg-#{$color-name}:hover, // todo: improve these loops to save time
115
+ #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name} {
130
116
  background-color: var(--#{$color-name});
131
117
  }
132
118
 
133
- .border-#{$color-name},
134
- .hover\:border-#{$color-name}:hover,
135
- .group:hover .group-hover\:border-#{$color-name} {
119
+ #{VAR.$parent-selector} .border-#{$color-name},
120
+ #{VAR.$parent-selector} .hover\:border-#{$color-name}:hover,
121
+ #{VAR.$parent-selector} .group:hover .group-hover\:border-#{$color-name} {
136
122
  border-color: var(--#{$color-name});
137
123
  }
138
124
  }
139
125
 
140
126
  // Primitive color utilities
141
- // green, purple, pink etc.
127
+ // green, purple, pink etc.
142
128
  @each $color-name, $scale in COL.$colors-primitives {
143
129
  @each $shade, $value in $scale {
144
- .text-on-#{$color-name}-#{$shade} {
130
+ #{VAR.$parent-selector} .text-on-#{$color-name}-#{$shade} {
145
131
  color: COL.find-text-color($value);
146
132
  }
147
133
 
148
- .text-#{$color-name}-#{$shade},
149
- .hover\:text-#{$color-name}-#{$shade}:hover, // todo: improve these loops to save time
150
- .group:hover .group-hover\:text-#{$color-name}-#{$shade} {
134
+ #{VAR.$parent-selector} .text-#{$color-name}-#{$shade},
135
+ #{VAR.$parent-selector} .hover\:text-#{$color-name}-#{$shade}:hover, // todo: improve these loops to save time
136
+ #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name}-#{$shade} {
151
137
  color: var(--#{$color-name}-#{$shade});
152
138
  }
153
139
 
154
- .bg-#{$color-name}-#{$shade},
155
- .hover\:bg-#{$color-name}-#{$shade}:hover, // todo: improve these loops to save time
156
- .group:hover .group-hover\:bg-#{$color-name}-#{$shade} {
140
+ #{VAR.$parent-selector} .bg-#{$color-name}-#{$shade},
141
+ #{VAR.$parent-selector} .hover\:bg-#{$color-name}-#{$shade}:hover, // todo: improve these loops to save time
142
+ #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name}-#{$shade} {
157
143
  background-color: var(--#{$color-name}-#{$shade});
158
144
  }
159
145
 
160
- .border-#{$color-name}-#{$shade},
161
- .hover\:border-#{$color-name}-#{$shade}:hover,
162
- .group:hover .group-hover\:border-#{$color-name}-#{$shade} {
146
+ #{VAR.$parent-selector} .border-#{$color-name}-#{$shade},
147
+ #{VAR.$parent-selector} .hover\:border-#{$color-name}-#{$shade}:hover,
148
+ #{VAR.$parent-selector} .group:hover .group-hover\:border-#{$color-name}-#{$shade} {
163
149
  border-color: var(--#{$color-name}-#{$shade});
164
150
  }
165
151
  }
166
152
 
167
153
  // Base color classes
168
- .text-#{$color-name},
169
- .hover\:text-#{$color-name}:hover, // todo: improve these loops to save time
170
- .group:hover .group-hover\:text-#{$color-name} {
154
+ #{VAR.$parent-selector} .text-#{$color-name},
155
+ #{VAR.$parent-selector} .hover\:text-#{$color-name}:hover, // todo: improve these loops to save time
156
+ #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name} {
157
+ color: var(--#{$color-name});
158
+ }
159
+
160
+ #{VAR.$parent-selector} .bg-#{$color-name},
161
+ #{VAR.$parent-selector} .hover\:bg-#{$color-name}:hover, // todo: improve these loops to save time
162
+ #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name} {
163
+ background-color: var(--#{$color-name});
164
+ }
165
+
166
+ #{VAR.$parent-selector} .border-#{$color-name},
167
+ #{VAR.$parent-selector} .hover\:border-#{$color-name}:hover,
168
+ #{VAR.$parent-selector} .group:hover .group-hover\:border-#{$color-name} {
169
+ border-color: var(--#{$color-name});
170
+ }
171
+ }
172
+
173
+ @each $color-name, $color-val in VAR.$basic-colors {
174
+ // Base color classes
175
+ #{VAR.$parent-selector} .text-#{$color-name},
176
+ #{VAR.$parent-selector} .hover\:text-#{$color-name}:hover,
177
+ #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name} {
171
178
  color: var(--#{$color-name});
172
179
  }
173
180
 
174
- .bg-#{$color-name},
175
- .hover\:bg-#{$color-name}:hover, // todo: improve these loops to save time
176
- .group:hover .group-hover\:bg-#{$color-name} {
181
+ #{VAR.$parent-selector} .bg-#{$color-name},
182
+ #{VAR.$parent-selector} .hover\:bg-#{$color-name}:hover,
183
+ #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name} {
177
184
  background-color: var(--#{$color-name});
178
185
  }
179
186
 
180
- .border-#{$color-name},
181
- .hover\:border-#{$color-name}:hover,
182
- .group:hover .group-hover\:border-#{$color-name} {
187
+ #{VAR.$parent-selector} .border-#{$color-name},
188
+ #{VAR.$parent-selector} .hover\:border-#{$color-name}:hover,
189
+ #{VAR.$parent-selector} .group:hover .group-hover\:border-#{$color-name} {
183
190
  border-color: var(--#{$color-name});
184
191
  }
185
192
  }
186
193
 
187
- // Semantic color utilities
188
- .bg-page {background-color: var(--background);}
189
- .bg-card {background-color: var(--surface);}
190
- .bg-active {background-color: var(--button-bg-color);}
191
- .bg-hover {background-color: var(--button-bg-color-hover);}
192
- .bg-white, .hover\:bg-white:hover {background-color: white;}
193
- .bg-black, .hover\:bg-black:hover {background-color: black;}
194
- .text-default {color: var(--text-primary);}
195
- .text-muted {color: var(--text-secondary);}
196
- .text-inverted {color: var(--inverted-text-color);}
197
- .text-white, .hover\:text-white:hover {color: white;}
198
- .text-black, .hover\:text-black:hover {color: black;}
199
-
200
- .text-subtle {
201
- color: var(--text-secondary);
202
- opacity: 0.7;
194
+ @each $token in VAR.$theme-tokens {
195
+ $parts: string.split($token, "-");
196
+ $prefix: list.nth($parts, 1);
197
+
198
+ #{VAR.$parent-selector} .#{$token},
199
+ #{VAR.$parent-selector} .hover\:#{$token}:hover,
200
+ #{VAR.$parent-selector} .group:hover .group-hover\:#{$token} {
201
+ @if $prefix == "bg" {
202
+ background-color: var(--#{$token});
203
+ } @else if $prefix == "text" {
204
+ color: var(--#{$token});
205
+ } @else if $prefix == "border" {
206
+ border-color: var(--#{$token});
207
+ }
208
+ }
209
+
210
+ #{VAR.$parent-selector} .inverted-#{$token},
211
+ #{VAR.$parent-selector} .hover\:inverted-#{$token}:hover,
212
+ #{VAR.$parent-selector} .group:hover .group-hover\:inverted-#{$token} {
213
+ @if $prefix == "bg" {
214
+ background-color: var(--inverted-#{$token});
215
+ } @else if $prefix == "text" {
216
+ color: var(--inverted-#{$token});
217
+ } @else if $prefix == "border" {
218
+ border-color: var(--inverted-#{$token});
219
+ } @else if $prefix == "fg" {
220
+ color: var(--inverted-#{$token});
221
+ }
222
+ }
203
223
  }
204
224
  }
@@ -1,22 +1,49 @@
1
- @use '../abstracts' as VAR;
1
+ @use "../abstracts/config" as VAR;
2
2
 
3
- @mixin align-baseline { vertical-align: baseline; }
4
- @mixin align-top { vertical-align: top; }
5
- @mixin align-middle { vertical-align: middle; }
6
- @mixin align-bottom { vertical-align: bottom; }
3
+ @mixin align-baseline {
4
+ vertical-align: baseline;
5
+ }
6
+ @mixin align-top {
7
+ vertical-align: top;
8
+ }
9
+ @mixin align-middle {
10
+ vertical-align: middle;
11
+ }
12
+ @mixin align-bottom {
13
+ vertical-align: bottom;
14
+ }
7
15
 
8
16
  @if VAR.$generate-utility-classes {
9
- .align-baseline { @include align-baseline; }
10
- .align-top { @include align-top; }
11
- .align-middle { @include align-middle; }
12
- .align-bottom { @include align-bottom; }
17
+ #{VAR.$parent-selector} .align-baseline {
18
+ @include align-baseline;
19
+ }
20
+
21
+ #{VAR.$parent-selector} .align-top {
22
+ @include align-top;
23
+ }
24
+
25
+ #{VAR.$parent-selector} .align-middle {
26
+ @include align-middle;
27
+ }
28
+
29
+ #{VAR.$parent-selector} .align-bottom {
30
+ @include align-bottom;
31
+ }
13
32
 
14
33
  @each $breakpoint, $width in VAR.$breakpoints {
15
34
  @media (min-width: #{$width}) {
16
- .align-baseline\@#{$breakpoint} { @include align-baseline; }
17
- .align-top\@#{$breakpoint} { @include align-top; }
18
- .align-middle\@#{$breakpoint} { @include align-middle; }
19
- .align-bottom\@#{$breakpoint} { @include align-bottom; }
35
+ #{VAR.$parent-selector} .align-baseline\@#{$breakpoint} {
36
+ @include align-baseline;
37
+ }
38
+ #{VAR.$parent-selector} .align-top\@#{$breakpoint} {
39
+ @include align-top;
40
+ }
41
+ #{VAR.$parent-selector} .align-middle\@#{$breakpoint} {
42
+ @include align-middle;
43
+ }
44
+ #{VAR.$parent-selector} .align-bottom\@#{$breakpoint} {
45
+ @include align-bottom;
46
+ }
20
47
  }
21
48
  }
22
49
  }