forever_style_guide 3.2.18 → 3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/forever_style_guide/forever-logo-small.svg +1 -0
  3. data/app/assets/images/forever_style_guide/forever-logo.svg +1 -0
  4. data/app/assets/stylesheets/forever_style_guide/base/_typography.scss +6 -0
  5. data/app/assets/stylesheets/forever_style_guide/globals/_breakpoints.scss +3 -1
  6. data/app/assets/stylesheets/forever_style_guide/globals/_variables.scss +2 -1
  7. data/app/assets/stylesheets/forever_style_guide/modules/_all.scss +4 -8
  8. data/app/assets/stylesheets/forever_style_guide/modules/_ambassador_banner.scss +173 -0
  9. data/app/assets/stylesheets/forever_style_guide/modules/_footer.scss +104 -36
  10. data/app/assets/stylesheets/forever_style_guide/modules/_impersonation_banner.scss +22 -13
  11. data/app/assets/stylesheets/forever_style_guide/modules/_mars_manifest.scss +4 -8
  12. data/app/assets/stylesheets/forever_style_guide/modules/_nav-account_dropdown.scss +193 -0
  13. data/app/assets/stylesheets/forever_style_guide/modules/_nav-cart.scss +39 -0
  14. data/app/assets/stylesheets/forever_style_guide/modules/_nav-fixed.scss +0 -1
  15. data/app/assets/stylesheets/forever_style_guide/modules/_nav-icons.scss +0 -8
  16. data/app/assets/stylesheets/forever_style_guide/modules/_nav-mobile-menu.scss +111 -0
  17. data/app/assets/stylesheets/forever_style_guide/modules/_nav.scss +266 -118
  18. data/app/assets/stylesheets/forever_style_guide/modules/_responsive_utilities.scss +16 -0
  19. data/app/helpers/forever_style_guide/application_helper.rb +2 -28
  20. data/lib/forever_style_guide/version.rb +1 -1
  21. metadata +8 -22
  22. data/app/assets/stylesheets/forever_style_guide/modules/_nav-dropdowns-account.scss +0 -60
  23. data/app/assets/stylesheets/forever_style_guide/modules/_nav-dropdowns-ambassador.scss +0 -107
  24. data/app/assets/stylesheets/forever_style_guide/modules/_nav-dropdowns-help.scss +0 -21
  25. data/app/assets/stylesheets/forever_style_guide/modules/_nav-dropdowns.scss +0 -208
  26. data/app/assets/stylesheets/forever_style_guide/modules/_shame.scss +0 -32
  27. data/app/views/forever_style_guide/sections/components/footer/_footer.erb +0 -78
  28. data/app/views/forever_style_guide/sections/components/navigation/_impersonation_banner.erb +0 -10
  29. data/app/views/forever_style_guide/sections/components/navigation/_nav.erb +0 -73
  30. data/app/views/forever_style_guide/sections/components/navigation/_nav_account_dropdown.erb +0 -24
  31. data/app/views/forever_style_guide/sections/components/navigation/_nav_account_dropdown_menu.erb +0 -86
  32. data/app/views/forever_style_guide/sections/components/navigation/_nav_account_signed_out_mobile.erb +0 -6
  33. data/app/views/forever_style_guide/sections/components/navigation/_nav_ambassador_dropdown.erb +0 -112
  34. data/app/views/forever_style_guide/sections/components/navigation/_nav_cart_icon.erb +0 -4
  35. data/app/views/forever_style_guide/sections/components/navigation/_nav_community_dropdown.erb +0 -99
  36. data/app/views/forever_style_guide/sections/components/navigation/_nav_deals.erb +0 -3
  37. data/app/views/forever_style_guide/sections/components/navigation/_nav_help.erb +0 -10
  38. data/app/views/forever_style_guide/sections/components/navigation/_nav_help_dropdown_menu.erb +0 -33
  39. data/app/views/forever_style_guide/sections/components/navigation/_nav_inspiration.erb +0 -3
  40. data/app/views/forever_style_guide/sections/components/navigation/_nav_my_forever_dropdown.erb +0 -130
  41. data/app/views/forever_style_guide/sections/components/navigation/_nav_products_dropdown.erb +0 -143
@@ -1,25 +1,34 @@
1
+ $in-front-of-primary-nav-and-ambassador-banner: $zindex-navbar-fixed + 3;
2
+ $impersonation-banner-height: 20px;
3
+
1
4
  .impersonation_banner {
2
- overflow: hidden;
5
+ position: fixed;
6
+ top: 0;
7
+ width: 100%;
8
+ height: $impersonation-banner-height;
3
9
  min-width: $minimum-application-width;
4
- padding-top: 5px;
5
- padding-bottom: 5px;
6
- font-size: $font-size-200;
10
+ padding-top: 1px; // shimming visual alignment
11
+ font-size: $font-size-100;
12
+ z-index: $in-front-of-primary-nav-and-ambassador-banner;
13
+ }
14
+
15
+ .has-impersonation_banner {
16
+ .ambassador_banner,
17
+ #header-is_fixed.affix {
18
+ margin-top: $impersonation-banner-height;
19
+ }
7
20
  }
