Skip to content

Commit

Permalink
Merge pull request #11 from 10up/feature/floating-buttons-v10
Browse files Browse the repository at this point in the history
Internal: Floating Buttons - Variation 10
  • Loading branch information
mserino authored Jun 14, 2024
2 parents 73305c4 + 5dd7745 commit 7ddd87a
Show file tree
Hide file tree
Showing 6 changed files with 612 additions and 169 deletions.
1 change: 1 addition & 0 deletions modules/conversion-center/assets/scss/frontend.scss
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@
@import "widgets/contact-buttons-var-7";
@import "widgets/contact-buttons-var-8";
@import "widgets/contact-buttons-var-9";
@import "widgets/contact-buttons-var-10";
Original file line number Diff line number Diff line change
@@ -0,0 +1,267 @@
.e-contact-buttons-var-10 {
--e-contact-buttons-size-small: 40px;
--e-contact-buttons-size-medium: 48px;
--e-contact-buttons-size-large: 56px;
--e-contact-buttons-svg-size-small: 20px;
--e-contact-buttons-svg-size-medium: 24px;
--e-contact-buttons-svg-size-large: 28px;
--e-contact-buttons-svg-size: var(var(--e-contact-buttons-svg-size-medium));
--e-contact-buttons-horizontal-offset: 0;
--e-contact-buttons-transition-duration: .3s;
--e-contact-buttons-transition: all var(--e-contact-buttons-transition-duration);

width: auto;

.has-corners-rounded {
--e-contact-buttons-border-radius: #{$contact-buttons-border-radius-rounded};
}

.has-corners-round {
--e-contact-buttons-border-radius: #{$contact-buttons-border-radius-round};
}

.has-corners-sharp {
--e-contact-buttons-border-radius: #{$contact-buttons-border-radius-sharp};
}

.has-size-small {
--e-contact-buttons-svg-size: var(--e-contact-buttons-svg-size-small);
}

.has-size-medium {
--e-contact-buttons-svg-size: var(--e-contact-buttons-svg-size-medium);
}

.has-size-large {
--e-contact-buttons-svg-size: var(--e-contact-buttons-svg-size-large);
}

.e-contact-buttons {

&__contact-links {
display: flex;
gap: var(--e-contact-buttons-contact-gap);
}

&__contact-icon-container {
align-items: center;
display: inline-flex;
justify-content: center;

svg {
height: var(--e-contact-buttons-svg-size);
width: var(--e-contact-buttons-svg-size);
}
}

&__contact-icon-link {
align-items: center;
background-color: var(--e-contact-buttons-contact-button-bg);
color: var(--e-contact-buttons-contact-button-icon);
display: flex;
gap: 8px;
padding-block-end: var(--e-contact-buttons-contact-padding-block-end);
padding-block-start: var(--e-contact-buttons-contact-padding-block-start);
padding-inline-end: var(--e-contact-buttons-contact-padding-inline-end);
padding-inline-start: var(--e-contact-buttons-contact-padding-inline-start);
transition: $transition-hover;

svg {
fill: var(--e-contact-buttons-contact-button-icon);
}

&:hover,
&:focus {
background-color: var(--e-contact-buttons-contact-button-bg);
color: var(--e-contact-buttons-contact-button-icon);
transition: $transition-hover;

svg {
fill: var(--e-contact-buttons-contact-button-icon);
}
}
}
}

&.has-h-alignment-start {

.e-contact-buttons__contact-icon-link {
--e-contact-buttons-margin-offset: 8px;

justify-content: flex-end;
transform: translateX(calc(-100% + calc(var(--e-contact-buttons-svg-size) * 2) - var(--e-contact-buttons-margin-offset)));
transition: var(--e-contact-buttons-transition);

&.has-size-small {
--e-contact-buttons-margin-offset: 2px;
}
}

.e-contact-buttons__contact-links {
align-items: flex-start;
flex-direction: column;
}

.e-contact-buttons__contact-icon-link {
border-start-start-radius: 0;
border-start-end-radius: var(--e-contact-buttons-border-radius);
border-end-start-radius: 0;
border-end-end-radius: var(--e-contact-buttons-border-radius);

&:hover,
&:focus {

@media (min-width: $screen-tablet-min) {
transform: none;
transition: var(--e-contact-buttons-transition);
}
}

&.active {
transform: none;
transition: var(--e-contact-buttons-transition);
}
}
}

&.has-h-alignment-end {

.e-contact-buttons__contact-icon-link {
--e-contact-buttons-margin-offset: 8px;

transform: translateX(calc(100% - calc(var(--e-contact-buttons-svg-size) * 2) + var(--e-contact-buttons-margin-offset)));
transition: var(--e-contact-buttons-transition);

&:hover,
&:focus {

@media (min-width: $screen-tablet-min) {
transform: none;
transition: var(--e-contact-buttons-transition);
}
}

&.active {
transform: none;
transition: var(--e-contact-buttons-transition);
}

&.has-size-small {
--e-contact-buttons-margin-offset: 2px;
}
}

.e-contact-buttons__contact-links {
align-items: flex-end;
flex-direction: column;
}

.e-contact-buttons__contact-icon-container {
order: 1;
}

.e-contact-buttons__contact-title {
order: 2;
}

.e-contact-buttons__contact-icon-link {
border-start-start-radius: var(--e-contact-buttons-border-radius);
border-start-end-radius: 0;
border-end-start-radius: var(--e-contact-buttons-border-radius);
border-end-end-radius: 0;
}
}

&.has-h-alignment-center {

.e-contact-buttons__contact-icon-link {
flex-direction: column;
}

.e-contact-buttons__contact-title {
writing-mode: vertical-lr;
}
}

&.has-h-alignment-center.has-v-alignment-bottom {

.e-contact-buttons__contact-links {
align-items: flex-end;
}

.e-contact-buttons__contact-icon-container {
order: 1;
}

.e-contact-buttons__contact-title {
order: 2;
}

.e-contact-buttons__contact-icon-link {
--e-contact-buttons-margin-offset: 14px;

border-start-start-radius: var(--e-contact-buttons-border-radius);
border-start-end-radius: var(--e-contact-buttons-border-radius);
border-end-start-radius: 0;
border-end-end-radius: 0;

transform: translateY(calc(100% - var(--e-contact-buttons-svg-size) * 2 + var(--e-contact-buttons-margin-offset)));
transition: var(--e-contact-buttons-transition);

&:hover,
&:focus {

@media (min-width: $screen-tablet-min) {
transform: none;
transition: var(--e-contact-buttons-transition);
}
}

&.active {
transform: none;
transition: var(--e-contact-buttons-transition);
}

&.has-size-small {
--e-contact-buttons-margin-offset: 5px;
}
}
}

&.has-h-alignment-center.has-v-alignment-top {

.e-contact-buttons__contact-links {
align-items: flex-start;
}

.e-contact-buttons__contact-icon-container {
align-items: flex-end;
}

.e-contact-buttons__contact-icon-link {
--e-contact-buttons-margin-offset: 14px;

border-start-start-radius: 0;
border-start-end-radius: 0;
border-end-start-radius: var(--e-contact-buttons-border-radius);
border-end-end-radius: var(--e-contact-buttons-border-radius);
justify-content: flex-end;
transform: translateY(calc(-100% + var(--e-contact-buttons-svg-size) + var(--e-contact-buttons-margin-offset)));
transition: var(--e-contact-buttons-transition);

&:hover,
&:focus {

@media (min-width: $screen-tablet-min) {
transform: none;
transition: var(--e-contact-buttons-transition);
}
}

&.active {
transform: none;
transition: var(--e-contact-buttons-transition);
}
}
}
}
Loading

0 comments on commit 7ddd87a

Please sign in to comment.