@clayui/css 3.58.0 → 3.60.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.
@@ -1,35 +1,115 @@
1
- .loading-animation {
2
- display: block;
3
- font-size: $loading-icon-font-size;
4
- height: 1em;
5
- margin-left: auto;
6
- margin-right: auto;
7
- position: relative;
8
- text-align: left;
9
- vertical-align: middle;
10
- width: 1em;
1
+ // Loading Animation Circle
2
+
3
+ @keyframes loading-animation-circle {
4
+ 100% {
5
+ transform: rotate(360deg);
6
+ }
11
7
  }
12
8
 
13
- // Loading Icon Dotted
9
+ // Loading Animation
14
10
 
15
11
  %loading-animation {
16
- @include clay-loading-animation-variant($loading-animation);
17
- }
18
-
19
- %loading-animation-light {
20
- @include clay-loading-animation-variant($loading-animation-light);
12
+ @include clay-spinner-variant($loading-animation);
21
13
  }
22
14
 
23
15
  .loading-animation {
24
16
  @extend %loading-animation !optional;
25
17
  }
26
18
 
27
- .loading-animation-light {
28
- @extend %loading-animation-light !optional;
19
+ // Loading Animation Squares
20
+
21
+ @keyframes loading-animation-squares-box-1 {
22
+ 0% {
23
+ left: 0;
24
+ opacity: 0.4;
25
+ top: 0;
26
+ transform: scale(1);
27
+ }
28
+ 25% {
29
+ left: calc(100% - 1em);
30
+ opacity: 0.4;
31
+ top: 0;
32
+ transform: scale(1);
33
+ }
34
+ 50% {
35
+ left: calc(100% - 1.5em);
36
+ opacity: 1;
37
+ top: calc(100% - 1.5em);
38
+ transform: scale(2);
39
+ }
40
+ 75% {
41
+ left: calc(1em / 2);
42
+ opacity: 1;
43
+ top: calc(100% - 1.5em);
44
+ transform: scale(2);
45
+ }
46
+ }
47
+
48
+ @keyframes loading-animation-squares-box-2 {
49
+ 0% {
50
+ left: calc(100% - 1.5em);
51
+ opacity: 1;
52
+ top: calc(100% - 1.5em);
53
+ transform: scale(2);
54
+ }
55
+ 25% {
56
+ left: calc(1em / 2);
57
+ opacity: 1;
58
+ top: calc(100% - 1.5em);
59
+ transform: scale(2);
60
+ }
61
+ 50% {
62
+ left: 0;
63
+ opacity: 0.4;
64
+ top: 0;
65
+ transform: scale(1);
66
+ }
67
+ 75% {
68
+ left: calc(100% - 1em);
69
+ opacity: 0.4;
70
+ top: 0;
71
+ transform: scale(1);
72
+ }
73
+ }
74
+
75
+ .loading-animation-squares {
76
+ @include clay-spinner-variant($loading-animation-squares);
77
+ }
78
+
79
+ // Loading Animation Sizes
80
+
81
+ @each $selector, $value in $loading-animation-sizes {
82
+ $_selector: if(
83
+ starts-with($selector, '.') or starts-with($selector, '#'),
84
+ $selector,
85
+ str-insert($selector, '.', 1)
86
+ );
87
+
88
+ #{$_selector} {
89
+ @include clay-spinner-variant($value);
90
+ }
29
91
  }
30
92
 
31
- // Loading Icon Sizes
93
+ // Loading Animation Variants
94
+
95
+ @each $selector, $value in $loading-animation-palette {
96
+ $placeholder: if(
97
+ starts-with($selector, '.') or starts-with($selector, '#'),
98
+ '%#{str-slice($selector, 2)}',
99
+ '%#{$selector}'
100
+ );
101
+
102
+ $_selector: if(
103
+ starts-with($selector, '.') or starts-with($selector, '#'),
104
+ $selector,
105
+ str-insert($selector, '.', 1)
106
+ );
107
+
108
+ #{$placeholder} {
109
+ @include clay-spinner-variant($value);
110
+ }
32
111
 
33
- .loading-animation.loading-animation-sm {
34
- font-size: $loading-icon-font-size-sm;
112
+ #{$_selector} {
113
+ @extend #{$placeholder} !optional;
114
+ }
35
115
  }
@@ -285,20 +285,18 @@
285
285
  // Inline Item
286
286
 
287
287
  .inline-item {
288
- align-items: center;
289
- display: inline-flex;
290
- vertical-align: middle;
288
+ @include clay-css($inline-item);
291
289
 
292
290
  .inline-item {
293
- display: inline;
291
+ @include clay-css(map-get($inline-item, inline-item));
294
292
  }
295
293
 
296
294
  .lexicon-icon {
297
- margin-top: $inline-item-lexicon-icon-margin-top;
295
+ @include clay-css(map-get($inline-item, lexicon-icon));
298
296
  }
299
297
 
300
298
  .loading-animation {
301
- font-size: $inline-item-loading-animation-font-size;
299
+ @include clay-css(map-get($inline-item, loading-animation));
302
300
  }
303
301
  }
304
302
 
@@ -81,6 +81,8 @@
81
81
  'caption-side',
82
82
  'clear',
83
83
  'clip',
84
+ '-webkit-clip-path',
85
+ 'clip-path',
84
86
  'color',
85
87
  'column-count',
86
88
  'column-fill',
@@ -149,6 +151,24 @@
149
151
  'margin-left',
150
152
  'margin-right',
151
153
  'margin-top',
154
+ '-webkit-mask',
155
+ '-webkit-mask-clip',
156
+ '-webkit-mask-composite',
157
+ '-webkit-mask-image',
158
+ '-webkit-mask-mode',
159
+ '-webkit-mask-origin',
160
+ '-webkit-mask-position',
161
+ '-webkit-mask-repeat',
162
+ '-webkit-mask-size',
163
+ 'mask',
164
+ 'mask-clip',
165
+ 'mask-composite',
166
+ 'mask-image',
167
+ 'mask-mode',
168
+ 'mask-origin',
169
+ 'mask-position',
170
+ 'mask-repeat',
171
+ 'mask-size',
152
172
  'max-height',
153
173
  'max-width',
154
174
  'min-height',
@@ -3,6 +3,7 @@
3
3
  ////
4
4
 
5
5
  /// A mixin for creating and customizing the Clay CSS Loading Indicator.
6
+ /// @deprecated The dotted spinner was replaced by the circular spinner with gradient.
6
7
  /// @param {Map} $map - A map of `key: value` pairs. The keys and value types are listed below:
7
8
  /// @example
8
9
  /// enabled: {Bool}, // Set to false to prevent mixin styles from being output. Default: true
@@ -83,24 +84,24 @@
83
84
  $after,
84
85
  (
85
86
  animation:
86
- setter(map-get($map, animation), map-get($after, animation)),
87
+ setter(map-get($after, animation), map-get($map, animation)),
87
88
  animation-name:
88
89
  required(
89
90
  setter(
90
- map-get($map, animation-name),
91
- map-get($after, animation-name)
91
+ map-get($after, animation-name),
92
+ map-get($map, animation-name)
92
93
  ),
93
94
  'The property `animation-name` in `#{$mixin-name}` is required!'
94
95
  ),
95
96
  border-radius:
96
97
  setter(
97
- map-get($map, border-radius),
98
- map-get($after, border-radius)
98
+ map-get($after, border-radius),
99
+ map-get($map, border-radius)
99
100
  ),
100
101
  box-shadow:
101
102
  setter(
102
- map-get($map, box-shadow),
103
103
  map-get($after, box-shadow),
104
+ map-get($map, box-shadow),
104
105
  #{0 -1em 0 $ball-0-scale $ball-0-color,
105
106
  1em -0.5em 0 $ball-5-scale $ball-5-color,
106
107
  1em 0.5em 0 $ball-4-scale $ball-4-color,
@@ -110,12 +111,14 @@
110
111
  ),
111
112
  color: $after-color,
112
113
  transform:
113
- setter(map-get($map, transform), map-get($after, transform)),
114
+ setter(map-get($after, transform), map-get($map, transform)),
114
115
  )
115
116
  );
116
117
 
