@nuvoui/core 1.2.7 → 1.3.1

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 (35) hide show
  1. package/dist/nuvoui.css +3252 -2709
  2. package/dist/nuvoui.css.map +1 -1
  3. package/dist/nuvoui.min.css +1 -1
  4. package/dist/nuvoui.min.css.map +1 -1
  5. package/package.json +3 -3
  6. package/src/styles/abstracts/_config.scss +36 -8
  7. package/src/styles/abstracts/_functions.scss +16 -5
  8. package/src/styles/base/_base.scss +2 -2
  9. package/src/styles/base/_reset.scss +0 -2
  10. package/src/styles/build.scss +3 -0
  11. package/src/styles/layouts/_container.scss +8 -1
  12. package/src/styles/layouts/_flex.scss +230 -292
  13. package/src/styles/layouts/_grid.scss +66 -73
  14. package/src/styles/mixins-map.json +1 -0
  15. package/src/styles/mixins-map.scss +1 -1
  16. package/src/styles/themes/_theme.scss +10 -10
  17. package/src/styles/utilities/_alignment.scss +2 -1
  18. package/src/styles/utilities/_animations.scss +20 -32
  19. package/src/styles/utilities/_backdrop-filters.scss +12 -16
  20. package/src/styles/utilities/_borders.scss +3 -5
  21. package/src/styles/utilities/_container-queries.scss +17 -21
  22. package/src/styles/utilities/_cursor.scss +2 -1
  23. package/src/styles/utilities/_display.scss +18 -39
  24. package/src/styles/utilities/_helpers.scss +1 -0
  25. package/src/styles/utilities/_media-queries.scss +3 -5
  26. package/src/styles/utilities/_opacity.scss +52 -67
  27. package/src/styles/utilities/_position.scss +104 -132
  28. package/src/styles/utilities/_shadows.scss +9 -14
  29. package/src/styles/utilities/_sizing.scss +1 -1
  30. package/src/styles/utilities/_spacing.scss +143 -205
  31. package/src/styles/utilities/_tooltips.scss +203 -200
  32. package/src/styles/utilities/_transforms.scss +32 -13
  33. package/src/styles/utilities/_transitions.scss +8 -10
  34. package/src/styles/utilities/_typography.scss +17 -22
  35. package/src/styles/utilities/_z-index.scss +12 -19
@@ -6,16 +6,12 @@
6
6
  @use "../abstracts/functions" as FN;
7
7
  @use "../abstracts/config" as VAR;
8
8
 
9
- /**
10
- * @description Establishes a grid container.
11
- */
9
+ // @description Establishes a grid container.
12
10
  @mixin grid {
13
11
  display: grid;
14
12
  }
15
13
 
16
- /**
17
- * @description Establishes a inline-grid container.
18
- */
14
+ // @description Establishes a inline-grid container.
19
15
  @mixin grid-inline {
20
16
  display: inline-grid;
21
17
  }
@@ -28,17 +24,14 @@
28
24
  grid-template-rows: repeat($count, minmax(0, 1fr));
29
25
  }
30
26
 
31
- /**
32
- * @description Establishes a grid container with a specified number of columns.
33
- * @param {number} $count - The number of columns.
27
+ // @description Establishes a grid container with a specified number of columns.
28
+ // @param {number} $count - The number of columns.
34
29
 
35
- /// EXAMPLE USAGE
36
- .custom-grid {
37
- display: grid;
38
- @include cols-custom("1fr_auto_1fr");
39
- }
40
-
41
- */
30
+ // /EXAMPLE USAGE
31
+ // .custom-grid {
32
+ // display: grid;
33
+ // @include cols-custom("1fr_auto_1fr");
34
+ // }
42
35
 
