Skip to content

Commit 336c422

Browse files
author
Florian Pichler
committed
Separate EsCard
- EsCard (vertical, icon or full sized image) - EsLinkCard (linked, icon, horizontal) Re #276
1 parent 8e3e03f commit 336c422

File tree

13 files changed

+101
-47
lines changed

13 files changed

+101
-47
lines changed

addon/components/es-card-content.js

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import Component from 'sparkles-component';
2+
3+
export default class EsCardContent extends Component {
4+
5+
}

addon/components/es-link-card.js

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import EsCard from './es-card';
2+
3+
export default class EsLinkCard extends EsCard {
4+
}

addon/styles/addon.css

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
@import 'typography.css';
77

88
/* Modules */
9-
@import 'colors.css';
9+
@import 'backgrounds.css';
10+
@import 'background-shapes.css';
1011
@import 'container.css';
1112
@import 'layout.css';
1213
@import 'grid.css';
1314
@import 'icon.css';
1415
@import 'well.css';
15-
@import 'background-shapes.css';
1616

1717
/* Helpers */
1818
@import 'helpers/index.css';

addon/styles/colors.css renamed to addon/styles/backgrounds.css

+8
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@
3232
--color-link: var(--color-brand);
3333
--color-link-hover: var(--color-brand-hc-light);
3434

35+
--color-card-bg: var(--color-gray-900);
36+
--color-card-border: var(--color-gray-700);
37+
--color-card-bg-hover: var(--color-gray-800);
38+
--color-card-icon: var(--color-gray-400);
39+
--color-card-icon-hover: var(--color-white);
40+
--color-card-text: var(--color-gray-400);
41+
--color-card-text-hover: var(---color-white);
42+
3543
& h1,
3644
& h2,
3745
& h3,

addon/styles/components/es-card.css

+43-37
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,67 @@
11
.card {
2-
border: 2px solid var(--color-gray-300);
2+
align-items: flex-start;
3+
border: 2px solid var(--color-card-border);
34
border-radius: var(--radius-lg);
45
height: 100%;
56
overflow: hidden;
67
position: relative;
8+
background: var(--color-card-bg);
9+
color: var(--color-card-text);
710
}
811

9-
.bg-dark .card {
10-
border-color: var(--color-gray-600);
12+
.card__image {
13+
display: block;
14+
max-width: 100%;
15+
max-height: auto;
16+
border-bottom: 2px solid var(--color-card-border);
1117
}
1218

13-
.card[card-link] h1 > a::after,
14-
.card[card-link] h2 > a::after,
15-
.card[card-link] h3 > a::after,
16-
.card[card-link] h4 > a::after {
17-
position: absolute;
18-
top: 0;
19-
left: 0;
20-
right: 0;
21-
bottom: 0;
22-
content: '';
19+
.card__icon {
20+
display: block;
21+
margin: var(--spacing-3) auto 0;
22+
width: 64px;
23+
height: auto;
24+
flex: 0 0 auto;
25+
color: var(--color-card-icon);
2326
}
2427

25-
.card[card-link] a {
26-
color: inherit;
28+
.card__content {
29+
flex: 1 1 100%;
30+
padding: var(--spacing-3);
2731
}
2832

29-
.card[card-link]:focus-within,
30-
.card[card-link]:hover {
31-
background-color: var(--color-gray-200);
33+
.card[full-image] .card__image {
34+
max-width: 100%;
35+
max-height: inherit;
36+
margin: 0;
3237
}
3338

34-
.bg-dark .card[card-link]:focus-within,
35-
.bg-dark .card[card-link]:hover {
36-
background-color: var(--color-gray-800);
39+
.card--link {
40+
display: flex;
41+
flex-flow: row nowrap;
3742
}
3843

39-
.card__image {
40-
display: block;
41-
max-width: 64px;
42-
max-height: 64px;
43-
44-
margin: var(--spacing-2);
45-
float: left;
44+
.card--link:focus-within,
45+
.card--link:hover {
46+
background-color: var(--color-card-bg-hover);
47+
border-color: var(--color-card-bg-hover);
48+
color: var(--color-card-text-hover);
4649
}
4750

48-
.card[vertical] .card__image {
49-
margin: var(--spacing-2) auto;
50-
float: none;
51+
.card--link a::after {
52+
position: absolute;
53+
top: 0;
54+
left: 0;
55+
right: 0;
56+
bottom: 0;
57+
content: '';
5158
}
5259

53-
.card[full-image] .card__image {
54-
max-width: 100%;
55-
max-height: inherit;
56-
margin: 0;
60+
.card--link .card__icon {
61+
margin: var(--spacing-3) 0 var(--spacing-3) var(--spacing-3);
5762
}
5863

59-
.card-content {
60-
margin: var(--spacing-2);
64+
.card--link:focus-within .card__icon,
65+
.card--link:hover .card__icon {
66+
color: var(--color-card-icon-hover);
6167
}

addon/styles/global.css

+7-2
Original file line numberDiff line numberDiff line change
@@ -68,15 +68,20 @@
6868
--radius: 0.3125rem;
6969
--radius-lg: 0.625rem;
7070

71-
7271
--color-button-text: var(--color-white);
7372
--color-button-bg: var(--color-brand);
7473
--color-button-bg-hover: var(--color-brand-hc-dark);
75-
--color-button-secondary-text: var(--color-brand);
74+
--color-button-secondary-text: var(--color-brand-hc-dark);
7675
--color-button-secondary-bg: var(--color-white);
7776
--color-button-secondary-bg-hover: var(--color-brand);
7877
--color-button-secondary-text-hover: var(--color-white);
7978

79+
--color-card-bg: var(--color-gray-100);
80+
--color-card-border: var(--color-gray-300);
81+
--color-card-bg-hover: var(--color-gray-200);
82+
--color-card-text: var(--color-gray-700);
83+
--color-card-text-hover: var(---color-gray-900);
84+
8085
--color-link: var(--color-brand-hc-dark);
8186
--color-link-hover: var(--color-brand);
8287

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{{#if @icon}}
2+
{{svg-jar @icon class="card__icon" width="60px"}}
3+
{{/if}}
4+
5+
{{#if @image}}
6+
<img
7+
class="card__image"
8+
src={{@image.src}}
9+
alt={{if @image.alt @image.alt ""}}
10+
role={{unless @image.alt "presentation"}}
11+
width={{@image.width}}
12+
height={{@image.width}}
13+
>
14+
{{/if}}
15+
16+
<div class="card__content">
17+
{{yield}}
18+
</div>
+3-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
<li class="card" ...attributes>
2-
{{#if @image}}
3-
<img class="card__image" src={{@image}} alt={{if @alt @alt ""}} role={{unless @alt "presentation"}}>
4-
{{/if}}
5-
<div class="card-content">
1+
<li class="card {{if @image "card--image"}}" ...attributes>
2+
<EsCardContent @icon={{@icon}} @image={{@image}}>
63
{{yield}}
7-
</div>
4+
</EsCardContent>
85
</li>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<li class="card card--link" ...attributes>
2+
<EsCardContent @icon={{@icon}}>
3+
<h3><a href={{@href}}>{{@title}}</a></h3>
4+
5+
{{yield}}
6+
</EsCardContent>
7+
</li>

app/components/es-card-content.js

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from 'ember-styleguide/components/es-card-content';

app/components/es-link-card.js

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from 'ember-styleguide/components/es-link-card';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from 'ember-styleguide/templates/components/es-card-content';
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from 'ember-styleguide/templates/components/es-link-card';

0 commit comments

Comments
 (0)