Skip to content

Commit 2b7c6b8

Browse files
authored
Merge pull request #837 from badejayayesubabu/SURF-2154
feat(choice-tile): implement new slim option
2 parents 26daa79 + e09e8c5 commit 2b7c6b8

File tree

3 files changed

+53
-2
lines changed

3 files changed

+53
-2
lines changed

docs/components/choice-tile/choice-tile-demo.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ if (document.getElementById('vue-choiceDemo')) {
55
{ value: 'hxSm', label: 'Small' },
66
{ value: '', label: 'Medium' },
77
{ value: 'hxLg', label: 'Large' },
8+
{ value: 'hxSlim', label: 'Slim' },
89
];
910

1011
new Vue({

src/scss/components/choice-tile/_index.scss

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
hx-tile {
88
@include box-size(md);
99

10-
border-radius: 2px;
1110
display: inline-block;
1211
height: 100%;
1312
position: relative;
@@ -18,13 +17,15 @@ hx-tile {
1817
font-size: 1rem;
1918
font-weight: 700;
2019
margin-bottom: 0;
20+
color: $gray-700;
2121
color: var(--hxChoiceTile-header-color, $gray-700);
22-
line-height: 24px;
22+
line-height: 1.5rem;
2323
text-align: center;
2424
}
2525

2626
> p {
2727
font-size: 0.75rem;
28+
color: $gray-700;
2829
color: var(--hxChoiceTile-tile-paragraph-color, $gray-700);
2930
}
3031

@@ -54,6 +55,24 @@ hx-tile {
5455
}
5556
}
5657

58+
&.hxSlim {
59+
height: 4rem;
60+
width: 13.813rem;
61+
62+
$pad: 0.75rem;
63+
64+
padding: $pad;
65+
66+
.hx-tile-icon, > p {
67+
display: none;
68+
}
69+
70+
hx-icon[type="checkmark"] {
71+
right: $pad;
72+
top: $pad;
73+
}
74+
}
75+
5776
> header + *,
5877
.hx-tile-icon + * {
5978
margin-top: 0.5rem;
@@ -113,12 +132,16 @@ label.hxChoice > input[invalid] + hx-tile.hxSubdued {
113132
// ========== DEFAULT ==========
114133
// NOTE: These styles may be able to go into default hx-tile defs
115134
label.hxChoice > input + hx-tile {
135+
background-color: $gray-0;
116136
background-color: var(--hxChoiceTile-input-bgcolor, $gray-0);
137+
border: solid 1px $gray-400;
117138
border: solid 1px var(--hxChoiceTile-input-hxTile-bordercolor, $gray-400);
139+
color: $gray-900;
118140
color: var(--hxChoiceTile-input-color, $gray-900);
119141
cursor: pointer;
120142

121143
.hx-tile-icon {
144+
color: $gray-400;
122145
color: var(--hxChoiceTile-hxTile-color, $gray-400);
123146
}
124147
}
@@ -134,27 +157,34 @@ label.hxChoice > input:focus + hx-tile {
134157

135158
// ========== CHECKED ==========
136159
label.hxChoice > input:checked + hx-tile {
160+
border: 1px solid $purple-300;
137161
border: 1px solid var(--hxChoiceTile-inputChecked-bordercolor, $purple-300);
162+
color: $gray-0;
138163
color: var(--hxChoiceTile-inputChecked-color, $gray-0);
139164

140165
> hx-icon {
166+
color: $purple-300;
141167
color: var(--hxChoiceTile-inputChecked-hxicon-color, $purple-300);
142168
}
143169

144170
.hx-tile-icon {
171+
color: $purple-300;
145172
color: var(--hxChoiceTile-checked-hxTile-color, $purple-300);
146173
}
147174

148175
> header {
176+
color: $purple-300;
149177
color: var(--hxChoiceTile-checked-hxTile-header-color, $purple-300);
150178
}
151179

152180
> p {
181+
color: $gray-950;
153182
color: var(--hxChoiceTile-checked-paragraph-color, $gray-950);
154183
}
155184

156185
// DEPRECATED: remove in v1.0.0
157186
hx-tile-description {
187+
color: $gray-900;
158188
color: var(--hxChoiceTile-checked-description-color, $gray-900);
159189
}
160190
}
@@ -164,11 +194,13 @@ label.hxChoice > input[invalid] + hx-tile {
164194
@include hxChoiceTile--invalid;
165195

166196
> p {
197+
color: $gray-900;
167198
color: var(--hxChoiceTile-invalid-paragraph-color, $gray-900);
168199
}
169200

170201
// DEPRECATED: remove in v1.0.0
171202
hx-tile-description {
203+
color: $gray-900;
172204
color: var(--hxChoiceTile-invalid-description-color, $gray-900);
173205
}
174206

@@ -199,19 +231,23 @@ label.hxChoice > input[disabled] + hx-tile:hover {
199231
@include hxChoiceTile--disabled;
200232

201233
> p {
234+
color: $gray-500;
202235
color: var(--hxChoiceTile-disabled-paragraph-color, $gray-500);
203236
}
204237

205238
// DEPRECATED: remove in v1.0.0
206239
hx-tile-description {
240+
color: $gray-500;
207241
color: var(--hxChoiceTile-disabled-description-color, $gray-500);
208242
}
209243

210244
> header {
245+
color: $gray-500;
211246
color: var(--hxChoiceTile-disabled-header-color, $gray-500);
212247
}
213248

214249
hx-icon {
250+
color: $gray-400;
215251
color: var(--hxChoiceTile-disabled-hxIcon-color, $gray-400);
216252
}
217253
}

src/scss/components/choice-tile/mixins/_hxChoiceTile.scss

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,23 @@
77
@if $pseudo-state == focus {
88
box-shadow: 0 0 4px rgba($purple-700, 0.5);
99
} @else if $pseudo-state == hover {
10+
background-color: $gray-0;
1011
background-color: var(--hxChoiceTile-hover-bgcolor, $gray-0);
12+
border: 1px solid $purple-700;
1113
border: 1px solid var(--hxChoiceTile-hover-bordercolor, $purple-700);
1214

1315
> header {
16+
color: $purple-700;
1417
color: var(--hxChoiceTile-hover-header-color, $purple-700);
1518
}
1619

1720
> p {
21+
color: $gray-950;
1822
color: var(--hxChoiceTile-hover-paragraph-color, $gray-950);
1923
}
2024

2125
.hx-tile-icon {
26+
color: $purple-700;
2227
color: var(--hxChoiceTile-hover-hxTileIcon-color, $purple-700);
2328
}
2429
}
@@ -38,29 +43,38 @@
3843
@if $pseudo-state == focus {
3944
box-shadow: 0 0 4px rgba($red-status-500, 0.5);
4045
} @else if $pseudo-state == hover {
46+
background-color: $red-status-100;
4147
background-color: var(--hxChoiceTile-invalid-hover-bgcolor, $red-status-100);
48+
border-color: $red-status-500;
4249
border-color: var(--hxChoiceTile-invalid-hover-borderColor, $red-status-500);
50+
color: $gray-900;
4351
color: var(--hxChoiceTile-invalid-hover-color, $gray-900);
4452

4553
> header {
4654
color: inherit;
4755
}
4856
} @else {
57+
border-color: $red-status-500;
4958
border-color: var(--hxChoiceTile-invalid-bordercolor, $red-status-500);
5059
border-width: 2px;
60+
color: $red-status-500;
5161
color: var(--hxChoiceTile-invalid-color, $red-status-500);
5262
}
5363

5464
.hx-tile-icon {
65+
color: $red-status-500;
5566
color: var(--hxChoiceTile-invalid-hxTileIcon-color, $red-status-500);
5667
}
5768
}
5869

5970
// ========== Disabled ==========
6071
@mixin hxChoiceTile--disabled {
72+
background-color: $gray-0;
6173
background-color: var(--hxChoiceTile-disabled-bgcolor, $gray-0);
74+
border-color: $gray-400;
6275
border-color: var(--hxChoiceTile-disabled-bordercolor, $gray-400);
6376
border-width: 1px;
77+
color: $gray-500;
6478
color: var(--hxChoiceTile-disabled-color, $gray-500);
6579
cursor: not-allowed;
6680

0 commit comments

Comments
 (0)