43
36
  @mixin cols-custom($template) {
44
37
  // Convert underscores to spaces so "1fr_auto" becomes "1fr auto"
@@ -76,26 +69,20 @@ $alignments: (
76
69
  "stretch": stretch,
77
70
  );
78
71
 
79
- /**
80
- * @description justify-items container.
81
- * @param {string} $value - The value for the justify-items property.
82
- */
72
+ // @description justify-items container.
73
+ // @param {string} $value - The value for the justify-items property.
83
74
  @mixin justify($value) {
84
75
  justify-items: $value;
85
76
  }
86
77
 
87
- /**
88
- * @description Establishes a align-items container.
89
- * @param {string} $value - The value for the align-items property.
90
- */
78
+ // @description Establishes a align-items container.
79
+ // @param {string} $value - The value for the align-items property.
91
80
  @mixin align($value) {
92
81
  align-items: $value;
93
82
  }
94
83
 
95
- /**
96
- * @description Establishes a place-items container.
97
- * @param {string} $value - The value for the place-items property.
98
- */
84
+ // @description Establishes a place-items container.
85
+ // @param {string} $value - The value for the place-items property.
99
86
  @mixin place($value) {
100
87
  place-items: $value;
101
88
  }
@@ -131,17 +118,23 @@ $alignments: (
131
118
  grid-row: $row;
132
119
  }
133
120
 
134
- @if VAR.$generate-utility-classes {
135
- // Classes
136
- #{VAR.$parent-selector} .grid {
137
- @include grid;
138
- }
121
+ @if FN.feature-enabled("grid") {
122
+ // Build the flat selector list manually with proper escaping
123
+ $base-grid-selector: #{VAR.$parent-selector} + " .grid";
124
+ $all-grid-selectors: $base-grid-selector;
139
125
 
140
- #{VAR.$parent-selector} .grid.inline {
141
- @include grid-inline;
126
+ @each $breakpoint, $width in VAR.$breakpoints {
127
+ $all-grid-selectors: "#{$all-grid-selectors}, #{VAR.$parent-selector} .grid\\@#{$breakpoint}";
142
128
  }
143
129
 
144
- #{VAR.$parent-selector} .grid {
130
+ // Apply base grid styles to all grid variants at once
131
+ #{$all-grid-selectors} {
132
+ @include grid;
133
+
134
+ &.inline {
135
+ @include grid-inline;
136
+ }
137
+
145
138
  // Auto-fit/fill Classes
146
139
  @each $size, $width in VAR.$grid-item-sizes {
147
140
  &.auto-fit-#{$size} {
@@ -166,70 +159,70 @@ $alignments: (
166
159
  @include flow-dense-items;
167
160
  }
168
161
 
162
+ // Basic column and row count
169
163
  @for $i from 1 through VAR.$column-count {
170
164
  &.cols-#{$i} {
171
165
  @include cols($i);
172
166
  }
173
-
174
167
  &.rows-#{$i} {
175
168
  @include rows($i);
176
169
  }
177
170
  }
178
171
 
179
- // Grid Template Classes
180
- @each $breakpoint, $width in VAR.$breakpoints {
181
- // Responsive grid columns
182
- @media (min-width: #{$width}) {
183
- @for $i from 1 through VAR.$column-count {
184
- &.cols-#{$i}\@#{$breakpoint} {
185
- @include cols($i);
186
- }
187
-
188
- &.rows-#{$i}\@#{$breakpoint} {
189
- @include rows($i);
190
- }
191
- }
192
- }
193
- }
194
-
195
- // Generate Column Span Classes with Responsive Variants
172
+ // Basic span classes (non-responsive)
196
173
  @for $i from 1 through VAR.$column-count {
197
- & .col-span-#{$i} {
174
+ .col-span-#{$i} {
198
175
  @include col-span($i);
199
176
  }
200
-
201
- & .row-span-#{$i} {
177
+ .row-span-#{$i} {
202
178
  @include row-span($i);
203
179
  }
204
-
205
- @each $breakpoint, $width in VAR.$breakpoints {
206
- @media (min-width: #{$width}) {
207
- & .col-span-#{$i}\@#{$breakpoint} {
208
- @include col-span($i);
209
- }
210
-
211
- & .row-span-#{$i}\@#{$breakpoint} {
212
- @include row-span($i);
213
- }
214
- }
215
- }
216
180
  }
217
181
 
