beathers 5.1.0 → 5.1.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.
@@ -1,103 +1,103 @@
1
- @use "./configs" as configs;
2
- @use "../settings/defaults" as vars;
3
- @use "../functions/colors" as colors;
4
- @use "../settings/index" as settings;
5
-
6
- html {
7
- scroll-behavior: smooth;
8
- interpolate-size: allow-keywords;
9
- }
10
-
11
- body {
12
- position: relative;
13
- font-family: "regular";
14
- overflow-x: hidden;
15
- }
16
-
17
- *,
18
- ::before,
19
- ::after {
20
- margin: 0;
21
- padding: 0;
22
- box-sizing: border-box;
23
- }
24
-
25
- :focus,
26
- button:focus {
27
- outline: unset !important;
28
- box-shadow: unset !important;
29
- }
30
-
31
- ul {
32
- margin: unset;
33
- list-style: none;
34
- padding: 0;
35
-
36
- li {
37
- margin-bottom: unset;
38
- }
39
- }
40
-
41
- a {
42
- text-decoration: unset;
43
- }
44
-
45
- @if settings.$useColors {
46
- @if settings.$useColorsLightMode {
47
- .light::selection {
48
- background-color: colors.useColorWithMap("custom-2");
49
- color: colors.useColorWithMap("white");
50
- }
51
- }
52
- @if settings.$useColorsDarkMode {
53
- .dark::selection {
54
- background-color: colors.useColorWithMap("custom-2", "dark");
55
- color: colors.useColorWithMap("black");
56
- }
57
- }
58
- }
59
-
60
- ::-webkit-scrollbar {
61
- width: 6px;
62
-
63
- &-track {
64
- background-color: transparent;
65
- border-radius: unset;
66
- }
67
- &-thumb {
68
- border-radius: 100vw;
69
- }
70
- }
71
- @if settings.$useColors {
72
- @if settings.$useColorsLightMode {
73
- .light::-webkit-scrollbar-thumb {
74
- background: colors.useColorWithMap("third");
75
- }
76
- }
77
- @if settings.$useColorsDarkMode {
78
- .dark::-webkit-scrollbar-thumb {
79
- background: colors.useColorWithMap("third", "dark");
80
- }
81
- }
82
- }
83
-
84
- @each $option, $properties in configs.$clearanceOptions {
85
- @each $property, $value in $properties {
86
- .i\:#{$option} {
87
- #{$property}: $value !important;
88
- }
89
- .#{$option} {
90
- #{$property}: $value;
91
- }
92
- }
93
- }
94
-
95
- @each $cursor in configs.$cursors {
96
- .cursor#{\:}#{$cursor} {
97
- cursor: #{$cursor};
98
- }
99
- }
100
-
101
- .scroll-smooth {
102
- scroll-behavior: smooth;
103
- }
1
+ @use "./configs" as configs;
2
+ @use "../settings/defaults" as vars;
3
+ @use "../functions/colors" as colors;
4
+ @use "../settings/index" as settings;
5
+
6
+ html {
7
+ scroll-behavior: smooth;
8
+ interpolate-size: allow-keywords;
9
+ }
10
+
11
+ body {
12
+ position: relative;
13
+ font-family: "regular";
14
+ overflow-x: hidden;
15
+ }
16
+
17
+ *,
18
+ ::before,
19
+ ::after {
20
+ margin: 0;
21
+ padding: 0;
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ :focus,
26
+ button:focus {
27
+ outline: unset !important;
28
+ box-shadow: unset !important;
29
+ }
30
+
31
+ ul {
32
+ margin: unset;
33
+ list-style: none;
34
+ padding: 0;
35
+
36
+ li {
37
+ margin-bottom: unset;
38
+ }
39
+ }
40
+
41
+ a {
42
+ text-decoration: unset;
43
+ }
44
+
45
+ @if settings.$useColors {
46
+ @if settings.$useColorsLightMode {
47
+ .light::selection {
48
+ background-color: colors.useColorWithMap("custom-2");
49
+ color: colors.useColorWithMap("white");
50
+ }
51
+ }
52
+ @if settings.$useColorsDarkMode {
53
+ .dark::selection {
54
+ background-color: colors.useColorWithMap("custom-2", "dark");
55
+ color: colors.useColorWithMap("black");
56
+ }
57
+ }
58
+ }
59
+
60
+ ::-webkit-scrollbar {
61
+ width: 6px;
62
+
63
+ &-track {
64
+ background-color: transparent;
65
+ border-radius: unset;
66
+ }
67
+ &-thumb {
68
+ border-radius: 100vw;
69
+ }
70
+ }
71
+ @if settings.$useColors {
72
+ @if settings.$useColorsLightMode {
73
+ .light::-webkit-scrollbar-thumb {
74
+ background: colors.useColorWithMap("third");
75
+ }
76
+ }
77
+ @if settings.$useColorsDarkMode {
78
+ .dark::-webkit-scrollbar-thumb {
79
+ background: colors.useColorWithMap("third", "dark");
80
+ }
81
+ }
82
+ }
83
+
84
+ @each $option, $properties in configs.$clearanceOptions {
85
+ @each $property, $value in $properties {
86
+ .i\:#{$option} {
87
+ #{$property}: $value !important;
88
+ }
89
+ .#{$option} {
90
+ #{$property}: $value;
91
+ }
92
+ }
93
+ }
94
+
95
+ @each $cursor in configs.$cursors {
96
+ .cursor#{\:}#{$cursor} {
97
+ cursor: #{$cursor};
98
+ }
99
+ }
100
+
101
+ .scroll-smooth {
102
+ scroll-behavior: smooth;
103
+ }
@@ -1,139 +1,139 @@
1
- @use "sass:map";
2
- @use "../settings/defaults" as vars;
3
- @use "../functions/validations" as val;
4
- @use "../settings/configs" as configs;
5
- @use "../functions/colors" as colors;
6
- @use "../settings/index" as settings;
7
-
8
- // Colors System Module
9
- // --------------------------
10
- // This file is responsible for generating color utility classes and CSS variables
11
- // based on the color maps defined in the variables file.
12
- //
13
- // Key features:
14
- // 1. Generates color utility classes from the main colors map
15
- // 2. Creates currentColor utility classes
16
- // 3. Sets up CSS variables for all defined colors
17
- //
18
- // The color system supports:
19
- // - Light and dark mode theming
20
- // - Opacity variations
21
- // - Pseudo-class variants (:hover, :focus, etc.)
22
- //
23
- // @requires ../functions/colors.scss - For color utility functions and mixins
24
- // @requires ../settings/configs.scss - For configuration variables
25
- // @requires ../functions/validations.scss - For validation utilities
26
- // @requires ../settings/defaults.scss - For color definitions
27
-
28
- @if settings.$useColors {
29
- // Color Utility Classes
30
- // --------------------
31
- // Generate color utility classes from the main colors map.
32
- // Uses the useColorsMap mixin from colors functions to create a comprehensive
33
- // set of color utilities for all the colors defined in vars.$colors.
34
- //
35
- // Generated classes include:
36
- // - .color-[colorName] - Sets text color
37
- // - .bg-color-[colorName] - Sets background color
38
- // - .border-color-[colorName] - Sets border color
39
- //
40
- // With light/dark theme variants:
41
- // - Automatically applies correct color based on .light/.dark context
42
- // - Supports direct class application with .color-[colorName].light
43
- //
44
- // With opacity variants (e.g., :50 for 50% opacity):
45
- // - .color-[colorName]:50
46
- // - .bg-color-[colorName]:75
47
- //
48
- // With pseudo-class variants:
49
- // - .color-[colorName]:hover
50
- // - .bg-color-[colorName]:focus
51
- @include colors.useColorsMap();
52
- }
53
-
54
- @if settings.$useCurrentColors {
55
- // CurrentColor Utility Classes
56
- // ----------------------------
57
- // Creates utility classes for applying the CSS `currentColor` value to various CSS properties
58
- // as defined in the configs.$colorsPropertiesMap.
59
- //
60
- // For each property in the map (color, background-color, border-color, etc.):
61
- // - Creates a base class (.{property}-current-color)
62
- // - Creates pseudo-class variants for interaction states
63
- //
64
- // Examples:
65
- // - .current-color { color: currentColor; }
66
- // - .bg-current-color { background-color: currentColor; }
67
- // - .border-current-color { border-color: currentColor; }
68
- // - .current-color\:hover:hover { color: currentColor; }
69
- // - .bg-current-color\:focus:focus { background-color: currentColor; }
70
- //
71
- // Usage:
72
- // <div class="current-color bg-current-color:hover">
73
- // This text uses currentColor and background changes to currentColor on hover
74
- // </div>
75
- @each $class, $property in configs.$colorsPropertiesMap {
76
- $mainClass: if($class, "#{$class}#{\:}current-color", "current-color");
77
-
78
- .#{$mainClass} {
79
- #{$property}: currentColor;
80
-
81
- @each $pseudoClass, $pseudo in configs.$colorsPseudoMap {
82
- @if $pseudoClass != "placeholder" or ($pseudoClass == "placeholder" and $class == null) {
83
- &#{\:}#{$pseudoClass}#{$pseudo} {
84
- #{$property}: currentColor;
85
- }
86
- }
87
- }
88
- }
89
- }
90
- }
91
-
92
- @if settings.$useRootColors {
93
- // CSS Color Variables
94
- // ------------------
95
- // Generates CSS custom properties (variables) for all colors in the vars.$colors map.
96
- // These variables can be used throughout the application to ensure color consistency.
97
- //
98
- // The implementation:
99
- // 1. Iterates through each color in the vars.$colors map
100
- // 2. Validates the color values through val.mapItem and val.hexColor functions
101
- // 3. Determines if light and dark variants are the same
102
- // 4. Creates appropriate CSS variables based on variant differences
103
- //
104
- // Format:
105
- // - For colors with light/dark variants: --color-{name}-{variant}: {color-value}
106
- // - For colors without variants: --color-{name}: {color-value}
107
- //
108
- // Examples:
109
- // --color-main-light: #ffffff
110
- // --color-main-dark: #1a1d21
111
- // --color-accent: #3498db (when light and dark variants are the same)
112
- //
113
- // Usage:
114
- // .my-element {
115
- // background-color: var(--color-main-light);
116
- // color: var(--color-accent);
117
- // }
118
- :root {
119
- @each $color, $modes in vars.$colors {
120
- // Validate parameters
121
- $checkedLight: val.mapItem($modes, "light", "light/dark", "root-colors()");
122
- $checkedDark: val.mapItem($modes, "dark", "light/dark", "root-colors()");
123
-
124
- $light: map.get($modes, "light");
125
- $dark: map.get($modes, "dark");
126
-
127
- // Validate colors
128
- $checkedLightValue: val.hexColor("#{$color}.light", $light, "root-colors()");
129
- $checkedDarkValue: val.hexColor("#{$color}.dark", $dark, "root-colors()");
130
-
131
- @if ($light == $dark) {
132
- --color-#{$color}: #{$checkedLightValue};
133
- } @else {
134
- --color-#{$color}-light: #{$checkedLightValue};
135
- --color-#{$color}-dark: #{$checkedDarkValue};
136
- }
137
- }
138
- }
139
- }
1
+ @use "sass:map";
2
+ @use "../settings/defaults" as vars;
3
+ @use "../functions/validations" as val;
4
+ @use "../settings/configs" as configs;
5
+ @use "../functions/colors" as colors;
6
+ @use "../settings/index" as settings;
7
+
8
+ // Colors System Module
9
+ // --------------------------
10
+ // This file is responsible for generating color utility classes and CSS variables
11
+ // based on the color maps defined in the variables file.
12
+ //
13
+ // Key features:
14
+ // 1. Generates color utility classes from the main colors map
15
+ // 2. Creates currentColor utility classes
16
+ // 3. Sets up CSS variables for all defined colors
17
+ //
18
+ // The color system supports:
19
+ // - Light and dark mode theming
20
+ // - Opacity variations
21
+ // - Pseudo-class variants (:hover, :focus, etc.)
22
+ //
23
+ // @requires ../functions/colors.scss - For color utility functions and mixins
24
+ // @requires ../settings/configs.scss - For configuration variables
25
+ // @requires ../functions/validations.scss - For validation utilities
26
+ // @requires ../settings/defaults.scss - For color definitions
27
+
28
+ @if settings.$useColors {
29
+ // Color Utility Classes
30
+ // --------------------
31
+ // Generate color utility classes from the main colors map.
32
+ // Uses the useColorsMap mixin from colors functions to create a comprehensive
33
+ // set of color utilities for all the colors defined in vars.$colors.
34
+ //
35
+ // Generated classes include:
36
+ // - .color-[colorName] - Sets text color
37
+ // - .bg-color-[colorName] - Sets background color
38
+ // - .border-color-[colorName] - Sets border color
39
+ //
40
+ // With light/dark theme variants:
41
+ // - Automatically applies correct color based on .light/.dark context
42
+ // - Supports direct class application with .color-[colorName].light
43
+ //
44
+ // With opacity variants (e.g., :50 for 50% opacity):
45
+ // - .color-[colorName]:50
46
+ // - .bg-color-[colorName]:75
47
+ //
48
+ // With pseudo-class variants:
49
+ // - .color-[colorName]:hover
50
+ // - .bg-color-[colorName]:focus
51
+ @include colors.useColorsMap();
52
+ }
53
+
54
+ @if settings.$useCurrentColors {
55
+ // CurrentColor Utility Classes
56
+ // ----------------------------
57
+ // Creates utility classes for applying the CSS `currentColor` value to various CSS properties
58
+ // as defined in the configs.$colorsPropertiesMap.
59
+ //
60
+ // For each property in the map (color, background-color, border-color, etc.):
61
+ // - Creates a base class (.{property}-current-color)
62
+ // - Creates pseudo-class variants for interaction states
63
+ //
64
+ // Examples:
65
+ // - .current-color { color: currentColor; }
66
+ // - .bg-current-color { background-color: currentColor; }
67
+ // - .border-current-color { border-color: currentColor; }
68
+ // - .current-color\:hover:hover { color: currentColor; }
69
+ // - .bg-current-color\:focus:focus { background-color: currentColor; }
70
+ //
71
+ // Usage:
72
+ // <div class="current-color bg-current-color:hover">
73
+ // This text uses currentColor and background changes to currentColor on hover
74
+ // </div>
75
+ @each $class, $property in configs.$colorsPropertiesMap {
76
+ $mainClass: if($class, "#{$class}#{\:}current-color", "current-color");
77
+
78
+ .#{$mainClass} {
79
+ #{$property}: currentColor;
80
+
81
+ @each $pseudoClass, $pseudo in configs.$colorsPseudoMap {
82
+ @if $pseudoClass != "placeholder" or ($pseudoClass == "placeholder" and $class == null) {
83
+ &#{\:}#{$pseudoClass}#{$pseudo} {
84
+ #{$property}: currentColor;
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+
92
+ @if settings.$useRootColors {
93
+ // CSS Color Variables
94
+ // ------------------
95
+ // Generates CSS custom properties (variables) for all colors in the vars.$colors map.
96
+ // These variables can be used throughout the application to ensure color consistency.
97
+ //
98
+ // The implementation:
99
+ // 1. Iterates through each color in the vars.$colors map
100
+ // 2. Validates the color values through val.mapItem and val.hexColor functions
101
+ // 3. Determines if light and dark variants are the same
102
+ // 4. Creates appropriate CSS variables based on variant differences
103
+ //
104
+ // Format:
105
+ // - For colors with light/dark variants: --color-{name}-{variant}: {color-value}
106
+ // - For colors without variants: --color-{name}: {color-value}
107
+ //
108
+ // Examples:
109
+ // --color-main-light: #ffffff
110
+ // --color-main-dark: #1a1d21
111
+ // --color-accent: #3498db (when light and dark variants are the same)
112
+ //
113
+ // Usage:
114
+ // .my-element {
115
+ // background-color: var(--color-main-light);
116
+ // color: var(--color-accent);
117
+ // }
118
+ :root {
119
+ @each $color, $modes in vars.$colors {
120
+ // Validate parameters
121
+ $checkedLight: val.mapItem($modes, "light", "light/dark", "root-colors()");
122
+ $checkedDark: val.mapItem($modes, "dark", "light/dark", "root-colors()");
123
+
124
+ $light: map.get($modes, "light");
125
+ $dark: map.get($modes, "dark");
126
+
127
+ // Validate colors
128
+ $checkedLightValue: val.hexColor("#{$color}.light", $light, "root-colors()");
129
+ $checkedDarkValue: val.hexColor("#{$color}.dark", $dark, "root-colors()");
130
+
131
+ @if ($light == $dark) {
132
+ --color-#{$color}: #{$checkedLightValue};
133
+ } @else {
134
+ --color-#{$color}-light: #{$checkedLightValue};
135
+ --color-#{$color}-dark: #{$checkedDarkValue};
136
+ }
137
+ }
138
+ }
139
+ }
@@ -1,92 +1,92 @@
1
- @use "../functions/mediaQueries" as mQ;
2
- @use "../settings/configs" as configs;
3
- @use "../functions/validations" as val;
4
- @use "../settings/index" as settings;
5
- @use "../functions/others" as func;
6
-
7
- @if settings.$useGrid {
8
- .grid {
9
- display: grid;
10
-
11
- @include mQ.multiSizes() using ($size, $divider) {
12
- @include func.gridDivision(column, $size, $divider);
13
- @include func.gridDivision(row, $size, $divider);
14
- }
15
- }
16
- }
17
-
18
- @if settings.$useFlex {
19
- .flex {
20
- display: flex;
21
- flex-direction: row;
22
- flex-wrap: wrap;
23
-
24
- @include mQ.multiSizes() using ($size, $divider) {
25
- @each $property, $values in configs.$flexProperties {
26
- // Validate parameters
27
- $checkedProperty: val.listItem((flex-wrap, flex-direction), $property, "flex.properties");
28
-
29
- @each $value in $values {
30
- // Validate parameters
31
- $checkedProperty: val.listItem(
32
- (wrap, nowrap, row, row-reverse, column, column-reverse),
33
- $value,
34
- "flex.properties.values"
35
- );
36
-
37
- $mainClass: if($size, #{$size}#{$divider}#{$value}, $value);
38
-
39
- &.#{$mainClass} {
40
- #{$property}: if($size, $value !important, $value);
41
- }
42
- }
43
- }
44
-
45
- &.row,
46
- &.row-reverse {
47
- @include func.flexDivision(width, "cols", $size, $divider);
48
- @include func.flexDivision(width, "col", $size, $divider);
49
- }
50
- &.column,
51
- &.column-reverse {
52
- @include func.flexDivision(height, "rows", $size, $divider);
53
- @include func.flexDivision(height, "row", $size, $divider);
54
- }
55
- }
56
- }
57
- }
58
-
59
- @if settings.$useFlex or settings.$useGrid {
60
- @include mQ.multiSizes() using ($size, $divider) {
61
- @each $way, $selections in configs.$justify {
62
- @each $selection, $properties in $selections {
63
- @each $property in $properties {
64
- $mainClass: if(
65
- $size,
66
- "#{$size}#{$divider}#{$way}-#{$selection}#{\:}",
67
- "#{$way}-#{$selection}#{\:}"
68
- );
69
-
70
- .#{$mainClass} {
71
- $prefix: if(
72
- $property == "around" or $property == "between" or $property == "evenly",
73
- "space-",
74
- ""
75
- );
76
- $flexPrefix: if($property == "start" or $property == "end", "flex-", "");
77
- $value: #{$prefix}#{$property};
78
- $flexValue: #{$flexPrefix}#{$value};
79
-
80
- &#{$property} {
81
- &.flex {
82
- #{$way}-#{$selection}: if($size, $flexValue !important, $flexValue);
83
- }
84
-
85
- #{$way}-#{$selection}: if($size, $value !important, $value);
86
- }
87
- }
88
- }
89
- }
90
- }
91
- }
92
- }
1
+ @use "../functions/mediaQueries" as mQ;
2
+ @use "../settings/configs" as configs;
3
+ @use "../functions/validations" as val;
4
+ @use "../settings/index" as settings;
5
+ @use "../functions/others" as func;
6
+
7
+ @if settings.$useGrid {
8
+ .grid {
9
+ display: grid;
10
+
11
+ @include mQ.multiSizes() using ($size, $divider) {
12
+ @include func.gridDivision(column, $size, $divider);
13
+ @include func.gridDivision(row, $size, $divider);
14
+ }
15
+ }
16
+ }
17
+
18
+ @if settings.$useFlex {
19
+ .flex {
20
+ display: flex;
21
+ flex-direction: row;
22
+ flex-wrap: wrap;
23
+
24
+ @include mQ.multiSizes() using ($size, $divider) {
25
+ @each $property, $values in configs.$flexProperties {
26
+ // Validate parameters
27
+ $checkedProperty: val.listItem((flex-wrap, flex-direction), $property, "flex.properties");
28
+
29
+ @each $value in $values {
30
+ // Validate parameters
31
+ $checkedProperty: val.listItem(
32
+ (wrap, nowrap, row, row-reverse, column, column-reverse),
33
+ $value,
34
+ "flex.properties.values"
35
+ );
36
+
37
+ $mainClass: if($size, #{$size}#{$divider}#{$value}, $value);
38
+
39
+ &.#{$mainClass} {
40
+ #{$property}: if($size, $value !important, $value);
41
+ }
42
+ }
43
+ }
44
+
45
+ &.row,
46
+ &.row-reverse {
47
+ @include func.flexDivision(width, "cols", $size, $divider);
48
+ @include func.flexDivision(width, "col", $size, $divider);
49
+ }
50
+ &.column,
51
+ &.column-reverse {
52
+ @include func.flexDivision(height, "rows", $size, $divider);
53
+ @include func.flexDivision(height, "row", $size, $divider);
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+ @if settings.$useFlex or settings.$useGrid {
60
+ @include mQ.multiSizes() using ($size, $divider) {
61
+ @each $way, $selections in configs.$justify {
62
+ @each $selection, $properties in $selections {
63
+ @each $property in $properties {
64
+ $mainClass: if(
65
+ $size,
66
+ "#{$size}#{$divider}#{$way}-#{$selection}#{\:}",
67
+ "#{$way}-#{$selection}#{\:}"
68
+ );
69
+
70
+ .#{$mainClass} {
71
+ $prefix: if(
72
+ $property == "around" or $property == "between" or $property == "evenly",
73
+ "space-",
74
+ ""
75
+ );
76
+ $flexPrefix: if($property == "start" or $property == "end", "flex-", "");
77
+ $value: #{$prefix}#{$property};
78
+ $flexValue: #{$flexPrefix}#{$value};
79
+
80
+ &#{$property} {
81
+ &.flex {
82
+ #{$way}-#{$selection}: if($size, $flexValue !important, $flexValue);
83
+ }
84
+
85
+ #{$way}-#{$selection}: if($size, $value !important, $value);
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }