@lumx/core 2.1.9-alpha-thumbnail → 2.1.9

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.
package/package.json CHANGED
@@ -42,7 +42,7 @@
42
42
  "version": "yarn version-changelog ../../CHANGELOG.md && yarn changelog-verify ../../CHANGELOG.md && git add ../../CHANGELOG.md"
43
43
  },
44
44
  "sideEffects": false,
45
- "version": "2.1.9-alpha-thumbnail",
45
+ "version": "2.1.9",
46
46
  "devDependencies": {
47
47
  "@babel/core": "^7.8.3",
48
48
  "@babel/plugin-proposal-class-properties": "^7.8.3",
@@ -82,5 +82,5 @@
82
82
  "moment": "^2.24.0",
83
83
  "moment-range": "^4.0.2"
84
84
  },
85
- "gitHead": "e89e3ca2d44ff4b4aeb73af5662aea190d93f8a3"
85
+ "gitHead": "fdcfec63e1d0e4e82934a34b6e27c8076f9cba8d"
86
86
  }
@@ -23,7 +23,6 @@
23
23
  @import './components/radio-button/mixins';
24
24
  @import './components/select/mixins';
25
25
  @import './components/side-navigation/mixins';
26
- @import './components/skeleton/mixins';
27
26
  @import './components/slideshow/variables';
28
27
  @import './components/switch/mixins';
29
28
  @import './components/table/mixins';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 19 Oct 2021 08:35:24 GMT
3
+ * Generated on Tue, 30 Nov 2021 09:20:09 GMT
4
4
  */
5
5
 
6
6
  $lumx-button-height: 36px !default;
@@ -47,7 +47,12 @@ $lumx-button-emphasis-medium-state-default-theme-light-background-color: rgba(
47
47
  0,
48
48
  0.12
49
49
  ) !default; // Base dark color with 12% opacity
50
- $lumx-button-emphasis-medium-state-default-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
50
+ $lumx-button-emphasis-medium-state-default-theme-light-color: rgba(
51
+ 0,
52
+ 0,
53
+ 0,
54
+ 0.7
55
+ ) !default; // Base dark color with 70% opacity
51
56
  $lumx-button-emphasis-medium-state-default-theme-light-border-color: transparent !default;
