Skip to content

Commit bedd965

Browse files
authored
feat(card): disabled and loading variant
This PR adds the disabled and loading variant to the card view. It's basically a selector copy from segment
1 parent 06fff10 commit bedd965

File tree

4 files changed

+92
-8
lines changed

4 files changed

+92
-8
lines changed

src/definitions/elements/loader.less

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ each(@colors, {
212212
.ui.@{color}.elastic.loader.loader:before,
213213
.ui.@{color}.basic.elastic.loading.button:before,
214214
.ui.@{color}.basic.elastic.loading.button:after,
215-
.ui.@{color}.elastic.loading.loading.loading:not(.segment):before,
215+
.ui.@{color}.elastic.loading.loading.loading:not(.segment):not(.card):before,
216216
.ui.@{color}.elastic.loading.loading.loading .input > i.icon:before,
217217
.ui.@{color}.elastic.loading.loading.loading.loading > i.icon:before,
218218
.ui.@{color}.loading.loading.loading.loading:not(.usual):not(.button):after,
@@ -222,7 +222,7 @@ each(@colors, {
222222
color: @c;
223223
}
224224
.ui.inverted.@{color}.elastic.loader:before,
225-
.ui.inverted.@{color}.elastic.loading.loading.loading:not(.segment):before,
225+
.ui.inverted.@{color}.elastic.loading.loading.loading:not(.segment):not(.card):before,
226226
.ui.inverted.@{color}.elastic.loading.loading.loading .input > i.icon:before,
227227
.ui.inverted.@{color}.elastic.loading.loading.loading > i.icon:before,
228228
.ui.inverted.@{color}.loading.loading.loading.loading:not(.usual):after,
@@ -295,11 +295,13 @@ each(@colors, {
295295
.ui.loader.loader.loader.loader.loader.loader:not(.double):after {
296296
border-bottom-color: transparent;
297297
}
298+
.ui.loading.loading.loading.loading.loading.loading.card:after,
298299
.ui.loading.loading.loading.loading.loading.loading.segment:after,
299300
.ui.loading.loading.loading.loading.loading.loading.form:after {
300301
border-left-color:@loaderFillColor;
301302
border-right-color:@loaderFillColor;
302303
}
304+
.ui.loading.loading.loading.loading.loading.loading.card:not(.double):after,
303305
.ui.loading.loading.loading.loading.loading.loading.segment:not(.double):after,
304306
.ui.loading.loading.loading.loading.loading.loading.form:not(.double):after {
305307
border-bottom-color: @loaderFillColor;
@@ -316,14 +318,14 @@ each(@colors, {
316318
.ui.inverted.dimmer > .ui.elastic.loader {
317319
color: @loaderLineColor;
318320
}
319-
.ui.elastic.loading.loading:not(.form):not(.segment):after,
321+
.ui.elastic.loading.loading:not(.form):not(.segment):not(.card):after,
320322
.ui.elastic.loading.loading .input > i.icon:after,
321323
.ui.elastic.loading.loading > i.icon:after,
322324
.ui.elastic.loader.loader:after {
323325
animation: loader 1s infinite cubic-bezier(.27, 1.05, .92, .61);
324326
animation-delay: 0.3s;
325327
}
326-
.ui.elastic.loading.loading.loading:not(.form):not(.segment):before,
328+
.ui.elastic.loading.loading.loading:not(.form):not(.segment):not(.card):before,
327329
.ui.elastic.loading.loading.loading .input > i.icon:before,
328330
.ui.elastic.loading.loading.loading > i.icon:before,
329331
.ui.elastic.loader.loader:before {
@@ -337,27 +339,27 @@ each(@colors, {
337339
}
338340
}
339341
& when (@variationLoaderSpeeds) {
340-
.ui.slow.elastic.loading.loading:not(.form):not(.segment):after,
342+
.ui.slow.elastic.loading.loading:not(.form):not(.segment):not(.card):after,
341343
.ui.slow.elastic.loading.loading .input > i.icon:after,
342344
.ui.slow.elastic.loading.loading > i.icon:after,
343345
.ui.slow.elastic.loader.loader:after {
344346
animation-duration: 1.5s;
345347
animation-delay: 0.45s;
346348
}
347-
.ui.slow.elastic.loading.loading.loading:not(.form):not(.segment):before,
349+
.ui.slow.elastic.loading.loading.loading:not(.form):not(.segment):not(.card):before,
348350
.ui.slow.elastic.loading.loading.loading .input > i.icon:before,
349351
.ui.slow.elastic.loading.loading.loading > i.icon:before,
350352
.ui.slow.elastic.loader.loader:before {
351353
animation-duration: 1.5s;
352354
}
353-
.ui.fast.elastic.loading.loading:not(.form):not(.segment):after,
355+
.ui.fast.elastic.loading.loading:not(.form):not(.segment):not(.card):after,
354356
.ui.fast.elastic.loading.loading .input > i.icon:after,
355357
.ui.fast.elastic.loading.loading > i.icon:after,
356358
.ui.fast.elastic.loader.loader:after {
357359
animation-duration: 0.66s;
358360
animation-delay: 0.20s;
359361
}
360-
.ui.fast.elastic.loading.loading.loading:not(.form):not(.segment):before,
362+
.ui.fast.elastic.loading.loading.loading:not(.form):not(.segment):not(.card):before,
361363
.ui.fast.elastic.loading.loading.loading .input > i.icon:before,
362364
.ui.fast.elastic.loading.loading.loading > i.icon:before,
363365
.ui.fast.elastic.loader.loader:before {

src/definitions/views/card.less

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,63 @@
419419
color: @extraLinkHoverColor;
420420
}
421421

422+
/*******************************
423+
States
424+
*******************************/
425+
426+
& when (@variationCardDisabled) {
427+
/*--------------
428+
Disabled
429+
---------------*/
430+
431+
.ui.disabled.card {
432+
opacity: @disabledOpacity;
433+
color: @disabledTextColor;
434+
pointer-events: none;
435+
}
436+
}
437+
438+
& when (@variationCardLoading) {
439+
/*--------------
440+
Loading
441+
---------------*/
442+
443+
.ui.loading.card {
444+
position: relative;
445+
cursor: default;
446+
pointer-events: none;
447+
transition: all 0s linear;
448+
}
449+
.ui.loading.card:before {
450+
position: absolute;
451+
content: '';
452+
top: 0;
453+
left: 0;
454+
background: @loaderDimmerColor;
455+
width: 100%;
456+
height: 100%;
457+
border-radius: @borderRadius;
458+
z-index: @loaderDimmerZIndex;
459+
}
460+
.ui.loading.card:after {
461+
position: absolute;
462+
content: '';
463+
top: 50%;
464+
left: 50%;
465+
466+
margin: @loaderMargin;
467+
width: @loaderSize;
468+
height: @loaderSize;
469+
470+
animation: loader @loaderSpeed infinite linear;
471+
border: @loaderLineWidth solid @loaderLineColor;
472+
border-radius: @circularRadius;
473+
474+
box-shadow: 0 0 0 1px transparent;
475+
visibility: visible;
476+
z-index: @loaderLineZIndex;
477+
}
478+
}
422479

423480
/*******************************
424481
Variations
@@ -979,6 +1036,16 @@ each(@colors,{
9791036
.ui.inverted.link.card:hover {
9801037
background: @invertedLinkHoverBackground;
9811038
}
1039+
1040+
& when (@variationCardLoading) {
1041+
/* Loading */
1042+
.ui.inverted.loading.card {
1043+
color: @invertedLoaderLineColor;
1044+
}
1045+
.ui.inverted.loading.card:before {
1046+
background: @loaderInvertedDimmerColor;
1047+
}
1048+
}
9821049
}
9831050

9841051

src/themes/default/globals/variation.variables

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,8 @@
322322

323323
/* Card */
324324
@variationCardInverted: true;
325+
@variationCardDisabled: true;
326+
@variationCardLoading: true;
325327
@variationCardHorizontal: true;
326328
@variationCardRaised: true;
327329
@variationCardCentered: true;

src/themes/default/views/card.variables

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,19 @@
143143
@buttonMargin: 0 -@borderWidth;
144144
@buttonWidth: e(%("calc(100%% + %d)", @borderWidth * 2));
145145

146+
/*******************************
147+
States
148+
*******************************/
149+
150+
/* Loading Dimmer */
151+
@loaderDimmerColor: rgba(255, 255, 255, 0.8);
152+
@loaderInvertedDimmerColor: rgba(0, 0, 0 , 0.85);
153+
@loaderDimmerZIndex: 100;
154+
155+
/* Loading Spinner */
156+
@loaderSize: 3em;
157+
@loaderLineZIndex: 101;
158+
146159
/*-------------------
147160
Variations
148161
--------------------*/

0 commit comments

Comments
 (0)