@nuvoui/core 1.3.4 → 1.4.0

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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/dist/nuvoui.css +424 -342
  3. package/dist/nuvoui.css.map +1 -1
  4. package/dist/nuvoui.min.css +23 -1
  5. package/dist/nuvoui.min.css.map +1 -1
  6. package/package.json +1 -1
  7. package/src/styles/base/_base.scss +148 -147
  8. package/src/styles/base/_reset.scss +41 -49
  9. package/src/styles/build.scss +25 -1
  10. package/src/styles/components/_tooltips.scss +271 -0
  11. package/src/styles/config/_borders.scss +15 -0
  12. package/src/styles/config/_breakpoints.scss +11 -0
  13. package/src/styles/config/_colors.scss +192 -0
  14. package/src/styles/config/_constants.scss +1 -0
  15. package/src/styles/config/_container-queries.scss +1 -0
  16. package/src/styles/config/_feature-flags.scss +33 -0
  17. package/src/styles/config/_layouts.scss +13 -0
  18. package/src/styles/config/_shadows.scss +9 -0
  19. package/src/styles/config/_spacing.scss +41 -0
  20. package/src/styles/config/_theme-validation.scss +59 -0
  21. package/src/styles/config/_typography.scss +45 -0
  22. package/src/styles/functions/_breakpoints.scss +15 -0
  23. package/src/styles/functions/_colors.scss +280 -0
  24. package/src/styles/functions/_css-vars.scss +33 -0
  25. package/src/styles/functions/_feature-flags.scss +20 -0
  26. package/src/styles/functions/_math.scss +72 -0
  27. package/src/styles/functions/_strings.scss +68 -0
  28. package/src/styles/functions/_types.scss +104 -0
  29. package/src/styles/functions/_units.scss +83 -0
  30. package/src/styles/index.scss +26 -5
  31. package/src/styles/layouts/_container.scss +28 -27
  32. package/src/styles/layouts/_flex.scss +340 -341
  33. package/src/styles/layouts/_grid.scss +131 -128
  34. package/src/styles/mixins-map.json +484 -479
  35. package/src/styles/mixins-map.scss +1 -1
  36. package/src/styles/themes/_theme.scss +230 -211
  37. package/src/styles/tools/_accessibility.scss +50 -0
  38. package/src/styles/tools/_container-queries.scss +98 -0
  39. package/src/styles/tools/_feature-support.scss +46 -0
  40. package/src/styles/tools/_media-queries.scss +70 -0
  41. package/src/styles/tools/_modern-layout.scss +49 -0
  42. package/src/styles/utilities/_alignment.scss +35 -34
  43. package/src/styles/utilities/_animations.scss +312 -311
  44. package/src/styles/utilities/_backdrop-filters.scss +194 -193
  45. package/src/styles/utilities/_borders.scss +243 -237
  46. package/src/styles/utilities/_colors.scss +16 -136
  47. package/src/styles/utilities/_cursor.scss +10 -10
  48. package/src/styles/utilities/_display.scss +192 -191
  49. package/src/styles/utilities/_helpers.scss +106 -106
  50. package/src/styles/utilities/_opacity.scss +27 -25
  51. package/src/styles/utilities/_position.scss +124 -121
  52. package/src/styles/utilities/_shadows.scss +171 -169
  53. package/src/styles/utilities/_sizing.scss +197 -194
  54. package/src/styles/utilities/_spacing.scss +231 -224
  55. package/src/styles/utilities/_transforms.scss +235 -234
  56. package/src/styles/utilities/_transitions.scss +136 -135
  57. package/src/styles/utilities/_typography.scss +242 -239
  58. package/src/styles/utilities/_z-index.scss +69 -68
  59. package/src/styles/abstracts/_config.scss +0 -253
  60. package/src/styles/abstracts/_functions.scss +0 -626
  61. package/src/styles/themes/refactored_borders.ipynb +0 -37
  62. package/src/styles/utilities/_container-queries.scss +0 -95
  63. package/src/styles/utilities/_media-queries.scss +0 -189
  64. package/src/styles/utilities/_tooltips.scss +0 -258