52
57
  $lumx-button-emphasis-medium-state-default-theme-dark-background-color: rgba(
53
58
  255,
@@ -65,7 +70,12 @@ $lumx-button-emphasis-medium-state-hover-theme-light-background-color: rgba(
65
70
  0,
66
71
  0.2
67
72
  ) !default; // Base dark color with 20% opacity
68
- $lumx-button-emphasis-medium-state-hover-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
73
+ $lumx-button-emphasis-medium-state-hover-theme-light-color: rgba(
74
+ 0,
75
+ 0,
76
+ 0,
77
+ 0.7
78
+ ) !default; // Base dark color with 70% opacity
69
79
  $lumx-button-emphasis-medium-state-hover-theme-light-border-color: transparent !default;
70
80
  $lumx-button-emphasis-medium-state-hover-theme-dark-background-color: rgba(
71
81
  255,
@@ -83,7 +93,12 @@ $lumx-button-emphasis-medium-state-active-theme-light-background-color: rgba(
83
93
  0,
84
94
  0.38
85
95
  ) !default; // Base dark color with 38% opacity
86
- $lumx-button-emphasis-medium-state-active-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
96
+ $lumx-button-emphasis-medium-state-active-theme-light-color: rgba(
97
+ 0,
98
+ 0,
99
+ 0,
100
+ 0.7
101
+ ) !default; // Base dark color with 70% opacity
87
102
  $lumx-button-emphasis-medium-state-active-theme-light-border-color: transparent !default;
88
103
  $lumx-button-emphasis-medium-state-active-theme-dark-background-color: rgba(
89
104
  255,
@@ -96,7 +111,12 @@ $lumx-button-emphasis-medium-state-active-theme-dark-border-color: transparent !
96
111
  $lumx-button-emphasis-low-state-default-padding-horizontal: 8px !default;
97
112
  $lumx-button-emphasis-low-state-default-border-width: 0 !default;
98
113
  $lumx-button-emphasis-low-state-default-theme-light-background-color: transparent !default;
99
- $lumx-button-emphasis-low-state-default-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
114
+ $lumx-button-emphasis-low-state-default-theme-light-color: rgba(
115
+ 0,
116
+ 0,
117
+ 0,
118
+ 0.7
119
+ ) !default; // Base dark color with 70% opacity
100
120
  $lumx-button-emphasis-low-state-default-theme-light-border-color: transparent !default;
101
121
  $lumx-button-emphasis-low-state-default-theme-dark-background-color: transparent !default;
102
122
  $lumx-button-emphasis-low-state-default-theme-dark-color: #fff !default; // Neutral light color
@@ -109,7 +129,12 @@ $lumx-button-emphasis-low-state-hover-theme-light-background-color: rgba(
109
129
  0,
110
130
  0.12
111
131
  ) !default; // Base dark color with 12% opacity
112
- $lumx-button-emphasis-low-state-hover-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
132
+ $lumx-button-emphasis-low-state-hover-theme-light-color: rgba(
133
+ 0,
134
+ 0,
135
+ 0,
136
+ 0.7
137
+ ) !default; // Base dark color with 70% opacity
113
138
  $lumx-button-emphasis-low-state-hover-theme-light-border-color: transparent !default;
114
139
  $lumx-button-emphasis-low-state-hover-theme-dark-background-color: rgba(
115
140
  255,
@@ -127,7 +152,12 @@ $lumx-button-emphasis-low-state-active-theme-light-background-color: rgba(
127
152
  0,
128
153
  0.2
129
154
  ) !default; // Base dark color with 20% opacity
130
- $lumx-button-emphasis-low-state-active-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
155
+ $lumx-button-emphasis-low-state-active-theme-light-color: rgba(
156
+ 0,
157
+ 0,
158
+ 0,
159
+ 0.7
160
+ ) !default; // Base dark color with 70% opacity
131
161
  $lumx-button-emphasis-low-state-active-theme-light-border-color: transparent !default;
132
162
  $lumx-button-emphasis-low-state-active-theme-dark-background-color: rgba(
133
163
  255,
@@ -229,8 +259,8 @@ $lumx-navigation-item-emphasis-low-state-default-theme-light-icon-color: rgba(
229
259
  0,
230
260
  0,
231
261
  0,
232
- 0.87
233
- ) !default; // Neutral dark color
262
+ 0.7
263
+ ) !default; // Base dark color with 70% opacity
234
264
  $lumx-navigation-item-emphasis-low-state-default-theme-light-label-color: rgba(
235
265
  0,
236
266
  0,
@@ -242,8 +272,8 @@ $lumx-navigation-item-emphasis-low-state-default-theme-light-chevron-color: rgba
242
272
  0,
243
273
  0,
244
274
  0,
245
- 0.87
246
- ) !default; // Neutral dark color
275
+ 0.7
276
+ ) !default; // Base dark color with 70% opacity
247
277
  $lumx-navigation-item-emphasis-low-state-default-theme-dark-background-color: transparent !default;
248
278
  $lumx-navigation-item-emphasis-low-state-default-theme-dark-border-color: rgba(
249
279
  255,
@@ -275,8 +305,8 @@ $lumx-navigation-item-emphasis-low-state-hover-theme-light-icon-color: rgba(
275
305
  0,
276
306
  0,
277
307
  0,
278
- 0.87
279
- ) !default; // Neutral dark color
308
+ 0.7
309
+ ) !default; // Base dark color with 70% opacity
280
310
  $lumx-navigation-item-emphasis-low-state-hover-theme-light-label-color: rgba(
281
311
  0,
282
312
  0,
@@ -293,8 +323,8 @@ $lumx-navigation-item-emphasis-low-state-hover-theme-light-chevron-color: rgba(
293
323
  0,
294
324
  0,
295
325
  0,
296
- 0.87
297
- ) !default; // Neutral dark color
326
+ 0.7
327
+ ) !default; // Base dark color with 70% opacity
298
328
  $lumx-navigation-item-emphasis-low-state-hover-theme-dark-background-color: rgba(
299
329
  255,
300
330
  255,
@@ -336,8 +366,8 @@ $lumx-navigation-item-emphasis-low-state-active-theme-light-icon-color: rgba(
336
366
  0,
337
367
  0,
338
368
  0,
339
- 0.87
340
- ) !default; // Neutral dark color
369
+ 0.7
370
+ ) !default; // Base dark color with 70% opacity
341
371
  $lumx-navigation-item-emphasis-low-state-active-theme-light-label-color: rgba(
342
372
  0,
343
373
  0,
@@ -354,8 +384,8 @@ $lumx-navigation-item-emphasis-low-state-active-theme-light-chevron-color: rgba(
354
384
  0,
355
385
  0,
356
386
  0,
357
- 0.87
358
- ) !default; // Neutral dark color
387
+ 0.7
388
+ ) !default; // Base dark color with 70% opacity
359
389
  $lumx-navigation-item-emphasis-low-state-active-theme-dark-background-color: rgba(
360
390
  255,
361
391
  255,
@@ -480,7 +510,12 @@ $lumx-tabs-link-emphasis-low-state-default-border-right-width: 0 !default;
480
510
  $lumx-tabs-link-emphasis-low-state-default-border-bottom-width: 2px !default;
481
511
  $lumx-tabs-link-emphasis-low-state-default-border-left-width: 0 !default;
482
512
  $lumx-tabs-link-emphasis-low-state-default-theme-light-background-color: transparent !default;
483
- $lumx-tabs-link-emphasis-low-state-default-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
513
+ $lumx-tabs-link-emphasis-low-state-default-theme-light-color: rgba(
514
+ 0,
515
+ 0,
516
+ 0,
517
+ 0.7
518
+ ) !default; // Base dark color with 70% opacity
484
519
  $lumx-tabs-link-emphasis-low-state-default-theme-light-border-color: rgba(
485
520
  0,
486
521
  0,
@@ -505,7 +540,12 @@ $lumx-tabs-link-emphasis-low-state-hover-theme-light-background-color: rgba(
505
540
  0,
506
541
  0.12
507
542
  ) !default; // Base dark color with 12% opacity
508
- $lumx-tabs-link-emphasis-low-state-hover-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
543
+ $lumx-tabs-link-emphasis-low-state-hover-theme-light-color: rgba(
544
+ 0,
545
+ 0,
546
+ 0,
547
+ 0.7
548
+ ) !default; // Base dark color with 70% opacity
509
549
  $lumx-tabs-link-emphasis-low-state-hover-theme-light-border-color: rgba(
510
550
  0,
511
551
  0,
@@ -535,7 +575,12 @@ $lumx-tabs-link-emphasis-low-state-active-theme-light-background-color: rgba(
535
575
  0,
536
576
  0.2
537
577
  ) !default; // Base dark color with 20% opacity
538
- $lumx-tabs-link-emphasis-low-state-active-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
578
+ $lumx-tabs-link-emphasis-low-state-active-theme-light-color: rgba(
579
+ 0,
580
+ 0,
581
+ 0,
582
+ 0.7
583
+ ) !default; // Base dark color with 70% opacity
539
584
  $lumx-tabs-link-emphasis-low-state-active-theme-light-border-color: rgba(
540
585
  0,
541
586
  0,
@@ -560,7 +605,12 @@ $lumx-tabs-link-emphasis-selected-state-default-border-right-width: 0 !default;
560
605
  $lumx-tabs-link-emphasis-selected-state-default-border-bottom-width: 2px !default;
561
606
  $lumx-tabs-link-emphasis-selected-state-default-border-left-width: 0 !default;
562
607
  $lumx-tabs-link-emphasis-selected-state-default-theme-light-background-color: transparent !default;
563
- $lumx-tabs-link-emphasis-selected-state-default-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
608
+ $lumx-tabs-link-emphasis-selected-state-default-theme-light-color: rgba(
609
+ 0,
610
+ 0,
611
+ 0,
612
+ 0.7
613
+ ) !default; // Base dark color with 70% opacity
564
614
  $lumx-tabs-link-emphasis-selected-state-default-theme-light-border-color: var(--lumx-color-primary-N) !default;
565
615
  $lumx-tabs-link-emphasis-selected-state-default-theme-dark-background-color: transparent !default;
566
616
  $lumx-tabs-link-emphasis-selected-state-default-theme-dark-color: #fff !default; // Neutral light color
@@ -575,7 +625,12 @@ $lumx-tabs-link-emphasis-selected-state-hover-theme-light-background-color: rgba
575
625
  0,
576
626
  0.12
577
627
  ) !default; // Base dark color with 12% opacity
578
- $lumx-tabs-link-emphasis-selected-state-hover-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
628
+ $lumx-tabs-link-emphasis-selected-state-hover-theme-light-color: rgba(
629
+ 0,
630
+ 0,
631
+ 0,
632
+ 0.7
633
+ ) !default; // Base dark color with 70% opacity
579
634
  $lumx-tabs-link-emphasis-selected-state-hover-theme-light-border-color: var(--lumx-color-primary-N) !default;
580
635
  $lumx-tabs-link-emphasis-selected-state-hover-theme-dark-background-color: rgba(
581
636
  255,
@@ -595,7 +650,12 @@ $lumx-tabs-link-emphasis-selected-state-active-theme-light-background-color: rgb
595
650
  0,
596
651
  0.2
597
652
  ) !default; // Base dark color with 20% opacity
598
- $lumx-tabs-link-emphasis-selected-state-active-theme-light-color: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
653
+ $lumx-tabs-link-emphasis-selected-state-active-theme-light-color: rgba(
654
+ 0,
655
+ 0,
656
+ 0,
657
+ 0.7
658
+ ) !default; // Base dark color with 70% opacity
599
659
  $lumx-tabs-link-emphasis-selected-state-active-theme-light-border-color: var(--lumx-color-primary-N) !default;
600
660
  $lumx-tabs-link-emphasis-selected-state-active-theme-dark-background-color: rgba(
601
661
  255,
@@ -730,7 +790,7 @@ $lumx-text-field-state-focus-theme-dark-input-placeholder-color: rgba(
730
790
  ) !default; // Base light color with 80% opacity
731
791
  $lumx-border-radius: 4px !default;
732
792
  $lumx-color-dark-N: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
733
- $lumx-color-dark-L1: rgba(0, 0, 0, 0.8) !default; // Base dark color with 80% opacity
793
+ $lumx-color-dark-L1: rgba(0, 0, 0, 0.7) !default; // Base dark color with 70% opacity
734
794
  $lumx-color-dark-L2: rgba(0, 0, 0, 0.54) !default; // Base dark color with 54% opacity
735
795
  $lumx-color-dark-L3: rgba(0, 0, 0, 0.38) !default; // Base dark color with 38% opacity
736
796
  $lumx-color-dark-L4: rgba(0, 0, 0, 0.2) !default; // Base dark color with 20% opacity
@@ -814,7 +874,7 @@ $lumx-color-accent-L4: rgba(76, 175, 80, 0.2) !default; // Base green color with
814
874
  $lumx-color-accent-L5: rgba(76, 175, 80, 0.1) !default; // Base green color with 10% opacity
815
875
  $lumx-color-accent-L6: rgba(76, 175, 80, 0.05) !default; // Base green color with 5% opacity
816
876
  $lumx-color-black-N: rgba(0, 0, 0, 0.87) !default; // Neutral dark color
817
- $lumx-color-black-L1: rgba(0, 0, 0, 0.8) !default; // Base dark color with 80% opacity
877
+ $lumx-color-black-L1: rgba(0, 0, 0, 0.7) !default; // Base dark color with 70% opacity
818
878
  $lumx-color-black-L2: rgba(0, 0, 0, 0.54) !default; // Base dark color with 54% opacity
819
879
  $lumx-color-black-L3: rgba(0, 0, 0, 0.38) !default; // Base dark color with 38% opacity
820
880
  $lumx-color-black-L4: rgba(0, 0, 0, 0.2) !default; // Base dark color with 20% opacity
@@ -82,6 +82,12 @@
82
82
  &.#{$lumx-base-prefix}-chip--is-highlighted {
83
83
  @include lumx-state(lumx-base-const('state', 'FOCUS'), lumx-base-const('emphasis', 'MEDIUM'), $key);
84
84
  }
85
+
86
+ @if $key == 'dark' {
87
+ .#{$lumx-base-prefix}-chip__label {
88
+ color: lumx-color-variant('dark', 'L1');
89
+ }
90
+ }
85
91
  }
86
92
  }
87
93
 
@@ -25,9 +25,14 @@
25
25
  @each $key, $color in $lumx-color-palette {
26
26
  .#{$lumx-base-prefix}-flag--color-#{$key} {
27
27
  border: 2px solid lumx-color-variant($key, 'L4');
28
- }
29
28
 
30
- .#{$lumx-base-prefix}-flag--color-#{$key} .#{$lumx-base-prefix}-flag__label {
31
- color: lumx-color-variant($key, 'D2');
29
+ .#{$lumx-base-prefix}-flag__label,
30
+ .#{$lumx-base-prefix}-flag__icon {
31
+ @if $key == 'dark' {
32
+ color: lumx-color-variant($key, 'L1');
33
+ } @else {
34
+ color: lumx-color-variant($key, 'D2');
35
+ }
36
+ }
32
37
  }
33
38
  }
