@nuvoui/core 1.2.5 → 1.2.6

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 (41) hide show
  1. package/README.md +2 -2
  2. package/dist/nuvoui.css +21899 -22748
  3. package/dist/nuvoui.css.map +1 -1
  4. package/dist/nuvoui.min.css +1 -1
  5. package/dist/nuvoui.min.css.map +1 -1
  6. package/package.json +2 -2
  7. package/src/styles/abstracts/_config.scss +81 -47
  8. package/src/styles/abstracts/_functions.scss +21 -61
  9. package/src/styles/base/_base.scss +67 -59
  10. package/src/styles/base/_reset.scss +11 -8
  11. package/src/styles/index.scss +28 -10
  12. package/src/styles/layouts/_container.scss +1 -2
  13. package/src/styles/layouts/_flex.scss +442 -154
  14. package/src/styles/layouts/_grid.scss +145 -75
  15. package/src/styles/mixins-map.scss +1085 -1
  16. package/src/styles/themes/_theme.scss +127 -91
  17. package/src/styles/utilities/_alignment.scss +40 -13
  18. package/src/styles/utilities/_animations.scss +165 -105
  19. package/src/styles/utilities/_backdrop-filters.scss +111 -83
  20. package/src/styles/utilities/_borders.scss +329 -143
  21. package/src/styles/utilities/_colors.scss +24 -25
  22. package/src/styles/utilities/_container-queries.scss +7 -7
  23. package/src/styles/utilities/_cursor.scss +10 -17
  24. package/src/styles/utilities/_display.scss +234 -85
  25. package/src/styles/utilities/_helpers.scss +5 -5
  26. package/src/styles/utilities/_media-queries.scss +24 -27
  27. package/src/styles/utilities/_opacity.scss +15 -31
  28. package/src/styles/utilities/_position.scss +129 -66
  29. package/src/styles/utilities/_shadows.scss +23 -29
  30. package/src/styles/utilities/_sizing.scss +269 -108
  31. package/src/styles/utilities/_spacing.scss +254 -156
  32. package/src/styles/utilities/_tooltips.scss +35 -31
  33. package/src/styles/utilities/_transforms.scss +179 -156
  34. package/src/styles/utilities/_transitions.scss +134 -68
  35. package/src/styles/utilities/_typography.scss +341 -127
  36. package/src/styles/utilities/_z-index.scss +79 -49
  37. package/src/styles/abstracts/_index.scss +0 -1
  38. package/src/styles/base/_index.scss +0 -2
  39. package/src/styles/layouts/_index.scss +0 -3
  40. package/src/styles/themes/_index.scss +0 -1
  41. package/src/styles/utilities/_index.scss +0 -23
@@ -1,8 +1,10 @@
1
- :root {
1
+ @use "../abstracts/config" as VAR;
2
+
3
+ @mixin tooltip-variables {
2
4
  // Tooltip core variables
3
5
  --tooltip-bg: rgba(17 17 17 / 90%);
4
6
  --tooltip-shadow-color: rgb(0 0 0 / 20%);
5
- --tooltip-text-color: #FFF;
7
+ --tooltip-text-color: #fff;
6
8
 
7
9
  // Animation variables
8
10
  --microtip-transition-duration: 0.18s;
@@ -21,7 +23,18 @@
21
23
  --tooltip-border-radius: 4px;
22
24
  }
23
25
 
24
- [data-tooltip][role~="tooltip"] {
26
+ // Apply variables based on parent selector
27
+ @if VAR.$parent-selector == "" {
28
+ :root {
29
+ @include tooltip-variables;
30
+ }
31
+ } @else {
32
+ #{VAR.$parent-selector} {
33
+ @include tooltip-variables;
34
+ }
35
+ }
36
+
37
+ #{VAR.$parent-selector} [data-tooltip][role~="tooltip"] {
25
38
  position: relative;
26
39
 
27
40
  &::before,
@@ -31,8 +44,7 @@
31
44
  will-change: transform;
32
45
  opacity: 0;
33
46
  pointer-events: none;
34
- transition: all var(--microtip-transition-duration) var(--microtip-transition-easing)
35
- var(--microtip-transition-delay);
47
+ transition: all var(--microtip-transition-duration) var(--microtip-transition-easing) var(--microtip-transition-delay);
36
48
  position: absolute;
37
49
  box-sizing: border-box;
38
50
  z-index: 10;
@@ -68,13 +80,12 @@
68
80
  }