117
118
  @if ($enabled) {
118
- &:after {
119
+ @include clay-css($map);
120
+
121
+ &::after {
119
122
  @include clay-css($after);
120
123
  }
121
124
 
@@ -174,3 +177,40 @@
174
177
  }
175
178
  }
176
179
  }
180
+
181
+ /// A mixin for creating and customizing the Clay CSS Spinners.
182
+ /// @param {Map} $map - A map of `key: value` pairs. The keys and value types are listed below:
183
+ /// @example
184
+ /// (
185
+ /// enabled: {Bool}, // Set to false to prevent mixin styles from being output. Default: true
186
+ /// mixin-name: {String}, // Accepts the string 'clay-loading-animation-variant' to revert to the old mixin
187
+ /// // .loading-animation
188
+ /// before: (
189
+ /// // .loading-animation::before
190
+ /// ),
191
+ /// after: (
192
+ /// // .loading-animation::after
193
+ /// ),
194
+ /// )
195
+
196
+ @mixin clay-spinner-variant($map) {
197
+ @if (type-of($map) == 'map') {
198
+ $enabled: setter(map-get($map, enabled), true);
199
+
200
+ $mixin-name: map-get($map, mixin-name);
201
+
202
+ @if ($mixin-name == 'clay-loading-animation-variant') {
203
+ @include clay-loading-animation-variant($map);
204
+ } @else if ($enabled) {
205
+ @include clay-css($map);
206
+
207
+ &::before {
208
+ @include clay-css(map-get($map, before));
209
+ }
210
+
211
+ &::after {
212
+ @include clay-css(map-get($map, after));
213
+ }
214
+ }
215
+ }
216
+ }
@@ -18,51 +18,43 @@
18
18
 
19
19
  @mixin clay-slideout-variant($map) {
20
20
  @if (setter(map-get($map, enabled), true)) {
21
- @include clay-css(setter($map, ()));
21
+ @include clay-css($map);
22
22
 
23
23
  &.c-slideout-shown {
24
- @include clay-css(setter(map-get($map, c-slideout-shown), ()));
24
+ @include clay-css(map-get($map, c-slideout-shown));
25
25
  }
26
26
 
27
27
  &.c-slideout-tbar-shown {
28
- @include clay-css(setter(map-get($map, c-slideout-tbar-shown), ()));
28
+ @include clay-css(map-get($map, c-slideout-tbar-shown));
29
29
  }
30
30
 
31
31
  &.c-slideout-tbar-shown .sidebar {
32
- @include clay-css(
33
- setter(map-get($map, c-slideout-tbar-shown-sidebar), ())
34
- );
32
+ @include clay-css(map-get($map, c-slideout-tbar-shown-sidebar));
35
33
  }
36
34
 
37
35
  .sidebar {
38
- @include clay-css(setter(map-get($map, sidebar), ()));
36
+ @include clay-css(map-get($map, sidebar));
39
37
  }
40
38
 
41
39
  .sidebar.c-slideout-show {
42
- @include clay-css(
43
- setter(map-get($map, sidebar-c-slideout-show), ())
44
- );
40
+ @include clay-css(map-get($map, sidebar-c-slideout-show));
45
41
  }
46
42
 
47
43
  .sidebar.c-slideout-transition {
48
- @include clay-css(
49
- setter(map-get($map, sidebar-c-slideout-transition), ())
50
- );
44
+ @include clay-css(map-get($map, sidebar-c-slideout-transition));
51
45
  }
52
46
 
53
47
  .tbar-stacked {
54
- @include clay-css(setter(map-get($map, tbar-stacked), ()));
48
+ @include clay-css(map-get($map, tbar-stacked));
55
49
  }
56
50
 
57
51
  .tbar-stacked.c-slideout-show {
58
- @include clay-css(
59
- setter(map-get($map, tbar-stacked-c-slideout-show), ())
60
- );
52
+ @include clay-css(map-get($map, tbar-stacked-c-slideout-show));
61
53
  }
62
54
 
63
55
  .tbar-stacked.c-slideout-transition {
64
56
  @include clay-css(
65
- setter(map-get($map, tbar-stacked-c-slideout-transition), ())
57
+ map-get($map, tbar-stacked-c-slideout-transition)
66
58
  );
67
59
  }
68
60
  }
@@ -403,7 +403,6 @@ $btn-primary: map-deep-merge(
403
403
  border-color: $primary,
404
404
  color: color-yiq($primary),
405
405
  ),
406
- loading-animation: 'loading-animation-light',
407
406
  ),