@@ -1 +1 @@
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 == 'validate-tokens' { @include validate-tokens; } @else 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 == '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 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 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include bg($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include bg($param1, $param2); } } @else if str.index($ms, 'text-color(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include text-color($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include text-color($param1, $param2); } } @else if str.index($ms, 'text-on-color(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include text-on-color($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include text-on-color($param1, $param2); } } @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 == 'grid' { @include grid; } @else if $ms == 'grid-inline' { @include grid-inline; } @else if $ms == 'flex' { @include flex; } @else if $ms == 'flex-inline' { @include flex-inline; } @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 str.index($ms, 'font(') == 1 { $param1: list.nth($params, 1); @include font($param1); } @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 'base/base' as *; @use 'base/reset' as *; @use 'components/tooltips' as *; @use 'config/borders' as *; @use 'config/breakpoints' as *; @use 'config/colors' as *; @use 'config/constants' as *; @use 'config/container-queries' as *; @use 'config/feature-flags' as *; @use 'config/layouts' as *; @use 'config/shadows' as *; @use 'config/spacing' as *; @use 'config/theme-validation' as *; @use 'config/typography' as *; @use 'functions/breakpoints' as *; @use 'functions/colors' as *; @use 'functions/css-vars' as *; @use 'functions/feature-flags' as *; @use 'functions/math' as *; @use 'functions/strings' as *; @use 'functions/types' as *; @use 'functions/units' as *; @use 'layouts/container' as *; @use 'layouts/flex' as *; @use 'layouts/grid' as *; @use 'themes/theme' as *; @use 'tools/accessibility' as *; @use 'tools/container-queries' as *; @use 'tools/feature-support' as *; @use 'tools/media-queries' as *; @use 'tools/modern-layout' as *; @use 'utilities/alignment' as *; @use 'utilities/animations' as *; @use 'utilities/backdrop-filters' as *; @use 'utilities/borders' as *; @use 'utilities/colors' as *; @use 'utilities/cursor' as *; @use 'utilities/display' as *; @use 'utilities/helpers' as *; @use 'utilities/opacity' as *; @use 'utilities/position' as *; @use 'utilities/shadows' as *; @use 'utilities/sizing' as *; @use 'utilities/spacing' 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 == 'tooltip-variables' { @include tooltip-variables; } @else if $ms == 'validate-tokens' { @include validate-tokens; } @else 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 == '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 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 == 'dark-theme' { @include dark-theme; } @else if $ms == 'prefers-dark' { @include prefers-dark; } @else if $ms == 'dark-mode' { @include dark-mode; } @else if $ms == 'reduced-motion' { @include reduced-motion; } @else if $ms == 'high-contrast' { @include high-contrast; } @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 $ms == 'touch' { @include touch; } @else if $ms == 'fine-pointer' { @include fine-pointer; } @else if $ms == 'landscape' { @include landscape; } @else if $ms == 'portrait' { @include portrait; } @else if str.index($ms, 'display-mode(') == 1 { $param1: list.nth($params, 1); @include display-mode($param1); } @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 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 == 'print' { @include print; } @else if str.index($ms, 'supports(') == 1 { $param1: list.nth($params, 1); @include supports($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 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include border-top($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include border-top($param1, $param2); } } @else if str.index($ms, 'border-right(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include border-right($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include border-right($param1, $param2); } } @else if str.index($ms, 'border-bottom(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include border-bottom($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include border-bottom($param1, $param2); } } @else if str.index($ms, 'border-left(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include border-left($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include border-left($param1, $param2); } } @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 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include bg($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include bg($param1, $param2); } } @else if str.index($ms, 'text-color(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include text-color($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include text-color($param1, $param2); } } @else if str.index($ms, 'text-on-color(') == 1 { @if (list.length($params) == 1) { $param1: list.nth($params, 1); @include text-on-color($param1); } @else if (list.length($params) == 2) { $param1: list.nth($params, 1); $param2: list.nth($params, 2); @include text-on-color($param1, $param2); } } @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, '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 == 'grid' { @include grid; } @else if $ms == 'grid-inline' { @include grid-inline; } @else if $ms == 'flex' { @include flex; } @else if $ms == 'flex-inline' { @include flex-inline; } @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, '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 str.index($ms, 'font(') == 1 { $param1: list.nth($params, 1); @include font($param1); } @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-config-typo(') == 1 { $param1: list.nth($params, 1); @include responsive-config-typo($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; } }
@@ -3,222 +3,241 @@
3
3
  @use "sass:map";
4
4
  @use "sass:string";
5
5
  @use "sass:list";
6
- @use "../utilities/colors" as COL;
7
- @use "../abstracts/config" as VAR;
8
- @use "../abstracts/functions" as FN;
9
-
10
- @if FN.feature-enabled("theme") {
11
- :root,
12
- #{VAR.$parent-selector} [data-theme="light"] {
13
- // Theme color CSS variables
14
- @each $color-name, $scale in COL.$colors {
15
- --#{$color-name}: #{color.adjust(map.get($scale, 500), $alpha: 1)};
16
- @each $shade, $value in $scale {
17
- --#{$color-name}-#{$shade}: #{color.adjust($value, $alpha: 1)};
18
- }
19
- }
6
+ @use "../config/colors" as config-colors;
7
+ @use "../config/feature-flags" as config-flags;
8
+ @use "../config/theme-validation" as config-theme;
9
+ @use "../config/colors" as config-color;
10
+ @use "../functions/feature-flags" as fn-flags;
11
+ @use "../functions/colors" as fn-colors;
12
+
13
+ @use "../tools/accessibility" as a11y;
14
+
15
+ // Generate color scales
16
+ $colors: (
17
+ "primary": fn-colors.create-color-scale(config-color.$primary),
18
+ "secondary": fn-colors.create-color-scale(config-color.$secondary),
19
+ "success": fn-colors.create-color-scale(config-color.$success),
20
+ "danger": fn-colors.create-color-scale(config-color.$danger),
21
+ "warning": fn-colors.create-color-scale(config-color.$warning),
22
+ "info": fn-colors.create-color-scale(config-color.$info),
23
+ );
24
+
25
+ // Generate scales for primitives
26
+ $colors-primitives: ();
27
+
28
+ @each $name, $color in config-color.$color-primitives {
29
+ $colors-primitives: map.set($colors-primitives, $name, fn-colors.create-color-scale($color));
30
+ }
20
31
 
21
- // Primitive color CSS variables
22
- @each $color-name, $scale in COL.$colors-primitives {
23
- --#{$color-name}: #{color.adjust(map.get($scale, 500), $alpha: 1)};
24
- @each $shade, $value in $scale {
25
- --#{$color-name}-#{$shade}: #{color.adjust($value, $alpha: 1)};
26
- }
32
+ @mixin dark-theme {
33
+ @each $token in config-theme.$theme-tokens {
34
+ --#{$token}: #{map.get(config-theme.$dark-theme, $token)};
35
+ --inverted-#{$token}: #{map.get(config-theme.$light-theme, $token)};
27
36
  }
28
37
 
29
- @each $token in VAR.$theme-tokens {
30
- --#{$token}: #{map.get(VAR.$light-theme, $token)};
31
- --inverted-#{$token}: #{map.get(VAR.$dark-theme, $token)};
32
- }
33
- @each $color-name, $color-val in VAR.$basic-colors {
34
- --#{$color-name}: #{$color-val};
35
- }
36
-
37
- // --button-text-color: #{map.get(VAR.$dark-theme, "text-default")};
38
- // --inverted-text-color: #{map.get(VAR.$dark-theme, "text-default")};
39
-
40
- // Light theme variables
38
+ --button-text-color: #{map.get(config-theme.$light-theme, "text-default")};
41
39
  --button-bg-color: var(--primary);
42
- --button-bg-color-hover: var(--primary-600);
40
+ --button-bg-color-hover: var(--primary-400);
43
41
  --link-color: var(--primary);
44
- --link-hover-color: var(--primary-600);
45
- }
46
-
47
- @if VAR.$enable-dark-mode {
48
- // Dark theme settings
49
- [data-theme="dark"] {
50
- @each $token in VAR.$theme-tokens {
51
- --#{$token}: #{map.get(VAR.$dark-theme, $token)};
52
- --inverted-#{$token}: #{map.get(VAR.$light-theme, $token)};
53
- }
54
-
55
- --button-text-color: #{map.get(VAR.$light-theme, "text-default")};
56
- --button-bg-color: var(--primary);
57
- --button-bg-color-hover: var(--primary-400);
58
- --link-color: var(--primary);
59
- --link-hover-color: var(--primary-400);
60
-
61
- &::-webkit-scrollbar-track {
62
- background: var(--background);
63
- }
64
-
65
- &::-webkit-scrollbar-thumb {
66
- background-color: #555;
67
- border: 3px solid var(--background);
68
- }
69
-
70
- scrollbar-color: #555 var(--background);
71
- }
72
- }
73
-
74
- // -----------------------------------------------
75
- // COLOR UTILITY CLASSES
76
- // -----------------------------------------------
77
-
78
- // Theme color background utilities
79
- // primary, secondary, warning etc.
80
- @each $color-name, $scale in COL.$colors {
81
- @each $shade, $value in $scale {
82
- // Automatic text contrast for backgrounds
83
- #{VAR.$parent-selector} .text-on-#{$color-name}-#{$shade} {
84
- color: COL.find-text-color($value);
85
- }
86
-
87
- #{VAR.$parent-selector} .text-#{$color-name}-#{$shade},
88
- #{VAR.$parent-selector} .hover\:text-#{$color-name}-#{$shade}:hover,
89
- #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name}-#{$shade} {
90
- color: var(--#{$color-name}-#{$shade});
91
- }
92
-
93
- #{VAR.$parent-selector} .bg-#{$color-name}-#{$shade},
94
- #{VAR.$parent-selector} .hover\:bg-#{$color-name}-#{$shade}:hover,
95
- #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name}-#{$shade} {
96
- background-color: var(--#{$color-name}-#{$shade});
97
- }
98
-
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} {
102
- border-color: var(--#{$color-name}-#{$shade});
103
- }
104
- }
105
-
106
- // Base color classes
107
- #{VAR.$parent-selector} .text-#{$color-name},
108
- #{VAR.$parent-selector} .hover\:text-#{$color-name}:hover,
109
- #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name} {
110
- color: var(--#{$color-name});
111
- }
112
-
113
- #{VAR.$parent-selector} .bg-#{$color-name},
114
- #{VAR.$parent-selector} .hover\:bg-#{$color-name}:hover,
115
- #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name} {
116
- background-color: var(--#{$color-name});
117
- }
118
-
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} {
122
- border-color: var(--#{$color-name});
123
- }
124
- }
125
-
126
- // Primitive color utilities
127
- // green, purple, pink etc.
128
- @each $color-name, $scale in COL.$colors-primitives {
129
- @each $shade, $value in $scale {
130
- #{VAR.$parent-selector} .text-on-#{$color-name}-#{$shade} {
131
- color: COL.find-text-color($value);
132
- }
133
-
134
- #{VAR.$parent-selector} .text-#{$color-name}-#{$shade},
135
- #{VAR.$parent-selector} .hover\:text-#{$color-name}-#{$shade}:hover,
136
- #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name}-#{$shade} {
137
- color: var(--#{$color-name}-#{$shade});
138
- }
139
-
140
- #{VAR.$parent-selector} .bg-#{$color-name}-#{$shade},
141
- #{VAR.$parent-selector} .hover\:bg-#{$color-name}-#{$shade}:hover,
142
- #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name}-#{$shade} {
143
- background-color: var(--#{$color-name}-#{$shade});
144
- }
145
-
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} {
149
- border-color: var(--#{$color-name}-#{$shade});
150
- }
151
- }
152
-
153
- // Base color classes
154
- #{VAR.$parent-selector} .text-#{$color-name},
155
- #{VAR.$parent-selector} .hover\:text-#{$color-name}:hover,
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,
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} {
178
- color: var(--#{$color-name});
179
- }
180
-
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} {
184
- background-color: var(--#{$color-name});
185
- }
186
-
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} {
190
- border-color: var(--#{$color-name});
191
- }
192
- }
193
-
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
- }
42
+ --link-hover-color: var(--primary-400);
43
+ }
209
44
 
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
- }
45
+ @if fn-flags.feature-enabled("theme") {
46
+ :root,
47
+ #{config-flags.$parent-selector} [data-theme="light"] {
48
+ // Theme color CSS variables
49
+ @each $color-name, $scale in $colors {
50
+ --#{$color-name}: #{color.adjust(map.get($scale, 500), $alpha: 1)};
51
+ @each $shade, $value in $scale {
52
+ --#{$color-name}-#{$shade}: #{color.adjust($value, $alpha: 1)};
53
+ }
54
+ }
55
+
56
+ // Primitive color CSS variables
57
+ @each $color-name, $scale in $colors-primitives {
58
+ --#{$color-name}: #{color.adjust(map.get($scale, 500), $alpha: 1)};
59
+ @each $shade, $value in $scale {
60
+ --#{$color-name}-#{$shade}: #{color.adjust($value, $alpha: 1)};
61
+ }
62
+ }
63
+
64
+ @each $token in config-theme.$theme-tokens {
65
+ --#{$token}: #{map.get(config-theme.$light-theme, $token)};
66
+ --inverted-#{$token}: #{map.get(config-theme.$dark-theme, $token)};
67
+ }
68
+ @each $color-name, $color-val in config-color.$basic-colors {
69
+ --#{$color-name}: #{$color-val};
70
+ }
71
+
72
+ // Light theme variables
73
+ --button-text-color: #{map.get(config-theme.$dark-theme, "text-default")};
74
+ --button-bg-color: var(--primary);
75
+ --button-bg-color-hover: var(--primary-600);
76
+ --link-color: var(--primary);
77
+ --link-hover-color: var(--primary-600);
78
+ }
79
+
80
+ @if config-flags.$enable-dark-mode {
81
+ // Dark theme settings
82
+ [data-theme="dark"] {
83
+ @include dark-theme;
84
+ }
85
+ @include a11y.prefers-dark {
86
+ :root:not([data-theme]),
87
+ #{config-flags.$parent-selector}:not([data-theme]) {
88
+ @include dark-theme;
89
+ }
90
+ }
91
+ }
92
+
93
+ // -----------------------------------------------
94
+ // COLOR UTILITY CLASSES
95
+ // -----------------------------------------------
96
+
97
+ // Theme color background utilities
98
+ // primary, secondary, warning etc.
99
+ @each $color-name, $scale in $colors {
100
+ @each $shade, $value in $scale {
101
+ // Automatic text contrast for backgrounds
102
+ #{config-flags.$parent-selector} .text-on-#{$color-name}-#{$shade} {
103
+ color: fn-colors.find-text-color($value);
104
+ }
105
+
106
+ #{config-flags.$parent-selector} .text-#{$color-name}-#{$shade},
107
+ #{config-flags.$parent-selector} .hover\:text-#{$color-name}-#{$shade}:hover,
108
+ #{config-flags.$parent-selector} .group:hover .group-hover\:text-#{$color-name}-#{$shade} {
109
+ color: var(--#{$color-name}-#{$shade});
110
+ }
111
+
112
+ #{config-flags.$parent-selector} .bg-#{$color-name}-#{$shade},
113
+ #{config-flags.$parent-selector} .hover\:bg-#{$color-name}-#{$shade}:hover,
114
+ #{config-flags.$parent-selector} .group:hover .group-hover\:bg-#{$color-name}-#{$shade} {
115
+ background-color: var(--#{$color-name}-#{$shade});
116
+ }
117
+
118
+ #{config-flags.$parent-selector} .border-#{$color-name}-#{$shade},
119
+ #{config-flags.$parent-selector} .hover\:border-#{$color-name}-#{$shade}:hover,
120
+ #{config-flags.$parent-selector} .group:hover .group-hover\:border-#{$color-name}-#{$shade} {
121
+ border-color: var(--#{$color-name}-#{$shade});
122
+ }
123
+ }
124
+
125
+ // Base color classes
126
+ #{config-flags.$parent-selector} .text-#{$color-name},
127
+ #{config-flags.$parent-selector} .hover\:text-#{$color-name}:hover,
128
+ #{config-flags.$parent-selector} .group:hover .group-hover\:text-#{$color-name} {
129
+ color: var(--#{$color-name});
130
+ }
131
+
132
+ #{config-flags.$parent-selector} .bg-#{$color-name},
133
+ #{config-flags.$parent-selector} .hover\:bg-#{$color-name}:hover,
134
+ #{config-flags.$parent-selector} .group:hover .group-hover\:bg-#{$color-name} {
135
+ background-color: var(--#{$color-name});
136
+ }
137
+
138
+ #{config-flags.$parent-selector} .border-#{$color-name},
139
+ #{config-flags.$parent-selector} .hover\:border-#{$color-name}:hover,
140
+ #{config-flags.$parent-selector} .group:hover .group-hover\:border-#{$color-name} {
141
+ border-color: var(--#{$color-name});
142
+ }
143
+ }
144
+
145
+ // Primitive color utilities
146
+ // green, purple, pink etc.
147
+ @each $color-name, $scale in $colors-primitives {
148
+ @each $shade, $value in $scale {
149
+ #{config-flags.$parent-selector} .text-on-#{$color-name}-#{$shade} {
150
+ color: fn-colors.find-text-color($value);
151
+ }
152
+
153
+ #{config-flags.$parent-selector} .text-#{$color-name}-#{$shade},
154
+ #{config-flags.$parent-selector} .hover\:text-#{$color-name}-#{$shade}:hover,
155
+ #{config-flags.$parent-selector} .group:hover .group-hover\:text-#{$color-name}-#{$shade} {
156
+ color: var(--#{$color-name}-#{$shade});
157
+ }
158
+
159
+ #{config-flags.$parent-selector} .bg-#{$color-name}-#{$shade},
160
+ #{config-flags.$parent-selector} .hover\:bg-#{$color-name}-#{$shade}:hover,
161
+ #{config-flags.$parent-selector} .group:hover .group-hover\:bg-#{$color-name}-#{$shade} {
162
+ background-color: var(--#{$color-name}-#{$shade});
163
+ }
164
+
165
+ #{config-flags.$parent-selector} .border-#{$color-name}-#{$shade},
166
+ #{config-flags.$parent-selector} .hover\:border-#{$color-name}-#{$shade}:hover,
167
+ #{config-flags.$parent-selector} .group:hover .group-hover\:border-#{$color-name}-#{$shade} {
168
+ border-color: var(--#{$color-name}-#{$shade});
169
+ }
170
+ }
171
+
172
+ // Base color classes
173
+ #{config-flags.$parent-selector} .text-#{$color-name},
174
+ #{config-flags.$parent-selector} .hover\:text-#{$color-name}:hover,
175
+ #{config-flags.$parent-selector} .group:hover .group-hover\:text-#{$color-name} {
176
+ color: var(--#{$color-name});
177
+ }
178
+
179
+ #{config-flags.$parent-selector} .bg-#{$color-name},
180
+ #{config-flags.$parent-selector} .hover\:bg-#{$color-name}:hover,
181
+ #{config-flags.$parent-selector} .group:hover .group-hover\:bg-#{$color-name} {
182
+ background-color: var(--#{$color-name});
183
+ }
184
+
185
+ #{config-flags.$parent-selector} .border-#{$color-name},
186
+ #{config-flags.$parent-selector} .hover\:border-#{$color-name}:hover,
187
+ #{config-flags.$parent-selector} .group:hover .group-hover\:border-#{$color-name} {
188
+ border-color: var(--#{$color-name});
189
+ }
190
+ }
191
+
192
+ @each $color-name, $color-val in config-color.$basic-colors {
193
+ // Base color classes
194
+ #{config-flags.$parent-selector} .text-#{$color-name},
195
+ #{config-flags.$parent-selector} .hover\:text-#{$color-name}:hover,
196
+ #{config-flags.$parent-selector} .group:hover .group-hover\:text-#{$color-name} {
197
+ color: var(--#{$color-name});
198
+ }
199
+
200
+ #{config-flags.$parent-selector} .bg-#{$color-name},
201
+ #{config-flags.$parent-selector} .hover\:bg-#{$color-name}:hover,
202
+ #{config-flags.$parent-selector} .group:hover .group-hover\:bg-#{$color-name} {
203
+ background-color: var(--#{$color-name});
204
+ }
205
+
206
+ #{config-flags.$parent-selector} .border-#{$color-name},
207
+ #{config-flags.$parent-selector} .hover\:border-#{$color-name}:hover,
208
+ #{config-flags.$parent-selector} .group:hover .group-hover\:border-#{$color-name} {
209
+ border-color: var(--#{$color-name});
210
+ }
211
+ }
212
+
213
+ @each $token in config-theme.$theme-tokens {
214
+ $parts: string.split($token, "-");
215
+ $prefix: list.nth($parts, 1);
216
+
217
+ #{config-flags.$parent-selector} .#{$token},
218
+ #{config-flags.$parent-selector} .hover\:#{$token}:hover,
219
+ #{config-flags.$parent-selector} .group:hover .group-hover\:#{$token} {
220
+ @if $prefix == "bg" {
221
+ background-color: var(--#{$token});
222
+ } @else if $prefix == "text" {
223
+ color: var(--#{$token});
224
+ } @else if $prefix == "border" {
225
+ border-color: var(--#{$token});
226
+ }
227
+ }
228
+
229
+ #{config-flags.$parent-selector} .inverted-#{$token},
230
+ #{config-flags.$parent-selector} .hover\:inverted-#{$token}:hover,
231
+ #{config-flags.$parent-selector} .group:hover .group-hover\:inverted-#{$token} {
232
+ @if $prefix == "bg" {
233
+ background-color: var(--inverted-#{$token});
234
+ } @else if $prefix == "text" {
235
+ color: var(--inverted-#{$token});
236
+ } @else if $prefix == "border" {
237
+ border-color: var(--inverted-#{$token});
238
+ } @else if $prefix == "fg" {
239
+ color: var(--inverted-#{$token});
240
+ }
241
+ }
222
242
  }
223
- }
224
243
  }