69
81
 
70
82
  // Top position tooltips
71
- [role~="tooltip"][data-microtip-position|="top"] {
83
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-position|="top"] {
72
84
  &::before {
73
- background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E")
74
- no-repeat;
85
+ background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
75
86
  height: 6px;
76
87
  width: 18px;
77
- margin-bottom: 5px;
88
+ margin-bottom: 6px;
78
89
  transform: translate3d(-50%, 0, 0);
79
90
  bottom: 100%;
80
91
  left: 50%;
@@ -90,15 +101,13 @@
90
101
  &:hover::before {
91
102
  transform: translate3d(-50%, -5px, 0);
92
103
  }
93
- }
94
104
 
95
- [role~="tooltip"][data-microtip-position="top"] {
96
105
  &:hover::after {
97
106
  transform: translate3d(-50%, -5px, 0);
98
107
  }
99
108
  }
100
109
 
101
- [role~="tooltip"][data-microtip-position="top-left"] {
110
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="top-left"] {
102
111
  &::after {
103
112
  transform: translate3d(calc(-100% + 16px), 0, 0);
104
113
  bottom: 100%;
@@ -109,7 +118,7 @@
109
118
  }
110
119
  }
111
120
 
112
- [role~="tooltip"][data-microtip-position="top-right"] {
121
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="top-right"] {
113
122
  &::after {
114
123
  transform: translate3d(calc(0% + -16px), 0, 0);
115
124
  bottom: 100%;
@@ -121,10 +130,9 @@
121
130
  }
122
131
 
123
132
  // Bottom position tooltips
124
- [role~="tooltip"][data-microtip-position|="bottom"] {
133
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-position|="bottom"] {
125
134
  &::before {
126
- background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28180%2018%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E")
127
- no-repeat;
135
+ background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28180%2018%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
128
136
  height: 6px;
129
137
  width: 18px;
130
138
  margin-top: 5px;
@@ -145,15 +153,13 @@
145
153
  &:hover::before {
146
154
  transform: translate3d(-50%, 0, 0);
147
155
  }
148
- }
149
156
 
150
- [role~="tooltip"][data-microtip-position="bottom"] {
151
157
  &:hover::after {
152
158
  transform: translate3d(-50%, 0, 0);
153
159
  }
154
160
  }
155
161
 
156
- [role~="tooltip"][data-microtip-position="bottom-left"] {
162
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="bottom-left"] {
157
163
  &::after {
158
164
  transform: translate3d(calc(-100% + 16px), -10px, 0);
159
165
  top: 100%;
@@ -164,7 +170,7 @@
164
170
  }
165
171
  }
166
172
 
167
- [role~="tooltip"][data-microtip-position="bottom-right"] {
173
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="bottom-right"] {
168
174
  &::after {
169
175
  transform: translate3d(calc(0% + -16px), -10px, 0);
170
176
  top: 100%;
@@ -176,19 +182,18 @@
176
182
  }
177
183
 
178
184
  // Left position tooltips
179
- [role~="tooltip"][data-microtip-position="left"] {
185
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="left"] {
180
186
  &::before,
181
187
  &::after {
182
188
  inset: auto auto auto 100%;
183
- left: auto; // Remove any left positioning
184
- right: 100%; // Position to the left of the element
189
+ left: auto; // Remove any left positioning
190
+ right: 100%; // Position to the left of the element
185
191
  top: 50%;
186
192
  transform: translate3d(10px, -50%, 0);
187
193
  }
188
194
 
189
195
  &::before {
190
- background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28-90%2018%2018%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E")
191
- no-repeat;
196
+ background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28-90%2018%2018%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
192
197
  height: 18px;
193
198
  width: 6px;
194
199
  margin-right: 5px;
@@ -206,7 +211,7 @@
206
211
  }
207
212
 
208
213
  // Right position tooltips
209
- [role~="tooltip"][data-microtip-position="right"] {
214
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-position="right"] {
210
215
  &::before,
211
216
  &::after {
212
217
  bottom: auto;
@@ -216,8 +221,7 @@
216
221
  }
217
222
 
218
223
  &::before {
219
- background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%2890%206%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E")
220
- no-repeat;
224
+ background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%2890%206%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E") no-repeat;
221
225
  height: 18px;
222
226
  width: 6px;
223
227
  margin-bottom: 0;
@@ -235,17 +239,17 @@
235
239
  }
236
240
 
237
241
  // Tooltip sizes
238
- [role~="tooltip"][data-microtip-size="small"]::after {
242
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="small"]::after {
239
243
  white-space: initial;
240
244
  width: var(--tooltip-small-width);
241
245
  }
242
246
 
243
- [role~="tooltip"][data-microtip-size="medium"]::after {
247
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="medium"]::after {
244
248
  white-space: initial;
245
249
  width: var(--tooltip-medium-width);
246
250
  }
247
251
 
248
- [role~="tooltip"][data-microtip-size="large"]::after {
252
+ #{VAR.$parent-selector} [role~="tooltip"][data-microtip-size="large"]::after {
249
253
  white-space: initial;
250
254
  width: var(--tooltip-large-width);
251
255
  }
@@ -1,5 +1,5 @@
1
- @use '../abstracts' as *;
2
- @use 'sass:map';
1
+ @use "../abstracts/config" as VAR;
2
+ @use "sass:map";
3
3
 
4
4
  /**
5
5
  * Transform Utilities
@@ -11,21 +11,11 @@
11
11
  * - Transform origin
12
12
  */
13
13
 
14
- // Common transform function to avoid repetition
14
+ // Common transform function to avoid repetition
15
15
  @mixin apply-transform {
16
- transform:
17
- translateX(var(--translate-x, 0))
18
- translateY(var(--translate-y, 0))
19
- translateZ(var(--translate-z, 0))
20
- rotate(var(--rotate, 0))
21
- skewX(var(--skew-x, 0))
22
- skewY(var(--skew-y, 0))
23
- scaleX(var(--scale-x, 1))
24
- scaleY(var(--scale-y, 1))
25
- scaleZ(var(--scale-z, 1));
16
+ transform: translateX(var(--translate-x, 0)) translateY(var(--translate-y, 0)) translateZ(var(--translate-z, 0)) rotate(var(--rotate, 0)) skewX(var(--skew-x, 0)) skewY(var(--skew-y, 0)) scaleX(var(--scale-x, 1)) scaleY(var(--scale-y, 1)) scaleZ(var(--scale-z, 1));
26
17
  }
27
18
 
28
-
29
19
  // Translation mixins
30
20
  @mixin translate-x($value) {
31
21
  // Store the value in a CSS variable
@@ -48,12 +38,12 @@
48
38
  @mixin translate($x, $y: null) {
49
39
  // Always set the x value
50
40
  --translate-x: #{$x};
51
-
41
+
52
42
  // Only set y if provided
53
43
  @if $y {
54
44
  --translate-y: #{$y};
55
45
  }
56
-
46
+
57
47
  @include apply-transform;
58
48
  }
59
49
 
@@ -93,195 +83,228 @@
93
83
 
94
84
  // Transform origin
95
85
  @mixin origin($value) {
96
- transform-origin: $value;
86
+ transform-origin: $value;
97
87
  }
98
88
 
99
89
  // Common transform values
100
90
  $translate-values: (
101
- '0': 0,
102
- '1': 0.25rem,
103
- '2': 0.5rem,
104
- '3': 0.75rem,
105
- '4': 1rem,
106
- '5': 1.25rem,
107
- '6': 1.5rem,
108
- '8': 2rem,
109
- '10': 2.5rem,
110
- '12': 3rem,
111
- '16': 4rem,
112
- '20': 5rem,
113
- '25p': 25%,
114
- '33p': 33.333%,
115
- '50p': 50%,
116
- '66p': 66.667%,
117
- '75p': 75%,
118
- '100p': 100%,
91
+ "0": 0,
92
+ "1": 0.25rem,
93
+ "2": 0.5rem,
94
+ "3": 0.75rem,
95
+ "4": 1rem,
96
+ "5": 1.25rem,
97
+ "6": 1.5rem,
98
+ "8": 2rem,
99
+ "10": 2.5rem,
100
+ "12": 3rem,
101
+ "16": 4rem,
102
+ "20": 5rem,
103
+ "25p": 25%,
104
+ "33p": 33.333%,
105
+ "50p": 50%,
106
+ "66p": 66.667%,
107
+ "75p": 75%,
108
+ "100p": 100%,
119
109
  );
120
110
 
121
111
  $negative-translate-values: (
122
- '1': -0.25rem,
123
- '2': -0.5rem,
124
- '3': -0.75rem,
125
- '4': -1rem,
126
- '5': -1.25rem,
127
- '6': -1.5rem,
128
- '8': -2rem,
129
- '10': -2.5rem,
130
- '12': -3rem,
131
- '16': -4rem,
132
- '20': -5rem,
133
- '25p': 25%,
134
- '33p': 33.333%,
135
- '50p': 50%,
136
- '66p': 66.667%,
137
- '75p': 75%,
138
- '100p': -100%,
112
+ "1": -0.25rem,
113
+ "2": -0.5rem,
114
+ "3": -0.75rem,
115
+ "4": -1rem,
116
+ "5": -1.25rem,
117
+ "6": -1.5rem,
118
+ "8": -2rem,
119
+ "10": -2.5rem,
120
+ "12": -3rem,
121
+ "16": -4rem,
122
+ "20": -5rem,
123
+ "25p": -25%,
124
+ "33p": -33.333%,
125
+ "50p": -50%,
126
+ "66p": -66.667%,
127
+ "75p": -75%,
128
+ "100p": -100%,
139
129
  );
140
130
 
141
131
  // Scale hover utilities
142
132
  $scale-values: (
143
- '0': 0,
144
- '50': 0.5,
145
- '75': 0.75,
146
- '90': 0.9,
147
- '95': 0.95,
148
- '100': 1,
149
- '105': 1.05,
150
- '110': 1.1,
151
- '125': 1.25,
152
- '150': 1.5
133
+ "0": 0,
134
+ "50": 0.5,
135
+ "75": 0.75,
136
+ "90": 0.9,
137
+ "95": 0.95,
138
+ "100": 1,
139
+ "105": 1.05,
140
+ "110": 1.1,
141
+ "125": 1.25,
142
+ "150": 1.5,
143
+ );
144
+
145
+ // Rotation hover utilities
146
+ $rotation-values: (
147
+ "0": 0deg,
148
+ "45": 45deg,
149
+ "90": 90deg,
150
+ "180": 180deg,
151
+ "270": 270deg,
152
+ );
153
+
154
+ // Separate map for negative rotations
155
+ $negative-rotation-values: (
156
+ "45": -45deg,
157
+ "90": -90deg,
158
+ "180": -180deg,
159
+ "270": -270deg,
153
160
  );
154
161
 
155
- // Rotation hover utilities
156
- $rotation-values: (
157
- '0': 0deg,
158
- '45': 45deg,
159
- '90': 90deg,
160
- '180': 180deg,
161
- '270': 270deg
162
- );
163
-
164
- // Separate map for negative rotations
165
- $negative-rotation-values: (
166
- '45': -45deg,
167
- '90': -90deg,
168
- '180': -180deg,
169
- '270': -270deg
170
- );
171
-
172
- // Origin hover utilities
173
- $origin-values: (
174
- 'center': center,
175
- 'top': top,
176
- 'top-right': top right,
177
- 'right': right,
178
- 'bottom-right': bottom right,
179
- 'bottom': bottom,
180
- 'bottom-left': bottom left,
181
- 'left': left,
182
- 'top-left': top left
183
- );
162
+ // Origin hover utilities
163
+ $origin-values: (
164
+ "center": center,
165
+ "top": top,
166
+ "top-right": top right,
167
+ "right": right,
168
+ "bottom-right": bottom right,
169
+ "bottom": bottom,
170
+ "bottom-left": bottom left,
171
+ "left": left,
172
+ "top-left": top left,
173
+ );
184
174
 
185
175
  // Generate utility classes
186
- @if $generate-utility-classes {
176
+ @if VAR.$generate-utility-classes {
187
177
  // Translate utilities
188
178
  @each $key, $value in $translate-values {
189
- .translate-x-#{$key},
190
- .hover\:translate-x-#{$key}:hover,
191
- .group:hover .group-hover\:translate-x-#{$key} { @include translate-x($value); }
192
-
193
- .translate-y-#{$key},
194
- .hover\:translate-y-#{$key}:hover,
195
- .group:hover .group-hover\:translate-y-#{$key} { @include translate-y($value); }
179
+ #{VAR.$parent-selector} .translate-x-#{$key},
180
+ #{VAR.$parent-selector} .hover\:translate-x-#{$key}:hover,
181
+ #{VAR.$parent-selector} .group:hover .group-hover\:translate-x-#{$key} {
182
+ @include translate-x($value);
183
+ }
184
+
185
+ #{VAR.$parent-selector} .translate-y-#{$key},
186
+ #{VAR.$parent-selector} .hover\:translate-y-#{$key}:hover,
187
+ #{VAR.$parent-selector} .group:hover .group-hover\:translate-y-#{$key} {
188
+ @include translate-y($value);
189
+ }
196
190
  }
197
191
  @each $key, $value in $negative-translate-values {
198
- .-translate-x-#{$key},
199
- .hover\:-translate-x-#{$key}:hover,
200
- .group:hover .group-hover\:-translate-x-#{$key} { @include translate-x($value); }
201
-
202
- .-translate-y-#{$key},
203
- .hover\:-translate-y-#{$key}:hover,
204
- .group:hover .group-hover\:-translate-y-#{$key} { @include translate-y($value); }
192
+ #{VAR.$parent-selector} .-translate-x-#{$key},
193
+ #{VAR.$parent-selector} .hover\:-translate-x-#{$key}:hover,
194
+ #{VAR.$parent-selector} .group:hover .group-hover\:-translate-x-#{$key} {
195
+ @include translate-x($value);
196
+ }
197
+
198
+ #{VAR.$parent-selector} .-translate-y-#{$key},
199
+ #{VAR.$parent-selector} .hover\:-translate-y-#{$key}:hover,
200
+ #{VAR.$parent-selector} .group:hover .group-hover\:-translate-y-#{$key} {
201
+ @include translate-y($value);
202
+ }
205
203
  }
206
-
204
+
207
205
  @each $key, $value in $scale-values {
208
- .scale-#{$key},
209
- .hover\:scale-#{$key}:hover,
210
- .group:hover .group-hover\:scale-#{$key} { @include scale($value); }
206
+ #{VAR.$parent-selector} .scale-#{$key},
207
+ #{VAR.$parent-selector} .hover\:scale-#{$key}:hover,
208
+ #{VAR.$parent-selector} .group:hover .group-hover\:scale-#{$key} {
209
+ @include scale($value);
210
+ }
211
211
 
212
- .scale-x-#{$key},
213
- .hover\:scale-x-#{$key}:hover,
214
- .group:hover .group-hover\:scale-x-#{$key} { @include scale-x($value); }
212
+ #{VAR.$parent-selector} .scale-x-#{$key},
213
+ #{VAR.$parent-selector} .hover\:scale-x-#{$key}:hover,
214
+ #{VAR.$parent-selector} .group:hover .group-hover\:scale-x-#{$key} {
215
+ @include scale-x($value);
216
+ }
215
217
 
216
- .scale-y-#{$key},
217
- .hover\:scale-y-#{$key}:hover,
218
- .group:hover .group-hover\:scale-y-#{$key} { @include scale-y($value); }
218
+ #{VAR.$parent-selector} .scale-y-#{$key},
219
+ #{VAR.$parent-selector} .hover\:scale-y-#{$key}:hover,
220
+ #{VAR.$parent-selector} .group:hover .group-hover\:scale-y-#{$key} {
221
+ @include scale-y($value);
222
+ }
219
223
  }
220
-
224
+
221
225
  // Rotation utilities
222
226
  @each $key, $value in $rotation-values {
223
- .rotate-#{$key},
224
- .hover\:rotate-#{$key}:hover,
225
- .group:hover .group-hover\:rotate-#{$key} { @include rotate($value); }
227
+ #{VAR.$parent-selector} .rotate-#{$key},
228
+ #{VAR.$parent-selector} .hover\:rotate-#{$key}:hover,
229
+ #{VAR.$parent-selector} .group:hover .group-hover\:rotate-#{$key} {
230
+ @include rotate($value);
231
+ }
226
232
  }
227
233
 
228
234
  // Negative rotation utilities
229
235
  @each $key, $value in $negative-rotation-values {
230
- .-rotate-#{$key},
231
- .hover\:-rotate-#{$key}:hover,
232
- .group:hover .group-hover\:-rotate-#{$key} { @include rotate($value); }
236
+ #{VAR.$parent-selector} .-rotate-#{$key},
237
+ #{VAR.$parent-selector} .hover\:-rotate-#{$key}:hover,
238
+ #{VAR.$parent-selector} .group:hover .group-hover\:-rotate-#{$key} {
239
+ @include rotate($value);
240
+ }
233
241
  }