@@ -16,6 +16,10 @@
16
16
  background-color: lumx-color-variant($color, 'L5');
17
17
  color: lumx-color-variant($color, 'L2');
18
18
  } @else if $has-shape == false {
19
- color: lumx-color-variant($color, 'N');
19
+ @if $color == 'dark' {
20
+ color: lumx-color-variant('dark', 'L1');
21
+ } @else {
22
+ color: lumx-color-variant($color, 'N');
23
+ }
20
24
  }
21
25
  }
@@ -23,7 +23,8 @@
23
23
  }
24
24
 
25
25
  @mixin lumx-list-item-clickable() {
26
- color: lumx-color-variant('dark', 'N');
26
+ @include lumx-state(lumx-base-const('state', 'DEFAULT'), lumx-base-const('emphasis', 'LOW'), 'dark');
27
+
27
28
  cursor: pointer;
28
29
 
29
30
  &:hover,
@@ -21,7 +21,6 @@
21
21
  align-items: center;
22
22
  padding: 0 $lumx-spacing-unit;
23
23
  border-radius: var(--lumx-border-radius);
24
- color: lumx-color-variant('dark', 'N');
25
24
  outline: none;
26
25
  text-decoration: none;
27
26
  }
@@ -18,14 +18,15 @@
18
18
  ========================================================================== */