408
407
  $btn-primary
409
408
  );
@@ -480,7 +479,6 @@ $btn-secondary: map-deep-merge(
480
479
  border-color: $secondary,
481
480
  color: color-yiq($secondary),
482
481
  ),
483
- loading-animation: 'loading-animation-light',
484
482
  ),
485
483
  $btn-secondary
486
484
  );
@@ -541,7 +539,6 @@ $btn-success: map-deep-merge(
541
539
  border-color: $success,
542
540
  color: color-yiq($success),
543
541
  ),
544
- loading-animation: 'loading-animation-light',
545
542
  ),
546
543
  $btn-success
547
544
  );
@@ -596,7 +593,6 @@ $btn-info: map-deep-merge(
596
593
  border-color: $info,
597
594
  color: color-yiq($info),
598
595
  ),
599
- loading-animation: 'loading-animation-light',
600
596
  ),
601
597
  $btn-info
602
598
  );
@@ -717,7 +713,6 @@ $btn-danger: map-deep-merge(
717
713
  border-color: $danger,
718
714
  color: color-yiq($danger),
719
715
  ),
720
- loading-animation: 'loading-animation-light',
721
716
  ),
722
717
  $btn-danger
723
718
  );
@@ -826,7 +821,6 @@ $btn-dark: map-deep-merge(
826
821
  border-color: $dark,
827
822
  color: color-yiq($dark),
828
823
  ),
829
- loading-animation: 'loading-animation-light',
830
824
  ),
831
825
  $btn-dark
832
826
  );
@@ -1,37 +1,143 @@
1
+ // Loading Animation
2
+
3
+ /// @deprecated as of v3.x with no replacement
4
+
1
5
  $loading-icon-font-size: 2.5rem !default; // 40px
2
6
 
3
- $loading-icon-font-size-sm: 1.25rem !default; // 20px
7
+ /// @deprecated as of v3.x with no replacement
8
+
9
+ $loading-icon-font-size-sm: map-get($font-scale, 4) !default; // 16px
4
10
 
5
- // Loading Icon Dotted
11
+ // Loading Animation
6
12
 
7
13
  $loading-animation: () !default;