182
+ // Alignment classes
218
183
  @each $name, $value in $alignments {
219
184
  &.justify-#{$name} {
220
185
  @include justify($value);
221
186
  }
222
-
223
187
  &.align-#{$name} {
224
188
  @include align($value);
225
189
  }
226
-
227
190
  &.place-#{$name} {
228
191
  @include place($value);
229
192
  }
193
+ }
194
+ }
195
+
196
+ // Handle responsive variants
197
+ @each $breakpoint, $width in VAR.$breakpoints {
198
+ @media (min-width: #{$width}) {
199
+ // Responsive grid columns/rows
200
+ #{$all-grid-selectors} {
201
+ @for $i from 1 through VAR.$column-count {
202
+ &.cols-#{$i}\@#{$breakpoint} {
203
+ @include cols($i);
204
+ }
205
+ &.rows-#{$i}\@#{$breakpoint} {
206
+ @include rows($i);
207
+ }
208
+ }
209
+ }
210
+
211
+ // Responsive spans
212
+ #{$all-grid-selectors} {
213
+ @for $i from 1 through VAR.$column-count {
214
+ .col-span-#{$i}\@#{$breakpoint} {
215
+ @include col-span($i);
216
+ }
217
+ .row-span-#{$i}\@#{$breakpoint} {
218
+ @include row-span($i);
219
+ }
220
+ }
221
+ }
230
222
 