19
19
 
20
20
  .#{$lumx-base-prefix}-skeleton-circle {
21
+ animation: skeleton-loading 1s ease-in-out 0s infinite;
21
22
  border-radius: 50%;
22
23
 
23
24
  &--theme-light {
24
- @include lumx-skeleton('light');
25
+ background-color: lumx-color-variant('dark', 'L5');
25
26
  }
26
27
 
27
28
  &--theme-dark {
28
- @include lumx-skeleton('dark');
29
+ background-color: lumx-color-variant('light', 'L5');
29
30
  }
30
31
  }
31
32
 
@@ -46,16 +47,18 @@
46
47
  ========================================================================== */
47
48
 
48
49
  .#{$lumx-base-prefix}-skeleton-rectangle {
50
+ animation: skeleton-loading 1s ease-in-out 0s infinite;
51
+
49
52
  &--variant-rounded {
50
53
  border-radius: var(--lumx-border-radius);
51
54
  }
52
55
 
53
56
  &--theme-light {
54
- @include lumx-skeleton('light');
57
+ background-color: lumx-color-variant('dark', 'L5');
55
58
  }
56
59
 
57
60
  &--theme-dark {
58
- @include lumx-skeleton('dark');
61
+ background-color: lumx-color-variant('light', 'L5');
59
62
  }