8
14
  $loading-animation: map-deep-merge(
9
15
  (
16
+ animation: loading-animation-circle 1s linear infinite,
17
+ display: block,
18
+ height: 1em,
19
+ margin-left: auto,
20
+ margin-right: auto,
21
+ position: relative,
22
+ text-align: left,
23
+ vertical-align: middle,
24
+ width: 1em,
25
+ before: (
26
+ border-radius: 50%,
27
+ box-shadow: -0.03125em -0.375em 0 0 currentColor,
28
+ content: '',
29
+ height: 0.25em,
30
+ left: 50%,
31
+ position: absolute,
32
+ top: 50%,
33
+ transform: translate(-50%, -50%),
34
+ width: 0.25em,
35
+ ),
10
36
  after: (
11
- animation: 1.2s ease-out infinite,
12
- animation-name: loading-animation,
37
+ background-color: currentColor,
13
38
  border-radius: 50%,
14
- color: $gray-900,
15
39
  content: '',
16
40
  display: block,
17
41
  height: 1em,
42
+ -webkit-mask: #{conic-gradient(transparent 10%, #000),
43
+ linear-gradient(#000 0 0) content-box},
44
+ -webkit-mask-composite: source-out,
45
+ mask-composite: subtract,
46
+ padding: 0.25em,
47
+ width: 1em,
48
+ ),
49
+ ),
50
+ $loading-animation
51
+ );
52
+
53
+ // .loading-animation-squares
54
+
55
+ $loading-animation-squares: () !default;
56
+ $loading-animation-squares: map-deep-merge(
57
+ (
58
+ display: block,
59
+ height: 1em,
60
+ margin-left: auto,
61
+ margin-right: auto,
62
+ position: relative,
63
+ text-align: left,
64
+ vertical-align: middle,
65
+ width: 1em,
66
+ before: (
67
+ animation: loading-animation-squares-box-1 2.4s ease-in-out infinite,
68
+ background-color: currentColor,
69
+ border-radius: 0.2em,
70
+ content: '',
71
+ display: block,
72
+ font-size: 0.3125em,
73
+ height: 1em,
18
74
  left: 0,
75
+ opacity: 0.4,
19
76
  position: absolute,
20
77
  top: 0,
21
- transform: scale(0.33334),
78
+ transform: scale(1),
79
+ width: 1em,
80
+ ),
81
+ after: (
82
+ animation: loading-animation-squares-box-2 2.4s ease-in-out infinite,
83
+ background-color: currentColor,
84
+ border-radius: 0.2em,
85
+ content: '',
86
+ display: block,
87
+ font-size: 0.3125em,
88
+ height: 1em,
89
+ left: calc(100% - 1.5em),
90
+ opacity: 1,
91
+ position: absolute,
92
+ top: calc(100% - 1.5em),
93
+ transform: scale(2),
22
94
  width: 1em,
23
95
  ),
24
96
  ),
25
- $loading-animation
97
+ $loading-animation-squares
98
+ );
99
+
100
+ // Loading Animation Sizes
101
+
102
+ $loading-animation-sizes: () !default;
103
+ $loading-animation-sizes: map-deep-merge(
104
+ (
105
+ loading-animation-xs: (
106
+ font-size: map-get($font-scale, 1),
107
+ ),
108
+ loading-animation-sm: (
109
+ font-size: $loading-icon-font-size-sm,
110
+ ),
111
+ loading-animation-md: (
112
+ font-size: 2rem,
113
+ ),
114
+ loading-animation-lg: (
115
+ font-size: 4rem,
116
+ ),
117
+ ),
118
+ $loading-animation-sizes
26
119
  );
27
120
 
121
+ // Loading Animation Variants
122
+
28
123
  $loading-animation-light: () !default;
29
124
  $loading-animation-light: map-deep-merge(
30
125
  (
31
- after: (
32
- animation-name: loading-animation-light,
33
- color: $white,
34
- ),
126
+ color: $white,
35
127
  ),
36
128
  $loading-animation-light
37
129
  );
130
+
131
+ $loading-animation-palette: () !default;
132
+ $loading-animation-palette: map-deep-merge(
133
+ (
134
+ loading-animation-primary: (
135
+ color: $primary,
136
+ ),
137
+ loading-animation-secondary: (
138
+ color: $secondary,
139
+ ),
140
+ loading-animation-light: $loading-animation-light,
141
+ ),
142
+ $loading-animation-palette
143
+ );
@@ -74,10 +74,10 @@ $c-slideout: map-deep-merge(
74
74
  z-index: 1,
75
75
  ),
76
76
  tbar-stacked-c-slideout-show: (
77
- display: block,
77
+ display: flex,
78
78
  ),
79
79
  tbar-stacked-c-slideout-transition: (
80
- display: block,
80
+ display: flex,
81
81
  ),
82
82
  ),
83
83
  $c-slideout
@@ -127,7 +127,28 @@ $heading-text-margin-top: auto !default;
127
127
  $inline-item-lexicon-icon-margin-top: -0.1em !default;
128
128
  $inline-item-spacer-x: 0.5rem !default; // 8px
129
129
 
130
- $inline-item-loading-animation-font-size: 1.25em !default;
130
+ $inline-item-loading-animation-font-size: null !default;
131
+
132
+ $inline-item: () !default;
133
+ $inline-item: map-deep-merge(
134
+ (
135
+ align-items: center,
136
+ display: inline-flex,
137
+ vertical-align: middle,
138
+ inline-item: (
139
+ display: inline,
140
+ ),
141
+ lexicon-icon: (
142
+ margin-top: $inline-item-lexicon-icon-margin-top,
143
+ ),
144
+ loading-animation: (
145
+ font-size: $inline-item-loading-animation-font-size,
146
+ ),
147
+ ),
148
+ $inline-item
149
+ );
150
+
151
+ // Page Header
131
152
 
132
153
  $page-header-bg: $gray-200 !default;
133
154