@clayui/css 3.60.0 → 3.61.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.
@@ -63,6 +63,7 @@
63
63
  z-index: $zindex-sidenav;
64
64
  }
65
65
 
66
+ .sidenav-end,
66
67
  .sidenav-right {
67
68
  > .sidenav-content {
68
69
  left: auto;
@@ -125,6 +126,7 @@
125
126
  width: $sidenav-width;
126
127
  }
127
128
 
129
+ &.sidenav-end,
128
130
  &.sidenav-right {
129
131
  left: auto;
130
132
  right: 0;
@@ -110,14 +110,14 @@
110
110
 
111
111
  // Sidebar Variants
112
112
 
113
- .sidebar-light {
114
- @include clay-sidebar-variant($sidebar-light);
115
- }
116
-
117
- .sidebar-light .component-navigation-bar {
118
- @include clay-navbar-variant($sidebar-light-navigation-bar);
119
- }
120
-
121
- .sidebar-dark {
122
- @include clay-sidebar-variant($sidebar-dark);
113
+ @each $color, $value in $sidebar-palette {
114
+ $selector: if(
115
+ starts-with($color, '.') or starts-with($color, '#'),
116
+ $color,
117
+ str-insert($color, '.', 1)
118
+ );
119
+
120
+ #{$selector} {
121
+ @include clay-sidebar-variant($value);
122
+ }
123
123
  }
@@ -95,17 +95,48 @@
95
95
  /// @param {Any} $num - The variable
96
96
 
97
97
  @function math-sign($num) {
98
+ @if not(type-of($num) == 'number') and not
99
+ (type-of($num) == 'string') and not
100
+ ($num == null)
101
+ {
102
+ @warn 'The value `#{$num}` is of type `#{type-of($num)}`. It must be a `number`, `string`, or `null`. This function has returned a value of `null`.';
103
+ }
104
+
98
105
  @if (type-of($num) == 'number') {
99
106
  @return -($num);
100
107
  } @else if (type-of($num) == 'string') {
101
108
  @if (starts-with($num, 'var(--')) {
102
109
  @return calc(#{$num} * -1);
110
+ } @else {
111
+ @return $num;
103
112
  }
104
113
  }
105
114
 
106
115
  @return null;
107
116
  }
108
117
 
118
+ /// A function that returns the direct parent selector (e.g., clay-parent('#wrapper .container .row')) will return `.row`.
119
+ /// @param {String} $selector - The full selector
120
+
121
+ @function clay-parent($selector) {
122
+ $selector-list: simple-selectors(clay-str-replace('#{$selector}', ' ', ''));
123
+
124
+ @return nth($selector-list, length($selector-list));
125
+ }
126
+
127
+ /// A function that inserts a CSS selector at a specific place (e.g., clay-insert-at('.container', '#content ', '#wrapper .container .row')) will return `#wrapper #content .container .row`.
128
+ /// @param {String} $location - The string to target
129
+ /// @param {String} $insert - The string to insert before the location
130
+ /// @param {String} $selector - The full selector
131
+
132
+ @function clay-insert-before($location, $insert, $selector: &) {
133
+ @return clay-str-replace(
134
+ '#{$selector}',
135
+ '#{$location}',
136
+ '#{$insert}#{$location}'
137
+ );
138
+ }
139
+
109
140
  /// A helper function for displaying warning messages for required variables.
110
141
  /// @param {Any} $var - The variable to check
111
142
  /// @param {String} $msg['This value is required!'] - The error message to display
@@ -80,6 +80,18 @@
80
80
  /// component-subtitle: (
81
81
  /// // .alert .component-subtitle
82
82
  /// ),
83
+ /// custom-selectors: (
84
+ /// // add custom selectors here, see examples below
85
+ /// btn-primary: (
86
+ /// // .alert .btn-primary
87
+ /// ),
88
+ /// btn-secondary: (
89
+ /// // .alert .btn-secondary
90
+ /// ),
91
+ /// '#custom-alert-btn': (
92
+ /// // .alert #custom-alert-btn
93
+ /// ),
94
+ /// ),
83
95
  /// )
84
96
 
85
97
  @mixin clay-alert-variant($map) {
@@ -236,6 +248,20 @@
236
248
  .component-subtitle {
237
249
  @include clay-text-typography($component-subtitle);
238
250
  }
251
+
252
+ @each $key, $properties in map-get($map, custom-selectors) {
253
+ @if ($key) {
254
+ $selector: if(
255
+ starts-with($key, '.') or starts-with($key, '#'),
256
+ $key,
257
+ str-insert($key, '.', 1)
258
+ );
259
+
260
+ #{$selector} {
261
+ @include clay-button-variant($properties);
262
+ }
263
+ }
264
+ }
239
265
  }
240
266
  }
241
267
  }