Files
fleet/website/assets/styles/components/scrollable-tweets.component.less
Eric 54871e25d1 Webiste: Update <scrollable-tweets> component (#46693)
Changes:
- updated the "show full quote" button on truncated testimonials in the
`<scrollable-tweets>` component to have a larger clickable area
- Updated how the `<scrollable-tweets>` component determines whether or
not to truncate a quote

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **Bug Fixes**
* Improved quote overflow detection logic to more accurately identify
when quotes exceed their containers.
* Adjusted spacing and padding in tweet cards for better visual
consistency and layout refinement.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-02 17:38:13 -05:00

264 lines
5.5 KiB
Plaintext
Vendored

/**
* <scrollable-tweets>
*
* App-wide styles for horizontally scrolling rows of tweets.
*/
[parasails-component='scrollable-tweets'] {
font-size: 13px;
line-height: 20px;
position: relative;
[purpose='tweets']::-webkit-scrollbar {
display: none;
}
[purpose='previous-page-indicator'] {
display: none;
opacity: 0;
cursor: pointer;
z-index: 30;
position: absolute;
transition: transform 1s, opacity 0.25s ease-in;
transform: scale(0.5);
bottom: 50%;
left: 10px;
width: 48px;
height: 48px;
img {
width: 48px;
height: 48px;
}
}
[purpose='next-page-indicator'] {
display: none;
opacity: 0;
cursor: pointer;
position: absolute;
transition: transform 1s, opacity 0.25s ease-in;
transform: scale(0.5);
bottom: 50%;
z-index: 30;
right: 10px;
width: 48px;
height: 48px;
img {
width: 48px;
height: 48px;
}
}
[purpose='tweets'] {
overflow-x: scroll;
scroll-behavior: smooth;
padding-left: 120px;
padding-right: 120px;
margin-top: 80px;
margin-bottom: 80px;
scrollbar-width: none;
-ms-overflow-style: none;
&:hover {
[purpose='previous-page-indicator'] {
opacity: 1;
transform: scale(1.0);
}
[purpose='next-page-indicator'] {
opacity: 1;
transform: scale(1.0);
}
}
}
[purpose='tweet-card'] {
box-shadow: none;
background-color: #FFF;
[purpose='logo'] {
img {
max-height: 32px;
}
min-height: 0;
margin-bottom: 24px;
}
[purpose='quote-container'] {
position: relative;
max-height: 180px;
overflow: hidden;
margin-bottom: 24px;
&.overflowing {
margin-bottom: 0px;
}
&.overflowing::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 80px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) -2.2%, #FFF 87.37%);
pointer-events: none;
}
&.expanded {
max-height: none;
}
}
[purpose='quote'] {
margin-bottom: 0;
color: #515774;
font-size: 14px;
font-weight: 400;
line-height: 150%;
}
[purpose='show-full-quote-link'] {
cursor: pointer;
font-size: 14px;
font-weight: 700;
padding: 12px;
margin-top: -12px;
margin-bottom: 12px;
display: inline-block;
}
[purpose='quote-author-info'] {
[purpose='job-title'] {
font-size: 12px !important;//lesshint-disable-line importantRule,duplicateProperty
line-height: 18px !important;//lesshint-disable-line importantRule,duplicateProperty
}
[purpose='name'] {
text-transform: capitalize;
color: @core-fleet-black !important;//lesshint-disable-line importantRule,duplicateProperty
}
[purpose='profile-picture'] {
margin-right: 16px;
img {
height: 48px;
width: 48px;
border-radius: 50%;
}
}
}
[purpose='video-link'] {
color: @core-fleet-black-75;
cursor: pointer;
text-decoration: underline;
text-underline-offset: 4px;
text-decoration-color: #C5C7D1;
}
height: fit-content;
max-width: 360px;
min-width: 360px;
display: flex;
flex-direction: column;
justify-content: center;
margin-left: 8px;
margin-right: 8px;
margin-bottom: 8px;
text-align: left;
background: #FFFFFF;
padding: 24px;
border: 1px solid @core-vibrant-blue-15;
box-sizing: border-box;
border-radius: 16px;
text-decoration: none;
&:hover {
text-decoration: none;
pointer: cursor;
box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
}
}
[purpose='video-modal'] {
[purpose='modal-dialog'] {
width: 100%;
max-width: 100%;
}
[purpose='modal-content'] {
max-width: 1140px;
height: 641px;
background-color: transparent;
box-shadow: none;
border: none;
padding: 0px;
margin-top: 150px;
margin-left: auto;
margin-right: auto;
[purpose='modal-close-button'] {
top: -40px;
right: 0px;
border-radius: 50%;
width: 32px;
height: 32px;
padding: 0px 0px 4px 0px;
background-color: #192147;
color: #FFF;
opacity: 1;
}
}
iframe {
width: 1140px;
height: 641px;
}
}
@media(hover) {
[purpose='previous-page-indicator'] {
display: flex;
}
[purpose='next-page-indicator'] {
display: flex;
}
}
@media (max-width: 991px) {
[purpose='tweets'] {
padding-left: 80px;
padding-right: 80px;
}
}
@media (max-width: 768px) {
[purpose='tweets'] {
padding-left: 40px;
padding-right: 40px;
}
[purpose='video-modal'] {
[purpose='modal-dialog'] {
max-width: 97vw;
}
[purpose='modal-content'] {
max-width: 540px;
height: 304px;
}
iframe {
width: 540px;
height: 304px;
}
}
}
@media (max-width: 575px) {
[purpose='tweets'] {
padding-left: 20px;
padding-right: 20px;
}
[purpose='tweet-card'] {
min-width: 280px;
padding: 20px;
border-radius: 16px;
}
[purpose='video-modal'] {
[purpose='modal-content'] {
width: 95vw;
height: calc(~'9/16 * 95vw');
}
iframe {
width: 95vw;
height: calc(~'9/16 * 95vw');
}
}
}
}