60
63
  }
61
64
 
@@ -12,19 +12,45 @@
12
12
  background: none;
13
13
  outline: none;
14
14
 
15
+ &--fill-height,
16
+ &--fill-height &__background {
17
+ display: flex;
18
+ /* Safari hack to force the image ratio */
19
+ height: fit-content;
20
+ min-height: 100%;
21
+ flex: 1 1 auto;
22
+ flex-direction: column;
23
+ justify-content: center;
24
+ }
25
+
26
+ &--variant-rounded {
27
+ border-radius: var(--lumx-border-radius);
28
+ }
29
+
15
30
  &__background {
16
- overflow: hidden;
31
+ position: relative;
32
+ width: 100%;
17
33
  background-position: center;
18
34
  background-repeat: no-repeat;
19
35
  background-size: cover;
36
+
37
+ #{$self}--variant-rounded & {
38
+ border-radius: var(--lumx-border-radius);
39
+ }
20
40
  }
21
41
 
22
- &__image {
23
- display: block;
42
+ &__focused-image {
43
+ max-width: none;
24
44
  }
25
45
 
26
46
  &__background,
27
47
  &__image {
48
+ display: block;
49
+ max-width: 100%;
50
+ /* IE11 hack related to a bug with IE flexbox implementation (cf. https://stackoverflow.com/a/54054592) */
51
+ min-height: 1px;
52
+ max-height: 100%;
53
+
28
54
  #{$self}--align-left & {
29
55
  margin-right: auto;
30
56
  }
@@ -36,6 +62,16 @@
36
62
  #{$self}--align-right & {
37
63
  margin-left: auto;
38
64
  }
