@nuvoui/core 1.1.7 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +90 -35
  2. package/dist/nuvoui.css +28531 -0
  3. package/dist/nuvoui.css.map +1 -0
  4. package/dist/nuvoui.min.css +2 -1
  5. package/dist/nuvoui.min.css.map +1 -0
  6. package/package.json +48 -27
  7. package/src/styles/abstracts/_config.scss +157 -0
  8. package/src/styles/abstracts/_functions.scss +81 -0
  9. package/src/styles/abstracts/_index.scss +2 -0
  10. package/src/styles/base/_base.scss +2 -2
  11. package/src/styles/base/_index.scss +2 -0
  12. package/src/styles/base/_reset.scss +8 -6
  13. package/src/styles/index.scss +11 -28
  14. package/src/styles/layouts/_container.scss +14 -22
  15. package/src/styles/layouts/_flex.scss +60 -18
  16. package/src/styles/layouts/_grid.scss +36 -28
  17. package/src/styles/layouts/_index.scss +3 -0
  18. package/src/styles/mixins-map.scss +877 -1225
  19. package/src/styles/themes/_index.scss +1 -0
  20. package/src/styles/themes/_theme.scss +175 -57
  21. package/src/styles/utilities/_alignment.scss +20 -0
  22. package/src/styles/utilities/_animations.scss +65 -61
  23. package/src/styles/utilities/_borders.scss +280 -16
  24. package/src/styles/utilities/_colors.scss +68 -49
  25. package/src/styles/utilities/_container-queries.scss +46 -7
  26. package/src/styles/utilities/_display.scss +57 -3
  27. package/src/styles/utilities/_helpers.scss +110 -108
  28. package/src/styles/utilities/_index.scss +19 -0
  29. package/src/styles/utilities/_media-queries.scss +54 -19
  30. package/src/styles/utilities/_opacity.scss +110 -8
  31. package/src/styles/utilities/_position.scss +177 -71
  32. package/src/styles/utilities/_shadows.scss +194 -67
  33. package/src/styles/utilities/_sizing.scss +62 -57
  34. package/src/styles/utilities/_spacing.scss +331 -64
  35. package/src/styles/utilities/_tooltips.scss +153 -105
  36. package/src/styles/utilities/_transitions.scss +152 -0
  37. package/src/styles/utilities/_typography.scss +113 -89
  38. package/src/styles/utilities/_functions.scss +0 -84
  39. package/src/styles/utilities/_variables.scss +0 -98