234
-
242
+
235
243
  // Origin utilities
236
244
  @each $key, $value in $origin-values {
237
- .origin-#{$key},
238
- .hover\:origin-#{$key}:hover,
239
- .group:hover .group-hover\:origin-#{$key} { @include origin($value); }
245
+ #{VAR.$parent-selector} .origin-#{$key},
246
+ #{VAR.$parent-selector} .hover\:origin-#{$key}:hover,
247
+ #{VAR.$parent-selector} .group:hover .group-hover\:origin-#{$key} {
248
+ @include origin($value);
249
+ }
240
250
  }
241
-
251
+
242
252
  // Responsive variants
243
- @each $breakpoint, $width in $breakpoints {
253
+ @each $breakpoint, $width in VAR.$breakpoints {
244
254
  @media (min-width: #{$width}) {
245
255
  @each $key, $value in $translate-values {
246
- .translate-x-#{$key}\@#{$breakpoint},
247
- .hover\:translate-x-#{$key}\@#{$breakpoint}:hover,
248
- .group:hover .group-hover\:translate-x-#{$key}\@#{$breakpoint} { @include translate-x($value); }
256
+ #{VAR.$parent-selector} .translate-x-#{$key}\@#{$breakpoint},
257
+ #{VAR.$parent-selector} .hover\:translate-x-#{$key}\@#{$breakpoint}:hover,
258
+ #{VAR.$parent-selector} .group:hover .group-hover\:translate-x-#{$key}\@#{$breakpoint} {
259
+ @include translate-x($value);
260
+ }
249
261
 
250
- .translate-x-#{$key}\@#{$breakpoint},
251
- .hover\:translate-y-#{$key}\@#{$breakpoint}:hover,
252
- .group:hover .group-hover\:translate-y-#{$key}\@#{$breakpoint} { @include translate-y($value); }
262
+ #{VAR.$parent-selector} .translate-x-#{$key}\@#{$breakpoint},
263
+ #{VAR.$parent-selector} .hover\:translate-y-#{$key}\@#{$breakpoint}:hover,
264
+ #{VAR.$parent-selector} .group:hover .group-hover\:translate-y-#{$key}\@#{$breakpoint} {
265
+ @include translate-y($value);
266
+ }
253
267
  }
254
268
  @each $key, $value in $negative-translate-values {
255
- .-translate-x-#{$key}\@#{$breakpoint},
256
- .hover\:-translate-x-#{$key}\@#{$breakpoint}:hover,
257
- .group:hover .group-hover\:-translate-x-#{$key}\@#{$breakpoint} { @include translate-x($value); }
269
+ #{VAR.$parent-selector} .-translate-x-#{$key}\@#{$breakpoint},
270
+ #{VAR.$parent-selector} .hover\:-translate-x-#{$key}\@#{$breakpoint}:hover,
271
+ #{VAR.$parent-selector} .group:hover .group-hover\:-translate-x-#{$key}\@#{$breakpoint} {
272
+ @include translate-x($value);
273
+ }
258
274
 
259
- .-translate-x-#{$key}\@#{$breakpoint},
260
- .hover\:-translate-y-#{$key}\@#{$breakpoint}:hover,
261
- .group:hover .group-hover\:-translate-y-#{$key}\@#{$breakpoint} { @include translate-y($value); }
275
+ #{VAR.$parent-selector} .-translate-x-#{$key}\@#{$breakpoint},
276
+ #{VAR.$parent-selector} .hover\:-translate-y-#{$key}\@#{$breakpoint}:hover,
277
+ #{VAR.$parent-selector} .group:hover .group-hover\:-translate-y-#{$key}\@#{$breakpoint} {
278
+ @include translate-y($value);
279
+ }
262
280
  }