231
- @each $breakpoint, $width in VAR.$breakpoints {
232
- @media (min-width: #{$width}) {
223
+ // Responsive alignments
224
+ #{$all-grid-selectors} {
225
+ @each $name, $value in $alignments {
233
226
  &.justify-#{$name}\@#{$breakpoint} {
234
227
  @include justify($value);
235
228
  }
@@ -1,4 +1,5 @@
1
1
  {
2
+ "^validate-tokens$": "() => mixin.name",
2
3
  "^container-base$": "() => mixin.name",
3
4
  "^container-padding-(\\w+)$": "(match) => `${mixin.name}(${match[1]})`",
4
5
  "^container-padding-full$": "() => `${mixin.name}(full)`",
@@ -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 == '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
+ @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 == '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; } }
@@ -5,8 +5,9 @@
5
5
  @use "sass:list";
6
6
  @use "../utilities/colors" as COL;
7
7
  @use "../abstracts/config" as VAR;
8
+ @use "../abstracts/functions" as FN;
8
9
 
9
- @if VAR.$generate-utility-classes {
10
+ @if FN.feature-enabled("theme") {
10
11
  :root,
11
12
  #{VAR.$parent-selector} [data-theme="light"] {
12
13
  // Theme color CSS variables
@@ -79,19 +80,18 @@
79
80
  @each $color-name, $scale in COL.$colors {
80
81
  @each $shade, $value in $scale {
81
82
  // Automatic text contrast for backgrounds
82
- // todo: documentaton may add karo issay
83
83
  #{VAR.$parent-selector} .text-on-#{$color-name}-#{$shade} {
84
84
  color: COL.find-text-color($value);
85
85
  }
86
86
 
87
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
88
+ #{VAR.$parent-selector} .hover\:text-#{$color-name}-#{$shade}:hover,
89
89
  #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name}-#{$shade} {
90
90
  color: var(--#{$color-name}-#{$shade});
91
91
  }
92
92
 
93
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
94
+ #{VAR.$parent-selector} .hover\:bg-#{$color-name}-#{$shade}:hover,
95
95
  #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name}-#{$shade} {
96
96
  background-color: var(--#{$color-name}-#{$shade});
97
97
  }
@@ -105,13 +105,13 @@
105
105
 
106
106
  // Base color classes
107
107
  #{VAR.$parent-selector} .text-#{$color-name},
108
- #{VAR.$parent-selector} .hover\:text-#{$color-name}:hover, // todo: improve these loops to save time
108
+ #{VAR.$parent-selector} .hover\:text-#{$color-name}:hover,
109
109
  #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name} {
110
110
  color: var(--#{$color-name});
111
111
  }
112
112
 
113
113
  #{VAR.$parent-selector} .bg-#{$color-name},
114
- #{VAR.$parent-selector} .hover\:bg-#{$color-name}:hover, // todo: improve these loops to save time
114
+ #{VAR.$parent-selector} .hover\:bg-#{$color-name}:hover,
115
115
  #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name} {
116
116
  background-color: var(--#{$color-name});
117
117
  }
@@ -132,13 +132,13 @@
132
132
  }
133
133
 
134
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
135
+ #{VAR.$parent-selector} .hover\:text-#{$color-name}-#{$shade}:hover,
136
136
  #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name}-#{$shade} {
137
137
  color: var(--#{$color-name}-#{$shade});
138
138
  }
139
139
 
140
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
141
+ #{VAR.$parent-selector} .hover\:bg-#{$color-name}-#{$shade}:hover,
142
142
  #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name}-#{$shade} {
143
143
  background-color: var(--#{$color-name}-#{$shade});
144
144
  }
@@ -152,13 +152,13 @@
152
152
 
153
153
  // Base color classes
154
154
  #{VAR.$parent-selector} .text-#{$color-name},
155
- #{VAR.$parent-selector} .hover\:text-#{$color-name}:hover, // todo: improve these loops to save time
155
+ #{VAR.$parent-selector} .hover\:text-#{$color-name}:hover,
156
156
  #{VAR.$parent-selector} .group:hover .group-hover\:text-#{$color-name} {
157
157
  color: var(--#{$color-name});
158
158
  }
159
159
 
160
160
  #{VAR.$parent-selector} .bg-#{$color-name},
161
- #{VAR.$parent-selector} .hover\:bg-#{$color-name}:hover, // todo: improve these loops to save time
161
+ #{VAR.$parent-selector} .hover\:bg-#{$color-name}:hover,
162
162
  #{VAR.$parent-selector} .group:hover .group-hover\:bg-#{$color-name} {
163
163
  background-color: var(--#{$color-name});
164
164
  }
@@ -1,4 +1,5 @@
1
1
  @use "../abstracts/config" as VAR;
2
+ @use "../abstracts/functions" as FN;
2
3
 
3
4
  @mixin align-baseline {
4
5
  vertical-align: baseline;
@@ -13,7 +14,7 @@
13
14
  vertical-align: bottom;
14
15
  }
15
16
 
16
- @if VAR.$generate-utility-classes {
17
+ @if FN.feature-enabled("alignments") {
17
18
  #{VAR.$parent-selector} .align-baseline {
18
19
  @include align-baseline;
19
20
  }
@@ -2,7 +2,7 @@
2
2
  @use "sass:math";
3
3
  @use "sass:map";
4
4
 
5
- @use "../abstracts/functions" as *;
5
+ @use "../abstracts/functions" as FN;
6
6
  @use "../abstracts/config" as VAR;
7
7
 
8
8
  $generated-keyframes: ();
@@ -17,11 +17,9 @@ $generated-keyframes: ();
17
17
  }
18
18
  }
19
19
 
20
- /**
21
- * @mixin animate-bounce
22
- * @description Creates a bouncing animation
23
- * @param {Map} $props - Animation properties
24
- */
20
+ // @mixin animate-bounce
21
+ // @description Creates a bouncing animation
22
+ // @param {Map} $props - Animation properties
25
23
  @mixin animate-bounce($props: ()) {
26
24
  $defaults: (
27
25
  vertical: 0.5rem,
@@ -73,11 +71,9 @@ $generated-keyframes: ();
73
71
  transition-timing-function: ease-in-out;
74
72
  }
75
73
 
76
- /**
77
- * @mixin animate-pulse
78
- * @description Creates a pulsing opacity animation
79
- * @param {Map} $props - Animation properties
80
- */
74
+ // @mixin animate-pulse
75
+ // @description Creates a pulsing opacity animation
76
+ // @param {Map} $props - Animation properties
81
77
  @mixin animate-pulse($props: ()) {
82
78
  $defaults: (
83
79
  min-opacity: 0.5,
@@ -111,11 +107,9 @@ $generated-keyframes: ();
111
107
  }
112
108
  }
113
109
 
114
- /**
115
- * @mixin animate-spin
116
- * @description Creates a spinning animation
117
- * @param {Map} $props - Animation properties
118
- */
110
+ // @mixin animate-spin
111
+ // @description Creates a spinning animation
112
+ // @param {Map} $props - Animation properties
119
113
  @mixin animate-spin($props: ()) {
120
114
  $defaults: (
121
115
  direction: normal,
@@ -150,11 +144,9 @@ $generated-keyframes: ();
150
144
  }
151
145
  }
152
146
 
153
- /**
154
- * @mixin animate-ping
155
- * @description Creates a ping animation (scale + fade)
156
- * @param {Map} $props - Animation properties
157
- */
147
+ // @mixin animate-ping
148
+ // @description Creates a ping animation (scale + fade)
149
+ // @param {Map} $props - Animation properties
158
150
  @mixin animate-ping($props: ()) {
159
151
  $defaults: (
160
152
  scale: 2,
@@ -183,11 +175,9 @@ $generated-keyframes: ();
183
175
  }
184
176
  }
185
177
 
186
- /**
187
- * @mixin animate-fade
188
- * @description Creates fade in/out animation
189
- * @param {Map} $props - Animation properties
190
- */
178
+ // @mixin animate-fade
179
+ // @description Creates fade in/out animation
180
+ // @param {Map} $props - Animation properties
191
181
  @mixin animate-fade($props: ()) {
192
182
  $defaults: (
193
183
  type: in,
@@ -248,11 +238,9 @@ $generated-keyframes: ();
248
238
  }
249
239
  }
250
240
 
251
- /**
252
- * @mixin animate-shake
253
- * @description Creates a shake animation
254
- * @param {Map} $props - Animation properties
255
- */
241
+ // @mixin animate-shake
242
+ // @description Creates a shake animation
243
+ // @param {Map} $props - Animation properties
256
244
  @mixin animate-shake($props: ()) {
257
245
  $defaults: (
258
246
  intensity: 5px,
@@ -296,7 +284,7 @@ $generated-keyframes: ();
296
284
  }
297
285
  }
298
286
 
299
- @if VAR.$generate-utility-classes {
287
+ @if FN.feature-enabled("animations") {
300
288
  // Add to your existing animation utilities
301
289
 
302
290
  #{VAR.$parent-selector} .animate-pulse {
@@ -3,25 +3,21 @@
3
3
  @use "../abstracts/config" as VAR;
4
4
  @use "../abstracts/functions" as FN;
5
5
 
6
- /**
7
- * Backdrop Filter Utilities
8
- *
9
- * Provides utility classes and mixins for backdrop-filter effects.
10
- * All utilities come with responsive variants.
11
- *
12
- * Usage:
13
- * <div class="backdrop-blur-md">Blurred backdrop</div>
14
- * <div class="backdrop-blur-lg@md">Blurred backdrop on medium screens and up</div>
15
- */
6
+ // Backdrop Filter Utilities
7
+ // Provides utility classes and mixins for backdrop-filter effects.
8
+ // All utilities come with responsive variants.
9
+ // Usage:
10
+ // <div class="backdrop-blur-md">Blurred backdrop</div>
11
+ // <div class="backdrop-blur-lg@md">Blurred backdrop on medium screens and up</div>
16
12
 
17
13
  // Blur values
18
14
  $backdrop-blur-values: (
19
15
  "none": 0,
20
- "sm": 4px,
21
- "md": 8px,
22
- "lg": 12px,
23
- "xl": 24px,
24
- "2xl": 40px,
16
+ "sm": 2px,
17
+ "md": 4px,
18
+ "lg": 8px,
19
+ "xl": 16px,
20
+ "2xl": 32px,
25
21
  );
26
22
 
27
23
  // Brightness values
@@ -305,7 +301,7 @@ $backdrop-filter-presets: (
305
301
  }
306
302
  }
307
303
 
308
- @if VAR.$generate-utility-classes {
304
+ @if FN.feature-enabled("backdrops") {
309
305
  // Generate base utilities
310
306
  @include generate-backdrop-filter-utilities;
311
307