65
+
66
+ #{$self}--variant-rounded & {
67
+ border-radius: var(--lumx-border-radius);
68
+ }
69
+ }
70
+
71
+ &__fallback {
72
+ width: fit-content;
73
+ /* Center fallback icon when using fill-height prop */
74
+ margin: 0 auto;
39
75
  }
40
76
 
41
77
  &__badge {
@@ -43,123 +79,32 @@
43
79
  right: -$lumx-spacing-unit / 2;
44
80
  bottom: -$lumx-spacing-unit / 2;
45
81
  }
46
-
47
- /* Rounded variant */
48
- &--variant-rounded &__background {
49
- border-radius: var(--lumx-border-radius);
50
- }
51
-
52
- &--fill-height,
53
- &--fill-height &__background,
54
- &--fill-height &__image {
55
- flex: 1 1 auto;
56
- height: 100%;
57
- }
58
-
59
- /* Thumbnail original ratio */
60
- &--aspect-ratio-original {
61
- &:not(#{$self}--fill-height) {
62
- width: fit-content;
63
- height: fit-content;
64
-
65
- #{$self}__image:not(#{$self}__image--is-loading)
66
- {
67
- width: fit-content;
68
- height: fit-content;
69
- max-width: 100%;
70
- max-height: 100%;
71
- }
72
- }
73
-
74
- &#{$self}--fill-height {
75
- #{$self}__background,
76
- #{$self}__image
77
- {
78
- max-height: unset;
79
- max-width: unset;
80
- }
81
- }
82
- }
83
-
84
- /* Thumbnail error fallback */
85
- &--has-error {
86
- #{$self}__background {
87
- display: grid;
88
-
89
- // Stack image and fallback on top of each other
90
- & > * {
91
- grid-column: 1;
92
- grid-row: 1;
93
- }
94
- }
95
-
96
- #{$self}__fallback {
97
- display: flex;
98
- align-items: center;
99
- justify-content: center;
100
- background-color: lumx-color-variant('dark', 'L6');
101
- }
102
- }
103
-
104
82
  }
105
83
 
106
84
  /* Thumbnail sizes
107
85
  ========================================================================== */
108
86
 
109
87
  @each $key, $size in $lumx-sizes {
110
- .#{$lumx-base-prefix}-thumbnail--size-#{$key}:not(.#{$lumx-base-prefix}-thumbnail--fill-height) {
88
+ .#{$lumx-base-prefix}-thumbnail--size-#{$key} {
111
89
  width: $size;
112
-
113
- .#{$lumx-base-prefix}-thumbnail__image {
114
- width: 100%;
115
- }
116
90
  }
117
91
  }
118
92
 
119
93
  /* Thumbnail aspect ratio
120
94
  ========================================================================== */
121
95
 
122
- .#{$lumx-base-prefix}-thumbnail:not(.#{$lumx-base-prefix}-thumbnail--aspect-ratio-original) {
123
- &::before {
124
- display: block;
125
- content: "";
126
- //width: 100%;
127
- //float: left;
128
- }
129
-
130
- /*&::after {
131
- display: block;
132
- content: "";
133
- clear: both;
134
- }*/
135
-
136
- .#{$lumx-base-prefix}-thumbnail__background {
137
- position: absolute;
138
- inset: 0;
139
- }
140
-
141
- .#{$lumx-base-prefix}-thumbnail__image {
142
- width: 100%;
143
- height: 100%;
144
- object-fit: cover;
145
- object-position: center;
146
- }
147
- }
148
-
149
96
  @each $key, $aspect-ratio in $lumx-thumbnail-aspect-ratio {
150
- .#{$lumx-base-prefix}-thumbnail--aspect-ratio-#{$key} {
151
- &::before {
152
- padding-top: $aspect-ratio;
153
- }
97
+ .#{$lumx-base-prefix}-thumbnail--aspect-ratio-#{$key}:not(.#{$lumx-base-prefix}-thumbnail--fill-height)
98
+ .#{$lumx-base-prefix}-thumbnail__background {
99
+ padding-top: $aspect-ratio;
154
100
  }
155
101
  }
156
102
 
157
103
  /* Thumbnail states
158
104
  ========================================================================== */
159
105
 