263
-
264
- // Scale hover responsive
265
- @each $key, $value in $scale-values {
266
- .scale-#{$key}\@#{$breakpoint},
267
- .hover\:scale-#{$key}\@#{$breakpoint}:hover,
268
- .group:hover .group-hover\:scale-#{$key}\@#{$breakpoint} { @include scale($value); }
281
+
282
+ // Scale hover responsive
283
+ @each $key, $value in $scale-values {
284
+ #{VAR.$parent-selector} .scale-#{$key}\@#{$breakpoint},
285
+ #{VAR.$parent-selector} .hover\:scale-#{$key}\@#{$breakpoint}:hover,
286
+ #{VAR.$parent-selector} .group:hover .group-hover\:scale-#{$key}\@#{$breakpoint} {
287
+ @include scale($value);
288
+ }
269
289
  }
270
-
290
+
271
291
  // Rotation hover responsive
272
292
  @each $key, $value in $rotation-values {
273
- .rotate-#{$key}\@#{$breakpoint},
274
- .hover\:rotate-#{$key}\@#{$breakpoint}:hover,
275
- .group:hover .group-hover\:rotate-#{$key}\@#{$breakpoint} { @include rotate($value); }
293
+ #{VAR.$parent-selector} .rotate-#{$key}\@#{$breakpoint},
294
+ #{VAR.$parent-selector} .hover\:rotate-#{$key}\@#{$breakpoint}:hover,
295
+ #{VAR.$parent-selector} .group:hover .group-hover\:rotate-#{$key}\@#{$breakpoint} {
296
+ @include rotate($value);
297
+ }
276
298
  }
277
299
 
278
300
  // Negative rotation utilities
279
301
  @each $key, $value in $negative-rotation-values {
280
- .-rotate-#{$key}\@#{$breakpoint},
281
- .hover\:-rotate-#{$key}\@#{$breakpoint}:hover,
282
- .group:hover .group-hover\:-rotate-#{$key}\@#{$breakpoint} { @include rotate($value); }
302
+ #{VAR.$parent-selector} .-rotate-#{$key}\@#{$breakpoint},
303
+ #{VAR.$parent-selector} .hover\:-rotate-#{$key}\@#{$breakpoint}:hover,
304
+ #{VAR.$parent-selector} .group:hover .group-hover\:-rotate-#{$key}\@#{$breakpoint} {
305
+ @include rotate($value);
306
+ }
283
307
  }
284
-
285
308
  }
286
309
  }
287
- }
310
+ }