Skip to content

Commit

Permalink
TCI-1129: fixes & real-time orientation handling (#868)
Browse files Browse the repository at this point in the history
  • Loading branch information
melwong-jcc authored Jan 12, 2024
1 parent e6c5d8c commit a68b35f
Show file tree
Hide file tree
Showing 10 changed files with 80 additions and 46 deletions.
26 changes: 18 additions & 8 deletions source/_patterns/02-molecules/card/_card.scss
Original file line number Diff line number Diff line change
Expand Up @@ -186,11 +186,6 @@ $_config: map-merge-by-keys($_config_schemes, base, $_config_schemes, $scheme);
@include u-display(flex);
min-height: auto;

// Addressing SVG icons for now
svg {
@include u-margin(3);
}

.jcc-card--overlay-color-none {
flex-grow: 1;

Expand All @@ -208,14 +203,22 @@ $_config: map-merge-by-keys($_config_schemes, base, $_config_schemes, $scheme);
}

.usa-card--media-left & {
@include at-media(tablet) {
@include u-flex(wrap);

@include at-media(desktop) {
@include grid-row();
@include u-flex(no-wrap);
@include u-flex-direction(row);
@include u-padding-x(4);
}

.usa-card__media {
@include u-maxw(full);

@include at-media(desktop) {
@include u-maxw(mobile-lg);
}

.jcc-card--overlay-color-none {
@include u-display(flex);
}
Expand All @@ -229,7 +232,6 @@ $_config: map-merge-by-keys($_config_schemes, base, $_config_schemes, $scheme);
.usa-card--media-top-overlay & {
.usa-card__media {
@include u-z(bottom);
@include u-width(full);

img,
picture {
Expand All @@ -241,6 +243,15 @@ $_config: map-merge-by-keys($_config_schemes, base, $_config_schemes, $scheme);
}
}

.usa-card--media-full &,
.usa-card--media-top &,
.usa-card--media-full-overlay &,
.usa-card--media-top-overlay & {
.usa-card__media {
@include u-width(full);
}
}

.usa-card--media-full &,
.usa-card--media-full-overlay &,
.usa-card--media-top-overlay & {
Expand Down Expand Up @@ -533,4 +544,3 @@ $_config: map-merge-by-keys($_config_schemes, base, $_config_schemes, $scheme);
@include u-color(ink);
}
}

54 changes: 39 additions & 15 deletions source/_patterns/02-molecules/card/card.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,49 @@
/*
* Consistent image height for mixed card widths.
*/
const cards = Array.from(document.querySelectorAll('.jcc-cards--2-60-40-cols, .jcc-cards--2-75-25-cols'));

cards.forEach(function (cardset) {
// If media containers exist.
let medias = Array.from(cardset.getElementsByClassName('usa-card__media'));

* Consistent image height for mixed card widths.
*/
function adjustMixedWidthMediaHeight(medias) {
if (medias.length > 0) {
// Determine max height from smallest image.
// Reset media height to default.
medias.forEach(function (media) {
let image = media.getElementsByTagName("img");
media.removeAttribute("style");
image[0].removeAttribute("style");
});

// Determine max height from smallest media found.
let maxHeight = medias[0].offsetHeight;
medias.forEach(function(media) {
medias.forEach(function (media) {
maxHeight = Math.min(maxHeight, media.offsetHeight);
})
});

// Adjust all container and image heights to max allowed.
medias.forEach(function (media) {
let image = media.getElementsByTagName('img');
let imageHeight = maxHeight/16 + 'rem';
image[0].setAttribute('style', 'height: ' + imageHeight + ';');
media.style.height = imageHeight;
let mediaHeight = maxHeight / 16 + "rem";
let image = media.getElementsByTagName("img");
media.style.height = mediaHeight;
image[0].setAttribute("style", "height: " + mediaHeight + ";");
});
}
}

document.addEventListener("DOMContentLoaded", function () {
// Detect any mixed card widths.
const cards = Array.from(
document.querySelectorAll(".jcc-cards--2-60-40-cols, .jcc-cards--2-75-25-cols")
);

if (cards) {
cards.forEach(function (cardset) {
// If media exist.
let medias = Array.from(cardset.getElementsByClassName("usa-card__media"));

if (medias) {
adjustMixedWidthMediaHeight(medias);

window.onresize = function () {
adjustMixedWidthMediaHeight(medias);
};
}
});
}
});
12 changes: 6 additions & 6 deletions source/_patterns/02-molecules/card/card.twig
Original file line number Diff line number Diff line change
Expand Up @@ -116,15 +116,15 @@

{% if card.media %}
<div class="usa-card__media">
{# check if an media item on the left exists as embeded into card.media rather than card.media.src
{# check if an media item on the left exists as embeded into card.media rather than card.media.src
so that we do not break existing local theme usage #}
{% if not card.media.src %}
<span>{{ card.media }}</span>
{% else %}
<div class="jcc-card--overlay-color-{{ card.bgcolor|default('none') }}">
<img src="{{ card.media.src }}" alt="{{ card.media.alt }}"/>
{% if not card.media.src %}
{{ card.media }}
{% else %}
<img src="{{ card.media.src }}" alt="{{ card.media.alt }}"/>
{% endif %}
</div>
{% endif %}
</div>
{% endif %}
</div>
Expand Down
2 changes: 1 addition & 1 deletion source/_patterns/02-molecules/card/card.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ card:
style: "cta"
title: "Consequat nostra vel"
body: "<p>Lacus nec laoreet velit augue tellus justo ornare, ipsum pulvinar praesent viverra luctus sociosqu eu, dolor blandit cum vel tempus volutpat.</p>"
extra_content: "<span>Extra content</span><ul><li>Item 1</li><li>Item 2</li></ul>"
extra_content: "<p>Extra content</p><ul><li>Item 1</li><li>Item 2</li></ul>"
link:
url: "#"
text: "Luctus nunc quam"
8 changes: 0 additions & 8 deletions source/_patterns/02-molecules/card/card~media-icon-left.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
card:
style: "media-left"
title: "SVG Icon Media Source"
body: "<p>Earlier use of icons from complete SVG HTML source rather than as an icon subcomponent.</p>"
media: "<svg class='icon icon-laptop margin-4 margin-right-0' width='35' height='35' role='img' aria-label='Laptop'><use xlink:href='#icon-fa-laptop'></use></svg>"
link:
url: "#"
text: "Luctus nunc quam"
8 changes: 4 additions & 4 deletions source/_patterns/03-organisms/cards/cards~media-left.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,28 @@ cards:
- style: "media-left"
title: "Posuere et ornare"
body: "<p>Tellus justo ornare, ipsum pulvinar praesent viverra luctus sociosqu eu, dolor blandit cum vel tempus volutpat.</p>"
media: "<svg class='icon icon-laptop' width='35' height='35' role='img' aria-label='Laptop'><use xlink:href='#icon-fa-laptop'></use></svg>"
media: "<svg class='icon icon-laptop margin-4 margin-right-0' width='35' height='35' role='img' aria-label='Laptop'><use xlink:href='#icon-fa-laptop'></use></svg>"
link:
url: "#"
text: "Luctus nunc quam"
- style: "media-left"
title: "Posuere et ornare"
body: "<p>Habitasse nec dui adipiscing massa magna mollis morbi netus malesuada, odio varius id eu integer felis tellus at feugiat, euismod potenti inceptos nibh mauris posuere scelerisque facilisi. This card has no link url.</p>"
media: "<svg class='icon icon-landmark' width='35' height='35' role='img' aria-label='Landmark'><use xlink:href='#icon-fa-landmark'></use></svg>"
media: "<svg class='icon icon-landmark margin-4 margin-right-0' width='35' height='35' role='img' aria-label='Landmark'><use xlink:href='#icon-fa-landmark'></use></svg>"
link:
url: null
text: "Erat neque quisque vivamus"
- style: "media-left"
title: "Posuere et ornare"
body: "<p>In torquent consequat quam vulputate himenaeos semper ut aliquam at, iaculis ac platea laoreet ridiculus mattis sagittis volutpat hendrerit, vehicula orci dictum dictumst nunc scelerisque lacus auctor.</p>"
media: "<svg class='icon icon-comment-alt' width='35' height='35' role='img' aria-label='Comment'><use xlink:href='#icon-fa-comment-alt'></use></svg>"
media: "<svg class='icon icon-comment-alt margin-4 margin-right-0' width='35' height='35' role='img' aria-label='Comment'><use xlink:href='#icon-fa-comment-alt'></use></svg>"
link:
url: "#"
text: "Aliquet potenti"
- style: "media-left"
title: "Posuere et ornare"
body: "<p>Tellus justo ornare, ipsum pulvinar praesent viverra luctus sociosqu eu, dolor blandit cum vel tempus volutpat.</p>"
media: "<svg class='icon icon-money-bill-wave' width='35' height='35' role='img' aria-label='Money bill'><use xlink:href='#icon-fa-money-bill-wave'></use></svg>"
media: "<svg class='icon icon-money-bill-wave margin-4 margin-right-0' width='35' height='35' role='img' aria-label='Money bill'><use xlink:href='#icon-fa-money-bill-wave'></use></svg>"
link:
url: "#"
text: "Luctus nunc quam"
8 changes: 4 additions & 4 deletions source/_patterns/04-templates/sections/sections-example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,28 +31,28 @@ entries:
- style: "media-left"
title: "Posuere et ornare"
body: "<p>Tellus justo ornare, ipsum pulvinar praesent viverra luctus sociosqu eu, dolor blandit cum vel tempus volutpat.</p>"
media: "<svg class='icon icon-laptop' width='35' height='35' role='img' aria-label='Laptop'><use xlink:href='#icon-fa-laptop'></use></svg>"
media: "<svg class='icon icon-laptop margin-4 margin-right-0' width='35' height='35' role='img' aria-label='Laptop'><use xlink:href='#icon-fa-laptop'></use></svg>"
link:
url: "#"
text: "Luctus nunc quam"
- style: "media-left"
title: "Posuere et ornare"
body: "<p>Habitasse nec dui adipiscing massa magna mollis morbi netus malesuada, odio varius id eu integer felis tellus at feugiat, euismod potenti inceptos nibh mauris posuere scelerisque facilisi.</p>"
media: "<svg class='icon icon-landmark' width='35' height='35' role='img' aria-label='Landmark'><use xlink:href='#icon-fa-landmark'></use></svg>"
media: "<svg class='icon icon-landmark margin-4 margin-right-0' width='35' height='35' role='img' aria-label='Landmark'><use xlink:href='#icon-fa-landmark'></use></svg>"
link:
url: "#"
text: "Erat neque quisque vivamus"
- style: "media-left"
title: "Posuere et ornare"
body: "<p>In torquent consequat quam vulputate himenaeos semper ut aliquam at, iaculis ac platea laoreet ridiculus mattis sagittis volutpat hendrerit, vehicula orci dictum dictumst nunc scelerisque lacus auctor.</p>"
media: "<svg class='icon icon-comment-alt' width='35' height='35' role='img' aria-label='Comment'><use xlink:href='#icon-fa-comment-alt'></use></svg>"
media: "<svg class='icon icon-comment-alt margin-4 margin-right-0' width='35' height='35' role='img' aria-label='Comment'><use xlink:href='#icon-fa-comment-alt'></use></svg>"
link:
url: "#"
text: "Aliquet potenti"
- style: "media-left"
title: "Posuere et ornare"
body: "<p>Tellus justo ornare, ipsum pulvinar praesent viverra luctus sociosqu eu, dolor blandit cum vel tempus volutpat.</p>"
media: "<svg class='icon icon-money-bill-wave' width='35' height='35' role='img' aria-label='Money bill'><use xlink:href='#icon-fa-money-bill-wave'></use></svg>"
media: "<svg class='icon icon-money-bill-wave margin-4 margin-right-0' width='35' height='35' role='img' aria-label='Money bill'><use xlink:href='#icon-fa-money-bill-wave'></use></svg>"
link:
url: "#"
text: "Luctus nunc quam"
Expand Down

0 comments on commit a68b35f

Please sign in to comment.