160
- .#{$lumx-base-prefix}-thumbnail--is-clickable {
106
+ .#{$lumx-base-prefix}-thumbnail[tabindex='0'] {
161
107
  position: relative;
162
- display: block;
163
108
  cursor: pointer;
164
109
 
165
110
  &::after {
@@ -174,49 +119,33 @@
174
119
  pointer-events: none;
175
120
  }
176
121
 
177
- /* Hover */
178
- &:hover::after,
179
- &:focus::after {
122
+ &:hover::after {
180
123
  @include lumx-state(lumx-base-const('state', 'HOVER'), lumx-base-const('emphasis', 'LOW'), 'dark');
181
124
  }
182
125
 
183
- /* Active */
184
126
  &:active::after {
185
127
  @include lumx-state(lumx-base-const('state', 'ACTIVE'), lumx-base-const('emphasis', 'LOW'), 'dark');
186
128
  }
187
129
  }
188
130
 
189
- /* Focused (variant rounded) */
190
- .#{$lumx-base-prefix}-thumbnail--variant-rounded.#{$lumx-base-prefix}-thumbnail--is-clickable {
131
+ .#{$lumx-base-prefix}-thumbnail--variant-rounded.#{$lumx-base-prefix}-thumbnail[tabindex='0'] {
191
132
  &[data-focus-visible-added]::after {
192
133
  border-radius: var(--lumx-border-radius);
193
134
  }
194
135
  }
195
136
 
196
- /* Focused (light theme) */
197
- .#{$lumx-base-prefix}-thumbnail--theme-light.#{$lumx-base-prefix}-thumbnail--is-clickable {
137
+ .#{$lumx-base-prefix}-thumbnail--theme-light.#{$lumx-base-prefix}-thumbnail[tabindex='0'] {
198
138
  &[data-focus-visible-added]::after {
199
139
  @include lumx-state(lumx-base-const('state', 'FOCUS'), lumx-base-const('emphasis', 'LOW'), 'dark');
200
140
  }
201
141
  }
202
142
 
203
- /* Focused (dark theme) */
204
- .#{$lumx-base-prefix}-thumbnail--theme-dark.#{$lumx-base-prefix}-thumbnail--is-clickable {
143
+ .#{$lumx-base-prefix}-thumbnail--theme-dark.#{$lumx-base-prefix}-thumbnail[tabindex='0'] {
205
144
  &[data-focus-visible-added]::after {
206
145
  @include lumx-state(lumx-base-const('state', 'FOCUS'), lumx-base-const('emphasis', 'LOW'), 'light');
207
146
  }
208
147
  }
209
148
 
210
- /* Loading */
211
- .#{$lumx-base-prefix}-thumbnail--is-loading {
212
- &.#{$lumx-base-prefix}-thumbnail--theme-dark .#{$lumx-base-prefix}-thumbnail__background {
213
- @include lumx-skeleton('dark');
214
- }
215
- &.#{$lumx-base-prefix}-thumbnail--theme-light .#{$lumx-base-prefix}-thumbnail__background {
216
- @include lumx-skeleton('light');
217
- }
218
- }
219
-
220
149
  /* Thumbnail badge mask
221
150
  ========================================================================== */
222
151
 
@@ -6,5 +6,5 @@ $lumx-thumbnail-aspect-ratio: (
6
6
  // Ratio 1:1
7
7
  'square': 100%,
8
8
  // Ratio 2:3
9
- 'vertical': 150%,
9
+ 'vertical': 150%
10
10
  );
@@ -73,7 +73,7 @@
73
73
  margin-bottom: $lumx-spacing-unit;
74
74
 
75
75
  #{$self}--theme-light & {
76
- color: lumx-color-variant('dark', 'N');
76
+ color: lumx-color-variant('dark', 'L1');
77
77
  }
78
78
 
79
79
  #{$self}--theme-dark & {
@@ -87,7 +87,7 @@
87
87
  text-align: center;
88
88
 
89
89
  #{$self}--theme-light & {
90
- color: lumx-color-variant('dark', 'N');
90
+ color: lumx-color-variant('dark', 'L1');
91
91
  }
92
92
 
93
93
  #{$self}--theme-dark & {
@@ -49,7 +49,7 @@
49
49
  color: lumx-color-variant('light', 'N');
50
50
  }
51
51
 
52
- &--is-clickable {
52
+ &[tabindex='0'] {
53
53
  #{$self}--theme-light & {
54
54
  @include lumx-link('dark');
55
55
  }