@@ -0,0 +1,157 @@
1
+ @use "sass:map";
2
+ @use "sass:math";
3
+
4
+ // Framework Configuration Options
5
+ $generate-utility-classes: true !default;
6
+ $enable-dark-mode: true !default;
7
+ $enable-rtl: true !default;
8
+ $enable-reduced-motion: true !default;
9
+ $enable-container-queries: false !default;
10
+
11
+ $base-size: 16;
12
+
13
+ @function rem($px) {
14
+ @if $px == 0 {
15
+ @return 0;
16
+ }
17
+
18
+ // Strip units if $px has any
19
+ $value: if(math.unit($px) == "", $px, math.div($px, math.unit($px)));
20
+
21
+ @return math.div($value, $base-size) * 1rem;
22
+ }
23
+
24
+ // Global variables that might be used across different modules
25
+ $enable-debuger: false !default;
26
+ $enable-dark-mode: true !default;
27
+ $enable-rtl: true !default;
28
+ $enable-reduced-motion: true !default;
29
+ $column-count: 12 !default;
30
+
31
+ $default-container-name: nuvoui-container !default;
32
+ $nuvoui-container-queries: false !default;
33
+
34
+ $primary: #007bff !default;
35
+ $secondary: #6c757d !default;
36
+ $success: #28a745 !default;
37
+ $danger: #dc3545 !default;
38
+ $warning: #ffc107 !default;
39
+ $info: #17a2b8 !default;
40
+
41
+ $color-primitives: (
42
+ "gray": #6b7280,
43
+ "red": #ef4444,
44
+ "blue": #3b82f6,
45
+ "green": #22c55e,
46
+ "yellow": #eab308,
47
+ "purple": #a855f7,
48
+ "pink": #ec4899,
49
+ ) !default;
50
+
51
+ $theme-tokens: ("background", "foreground", "surface", "border", "text-primary", "text-secondary") !default;
52
+
53
+ // Default theme config (can be overridden)
54
+ $light-theme: (
55
+ "background": #fafafa,
56
+ "foreground": #1a1a1a,
57
+ "surface": #fff,
58
+ "border": #e5e7eb,
59
+ "text-primary": #1a1a1a,
60
+ "text-secondary": #4b5563,
61
+ ) !default;
62
+
63
+ $dark-theme: (
64
+ "background": #1a1a1a,
65
+ "foreground": #f1f1f1,
66
+ "surface": #2e2e2e,
67
+ "border": #2e2e2e,
68
+ "text-primary": #f1f1f1,
69
+ "text-secondary": #a3a3a3,
70
+ ) !default;
71
+
72
+ $shadow-colors: (
73
+ "default": rgb(0 0 0 / 10%),
74
+ "dark": rgb(0 0 0 / 20%),
75
+ "darker": rgb(0 0 0 / 35%),
76
+ "darkest": rgb(0 0 0 / 50%),
77
+ ) !default;
78
+
79
+ // Breakpoints
80
+ $breakpoints: (
81
+ "xs": 480px,
82
+ "sm": 640px,
83
+ "md": 768px,
84
+ "lg": 1024px,
85
+ "xl": 1280px,
86
+ "2xl": 1536px,
87
+ ) !default;
88
+
89
+ $grid-item-sizes: (
90
+ "xs": 200px,
91
+ "sm": 250px,
92
+ "md": 300px,
93
+ "lg": 350px,
94
+ "xl": 400px,
95
+ ) !default;
96
+
97
+ // _variables.scss
98
+ $font-sizes: (
99
+ // 12px
100
+ "xs": 0.75rem,
101
+ // 14px
102
+ "sm": 0.875rem,
103
+ // 16px
104
+ "md": 1rem,
105
+ // 20px
106
+ "lg": 1.25rem,
107
+ // 24px
108
+ "xl": 1.5rem,
109
+ // 28px
110
+ "2xl": 1.75rem,
111
+ // 32px
112
+ "3xl": 2rem,
113
+ // 40px
114
+ "4xl": 2.5rem
115
+ ) !default;
116
+
117
+ // Updated spacing map
118
+ $spacings: (
119
+ // 0rem
120
+ 0: 0,
121
+ // 0.25rem
122
+ 1: rem(4),
123
+ // 0.5rem
124
+ 2: rem(8),
125
+ // 0.75rem
126
+ 3: rem(12),
127
+ // 1rem
128
+ 4: rem(16),
129
+ // 1.25rem
130
+ 5: rem(20),
131
+ // 1.5rem
132
+ 6: rem(24),
133
+ // 2rem
134
+ 8: rem(32),
135
+ // 2.5rem
136
+ 10: rem(40),
137
+ // 3rem
138
+ 12: rem(48),
139
+ // 4rem
140
+ 16: rem(64),
141
+ // 5rem
142
+ 20: rem(80),
143
+ // 6rem
144
+ 24: rem(96),
145
+ // 8rem
146
+ 32: rem(128),
147
+ // 10rem
148
+ 40: rem(160),
149
+ // 12rem
150
+ 48: rem(192),
151
+ // 14rem
152
+ 56: rem(224),
153
+ // 16rem
154
+ 64: rem(256)
155
+ );
156
+
157
+ $percentages: (0, 5, 10, 20, 25, 30, 40, 50, 60, 70, 75, 80, 90, 100) !default;
@@ -0,0 +1,81 @@
1
+ @use "sass:string";
2
+ @use "sass:math";
3
+ @use "sass:map";
4
+ @use "sass:list";
5
+ @use "sass:meta";
6
+ @use "config" as *;
7
+
8
+ @function str-replace($string, $search, $replace: " ") {
9
+ $index: string.index($string, $search);
10
+ @if $index {
11
+ @return string.slice($string, 1, $index - 1) + $replace + str-replace(string.slice($string, $index + string.length($search)), $search, $replace);
12
+ }
13
+ @return $string;
14
+ }
15
+
16
+ @function get-breakpoint-value($bp) {
17
+ @if map.has-key($breakpoints, $bp) {
18
+ @return map.get($breakpoints, $bp);
19
+ } @else if meta.type-of($bp) == number {
20
+ @return $bp;
21
+ } @else {
22
+ @warn 'Invalid breakpoint: #{$bp}';
23
+ @return null;
24
+ }
25
+ }
26
+
27
+ @function strip-unit($value) {
28
+ @return math.div($value, ($value * 0 + 1));
29
+ }
30
+
31
+ @function safe-unit-name($unit) {
32
+ @if $unit == "%" {
33
+ @return "per";
34
+ } @else if $unit == "." {
35
+ @return "dot";
36
+ } @else {
37
+ @return $unit;
38
+ }
39
+ }
40
+
41
+ @function get-unit($value) {
42
+ $value-str: #{$value};
43
+
44
+ // Relative length units
45
+ @if string.index($value-str, "em") {
46
+ @return "em";
47
+ } @else if string.index($value-str, "rem") {
48
+ @return "rem";
49
+ } @else if string.index($value-str, "%") {
50
+ @return "%";
51
+ }
52
+
53
+ // Viewport units
54
+ @else if string.index($value-str, "vw") {
55
+ @return "vw";
56
+ } @else if string.index($value-str, "vh") {
57
+ @return "vh";
58
+ } @else if string.index($value-str, "vmin") {
59
+ @return "vmin";
60
+ } @else if string.index($value-str, "vmax") {
61
+ @return "vmax";
62
+ }
63
+
64
+ // Absolute length units
65
+ @else if string.index($value-str, "px") {
66
+ @return "px";
67
+ } @else if string.index($value-str, "cm") {
68
+ @return "cm";
69
+ } @else if string.index($value-str, "mm") {
70
+ @return "mm";
71
+ } @else if string.index($value-str, "in") {
72
+ @return "in";
73
+ } @else if string.index($value-str, "pt") {
74
+ @return "pt";
75
+ } @else if string.index($value-str, "pc") {
76
+ @return "pc";
77
+ }
78
+
79
+ // Return empty string if no unit found
80
+ @return "";
81
+ }
@@ -0,0 +1,2 @@
1
+ @forward "config";
2
+ @forward "functions";
@@ -1,7 +1,7 @@
1
1
  @use 'sass:map';