8
21
 
9
22
  .btn.btn-cancel_impersonation {
10
23
  height: auto;
24
+ float: right;
25
+ margin-top: -3px; //account for fa-close icon throwing off vertical alignment
11
26
  color: $color-white;
12
- font-size: $font-size-200;
27
+ font-size: $font-size-100;
13
28
  text-decoration: none;
14
29
 
15
- @media (min-width: $screen-sm-min) {
16
- float: right;
17
- margin-top: -3px; //account for fa-close icon throwing off vertical alignment
18
- }
19
- @media (max-width: $screen-xs-max) {
20
- display: block;
21
- clear: both;
22
- text-align: left;
30
+ .fa {
31
+ font-size: $font-size-100;
23
32
  }
24
33
 
25
34
  &:link,
@@ -4,20 +4,16 @@
4
4
  @import "dropdown-menu";
5
5
  @import "fa-feature_bullet";
6
6
  @import "impersonation_banner";
7
+ @import "ambassador_banner";
7
8
  @import "input_groups";
8
9
  @import "list";
9
10
  @import "nav";
10
- @import "nav-dropdowns";
11
- @import "nav-dropdowns-account";
12
- @import "nav-dropdowns-ambassador";
13
- @import "nav-dropdowns-help";
11
+ @import "nav-account_dropdown";
12
+ @import "nav-cart";
14
13
  @import "nav-fixed";
15
- @import "nav-icons";
16
- @import "nav-item-list";
17
- @import "nav-offcanvas";
14
+ @import "nav-mobile-menu";
18
15
  @import "progress";
19
16
  @import "responsive_utilities";
20
17
  @import "select";
21
- @import "shame";
22
18
  @import "modal";
23
19
  @import "signin";
@@ -0,0 +1,193 @@
1
+ // desktop authenticated account dropdown styling
2
+ $avatar-height: 35px;
3
+ $avatar-width: 35px;
4
+ $user_info-max_width: 100px;
5
+ $user_info-max_width-sm: 70px;
6
+ $user_info-max_width-xs: 50px;
7
+
8
+ $mobile-menu-active-bar-offset: -11px;
9
+ $padding-small-horizontal: 3px;
10
+
11
+ .navigation-user_info {
12
+ height: 100%;
13
+ margin-top: 7px;
14
+
15
+ &.open {
16
+ .navigation-user_info-icon {
17
+ transform: rotate(180deg);
18
+ }
19
+ }
20
+
21
+ @media (max-width: $grid-float-breakpoint) {
22
+ display: none; // hides dropdown on mobile
23
+ }
24
+
25
+ @media (min-width: $screen-md) {
26
+ margin-right: 15px;
27
+ }
28
+ }
29
+
30
+ .navigation-user_info-icon {
31
+ margin-top: -3px; // magic number to vertical align
32
+ }
33
+
34
+ .navigation-user_info-avatar { // avatar in nav
35
+ height: $avatar-height;
36
+ width: $avatar-width;
37
+ margin-right: $padding-default-horizontal;
38
+ box-shadow: none;
39
+ border: none;
40
+ }
41
+
42
+ .navigation-user_info-user_name {
43
+ margin-right: $padding-small-horizontal;
44
+ max-width: $user_info-max_width;
45
+ text-overflow: ellipsis;
46
+ white-space: nowrap;
47
+ overflow: hidden;
48
+ transition: transform 0.15s ease-in-out;
49
+
50
+ @media (min-width: $grid-float-breakpoint) and (max-width: $screen-md_to_lg-plus) {
51
+ max-width: $user_info-max_width-xs;
52
+ }
53
+ @media (min-width: $screen-md_to_lg-plus) and (max-width: $screen-lg-plus) {
54
+ max-width: $user_info-max_width-sm;
55
+ }
56
+ }
57
+
58
+ // Account Dropdown / Popover
59
+ .navigation-account_dropdown-trigger {
60
+ display: flex;
61
+ align-items: center;
62
+ cursor: pointer;
63
+ position: relative;
64
+ height: 100%;
65
+ overflow-y: hidden;
66
+ transition: opacity 0.15s ease-in-out;
67
+
68
+ &:hover {
69
+ opacity: 0.7;
70
+ }
71
+ }
72
+
73
+ .navigation-account_dropdown {
74
+ position: absolute;
75
+ background-color: $color-white;
76
+ box-shadow: 0 5px 20px rgba(0,0,0,.1);
77
+ top: calc(100% + 20px);
78
+ right: $nav-horizontal-spacing;
79
+ padding: $padding-large-vertical $padding-large-horizontal;
80
+ padding-bottom: 0;
81
+ width: 300px;
82
+
83
+ &::before {
84
+ content: "";
85
+ position: absolute;
86
+ top: -10px;
87
+ right: 10px;
88
+ width: 0;
89
+ height: 0;
90
+ border-left: 10px solid transparent;
91
+ border-right: 10px solid transparent;
92
+ border-bottom: 10px solid $color-white;
93
+ }
94
+
95
+ &.open {
96
+ display: block;
97
+ }
98
+ }
99
+
100
+ .navigation-account_dropdown-avatar {
101
+ margin: 0;
102
+ margin-right: $padding-large-horizontal;
103
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
104
+ border: none;
105
+ padding: 0;
106
+ }
107
+
108
+ .navigation-account_dropdown-user_info {
109
+ display: flex;
110
+ align-items: center;
111
+ padding-bottom: $padding-large-vertical;
112
+ border-bottom: 2px solid $color-gray-200;
113
+ }
114
+
115
+ .user_info-logged_in-account_dropdown-storage {
116
+ width: 100%;
117
+ text-align: left;
118
+ }
119
+
120
+ .navigation-account_dropdown-storage_bar {
121
+ height: 10px;
122
+ border-radius: 50px;
123
+ background: $color-gray-300;
124
+ margin-top: $padding-xs-vertical;
125
+ margin-bottom: $padding-small-vertical;
126
+ width: 100%;
127
+ }
128
+
129
+ .navigation-account_dropdown-storage_bar-percent_used {
130
+ border-radius: 50px;
131
+ background: $color-forever_services;
132
+ height: 100%;
133
+ }
134
+
135
+ .navigation-account_dropdown-list {
136
+
137
+ padding-top: $padding-small-vertical;
138
+ padding-bottom: $padding-small-vertical;
139
+ margin-bottom: 0;
140
+ text-align: left;
141
+
142
+ &:not(:last-of-type) {
143
+ border-bottom: 2px solid $color-gray-200;
144
+ }
145
+ }
146
+
147
+ a.navigation-account_dropdown-list-item {
148
+ display: block;
149
+ position: relative;
150
+ padding-top: $padding-small-vertical;
151
+ padding-bottom: $padding-small-vertical;
152
+ margin-left: -$padding-large-horizontal;
153
+ margin-right: -$padding-large-horizontal;
154
+ padding-left: $padding-large-horizontal;
155
+ padding-right: $padding-large-horizontal;
156
+ color: $color-gray-600;
157
+ text-decoration: none;
158
+
159
+ &::before {
160
+ @media screen and (min-width: $screen-xs) {
161
+ position: absolute;
162
+ bottom: 0;
163
+ left: 0;
164
+ height: 100%;
165
+ width: 4px;
166
+ background-color: $color-secondary;
167
+ content: "";
168
+ transform: scaleX(0);
169
+ transition: transform 0.15s ease-in-out;
170
+ transform-origin: left;
171
+ }
172
+ @media screen and (max-width: $grid-float-breakpoint) {
173
+ left: $mobile-menu-active-bar-offset;
174
+ }
175
+ }
176
+
177
+ &:hover {
178
+ color: $color-secondary;
179
+
180
+ &::before {
181
+ transform: scaleX(1);
182
+ transition: transform 0.25s ease-in-out;
183
+ }
184
+ }
185
+ }
186
+
187
+ .navigation-account_dropdown-list-item-sign_out {
188
+ color: $color-danger !important;
189
+ }
190
+
191
+ .navigation-account_dropdown-list-item:not(:last-of-type) {
192
+ border-bottom: none;
193
+ }
@@ -0,0 +1,39 @@
1
+ $icon-to-text-alignment: -3px;
2
+ $cart-count-horizontal-position: -3px;
3
+ $cart-count-vertical-position: -8px;
4
+ $mobile-icon-size: 21px;
5
+
6
+ //style the cart and help icon the same + override bootstrap
7
+ .navbar-nav > li > a {
8
+ &.navigation-user_info-cart,
9
+ &.navigation-user_info-help_link {
10
+ margin-top: $icon-to-text-alignment;
11
+ padding-left: $padding-small-horizontal * 2;
12
+ padding-right: $padding-small-horizontal * 2;
13
+ background-color: inherit;
14
+ @include transition($navigation-link-hover-transition);
15
+
16
+ &:hover .fa {
17
+ color: $color-secondary;
18
+ @include transition($navigation-link-hover-transition);
19
+ }
20
+
21
+ &.navigation-user_info-cart-with_count {
22
+ @media (max-width: $grid-float-breakpoint) {
23
+ padding-right: 0;
24
+ }
25
+ }
26
+ }
27
+ }
28
+
29
+ .navigation-user_info-cart-count {
30
+ display: block;
31
+ float: right;
32
+ text-align: center;
33
+ margin-top: $cart-count-vertical-position;
34
+ margin-left: $cart-count-horizontal-position;
35
+ padding-top: 1px; // shim for alignment
36
+ width: $mobile-icon-size;
37
+ height: $mobile-icon-size;
38
+ border-radius: 50%;
39
+ }
@@ -1,5 +1,4 @@
1
1
  #header-is_fixed {
2
- position: fixed;
3
2
  display: block;
4
3
  width: 100%;
5
4
  top: 0;
@@ -134,14 +134,6 @@ a.cart-icon {
134
134
 
135
135
  a.cart-icon {
136
136
  padding-top: $cart-icon-vertical-offset-mobile;
137
-
138
- @media (max-width: $screen-lg-min) {
139
- position: absolute;
140
- right: 0;
141
- }
142
- @media (min-width: $screen-md_to_lg) {
143
- padding-top: $cart-icon-vertical-offset !important; //override .nav.navbar-nav > li > a
144
- }
145
137
  }
146
138
 
147
139
  .cart-icon-count {
@@ -0,0 +1,111 @@
1
+ $nav-icon_bar-width: 22px;
2
+
3
+ .navbar-header {
4
+ @media (max-width: $grid-float-breakpoint) {
5
+ float: none;
6
+ }
7
+ }
8
+
9
+ .navbar-toggle {
10
+ @media (max-width: $grid-float-breakpoint) {
11
+ display: block;
12
+ }
13
+ @media (max-width: $screen-md) {
14
+ margin-right: -10px; // equalize padding between right-side icons
15
+ }
16
+ @media (max-width: $screen-xs) {
17
+ margin-left: 5px;
18
+ }
19
+
20
+ // begin Hamburger + animation
21
+ .icon-bar {
22
+ background-color: $color-gray-600;
23
+ transition: all 0.2s;
24
+ }
25
+ .middle-bar {
26
+ opacity: 1;
27
+ }
28
+
29
+ &.open {
30
+ .icon-bar {
31
+ width: $nav-icon_bar-width;
32
+ }
33
+ .top-bar {
34
+ transform: rotate(45deg);
35
+ transform-origin: 10% 10%;
36
+ }
37
+ .middle-bar {
38
+ opacity: 0;
39
+ }
40
+ .bottom-bar {
41
+ transform: rotate(-45deg);
42
+ transform-origin: 10% 90%;
43
+ }
44
+ }
45
+ }
46
+
47
+ .navbar-nav > li {
48
+ @media (max-width: $grid-float-breakpoint) {
49
+ float: none;
50
+ }
51
+
52
+ &.navigation-user_info-logged_out-mobile {
53
+ display: none;
54
+
55
+ @media (max-width: $grid-float-breakpoint) {
56
+ display: block;
57
+ padding: 5px 20px;
58
+ }
59
+ }
60
+ }
61
+
62
+ .navigation-user_info-logged_out-mobile > a.btn {
63
+ @media (max-width: $grid-float-breakpoint) {
64
+ padding-top: 10px; // custom pad req. to override BS to fix btn align bug
65
+ }
66
+ }
67
+
68
+ // mobile menu button styling
69
+ .nav-mobile-menu-account {
70
+ padding-top: 10px;
71
+ padding-left: 25px;
72
+ padding-right: 25px;
73
+ width: 100%;
74
+ background-color: $color-white;
75
+ }
76
+
77
+
78
+ .nav-mobile-menu {
79
+ &.affix {
80
+ position: relative; // we only want the affix behavior in the mobile views
81
+ }
82
+
83
+ @media (max-width: $grid-float-breakpoint) {
84
+ position: absolute;
85
+ right: 0;
86
+ width: $minimum-application-width;
87
+ border-left: solid 1px $color-gray-200;
88
+ background-color: $color-white;
89
+ transform: translateX(100%);
90
+ transition: opacity 0.2s ease-in-out, transform 0.3s ease-in-out;
91
+ z-index: $zindex-tooltip; /* Sit on top */
92
+
93
+ &.affix {
94
+ position: fixed;
95
+ top: $nav-height;
96
+ bottom: 0;
97
+ overflow-y: scroll;
98
+ }
99
+ }
100
+
101
+ @media (max-width: $screen-xs) {
102
+ width: 100%;
103
+ }
104
+
105
+ &.in {
106
+ padding-bottom: 100%; // gives off-canvas menu full height
107
+ opacity: 1;
108
+ padding-bottom: 100%;
109
+ transform: translateX(0%);
110
+ }
111
+ }