2
2
 
3
3
  /* Import variables */
4
- @use '../utilities/variables' as *;
4
+ @use '../abstracts' as *;
5
5
  @use '../utilities/media-queries' as media;
6
6
 
7
7
  :root {
@@ -10,7 +10,7 @@
10
10
 
11
11
  // Base typography styles
12
12
  html {
13
- font-size: 16px;
13
+ font-size: 16px;
14
14
  font-family: var(--font-family-base);
15
15
  }
16
16
 
@@ -0,0 +1,2 @@
1
+ @forward "base";
2
+ @forward "reset";
@@ -1,7 +1,9 @@
1
1
  // Modern CSS Reset
2
2
 
3
3
  // Box sizing rules
4
- *, *::before, *::after {
4
+ *,
5
+ *::before,
6
+ *::after {
5
7
  box-sizing: border-box;
6
8
  margin: 0;
7
9
  padding: 0;
@@ -32,7 +34,7 @@ body {
32
34
  line-height: 1.5;
33
35
  -webkit-font-smoothing: antialiased;
34
36
  -moz-osx-font-smoothing: grayscale;
35
- font-family: 'Courier New', Courier, monospace;
37
+ font-family: var(--font-family-base);
36
38
  }
37
39
 
38
40
  // Make images easier to work with
@@ -72,10 +74,10 @@ ol {
72
74
  list-style: none;
73
75
  margin: 0;
74
76
  padding: 0;
75
-
77
+
76
78
  // Modern properties
77
- padding-inline-start: 0; // Replaces padding-left
78
- margin-block: 0; // Replaces margin-top/bottom
79
+ padding-inline-start: 0; // Replaces padding-left
80
+ margin-block: 0; // Replaces margin-top/bottom
79
81
  }
80
82
 
81
83
  li {
@@ -99,4 +101,4 @@ a {
99
101
  // Make sure textareas without a rows attribute are not tiny
100
102
  textarea:not([rows]) {
101
103
  min-height: 10em;
102
- }
104
+ }
@@ -1,33 +1,16 @@
1
- /* Forward all modules for external use */
2
- @forward 'utilities/variables';
1
+ // Import abstracts first (configuration)
2
+ @forward "abstracts";
3
3
 
4
- // Base styles
5
- @forward 'base/reset';
6
- @forward 'base/base';
4
+ // Import base styles
5
+ @forward "base";
7
6
 
8
- // Layouts
9
- @forward 'layouts/container';
10
- @forward 'layouts/flex';
11
- @forward 'layouts/grid';
7
+ // Import themes
8
+ @forward "themes";
12
9
 
13
- // Utilities
14
- @forward 'utilities/animations';
15
- @forward 'utilities/borders';
16
- @forward 'utilities/colors';
17
- @forward 'utilities/opacity';
18
- @forward 'utilities/position';
19
- @forward 'utilities/media-queries';
20
- @forward 'utilities/shadows';
21
- @forward 'utilities/sizing';
22
- @forward 'utilities/spacing';
23
- @forward 'utilities/typography';
24
- @forward 'utilities/tooltips';
25
- @forward 'utilities/display';
10
+ // Import layout components
11
+ @forward "layouts";
26
12
 
27
- @forward 'utilities/helpers';
13
+ // Import utilities based on configuration
14
+ @forward "utilities";
28
15
 
29
-
30
- // Theme
31
- @forward 'themes/theme';
32
-
33
- @forward './mixins-map';
16
+ @forward "./mixins-map";
@@ -1,41 +1,33 @@
1
- @use 'sass:map';
2
- @use '../utilities/variables' as *;
1
+ @use "sass:map";
2
+ @use "../abstracts/config" as VAR;
3
3
 
4
4
  // Base container styles
5
5
  @mixin container-base {
6
6
  width: 100%;
7
7
  margin-left: auto;
8
8
  margin-right: auto;
9
- padding-left: 1rem;
10
- padding-right: 1rem;
9
+ }
10
+
11
+ @mixin container-padding($padding) {
12
+ & {
13
+ padding-top: $padding;
14
+ padding-bottom: $padding;
15
+ }
11
16
  }
12
17
 
13
18
  // Responsive container mixin
14
19
  @mixin container($display: block) {
15
- @include container-base;
16
-
17
20
  display: $display;
18
-
19
- @each $breakpoint, $width in $container-max-widths {
20
- @media (min-width: map.get($breakpoints, $breakpoint)) {
21
- max-width: $width;
21
+ @include container-base;
22
+ @each $breakpoint, $width in VAR.$breakpoints {
23
+ @media (min-width: $width) {
24
+ max-width: $width - 100px;
22
25
  }
23
26
  }
27
+ @include container-padding(1rem);
24
28
  }
25
29
 
26
30
  // Container classes
27
31
  .container {
28
32
  @include container;
29
33
  }
30
-
31
- .container-flex {
32
- @include container(flex);
33
- }
34
-
35
- .container-grid {
36
- @include container(grid);
37
- }
38
-
39
- .container-fluid {
40
- @include container-base;
41
- }
@@ -1,10 +1,52 @@
1
1
  // Section: Layout
2
2
  // Module: Flex | Flex Inline
3
-
3
+ // Note: Gap utilities are defined in _spacing.scss
4
+
5
+ /**
6
+ * @component Flex
7
+ * @description Flexbox layout system for creating flexible page layouts
8
+ *
9
+ * @example
10
+ * <div class="flex row between x-center">
11
+ * <div class="w-6">Left column (6 units)</div>
12
+ * <div class="w-6">Right column (6 units)</div>
13
+ * </div>
14
+ *
15
+ * <div class="flex col@md row@lg">
16
+ * <!-- Changes direction based on breakpoint -->
17
+ * </div>
18
+ *
19
+ * @classes
20
+ * Base:
21
+ * - flex: Creates a flex container
22
+ *
23
+ * Direction:
24
+ * - row: Sets flex-direction to row
25
+ * - col: Sets flex-direction to column
26
+ * - row-reverse: Reverses row direction
27
+ * - col-reverse: Reverses column direction
28
+ *
29
+ * Alignment:
30
+ * - start/end/center: Controls justify-content
31
+ * - x-start/x-end/x-center: Controls align-items
32
+ *
33
+ * Child elements:
34
+ * - w-{1-12}: Sets width based on column count
35
+ * - grow: Allows item to grow
36
+ * - shrink/shrink-0: Controls shrink behavior
37
+ *
38
+ * @responsive
39
+ * All classes support responsive variants using @breakpoint suffix:
40
+ * - row@md: Row direction on medium screens and up
41
+ * - between@lg: Space-between on large screens
42
+ *
43
+ * @see grid
44
+ */
45
+
4
46
  @use 'sass:math';
5
47
  @use '../utilities/media-queries' as MC;
6
- @use '../utilities/variables' as *;
7
- @use '../utilities/functions' as FN;
48
+ @use '../abstracts' as VAR;
49
+ @use '../abstracts/functions' as FN;
8
50
 
9
51
  /**
10
52
  * @description Establishes a flex container.
@@ -250,11 +292,11 @@
250
292
  @mixin no-grow { flex: none; }
251
293
 
252
294
  /**
253
- * @description Sets how many columns this would take using percentage of $column-count.
295
+ * @description Sets how many columns this would take using percentage of VAR.$column-count.
254
296
  * @param {Number} $size - The number of columns to span.
255
297
  */
256
298
  @mixin w-col($size) {
257
- flex: 0 0 math.percentage(math.div($size, $column-count));
299
+ flex: 0 0 math.percentage(math.div($size, VAR.$column-count));
258
300
  }
259
301
 
260
302
  // Base flex container
@@ -271,7 +313,7 @@
271
313
  &.wrap { flex-wrap: wrap; }
272
314
  &.nowrap { flex-wrap: nowrap; }
273
315
  &.wrap-reverse { flex-wrap: wrap-reverse; }
274
-
316
+
275
317
  // Justify modifiers
276
318
  &.start { justify-content: flex-start; }
277
319
  &.end { justify-content: flex-end; }
@@ -296,8 +338,8 @@
296
338
  &.x-content-stretch { align-content: stretch; }
297
339
 
298
340
  // Child flex items (using column count)
299
- > .w-auto { @include f-w-auto }
300
- > .w-full { @include f-w-full }
341
+ > .w-auto { @include f-w-auto; }
342
+ > .w-full { @include f-w-full; }
301
343
  > .grow { @include grow; }
302
344
  > .no-grow { @include no-grow; }
303
345
 
@@ -308,20 +350,18 @@
308
350
  > .shrink { @include shrink; }
309
351
  > .shrink-0 { @include shrink-0; }
310
352
  > .shrink-2 { @include shrink-2; }
311
- @for $i from 1 through $column-count {
312
- > .w-#{$i} { @include w-col($i) }
353
+ @for $i from 1 through VAR.$column-count {
354
+ > .w-#{$i} { @include w-col($i); }
313
355
  > .order-#{$i} { order: $i; }
314
356
  }
315
357
  }
316
358
 
317
- @each $breakpoint, $width in $breakpoints {
359
+ @each $breakpoint, $width in VAR.$breakpoints {
318
360
  // Get breakpoint value using FN function
319
361
  $bp-val: FN.get-breakpoint-value($breakpoint);
320
362
 
321
363
  @media (min-width: #{$bp-val}) {
322
364
  .flex {
323
- display: flex;
324
-
325
365
  // Direction
326
366
  &.row\@#{$breakpoint} { flex-direction: row; }
327
367
  &.row-reverse\@#{$breakpoint} { flex-direction: row-reverse; }
@@ -364,12 +404,14 @@
364
404
  & > .order-first\@#{$breakpoint} { order: -1; }
365
405
  & > .order-last\@#{$breakpoint} { order: 9999; }
366
406
  & > .order-none\@#{$breakpoint} { order: 0; }
367
- @for $i from 1 through $column-count {
368
- & > .w-#{$i}\@#{$breakpoint} { @include w-col($i) }
407
+ & > .shrink\@#{$breakpoint} { @include shrink; }
408
+ & > .shrink-0\@#{$breakpoint} { @include shrink-0; }
409
+ & > .shrink-2\@#{$breakpoint} { @include shrink-2; }
410
+
411
+ @for $i from 1 through VAR.$column-count {
412
+ & > .w-#{$i}\@#{$breakpoint} { @include w-col($i); }
413
+ & > .col-#{$i}\@#{$breakpoint} { @include w-col($i); }
369
414
  & > .order-#{$i}\@#{$breakpoint} { order: $i; }
370
- & > .shrink\@#{$breakpoint} { @include shrink; }
371
- & > .shrink-0\@#{$breakpoint} { @include shrink-0; }
372
- & > .shrink-2\@#{$breakpoint} { @include shrink-2; }
373
415
  }
374
416
  }
375
417
  }
@@ -1,9 +1,10 @@
1
1
  // Section: Layout
2
2
  // Module: Grid | Grid Inline
3
+ // Note: Gap utilities are defined in _spacing.scss
3
4
 
4
5
  @use 'sass:math';
5
- @use '../utilities/functions' as FN;
6
- @use '../utilities/variables' as *;
6
+ @use '../abstracts/functions' as FN;
7
+ @use '../abstracts' as VAR;
7
8
 
8
9
  /**
9
10
  * @description Establishes a grid container.
@@ -19,6 +20,19 @@
19
20
  @mixin cols($count) {grid-template-columns: repeat($count, minmax(0, 1fr));}
20
21
  @mixin rows($count) {grid-template-rows: repeat($count, minmax(0, 1fr));}
21
22
 
23
+
24
+ /**
25
+ * @description Establishes a grid container with a specified number of columns.
26
+ * @param {number} $count - The number of columns.
27
+
28
+ /// EXAMPLE USAGE
29
+ .custom-grid {
30
+ display: grid;
31
+ @include cols-custom("1fr_auto_1fr");
32
+ }
33
+
34
+ */
35
+
22
36
  @mixin cols-custom($template) {
23
37
  // Convert underscores to spaces so "1fr_auto" becomes "1fr auto"
24
38
  $converted: FN.str-replace($template, "_", " ");
@@ -68,42 +82,36 @@
68
82
  grid-row: $row;
69
83
  }
70
84
  @mixin position-col($col) {
71
- grid-column: $start;
85
+ grid-column: $col;
72
86
  }
73
87
  @mixin position-row($row) {
74
88
  grid-row: $row;
75
89
  }
76
90
 
77
-
78
- /// EXAMPLE USAGE
79
- .custom-grid {
80
- display: grid;
81
- @include cols-custom("1fr_auto_1fr");
82
- }
83
-
84
91
  // Classes
85
92
  .grid { @include grid; }
86
93
  .grid.inline { @include grid-inline; }
87
94
 
95
+
96
+ @for $i from 1 through VAR.$column-count {
97
+ .grid.cols-#{$i} { @include cols($i); }
98
+ .grid.rows-#{$i} { @include rows($i); }
99
+ }
100
+
88
101
  // Grid Template Classes
89
- @each $breakpoint, $width in $breakpoints {
90
- // Responsive grid columns
91
- @media (min-width: #{$width}) {
92
- .grid { @include grid; }
93
-
94
- @for $i from 1 through $column-count {
95
- .grid.cols-#{$i} { @include cols($i); }
96
- .grid.rows-#{$i} { @include rows($i); }
97
-
98
- .grid.cols-#{$i}\@#{$breakpoint} {
99
- @include cols($i);
100
- }
102
+ @each $breakpoint, $width in VAR.$breakpoints {
103
+ // Responsive grid columns
104
+ @media (min-width: #{$width}) {
105
+ @for $i from 1 through VAR.$column-count {
106
+ .grid.cols-#{$i}\@#{$breakpoint} { @include cols($i); }
107
+ .grid.rows-#{$i}\@#{$breakpoint} { @include rows($i); }
101
108
  }
102
109
  }
103
110
  }
104
111
 
112
+
105
113
  // Generate Column Span Classes with Responsive Variants
106
- @for $i from 1 through $column-count {
114
+ @for $i from 1 through VAR.$column-count {
107
115
  .span-col-#{$i} {
108
116
  @include span-col($i);
109
117
  }
@@ -112,7 +120,7 @@
112
120
  @include span-row($i);
113
121
  }
114
122
 
115
- @each $breakpoint, $width in $breakpoints {
123
+ @each $breakpoint, $width in VAR.$breakpoints {
116
124
  @media (min-width: #{$width}) {
117
125
  .span-col-#{$i}\@#{$breakpoint} {
118
126
  @include span-col($i);
@@ -127,9 +135,9 @@
127
135
 
128
136
 
129
137
  // Auto-fit/fill Classes
130
- @each $breakpoint, $width in $breakpoints {
131
- .grid.auto-fit-#{$breakpoint} { @include auto-fit($width); }
132
- .grid.auto-fill-#{$breakpoint} { @include auto-fill($width); }
138
+ @each $size, $width in VAR.$grid-item-sizes {
139
+ .grid.auto-fit-#{$size} { @include auto-fit($width); }
140
+ .grid.auto-fill-#{$size} { @include auto-fill($width); }
133
141
  }
134
142
 
135
143
  // Flow Classes
@@ -150,7 +158,7 @@ $alignments: (
150
158
  .align-items-#{$name} { align-items: $value; }
151
159
  .place-items-#{$name} { place-items: $value; }
152
160
 
153
- @each $breakpoint, $width in $breakpoints {
161
+ @each $breakpoint, $width in VAR.$breakpoints {
154
162
  @media (min-width: #{$width}) {
155
163
  .justify-items-#{$name}\@#{$breakpoint} {
156
164
  justify-items: $value;
@@ -0,0 +1,3 @@
1
+ @forward "container";
2
+ @forward "flex";
3
+ @forward "grid";