@penskemediacorp/larva-patterns 0.7.2 → 0.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/vlanding/vlanding.html +1 -0
- package/__tests__/vlanding/vlanding.prototype.js +3 -1
- package/components/c-input/c-input.prototype.js +0 -1
- package/components/c-input/c-input.twig +3 -2
- package/components/c-lazy-image/c-lazy-image.prototype.js +3 -2
- package/components/c-lazy-image/c-lazy-image.twig +5 -1
- package/modules/age-gate/age-gate.prototype.js +26 -9
- package/modules/age-gate/age-gate.twig +12 -1
- package/modules/banner/banner.prototype.js +10 -0
- package/modules/banner/banner.twig +10 -0
- package/modules/expandable-search/expandable-search.prototype.js +19 -0
- package/modules/expandable-search/expandable-search.twig +9 -0
- package/modules/footer-button-list/footer-button-list.prototype.js +1 -1
- package/modules/header/header.article.js +39 -0
- package/modules/header/header.prototype.js +90 -0
- package/modules/header/header.twig +74 -0
- package/modules/header-menu/header-menu.prototype.js +26 -0
- package/modules/header-menu/header-menu.twig +3 -0
- package/modules/header-sticky/header-sticky.article.js +43 -0
- package/modules/header-sticky/header-sticky.prototype.js +39 -0
- package/modules/header-sticky/header-sticky.twig +30 -0
- package/modules/mega-menu/mega-menu.prototype.js +16 -0
- package/modules/mega-menu/mega-menu.twig +10 -0
- package/modules/mega-menu-content/mega-menu-content.prototype.js +10 -0
- package/modules/mega-menu-content/mega-menu-content.twig +5 -0
- package/modules/mega-menu-footer/mega-menu-footer.prototype.js +41 -0
- package/modules/mega-menu-footer/mega-menu-footer.twig +19 -0
- package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.prototype.js +20 -0
- package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.twig +4 -0
- package/modules/mega-menu-item/mega-menu-item.prototype.js +23 -0
- package/modules/mega-menu-item/mega-menu-item.twig +13 -0
- package/modules/read-next/read-next.prototype.js +20 -0
- package/modules/read-next/read-next.twig +4 -0
- package/modules/search-form/search-form.prototype.js +8 -0
- package/modules/search-form/search-form.twig +11 -0
- package/modules/story-grid/story-grid.twig +5 -0
- package/objects/o-account-menu/o-account-menu.prototype.js +35 -0
- package/objects/o-account-menu/o-account-menu.twig +25 -0
- package/objects/o-header/o-header.twig +4 -0
- package/objects/o-header-buttons/o-header-buttons.column.js +10 -0
- package/objects/o-header-buttons/o-header-buttons.prototype.js +41 -0
- package/objects/o-header-buttons/o-header-buttons.twig +42 -0
- package/package.json +4 -4
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<div>
|
|
2
|
+
{% include "@larva/modules/header/header.twig" with header %}
|
|
2
3
|
{% include "@larva/modules/vlanding-video-showcase/vlanding-video-showcase.twig" with vlanding_video_showcase %}
|
|
3
4
|
{% include "@larva/modules/vlanding-playlist/vlanding-playlist.twig" with vlanding_playlist %}
|
|
4
5
|
{% include "@larva/modules/vlanding-playlist/vlanding-playlist.twig" with vlanding_playlist %}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
2
|
|
|
3
|
+
const header = clonedeep( require( '../../modules/header/header.prototype' ) );
|
|
3
4
|
const vlanding_video_showcase = clonedeep( require( '../../modules/vlanding-video-showcase/vlanding-video-showcase.prototype' ) );
|
|
4
5
|
const vlanding_playlist = clonedeep( require( '../../modules/vlanding-playlist/vlanding-playlist.prototype' ) );
|
|
5
6
|
|
|
6
7
|
module.exports = {
|
|
7
8
|
vlanding_video_showcase: vlanding_video_showcase,
|
|
8
|
-
vlanding_playlist: vlanding_playlist
|
|
9
|
+
vlanding_playlist: vlanding_playlist,
|
|
10
|
+
header: header
|
|
9
11
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
<label class="c-input" for="{{
|
|
1
|
+
<label class="c-input" for="{{ c_input_id_attr }}">
|
|
2
2
|
<span class="{{ c_input_label_class }}">{{ c_input_label_text }}</span>
|
|
3
3
|
<input
|
|
4
|
+
id="{{ c_input_id_attr }}"
|
|
4
5
|
type="{{ c_input_type_attr }}"
|
|
5
6
|
class="{{ c_input_class }}"
|
|
6
|
-
name="{{
|
|
7
|
+
name="{{ c_input_id_attr }}"
|
|
7
8
|
placeholder="{{ c_input_placeholder_attr }}"
|
|
8
9
|
aria-invalid="{{ c_input_aria_invalid_attr }}"
|
|
9
10
|
data-error="{{ c_input_error_attr }}"
|
|
@@ -12,5 +12,6 @@ module.exports = {
|
|
|
12
12
|
c_lazy_image_sizes_attr: 'auto',
|
|
13
13
|
c_lazy_image_img_classes: 'lrv-u-background-color-grey-lightest lrv-u-width-100p lrv-u-display-block lrv-u-height-auto',
|
|
14
14
|
c_lazy_image_height_attr: '',
|
|
15
|
-
c_lazy_image_width_attr: ''
|
|
16
|
-
|
|
15
|
+
c_lazy_image_width_attr: '',
|
|
16
|
+
c_lazy_image_in_initial_viewport: false
|
|
17
|
+
}
|
|
@@ -14,7 +14,11 @@
|
|
|
14
14
|
{% if c_lazy_image_markup %}
|
|
15
15
|
{{ c_lazy_image_markup }}
|
|
16
16
|
{% else %}
|
|
17
|
-
|
|
17
|
+
{% if c_lazy_image_in_initial_viewport %}
|
|
18
|
+
<img class="c-lazy-image__img {{ c_lazy_image_img_classes }}" src="{{ c_lazy_image_src_url }}" alt="{{ c_lazy_image_alt_attr }}" srcset="{{ c_lazy_image_srcset_attr }}" sizes="{{ c_lazy_image_sizes_attr }}" height="{{ c_lazy_image_height_attr }}" width="{{ c_lazy_image_width_attr }}">
|
|
19
|
+
{% else %}
|
|
20
|
+
<img class="c-lazy-image__img {{ c_lazy_image_img_classes }}" src="{{ c_lazy_image_placeholder_url }}" data-lazy-src="{{ c_lazy_image_src_url }}" alt="{{ c_lazy_image_alt_attr }}" data-lazy-srcset="{{ c_lazy_image_srcset_attr }}" data-lazy-sizes="{{ c_lazy_image_sizes_attr }}" height="{{ c_lazy_image_height_attr }}" width="{{ c_lazy_image_width_attr }}">
|
|
21
|
+
{% endif %}
|
|
18
22
|
{% endif %}
|
|
19
23
|
|
|
20
24
|
{% if c_lazy_image_crop_class %}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
const clonedeep = require('lodash.clonedeep');
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const c_svg_prototype = require('@penskemediacorp/larva-patterns/components/c-svg/c-svg.prototype');
|
|
4
4
|
const c_heading = clonedeep(require('@penskemediacorp/larva-patterns/components/c-heading/c-heading.prototype'));
|
|
5
5
|
const o_input_group = clonedeep(require('@penskemediacorp/larva-patterns/objects/o-input-group/o-input-group.prototype'));
|
|
6
6
|
const c_button = clonedeep(require('@penskemediacorp/larva-patterns/components/c-button/c-button.prototype'));
|
|
7
7
|
const c_dek = clonedeep(require('@penskemediacorp/larva-patterns/components/c-dek/c-dek.prototype'));
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
const c_svg_header = clonedeep(c_svg_prototype);
|
|
10
|
+
c_svg_header.c_svg_name = 'brand-logo-white';
|
|
11
|
+
c_svg_header.c_svg_classes = 'lrv-u-width-150 lrv-u-margin-lr-auto lrv-u-margin-b-2';
|
|
11
12
|
|
|
12
|
-
c_heading.c_heading_classes += ' lrv-u-margin-b-2';
|
|
13
|
+
c_heading.c_heading_classes += ' lrv-a-font-primary-l lrv-u-margin-b-2';
|
|
13
14
|
c_heading.c_heading_text = 'You must be 21 to enter.';
|
|
14
15
|
|
|
15
16
|
o_input_group.o_input_group_class = 'lrv-u-margin-b-2';
|
|
16
17
|
o_input_group_item = clonedeep( o_input_group.o_input_group_items[0] );
|
|
17
|
-
o_input_group_item.c_input_class = 'lrv-
|
|
18
|
+
o_input_group_item.c_input_class = 'lrv-a-font-primary-m lrv-u-color-white lrv-u-background-color-grey-darkest lrv-u-padding-lr-050 lrv-u-padding-tb-150 lrv-u-width-100 lrv-u-text-align-center';
|
|
18
19
|
o_input_group_item.c_input_size_attr = 2;
|
|
19
20
|
o_input_group_item.c_input_maxlength_attr = 4;
|
|
20
21
|
|
|
@@ -22,18 +23,34 @@ o_input_day_item = clonedeep( o_input_group_item );
|
|
|
22
23
|
o_input_month_item = clonedeep( o_input_group_item );
|
|
23
24
|
o_input_year_item = clonedeep( o_input_group_item );
|
|
24
25
|
|
|
25
|
-
o_input_day_item.c_input_placeholder_attr = 'DD';
|
|
26
26
|
o_input_month_item.c_input_placeholder_attr = 'MM';
|
|
27
|
+
o_input_month_item.c_input_id_attr = 'pmc-age-gate-month';
|
|
28
|
+
o_input_month_item.c_input_error_attr = 'Please enter a valid month';
|
|
29
|
+
o_input_month_item.c_input_size_attr = 4;
|
|
30
|
+
o_input_month_item.c_input_maxlength_attr = 2;
|
|
31
|
+
|
|
32
|
+
o_input_day_item.c_input_placeholder_attr = 'DD';
|
|
33
|
+
o_input_day_item.c_input_id_attr = 'pmc-age-gate-day';
|
|
34
|
+
o_input_day_item.c_input_error_attr = 'Please enter a valid day';
|
|
35
|
+
o_input_day_item.c_input_size_attr = 4;
|
|
36
|
+
o_input_day_item.c_input_maxlength_attr = 2;
|
|
37
|
+
|
|
27
38
|
o_input_year_item.c_input_placeholder_attr = 'YYYY';
|
|
39
|
+
o_input_year_item.c_input_id_attr = 'pmc-age-gate-year';
|
|
40
|
+
o_input_year_item.c_input_error_attr = 'Please enter a valid year';
|
|
41
|
+
o_input_year_item.c_input_size_attr = 4;
|
|
42
|
+
o_input_year_item.c_input_maxlength_attr = 4;
|
|
28
43
|
|
|
29
44
|
o_input_group.o_input_group_items = [
|
|
30
|
-
o_input_day_item,
|
|
31
45
|
o_input_month_item,
|
|
46
|
+
o_input_day_item,
|
|
32
47
|
o_input_year_item
|
|
33
48
|
];
|
|
34
49
|
|
|
35
|
-
c_button.
|
|
50
|
+
c_button.c_button_text = 'View';
|
|
51
|
+
c_button.c_button_classes = ' lrv-u-color-white lrv-u-background-color-brand-primary lrv-u-padding-lr-2 lrv-u-padding-tb-075 lrv-u-margin-b-2 lrv-u-text-align-center lrv-u-text-transform-uppercase lrv-a-font-primary-m';
|
|
36
52
|
|
|
53
|
+
c_dek.c_dek_classes = 'lrv-a-font-primary-xs';
|
|
37
54
|
c_dek.c_dek_text = 'Legal text.'
|
|
38
55
|
|
|
39
56
|
module.exports = {
|
|
@@ -44,7 +61,7 @@ module.exports = {
|
|
|
44
61
|
form_wrapper_class: '',
|
|
45
62
|
age_gate_footer_class: 'lrv-u-border-t-1 lrv-u-margin-t-025',
|
|
46
63
|
c_heading,
|
|
47
|
-
|
|
64
|
+
c_svg_header,
|
|
48
65
|
o_input_group,
|
|
49
66
|
c_button,
|
|
50
67
|
c_dek
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
<div class="age-gate // js-AgeGate {{ age_gate_class }}">
|
|
2
2
|
<div class="age-gate-inner // {{ age_gate_inner_class }}">
|
|
3
3
|
<div class="age-gate-header // {{ age_gate_header_class }}">
|
|
4
|
-
{%
|
|
4
|
+
{% if c_svg_header %}
|
|
5
|
+
{% include "@larva/components/c-svg/c-svg.twig" with c_svg_header %}
|
|
6
|
+
{% endif %}
|
|
7
|
+
{% if c_lazy_image_header %}
|
|
8
|
+
{% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image_header %}
|
|
9
|
+
{% endif %}
|
|
5
10
|
{% if c_heading %}
|
|
6
11
|
{% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
|
|
7
12
|
{% endif %}
|
|
@@ -21,6 +26,12 @@
|
|
|
21
26
|
{% if c_dek %}
|
|
22
27
|
{% include "@larva/components/c-dek/c-dek.twig" with c_dek %}
|
|
23
28
|
{% endif %}
|
|
29
|
+
{% if c_svg_footer %}
|
|
30
|
+
{% include "@larva/components/c-svg/c-svg.twig" with c_svg_footer %}
|
|
31
|
+
{% endif %}
|
|
32
|
+
{% if c_lazy_image_footer %}
|
|
33
|
+
{% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image_footer %}
|
|
34
|
+
{% endif %}
|
|
24
35
|
</div>
|
|
25
36
|
</div>
|
|
26
37
|
</div>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const clonedeep = require('lodash.clonedeep');
|
|
2
|
+
|
|
3
|
+
const c_lazy_image_prototype = require('../../components/c-lazy-image/c-lazy-image.prototype');
|
|
4
|
+
const c_lazy_image = clonedeep(c_lazy_image_prototype);
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
banner_classes: '',
|
|
8
|
+
c_lazy_image,
|
|
9
|
+
screen_reader_text: 'Page Banner',
|
|
10
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<div class="banner // {{ banner_classes }}">
|
|
2
|
+
<div class="banner__img">
|
|
3
|
+
{% if c_lazy_image %}
|
|
4
|
+
{% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
|
|
5
|
+
{% endif %}
|
|
6
|
+
</div>
|
|
7
|
+
{% if screen_reader_text %}
|
|
8
|
+
<h1 class="lrv-a-screen-reader-only">{{ screen_reader_text }}</h1>
|
|
9
|
+
{% endif %}
|
|
10
|
+
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const o_icon_button_search_prototype = require( '../../objects/o-icon-button/o-icon-button.search' );
|
|
4
|
+
const search_form_prototype = require( '../search-form/search-form.prototype' );
|
|
5
|
+
|
|
6
|
+
const search_form = clonedeep( search_form_prototype );
|
|
7
|
+
search_form.search_form_input_placeholder_attr = 'Search...';
|
|
8
|
+
|
|
9
|
+
const o_icon_button_search = clonedeep( o_icon_button_search_prototype );
|
|
10
|
+
o_icon_button_search.o_icon_button_classes += ' js-ExpandableSearch-trigger';
|
|
11
|
+
o_icon_button_search.c_icon.c_icon_classes = ' lrv-u-display-block lrv-u-width-24 lrv-u-height-24 lrv-u-color-brand-primary:hover';
|
|
12
|
+
|
|
13
|
+
module.exports = {
|
|
14
|
+
expandable_search_outer_classes: 'js-ExpandableSearch lrv-u-flex lrv-u-margin-l-auto lrv-a-glue-parent',
|
|
15
|
+
expandable_search_classes: 'js-ExpandableSearch-target lrv-a-unstyle-button lrv-u-color-black js-fade js-fade-is-out',
|
|
16
|
+
expandable_search_inner_classes:'lrv-u-height-auto lrv-a-glue lrv-a-glue--l-0 lrv-a-glue--t-50p lrv-u-flex lrv-u-transform-translateY-n50p',
|
|
17
|
+
o_icon_button_search: o_icon_button_search,
|
|
18
|
+
search_form: search_form,
|
|
19
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<div class="expandable-search-outer // {{ expandable_search_outer_classes }}">
|
|
2
|
+
|
|
3
|
+
{% include "@larva/objects/o-icon-button/o-icon-button.twig" with o_icon_button_search %}
|
|
4
|
+
<div class="expandable-search // {{ expandable_search_classes }}" hidden>
|
|
5
|
+
<div class="expandable_search-inner {{ expandable_search_inner_classes }}" data-header-search-trigger="">
|
|
6
|
+
{% include "@larva/modules/search-form/search-form.twig" with search_form %}
|
|
7
|
+
</div>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
@@ -36,7 +36,7 @@ customer_service.c_button_url = '#customer-service';
|
|
|
36
36
|
|
|
37
37
|
module.exports = {
|
|
38
38
|
footer_button_list_content_classes: 'o-footer-button-list__content a-font-body-s lrv-u-flex lrv-u-flex-direction-column a-double-underline a-double-underline-color-grey a-double-underline-bottom@mobile-max lrv-u-padding-b-2@mobile-max',
|
|
39
|
-
footer_button_list_title_classes: 'a-font-accent-medium-l lrv-u-font-weight-bold lrv-u-display-none@mobile-max lrv-u-padding-b-050',
|
|
39
|
+
footer_button_list_title_classes: 'lrv-a-font-accent-medium-l lrv-u-font-weight-bold lrv-u-display-none@mobile-max lrv-u-padding-b-050',
|
|
40
40
|
footer_button_list_classes: 'lrv-u-text-transform-uppercase u-letter-spacing-0063',
|
|
41
41
|
footer_button_list_title_text: '',
|
|
42
42
|
footer_button_list_buttons: [ get_digital_access, get_magazine, get_gift, customer_service],
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const header_prototype = require( './header.prototype' );
|
|
4
|
+
const header = clonedeep( header_prototype );
|
|
5
|
+
|
|
6
|
+
const header_sticky_prototype = require( '../header-sticky/header-sticky.article' );
|
|
7
|
+
const header_sticky = clonedeep( header_sticky_prototype );
|
|
8
|
+
header.header_sticky = header_sticky;
|
|
9
|
+
|
|
10
|
+
header.is_home = false;
|
|
11
|
+
header.header_classes = 'lrv-a-glue-parent';
|
|
12
|
+
header.header_inner_classes = 'lrv-u-background-color-white lrv-u-border-b-1 lrv-u-border-t-1 lrv-u-width-100p';
|
|
13
|
+
header.header_sticky_outer_classes = ' lrv-u-width-100p';
|
|
14
|
+
header.header_contents_classes = 'lrv-u-flex lrv-u-justify-content-space-between';
|
|
15
|
+
header.header_outer_classes='lrv-u-border-t-5 lrv-u-padding-t-025 lrv-u-width-100p';
|
|
16
|
+
header.header_logo_classes='lrv-u-flex lrv-u-text-align-center';
|
|
17
|
+
header.header_content_primary_classes = 'lrv-a-wrapper lrv-a-space-children-horizontal lrv-u-align-items-center lrv-u-flex';
|
|
18
|
+
header.header_content_secondary_classes = 'lrv-u-align-items-center lrv-u-border-b-1 lrv-u-border-t-1 lrv-u-flex lrv-u-justify-content-center lrv-u-margin-t-025 lrv-u-padding-tb-075';
|
|
19
|
+
header.header_links_primary_classes = 'lrv-u-align-items-center lrv-u-padding-r-1 lrv-u-border-r-1 lrv-a-space-children--050 lrv-a-space-children-horizontal lrv-u-flex';
|
|
20
|
+
header.header_links_secondary_classes = 'lrv-a-space-children--1 lrv-a-space-children-horizontal lrv-u-flex lrv-u-margin-l-auto';
|
|
21
|
+
header.c_logo.c_logo_classes += 'lrv-u-color-brand-primary lrv-u-color-brand-primary:hover lrv-u-display-inline-flex lrv-u-justify-content-center lrv-u-width-100p lrv-u-width-150';
|
|
22
|
+
header.header_content_menu_classes='lrv-u-margin-l-125 lrv-a-space-children--050 lrv-a-space-children-horizontal lrv-u-flex';
|
|
23
|
+
|
|
24
|
+
header.o_icon_button_menu.c_icon.c_icon_classes = 'lrv-u-display-block lrv-u-width-30 lrv-u-height-30';
|
|
25
|
+
header.o_icon_button_menu.o_icon_button_classes = 'js-MegaMenu-Trigger lrv-u-align-items-center lrv-u-border-a-0 lrv-u-flex lrv-u-padding-lr-1 lrv-u-background-color-transparent lrv-u-color-brand-primary:hover';
|
|
26
|
+
header.o_icon_button_menu.o_icon_button_screen_reader_text = 'Click to expand the Mega Menu';
|
|
27
|
+
header.o_icon_button_menu.c_span.c_span_text = '';
|
|
28
|
+
|
|
29
|
+
header.header_menu.o_nav.o_nav_list_item_classes = 'lrv-a-font-body-s lrv-a-space-children--2 lrv-a-space-children-horizontal lrv-a-unstyle-list lrv-u-flex lrv-u-justify-content-center lrv-u-text-transform-uppercase lrv-u-padding-t-050';
|
|
30
|
+
const header_menu_items = header.header_menu.o_nav.o_nav_list_items;
|
|
31
|
+
|
|
32
|
+
for (let i = 0; i < header_menu_items.length; i++) {
|
|
33
|
+
header.header_menu.o_nav.o_nav_list_items[i].c_link_classes = 'lrv-u-padding-tb-075 lrv-a-unstyle-link lrv-u-color-brand-primary:hover lrv-a-hover-effect lrv-u-whitespace-nowrap lrv-u-border-b-6 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-line-height-large lrv-u-display-inline-block';
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
header.expandable_search.expandable_search_inner_classes = 'lrv-u-height-auto lrv-a-glue lrv-a-glue--r-0 lrv-a-glue--t-50p lrv-u-flex lrv-u-transform-translateY-n50p';
|
|
37
|
+
header.expandable_search.expandable_search_classes += ' sticky-expandable';
|
|
38
|
+
|
|
39
|
+
module.exports = header;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const header_sticky_prototype = require( '../header-sticky/header-sticky.prototype' );
|
|
4
|
+
const header_menu_prototype = require( '../header-menu/header-menu.prototype' );
|
|
5
|
+
const expandable_search_prototype = require( '../expandable-search/expandable-search.prototype' );
|
|
6
|
+
const c_link_prototype = require( '../../components/c-link/c-link.prototype' );
|
|
7
|
+
const o_icon_button_prototype = require( '../../objects/o-icon-button/o-icon-button.prototype' );
|
|
8
|
+
const o_icon_button_search_prototype = require( '../../objects/o-icon-button/o-icon-button.search' );
|
|
9
|
+
const o_header_buttons_prototype = require( '../../objects/o-header-buttons/o-header-buttons.prototype' );
|
|
10
|
+
const o_header_buttons_column_prototype = require( '../../objects/o-header-buttons/o-header-buttons.column' );
|
|
11
|
+
|
|
12
|
+
const header_sticky = clonedeep( header_sticky_prototype );
|
|
13
|
+
|
|
14
|
+
const expandable_search = clonedeep( expandable_search_prototype );
|
|
15
|
+
|
|
16
|
+
const header_menu = clonedeep( header_menu_prototype );
|
|
17
|
+
header_menu.o_nav.o_nav_list_classes = 'lrv-a-font-body-s lrv-a-space-children--2 lrv-a-space-children-horizontal lrv-a-unstyle-list lrv-u-flex lrv-u-font-family-body lrv-u-justify-content-center lrv-u-text-transform-uppercase';
|
|
18
|
+
const header_menu_items = header_menu.o_nav.o_nav_list_items;
|
|
19
|
+
for (let i = 0; i < header_menu_items.length; i++) {
|
|
20
|
+
header_menu.o_nav.o_nav_list_items[i].c_link_classes = ' lrv-u-padding-b-050 lrv-a-unstyle-link lrv-u-color-brand-primary:hover lrv-a-hover-effect lrv-u-whitespace-nowrap lrv-u-border-b-6 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover';
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const o_account_menu = clonedeep( require( '../../objects/o-account-menu/o-account-menu.prototype') );
|
|
24
|
+
o_account_menu.o_account_menu_classes += ' lrv-a-hidden';
|
|
25
|
+
|
|
26
|
+
const c_shop_link = clonedeep( c_link_prototype );
|
|
27
|
+
c_shop_link.c_link_text = 'RS shop';
|
|
28
|
+
c_shop_link.c_link_classes = 'lrv-u-margin-b-050 lrv-a-unstyle-link lrv-u-display-inline lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-font-family-body lrv-u-text-transform-uppercase lrv-a-font-body-xxs';
|
|
29
|
+
|
|
30
|
+
const c_login_link = clonedeep( c_link_prototype );
|
|
31
|
+
c_login_link.c_link_text = 'Log In';
|
|
32
|
+
c_login_link.c_link_classes = 'subscriber-login-link lrv-u-margin-b-050 lrv-a-unstyle-link lrv-u-display-inline lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-font-family-body lrv-u-text-transform-uppercase lrv-a-font-body-xxs lrv-a-hidden@mobile-max ';
|
|
33
|
+
|
|
34
|
+
const c_subscribe_link = clonedeep( c_link_prototype );
|
|
35
|
+
c_subscribe_link.c_link_text = 'Subscribe';
|
|
36
|
+
c_subscribe_link.c_link_classes = 'subscribe-link cx-dynamic-link lrv-u-margin-b-050 lrv-a-unstyle-link lrv-u-display-inline lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-font-family-body lrv-u-text-transform-uppercase lrv-a-font-body-xxs';
|
|
37
|
+
|
|
38
|
+
const c_got_a_tip = clonedeep( c_link_prototype );
|
|
39
|
+
c_got_a_tip.c_link_text = 'Got A Tip?';
|
|
40
|
+
c_got_a_tip.c_link_classes = 'lrv-u-margin-b-050 lrv-a-unstyle-link lrv-u-display-inline lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-font-family-body lrv-u-text-transform-uppercase lrv-a-font-body-xxs';
|
|
41
|
+
|
|
42
|
+
const c_logo_prototype = require( '../../components/c-logo/c-logo.prototype' );
|
|
43
|
+
const c_logo = clonedeep( c_logo_prototype );
|
|
44
|
+
c_logo.c_logo_classes += 'lrv-u-color-brand-primary lrv-u-color-brand-primary:hover lrv-u-display-inline-flex lrv-u-justify-content-center lrv-u-width-100p';
|
|
45
|
+
c_logo.c_logo_is_h1 = true;
|
|
46
|
+
|
|
47
|
+
const o_icon_button_search = clonedeep( o_icon_button_search_prototype );
|
|
48
|
+
const o_icon_button_menu = clonedeep( o_icon_button_prototype );
|
|
49
|
+
|
|
50
|
+
o_icon_button_menu.o_icon_button_classes += ' js-MegaMenu-Trigger lrv-u-margin-r-auto lrv-u-color-brand-primary:hover lrv-a-glue-parent';
|
|
51
|
+
o_icon_button_menu.c_icon.c_icon_classes = 'lrv-u-display-block lrv-u-width-30 lrv-u-height-30';
|
|
52
|
+
o_icon_button_menu.c_span.c_span_text = '';
|
|
53
|
+
o_icon_button_menu.o_icon_button_screen_reader_text = 'Click to expand the Mega Menu';
|
|
54
|
+
|
|
55
|
+
const o_header_buttons = clonedeep( o_header_buttons_prototype );
|
|
56
|
+
|
|
57
|
+
const o_header_buttons_column = clonedeep( o_header_buttons_column_prototype );
|
|
58
|
+
|
|
59
|
+
module.exports = {
|
|
60
|
+
header_classes: 'lrv-a-glue-parent',
|
|
61
|
+
header_inner_classes: 'lrv-u-width-100p lrv-u-padding-t-1 lrv-u-background-color-white',
|
|
62
|
+
header_sticky_outer_classes: ' lrv-u-width-100p',
|
|
63
|
+
header_outer_classes: 'lrv-u-flex lrv-u-justify-content-space-between',
|
|
64
|
+
header_contents_classes: '',
|
|
65
|
+
header_logo_classes: 'lrv-u-text-align-center lrv-u-width-40p@tablet',
|
|
66
|
+
header_content_primary_classes: 'lrv-u-flex lrv-u-justify-content-space-between lrv-u-align-items-center lrv-u-margin-b-050 lrv-u-padding-b-1',
|
|
67
|
+
header_content_secondary_classes: 'lrv-a-hidden@mobile-max lrv-u-align-items-center lrv-u-flex lrv-u-justify-content-center',
|
|
68
|
+
header_links_primary_classes: 'lrv-a-hidden@mobile-max lrv-u-width-30p lrv-a-space-children--050 lrv-a-space-children-vertical',
|
|
69
|
+
header_links_secondary_classes:'lrv-u-width-30p lrv-u-text-align-right lrv-a-space-children--050 lrv-a-space-children-vertical',
|
|
70
|
+
header_mobile_button_classes:'lrv-a-hidden@tablet lrv-u-width-22p@mobile-max',
|
|
71
|
+
header_links_primary_inner_classes:'lrv-u-display-inline-flex lrv-u-flex-direction-column',
|
|
72
|
+
header_links_secondary_inner_classes:'lrv-u-display-inline-flex lrv-u-flex-direction-column ',
|
|
73
|
+
header_content_secondary_outer_classes:'lrv-u-border-t-6',
|
|
74
|
+
header_content_secondary_inner_classes:'lrv-u-border-b-1 lrv-u-border-t-1 lrv-u-margin-t-050 lrv-u-padding-t-050 lrv-u-padding-b-050 lrv-u-border-b-1 lrv-u-border-t-1 lrv-u-margin-t-050 lrv-u-margin-t-025@mobile-max lrv-u-border-b-00@mobile-max',
|
|
75
|
+
header_content_menu_classes:'lrv-u-margin-l-125 lrv-a-space-children--050 lrv-a-space-children-vertical',
|
|
76
|
+
c_logo,
|
|
77
|
+
c_link_left_primary: c_shop_link,
|
|
78
|
+
c_link_left_secondary: c_got_a_tip,
|
|
79
|
+
c_link_right_primary: c_subscribe_link,
|
|
80
|
+
c_link_right_secondary: c_login_link,
|
|
81
|
+
o_icon_button_menu,
|
|
82
|
+
o_icon_button_search,
|
|
83
|
+
header_menu,
|
|
84
|
+
header_sticky,
|
|
85
|
+
expandable_search,
|
|
86
|
+
is_home: true,
|
|
87
|
+
o_header_buttons,
|
|
88
|
+
o_header_buttons_column,
|
|
89
|
+
o_account_menu,
|
|
90
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{% if is_home %}
|
|
2
|
+
<header class="header // js-Header {{ header_classes }}">
|
|
3
|
+
<div class="header-content // js-Header-contents {{ header_contents_classes }}">
|
|
4
|
+
<div class="header-outer // js-hide-when-sticky {{ header_outer_classes }}">
|
|
5
|
+
<div class="header-inner // {{ header_inner_classes }} ">
|
|
6
|
+
<div class="header-content-primary // lrv-a-wrapper {{ header_content_primary_classes }}">
|
|
7
|
+
<div class="header-mobile-button // {{ header_mobile_button_classes }} ">
|
|
8
|
+
{% include "@larva/objects/o-icon-button/o-icon-button.twig" with o_icon_button_menu %}
|
|
9
|
+
</div>
|
|
10
|
+
<div class="header-links-primary // {{ header_links_primary_classes }} ">
|
|
11
|
+
<div class="header-links-primary-inner // {{ header_links_primary_inner_classes }} ">
|
|
12
|
+
{% include "@larva/components/c-link/c-link.twig" with c_link_left_primary %}
|
|
13
|
+
{% include "@larva/components/c-link/c-link.twig" with c_link_left_secondary %}
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="header-logo // {{ header_logo_classes }} ">
|
|
17
|
+
{% include "@larva/components/c-logo/c-logo.twig" with c_logo %}
|
|
18
|
+
</div>
|
|
19
|
+
<div class="header-links-secondary // {{ header_links_secondary_classes }} ">
|
|
20
|
+
<div class="header-links-secondary-inner // {{ header_links_secondary_inner_classes }} ">
|
|
21
|
+
{% include "@larva/components/c-link/c-link.twig" with c_link_right_primary %}
|
|
22
|
+
{% include "@larva/components/c-link/c-link.twig" with c_link_right_secondary %}
|
|
23
|
+
{% include "@larva/objects/o-account-menu/o-account-menu.twig" with o_account_menu %}
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="header-content-secondary-outer // {{ header_content_secondary_outer_classes }} ">
|
|
28
|
+
<div class="header-content-secondary-inner // {{ header_content_secondary_inner_classes }} ">
|
|
29
|
+
<div class="header-content-secondary // lrv-a-wrapper {{ header_content_secondary_classes }} ">
|
|
30
|
+
{% include "@larva/objects/o-icon-button/o-icon-button.twig" with o_icon_button_menu %}
|
|
31
|
+
{% include "@larva/modules/header-menu/header-menu.twig" with header_menu %}
|
|
32
|
+
{% include "@larva/modules/expandable-search/expandable-search.twig" with expandable_search %}
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
{% if header_sticky %}
|
|
39
|
+
<div class="header-sticky-outer // js-show-when-sticky js-sticky-header-slidedown {{ header_sticky_outer_classes }}">
|
|
40
|
+
{% include "@larva/modules/header-sticky/header-sticky.twig" with header_sticky %}
|
|
41
|
+
</div>
|
|
42
|
+
{% endif %}
|
|
43
|
+
</div>
|
|
44
|
+
</header>
|
|
45
|
+
{% else %}
|
|
46
|
+
<header class="header // js-Header {{ header_classes }}">
|
|
47
|
+
<div class="header-content // js-Header-contents {{ header_contents_classes }}">
|
|
48
|
+
<div class="header-outer // js-hide-when-sticky {{ header_outer_classes }}">
|
|
49
|
+
<div class="header-inner // {{ header_inner_classes }} ">
|
|
50
|
+
<div class="header-content-primary // {{ header_content_primary_classes }}">
|
|
51
|
+
<div class="header-logo // {{ header_logo_classes }} ">
|
|
52
|
+
{% include "@larva/components/c-logo/c-logo.twig" with c_logo %}
|
|
53
|
+
</div>
|
|
54
|
+
<div class="header-links-primary // {{ header_links_primary_classes }} ">
|
|
55
|
+
{% include "@larva/objects/o-icon-button/o-icon-button.twig" with o_icon_button_menu %}
|
|
56
|
+
{% include "@larva/modules/expandable-search/expandable-search.twig" with expandable_search %}
|
|
57
|
+
</div>
|
|
58
|
+
<div class="header-content-menu // {{ header_content_menu_classes }} ">
|
|
59
|
+
{% include "@larva/modules/header-menu/header-menu.twig" with header_menu %}
|
|
60
|
+
</div>
|
|
61
|
+
<div class="header-links-secondary // {{ header_links_secondary_classes }} ">
|
|
62
|
+
{% include "@larva/objects/o-header-buttons/o-header-buttons.twig" with o_header_buttons_column %}
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
{% if header_sticky %}
|
|
68
|
+
<div class="header-sticky-outer // js-show-when-sticky js-sticky-header-slidedown {{ header_sticky_outer_classes }}">
|
|
69
|
+
{% include "@larva/modules/header-sticky/header-sticky.twig" with header_sticky %}
|
|
70
|
+
</div>
|
|
71
|
+
{% endif %}
|
|
72
|
+
</div>
|
|
73
|
+
</header>
|
|
74
|
+
{% endif %}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const clonedeep = require('lodash.clonedeep');
|
|
2
|
+
const o_nav = clonedeep(require('../../objects/o-nav/o-nav.prototype'));
|
|
3
|
+
|
|
4
|
+
o_nav.o_nav_list_items = [];
|
|
5
|
+
const menuLinks = ['News', 'Market', 'Reviews', 'Video'];
|
|
6
|
+
|
|
7
|
+
for (let i = 0; i < menuLinks.length; i++) {
|
|
8
|
+
let c_link = clonedeep(require('../../components/c-link/c-link.prototype'));
|
|
9
|
+
|
|
10
|
+
if ('icon' === menuLinks[i]) {
|
|
11
|
+
c_link.c_link_text = '';
|
|
12
|
+
c_link.c_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary:hover lrv-a-hover-effect lrv-u-text-transform-uppercase';
|
|
13
|
+
} else {
|
|
14
|
+
c_link.c_link_text = menuLinks[i];
|
|
15
|
+
c_link.c_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary:hover lrv-a-hover-effect lrv-u-whitespace-nowrap lrv-u-text-transform-uppercase';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
o_nav.o_nav_list_items.push(c_link);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
o_nav.o_nav_list_classes = 'lrv-a-unstyle-list lrv-u-flex lrv-u-justify-content-center lrv-a-space-children-horizontal lrv-a-space-children--2 lrv-u-font-family-primary';
|
|
22
|
+
|
|
23
|
+
module.exports = {
|
|
24
|
+
o_nav: o_nav,
|
|
25
|
+
header_menu_classes:'',
|
|
26
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const clonedeep = require('lodash.clonedeep');
|
|
2
|
+
|
|
3
|
+
const header_sticky_prototype = require('./header-sticky.prototype');
|
|
4
|
+
const c_icon_prototype = require( '../../components/c-icon/c-icon.prototype' );
|
|
5
|
+
const read_next_prototype = require('../read-next/read-next.prototype');
|
|
6
|
+
const o_social_list_prototype = require('../../objects/o-social-list/o-social-list.prototype');
|
|
7
|
+
|
|
8
|
+
const read_next = clonedeep(read_next_prototype);
|
|
9
|
+
read_next.read_next_classes += ' lrv-u-margin-l-125 lrv-u-overflow-hidden lrv-u-margin-r-1';
|
|
10
|
+
read_next.c_span.c_span_text = 'Music';
|
|
11
|
+
read_next.c_span.c_span_classes = 'lrv-u-whitespace-nowrap lrv-u-text-transform-uppercase lrv-a-font-body-m lrv-u-font-weight-700';
|
|
12
|
+
read_next.c_title.c_title_link_classes = 'lrv-a-unstyle-link lrv-u-whitespace-nowrap lrv-a-font-body-m';
|
|
13
|
+
|
|
14
|
+
const o_social_list = clonedeep(o_social_list_prototype);
|
|
15
|
+
const social_icons = ['facebook-rs', 'twitter', 'email'];
|
|
16
|
+
const social_list_icons = [];
|
|
17
|
+
o_social_list.o_social_list_icons = [];
|
|
18
|
+
for (let i = 0; i < social_icons.length; i++) {
|
|
19
|
+
const c_icon = clonedeep(c_icon_prototype);
|
|
20
|
+
c_icon.c_icon_name = social_icons[i];
|
|
21
|
+
c_icon.c_icon_url = '#';
|
|
22
|
+
c_icon.c_icon_link_classes +=
|
|
23
|
+
'lrv-u-background-color-white lrv-u-border-radius-50p lrv-u-color-black lrv-u-color-brand-primary:hover lrv-u-display-block';
|
|
24
|
+
c_icon.c_icon_rel_name = 'noopener noreferrer';
|
|
25
|
+
social_list_icons.push(c_icon);
|
|
26
|
+
}
|
|
27
|
+
o_social_list.o_social_list_icons = social_list_icons;
|
|
28
|
+
|
|
29
|
+
const header_sticky = clonedeep(header_sticky_prototype);
|
|
30
|
+
|
|
31
|
+
header_sticky.o_social_list = o_social_list;
|
|
32
|
+
header_sticky.o_social_list.o_social_list_classes = ' lrv-u-flex lrv-a-space-children--1 lrv-a-space-children-horizontal lrv-u-align-items-center lrv-a-unstyle-list lrv-u-margin-l-auto lrv-u-margin-r-150';
|
|
33
|
+
|
|
34
|
+
header_sticky.expandable_search.expandable_search_classes += ' sticky-expandable';
|
|
35
|
+
|
|
36
|
+
header_sticky.read_next = read_next;
|
|
37
|
+
|
|
38
|
+
header_sticky.header_sticky_classes = 'lrv-u-border-color-grey-light lrv-u-border-b-1 lrv-u-background-color-white lrv-u-width-100p u-box-shadow-medium article-sticky-header';
|
|
39
|
+
header_sticky.header_sticky_links_classes = 'lrv-u-align-items-center lrv-u-flex lrv-u-justify-content-end lrv-u-width-21p';
|
|
40
|
+
header_sticky.header_sticky_logo_classes += ' lrv-u-order-n1';
|
|
41
|
+
header_sticky.header_sticky_icons_classes = 'lrv-a-glue-parent lrv-u-align-items-center lrv-u-flex lrv-u-padding-r-1 lrv-u-border-r-1';
|
|
42
|
+
|
|
43
|
+
module.exports = header_sticky;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const expandable_search_prototype = require( '../expandable-search/expandable-search.prototype' );
|
|
4
|
+
const o_header_buttons_prototype = require( '../../objects/o-header-buttons/o-header-buttons.prototype' );
|
|
5
|
+
const c_logo_prototype = require( '../../components/c-logo/c-logo.prototype' );
|
|
6
|
+
const o_icon_button_prototype = require( '../../objects/o-icon-button/o-icon-button.prototype' );
|
|
7
|
+
|
|
8
|
+
const expandable_search = clonedeep( expandable_search_prototype );
|
|
9
|
+
|
|
10
|
+
const c_logo = clonedeep( c_logo_prototype );
|
|
11
|
+
|
|
12
|
+
const o_icon_button_menu = clonedeep( o_icon_button_prototype );
|
|
13
|
+
o_icon_button_menu.c_icon.c_icon_classes = 'lrv-u-display-block lrv-u-width-30 lrv-u-height-30';
|
|
14
|
+
o_icon_button_menu.o_icon_button_classes = 'js-MegaMenu-Trigger lrv-u-align-items-center lrv-u-border-a-0 lrv-u-flex lrv-u-padding-lr-1 lrv-u-background-color-transparent lrv-u-color-brand-primary:hover';
|
|
15
|
+
o_icon_button_menu.c_span.c_span_text = '';
|
|
16
|
+
o_icon_button_menu.o_icon_button_screen_reader_text = 'Click to expand the Mega Menu';
|
|
17
|
+
|
|
18
|
+
const o_header_buttons = clonedeep( o_header_buttons_prototype );
|
|
19
|
+
o_header_buttons.login_wrapper_classes = 'lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-padding-tb-025 lrv-a-hidden@mobile-max';
|
|
20
|
+
o_header_buttons.got_tip_wrapper_classes = 'lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-padding-tb-025 lrv-u-flex lrv-u-align-items-center lrv-u-margin-tb-025 lrv-a-hidden@mobile-max';
|
|
21
|
+
|
|
22
|
+
module.exports = {
|
|
23
|
+
header_sticky_classes: ' lrv-u-border-color-grey-light lrv-u-border-b-1 lrv-u-background-color-white lrv-u-width-100p',
|
|
24
|
+
o_icon_button_menu,
|
|
25
|
+
c_logo,
|
|
26
|
+
read_next: false,
|
|
27
|
+
expandable_search,
|
|
28
|
+
o_social_list: false,
|
|
29
|
+
o_header_buttons,
|
|
30
|
+
icon_logo_wrap: false,
|
|
31
|
+
header_sticky_content_classes:'lrv-u-border-b-1 lrv-u-border-t-1 lrv-u-margin-t-025 lrv-u-padding-t-050 lrv-u-padding-b-050',
|
|
32
|
+
header_sticky_content_inner_classes: ' lrv-u-flex lrv-u-justify-content-space-between lrv-u-align-items-center',
|
|
33
|
+
header_sticky_icon_logo_wrap_classes: ' lrv-u-flex lrv-u-justify-content-space-between lrv-u-align-items-center',
|
|
34
|
+
header_sticky_links_classes: 'lrv-u-align-items-center lrv-u-flex lrv-u-justify-content-end',
|
|
35
|
+
header_sticky_logo_classes: 'lrv-u-align-items-center lrv-u-flex lrv-u-flex-shrink-0 lrv-u-justify-content-center lrv-u-margin-lr-00@desktop lrv-u-margin-lr-auto',
|
|
36
|
+
header_sticky_inner_classes: 'lrv-u-align-items-center lrv-u-flex',
|
|
37
|
+
header_sticky_outer_classes: 'lrv-a-wrapper',
|
|
38
|
+
header_sticky_icons_classes: 'lrv-a-glue-parent lrv-u-align-items-center lrv-u-flex lrv-u-padding-r-1',
|
|
39
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<div class="header-sticky // {{ header_sticky_classes }}">
|
|
2
|
+
<div class="header-sticky-content // {{ header_sticky_content_classes }} ">
|
|
3
|
+
<div class="lrv-a-wrapper">
|
|
4
|
+
<div class="header-sticky-content-inner // {{ header_sticky_content_inner_classes }}">
|
|
5
|
+
{% if icon_logo_wrap %}
|
|
6
|
+
<div class="header-sticky-icon-logo-wrap // {{ header_sticky_icon_logo_wrap_classes }} ">
|
|
7
|
+
{% endif %}
|
|
8
|
+
<div class="header-sticky-icons // {{ header_sticky_icons_classes }} ">
|
|
9
|
+
{% include "@larva/objects/o-icon-button/o-icon-button.twig" with o_icon_button_menu %}
|
|
10
|
+
{% include "@larva/modules/expandable-search/expandable-search.twig" with expandable_search %}
|
|
11
|
+
</div>
|
|
12
|
+
<div class="header-sticky-logo // {{ header_sticky_logo_classes }} ">
|
|
13
|
+
{% include "@larva/components/c-logo/c-logo.twig" with c_logo %}
|
|
14
|
+
</div>
|
|
15
|
+
{% if icon_logo_wrap %}
|
|
16
|
+
</div>
|
|
17
|
+
{% endif %}
|
|
18
|
+
{% if read_next %}
|
|
19
|
+
{% include "@larva/modules/read-next/read-next.twig" with read_next %}
|
|
20
|
+
{% endif %}
|
|
21
|
+
{% if o_social_list %}
|
|
22
|
+
{% include "@larva/objects/o-social-list/o-social-list.twig" with o_social_list %}
|
|
23
|
+
{% endif %}
|
|
24
|
+
<div class="header-sticky-links // {{ header_sticky_links_classes }} ">
|
|
25
|
+
{% include "@larva/objects/o-header-buttons/o-header-buttons.twig" with o_header_buttons %}
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const mega_menu_footer_prototype = require( '../mega-menu-footer/mega-menu-footer.prototype.js' );
|
|
4
|
+
const mega_menu_footer = clonedeep( mega_menu_footer_prototype );
|
|
5
|
+
|
|
6
|
+
const mega_menu_content_prototype = require( '../mega-menu-content/mega-menu-content.prototype.js' );
|
|
7
|
+
const mega_menu_content = clonedeep( mega_menu_content_prototype );
|
|
8
|
+
|
|
9
|
+
module.exports = {
|
|
10
|
+
mega_menu_footer,
|
|
11
|
+
mega_menu_content,
|
|
12
|
+
mega_menu_classes: '',
|
|
13
|
+
mega_menu_outer_classes: 'lrv-a-wrapper',
|
|
14
|
+
mega_menu_inner_classes: 'lrv-u-background-color-white lrv-u-flex lrv-u-flex-direction-column lrv-u-border-b-2 lrv-u-border-r-2 lrv-u-border-l-2',
|
|
15
|
+
mega_menu_content_outer_classes: 'lrv-u-background-color-white lrv-u-padding-a-150 lrv-u-width-100p',
|
|
16
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<nav class="mega-menu // js-MegaMenu {{ mega_menu_classes }} ">
|
|
2
|
+
<div class="mega-menu-outer // {{ mega_menu_outer_classes }} ">
|
|
3
|
+
<div class="mega-menu-inner // {{ mega_menu_inner_classes }} ">
|
|
4
|
+
<div class="mega-menu-content-outer // {{ mega_menu_content_outer_classes }} ">
|
|
5
|
+
{% include "@larva/modules/mega-menu-content/mega-menu-content.twig" with mega_menu_content %}
|
|
6
|
+
</div>
|
|
7
|
+
{% include "@larva/modules/mega-menu-footer/mega-menu-footer.twig" with mega_menu_footer %}
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
</nav>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
const mega_menu_item = clonedeep( require( '../mega-menu-item/mega-menu-item.prototype' ) );
|
|
3
|
+
|
|
4
|
+
module.exports = {
|
|
5
|
+
mega_menu_content_items: [
|
|
6
|
+
mega_menu_item,
|
|
7
|
+
mega_menu_item,
|
|
8
|
+
],
|
|
9
|
+
mega_menu_content_classes: 'lrv-u-flex lrv-u-flex-wrap-wrap lrv-a-unstyle-list lrv-u-background-color-white lrv-a-space-children--050 lrv-a-space-children-horizontal '
|
|
10
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const mega_menu_subscribe = clonedeep( require( '../mega-menu-footer-subscribe/mega-menu-footer-subscribe.prototype' ) );
|
|
4
|
+
const social_heading = clonedeep( require( '../../modules/heading/heading.prototype' ) );
|
|
5
|
+
const newsletter_heading = clonedeep( require( '../../modules/heading/heading.prototype' ) );
|
|
6
|
+
const o_social_list = clonedeep( require( '../../objects/o-social-list/o-social-list.prototype' ) );
|
|
7
|
+
|
|
8
|
+
social_heading.heading_level_text = '3';
|
|
9
|
+
social_heading.heading_classes = 'lrv-a-font-body-xs lrv-u-margin-b-050 lrv-u-margin-t-025 lrv-u-font-weight-normal lrv-u-text-transform-uppercase lrv-u-text-align-center lrv-u-display-inline-block@mobile-max lrv-u-vertical-align-middle\@mobile-max';
|
|
10
|
+
social_heading.heading_markup = 'Follow Us';
|
|
11
|
+
|
|
12
|
+
newsletter_heading.heading_level_text = '3';
|
|
13
|
+
newsletter_heading.heading_classes = 'email-form-heading lrv-u-background-color-white lrv-a-font-body-xs lrv-u-width-70p lrv-u-margin-b-125 lrv-u-text-align-center lrv-u-font-weight-normal lrv-u-text-transform-uppercase lrv-u-padding-lr-075 lrv-u-border-r-1 lrv-u-border-l-1 lrv-u-border-r-00@mobile-max lrv-u-border-l-00@mobile-max';
|
|
14
|
+
newsletter_heading.heading_markup = 'Alerts & Newsletters';
|
|
15
|
+
|
|
16
|
+
const o_email_capture_form_prototype = require( '../../objects/o-email-capture-form/o-email-capture-form.prototype' );
|
|
17
|
+
const o_email_capture_form = clonedeep( o_email_capture_form_prototype );
|
|
18
|
+
|
|
19
|
+
o_email_capture_form.c_email_field.c_email_field_label_text = 'Email Address';
|
|
20
|
+
o_email_capture_form.c_email_field.c_email_field_input_placeholder_attr = 'ENTER E-MAIL';
|
|
21
|
+
o_email_capture_form.c_email_field.c_email_field_input_classes = 'lrv-u-width-100p';
|
|
22
|
+
o_email_capture_form.c_email_field.c_email_field_classes = 'lrv-u-border-b-1 lrv-u-border-r-1 lrv-a-font-body-xxs lrv-u-margin-b-125 lrv-u-margin-b-00@mobile-max lrv-u-text-align-left lrv-u-width-75p@mobile-max';
|
|
23
|
+
o_email_capture_form.c_email_field.c_email_field_label_classes = 'lrv-a-hidden';
|
|
24
|
+
o_email_capture_form.o_email_capture_form_inner_classes = 'lrv-u-text-align-right lrv-u-align-items-center';
|
|
25
|
+
o_email_capture_form.c_button.c_button_classes = 'lrv-a-font-body-xs lrv-a-icon-after lrv-u-text-transform-uppercase lrv-a-unstyle-button lrv-u-cursor-pointer lrv-u-flex lrv-u-justify-content-end lrv-u-width-100p@tablet lrv-a-glue-parent@tablet lrv-u-width-75p@mobile-max';
|
|
26
|
+
o_email_capture_form.c_button.c_button_inner_classes = 'lrv-u-background-color-white lrv-u-padding-l-050';
|
|
27
|
+
o_email_capture_form.c_button.c_button_text = 'Sign Up';
|
|
28
|
+
|
|
29
|
+
module.exports = {
|
|
30
|
+
o_email_capture_form,
|
|
31
|
+
o_social_list,
|
|
32
|
+
social_heading,
|
|
33
|
+
mega_menu_subscribe,
|
|
34
|
+
newsletter_heading,
|
|
35
|
+
mega_menu_footer_classes: 'lrv-u-border-t-2 lrv-u-background-color-white',
|
|
36
|
+
mega_menu_footer_inner_classes: 'lrv-u-flex lrv-u-flex-direction-column@mobile-max',
|
|
37
|
+
mega_menu_footer_subscribe_classes: 'lrv-u-flex lrv-u-flex-direction-column@desktop-max lrv-u-align-items-center lrv-u-width-30p lrv-a-hidden@mobile-max lrv-u-border-r-6 lrv-u-margin-r-025',
|
|
38
|
+
mega_menu_footer_social_classes: 'lrv-u-flex lrv-u-flex-direction-column lrv-u-align-items-center lrv-u-padding-tb-050 lrv-u-width-20p lrv-u-width-100p@mobile-max lrv-u-border-r-1 lrv-u-border-l-1 lrv-u-border-r-00@mobile-max lrv-u-border-l-00@mobile-max lrv-u-padding-lr-050 lrv-u-display-block@mobile-max lrv-u-text-align-center@mobile-max lrv-u-border-b-2@mobile-max',
|
|
39
|
+
mega_menu_social_list_classes:' lrv-u-display-inline-block@mobile-max lrv-u-vertical-align-middle@mobile-max lrv-u-flex@tablet lrv-u-justify-content-center',
|
|
40
|
+
mega_menu_footer_form_classes: 'lrv-u-flex lrv-u-flex-direction-column lrv-u-align-items-center lrv-u-padding-tb-1 lrv-u-width-50p lrv-u-width-100p@mobile-max lrv-u-flex-direction-column lrv-u-padding-lr-125',
|
|
41
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<footer class="mega-menu__footer // {{ mega_menu_footer_classes }} ">
|
|
2
|
+
<div class="mega-menu__footer-inner // {{ mega_menu_footer_inner_classes }} ">
|
|
3
|
+
<section class="mega-menu__footer-subscribe // {{ mega_menu_footer_subscribe_classes }} ">
|
|
4
|
+
{% include "@larva/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.twig" with mega_menu_subscribe %}
|
|
5
|
+
</section>
|
|
6
|
+
<section class="mega-menu__footer-social // {{ mega_menu_footer_social_classes }} ">
|
|
7
|
+
{% include "@larva/modules/heading/heading.twig" with social_heading %}
|
|
8
|
+
<div class="mega-menu__social-list // {{ mega_menu_social_list_classes }}">
|
|
9
|
+
{% include "@larva/objects/o-social-list/o-social-list.twig" with o_social_list %}
|
|
10
|
+
</div>
|
|
11
|
+
</section>
|
|
12
|
+
<section class="mega-menu__footer-form // {{ mega_menu_footer_form_classes }} ">
|
|
13
|
+
{% include "@larva/modules/heading/heading.twig" with newsletter_heading %}
|
|
14
|
+
<div class="lrv-u-flex-grow-1 lrv-u-width-100p">
|
|
15
|
+
{% include "@larva/objects/o-email-capture-form/o-email-capture-form.twig" with o_email_capture_form %}
|
|
16
|
+
</div>
|
|
17
|
+
</section>
|
|
18
|
+
</div>
|
|
19
|
+
</footer>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_lazy_image_prototype = require( '../../components/c-lazy-image/c-lazy-image.prototype.js' );
|
|
4
|
+
const c_lazy_image = clonedeep( c_lazy_image_prototype );
|
|
5
|
+
|
|
6
|
+
const c_icon_prototype = require( '../../components/c-icon/c-icon.prototype.js' );
|
|
7
|
+
const c_icon = clonedeep( c_icon_prototype );
|
|
8
|
+
|
|
9
|
+
c_icon.c_icon_classes = 'lrv-a-glue lrv-a-glue--l-0 lrv-a-glue--t-50p lrv-u-transform-translateY-n50p lrv-u-width-50';
|
|
10
|
+
|
|
11
|
+
c_lazy_image.c_lazy_image_src_url = 'https://cdn.shopify.com/s/files/1/0238/6647/products/2019_37_540x.jpg';
|
|
12
|
+
c_lazy_image.c_lazy_image_placeholder_url = 'https://cdn.shopify.com/s/files/1/0238/6647/products/2019_37_540x.jpg';
|
|
13
|
+
c_lazy_image.c_lazy_image_classes = 'lrv-u-padding-l-3';
|
|
14
|
+
c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-2x3';
|
|
15
|
+
|
|
16
|
+
module.exports = {
|
|
17
|
+
footer_subscribe_classes: 'lrv-a-glue-parent lrv-u-width-100p',
|
|
18
|
+
c_lazy_image,
|
|
19
|
+
c_icon
|
|
20
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_link = clonedeep( require( '../../components/c-link/c-link.prototype' ) );
|
|
4
|
+
const c_link__parent = clonedeep( c_link );
|
|
5
|
+
const c_link__child = clonedeep( c_link );
|
|
6
|
+
|
|
7
|
+
c_link__parent.c_link_text = 'Parent item';
|
|
8
|
+
c_link__parent.c_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary-dark:hover lrv-u-font-weight-bold lrv-a-font-body-xs lrv-u-text-transform-uppercase';
|
|
9
|
+
|
|
10
|
+
c_link__child.c_link_text = 'Child item';
|
|
11
|
+
c_link__child.c_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary-dark:hover lrv-u-padding-tb-025 lrv-u-display-block lrv-a-font-body-xs';
|
|
12
|
+
|
|
13
|
+
module.exports = {
|
|
14
|
+
c_link: c_link__parent,
|
|
15
|
+
mega_menu_item_children: [
|
|
16
|
+
c_link__child,
|
|
17
|
+
c_link__child,
|
|
18
|
+
c_link__child
|
|
19
|
+
],
|
|
20
|
+
mega_menu_item_classes:'lrv-a-unstyle-list',
|
|
21
|
+
mega_menu_item_link_classes:'lrv-u-flex lrv-u-color-black lrv-u-display-inline-block lrv-u-width-100p',
|
|
22
|
+
mega_menu_child_list_classes:'lrv-a-unstyle-list lrv-u-padding-t-1 lrv-u-margin-b-125'
|
|
23
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<li class="mega-menu-item // mega-menu__parent-list-item {{ mega_menu_item_classes }} ">
|
|
2
|
+
<div class="mega-menu__item-link // {{ mega_menu_item_link_classes }} ">
|
|
3
|
+
{% include "@larva/components/c-link/c-link.twig" with c_link %}
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
<ul class="mega-menu__child-list // {{ mega_menu_child_list_classes }} ">
|
|
7
|
+
{% for item in mega_menu_item_children %}
|
|
8
|
+
<li class="mega-menu__child-list-item ">
|
|
9
|
+
{% include "@larva/components/c-link/c-link.twig" with item %}
|
|
10
|
+
</li>
|
|
11
|
+
{% endfor %}
|
|
12
|
+
</ul>
|
|
13
|
+
</li>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_span_prototype = require( '../../components/c-span/c-span.prototype' );
|
|
4
|
+
const c_span = clonedeep( c_span_prototype );
|
|
5
|
+
|
|
6
|
+
c_span.c_span_text = 'Read Next: ';
|
|
7
|
+
c_span.c_span_classes += ' lrv-u-text-transform-uppercase lrv-u-font-weight-bold';
|
|
8
|
+
|
|
9
|
+
const c_title_prototype = require( '../../components/c-title/c-title.prototype' );
|
|
10
|
+
const c_title = clonedeep( c_title_prototype );
|
|
11
|
+
|
|
12
|
+
c_title.c_title_classes = 'lrv-u-padding-l-1 lrv-u-max-width-500 lrv-a-truncate-ellipsis lrv-u-font-weight-normal';
|
|
13
|
+
c_title.c_title_text = 'Here is some really long title text, it should be truncated with lrv-a-truncate-ellispis, we hope!!!!!! Wow it\'s so long.';
|
|
14
|
+
c_title.c_title_link_classes = 'lrv-a-unstyle-link';
|
|
15
|
+
|
|
16
|
+
module.exports = {
|
|
17
|
+
read_next_classes: ' lrv-a-hidden@desktop-max lrv-u-flex lrv-u-align-items-center lrv-u-flex-1 lrv-u-font-family-body lrv-u-font-size-16',
|
|
18
|
+
c_span: c_span,
|
|
19
|
+
c_title: c_title,
|
|
20
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{% if search_form_is_swiftype %}
|
|
2
|
+
<div data-st-search-form="small_search_form"></div>
|
|
3
|
+
{% else %}
|
|
4
|
+
<form class="search-form {{ search_form_classes }}" action="{{ search_form_action_url }}" role="search" method="get">
|
|
5
|
+
<label>
|
|
6
|
+
<span class="lrv-a-screen-reader-only">Search for:</span>
|
|
7
|
+
<input class="{{ search_form_input_classes }}" type="search" placeholder="{{ search_form_input_placeholder_attr }}" value="" name="s">
|
|
8
|
+
</label>
|
|
9
|
+
<input class="{{ search_form_submit_classes }}" type="submit" value="Search">
|
|
10
|
+
</form>
|
|
11
|
+
{% endif %}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
<div class="story-grid lrv-u-padding-tb-1 lrv-u-padding-tb-2@desktop // {{ story_grid_classes }}">
|
|
2
|
+
|
|
3
|
+
{% if o_header %}
|
|
4
|
+
{% include "@larva/objects/o-header/o-header.twig" with o_header %}
|
|
5
|
+
{% endif %}
|
|
6
|
+
|
|
2
7
|
<ul class="{{ story_grid_grid_classes }} // lrv-a-unstyle-list lrv-u-margin-b-050">
|
|
3
8
|
{% for item in story_grid_story_cards %}
|
|
4
9
|
<li class="{{ story_grid_grid_item_classes }}">
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const clonedeep = require('lodash.clonedeep');
|
|
2
|
+
|
|
3
|
+
const c_link_prototype = require('../../components/c-link/c-link.prototype');
|
|
4
|
+
const c_span_prototype = require('../../components/c-span/c-span.prototype');
|
|
5
|
+
|
|
6
|
+
const c_welcome_span = clonedeep(c_span_prototype);
|
|
7
|
+
c_welcome_span.c_span_classes = 'subscriber-name lrv-a-font-body lrv-u-color-black lrv-u-font-size-12 lrv-u-text-transform-uppercase';
|
|
8
|
+
c_welcome_span.c_span_text = 'Welcome Name';
|
|
9
|
+
c_welcome_span.c_span_link_classes = 'lrv-u-color-black lrv-u-color-brand-primary:hover';
|
|
10
|
+
c_welcome_span.c_span_url = '#';
|
|
11
|
+
|
|
12
|
+
const c_account_link = clonedeep(c_link_prototype);
|
|
13
|
+
c_account_link.c_link_text = 'Account';
|
|
14
|
+
c_account_link.c_link_classes = 'subscriber-account-link lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-a-icon-after lrv-a-icon-arrow-down lrv-a-unstyle-link lrv-u-border-b-1 lrv-u-border-color-brand-primary:hover lrv-u-border-color-white lrv-u-color-brand-primary:hover lrv-u-text-transform-uppercase';
|
|
15
|
+
|
|
16
|
+
const c_manage_account = clonedeep(c_link_prototype);
|
|
17
|
+
c_manage_account.c_link_text = 'Manage Account';
|
|
18
|
+
c_manage_account.c_link_classes = 'subscriber-self-care-link lrv-u-text-transform-uppercase lrv-a-font-secondary lrv-u-color-black lrv-u-font-size-12 lrv-u-width-100 lrv-u-text-align-center lrv-u-color-brand-primary:hover';
|
|
19
|
+
|
|
20
|
+
const c_log_out = clonedeep(c_link_prototype);
|
|
21
|
+
c_log_out.c_link_text = 'Sign Out';
|
|
22
|
+
c_log_out.c_link_classes = 'subscriber-logout-link lrv-a-font-secondary lrv-u-color-black lrv-u-color-brand-primary:hover lrv-u-font-size-12 lrv-u-text-transform-uppercase';
|
|
23
|
+
|
|
24
|
+
module.exports = {
|
|
25
|
+
o_account_menu_classes: 'js-Tooltip-parent lrv-a-glue-parent lrv-u-flex',
|
|
26
|
+
o_account_content_classes: 'js-Tooltip lrv-a-glue lrv-a-glue--t-100p lrv-u-box-shadow-medium',
|
|
27
|
+
o_account_content_inner_classes: 'lrv-a-glue-parent lrv-a-icon-after-arrow-top-left lrv-u-background-color-white lrv-u-border-a-2 lrv-u-flex lrv-u-flex-direction-column lrv-u-text-align-left lrv-u-flex-wrap-wrap lrv-u-margin-t-1 lrv-u-padding-tb-050 lrv-u-padding-lr-150 lrv-u-width-200',
|
|
28
|
+
o_account_welcome_span_classes: 'lrv-u-border-b-1 lrv-u-padding-tb-050',
|
|
29
|
+
o_account_manage_account_classes: 'lrv-u-border-b-1 lrv-u-padding-tb-050',
|
|
30
|
+
o_account_logout_classes: 'lrv-u-padding-tb-050',
|
|
31
|
+
c_welcome_span,
|
|
32
|
+
c_account_link,
|
|
33
|
+
c_manage_account,
|
|
34
|
+
c_log_out,
|
|
35
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<div class="o-account-menu // {{ o_account_menu_classes }}">
|
|
2
|
+
{% include "@larva/components/c-link/c-link.twig" with c_account_link %}
|
|
3
|
+
<div class="o-account-content // {{ o_account_content_classes }}">
|
|
4
|
+
<div class="o-account-content-inner // {{ o_account_content_inner_classes }}">
|
|
5
|
+
|
|
6
|
+
{% if c_welcome_span %}
|
|
7
|
+
<div class="o-account-welcome-span-link // {{ o_account_welcome_span_classes }} ">
|
|
8
|
+
{% include "@larva/components/c-span/c-span.twig" with c_welcome_span %}
|
|
9
|
+
</div>
|
|
10
|
+
{% endif %}
|
|
11
|
+
|
|
12
|
+
{% if c_manage_account %}
|
|
13
|
+
<div class="o-account-manage-account-link // {{ o_account_manage_account_classes }} ">
|
|
14
|
+
{% include "@larva/components/c-link/c-link.twig" with c_manage_account %}
|
|
15
|
+
</div>
|
|
16
|
+
{% endif %}
|
|
17
|
+
|
|
18
|
+
{% if c_log_out %}
|
|
19
|
+
<div class="o-account-logout-link // {{ o_account_logout_classes }} ">
|
|
20
|
+
{% include "@larva/components/c-link/c-link.twig" with c_log_out %}
|
|
21
|
+
</div>
|
|
22
|
+
{% endif %}
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
{% include "@larva/components/c-button/c-button.twig" with c_button %}
|
|
12
12
|
{% endif %}
|
|
13
13
|
|
|
14
|
+
{% if c_svg %}
|
|
15
|
+
{% include "@larva/components/c-svg/c-svg.twig" with c_svg %}
|
|
16
|
+
{% endif %}
|
|
17
|
+
|
|
14
18
|
{% if o_sponsored_by %}
|
|
15
19
|
{% include "@larva/objects/o-sponsored-by/o-sponsored-by.twig" with o_sponsored_by %}
|
|
16
20
|
{% endif %}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const header_buttons_prototype = require( './o-header-buttons.prototype' );
|
|
4
|
+
const header_buttons = clonedeep( header_buttons_prototype );
|
|
5
|
+
|
|
6
|
+
header_buttons.button_wrap = true;
|
|
7
|
+
header_buttons.c_subscribe_link.c_link_classes = 'lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-currentColor lrv-u-margin-b-025';
|
|
8
|
+
header_buttons.c_got_a_tip.c_link_classes = 'lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-margin-tb-025';
|
|
9
|
+
header_buttons.o_header_button_classes = 'lrv-u-align-items-stretch lrv-a-space-children-horizontal lrv-a-space-children--1';
|
|
10
|
+
module.exports = header_buttons;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_link_prototype = require( '../../components/c-link/c-link.prototype' );
|
|
4
|
+
const o_account_menu_prototype = require( '../../objects/o-account-menu/o-account-menu.prototype');
|
|
5
|
+
|
|
6
|
+
const c_login_link = clonedeep( c_link_prototype );
|
|
7
|
+
c_login_link.c_link_text = 'Log In';
|
|
8
|
+
c_login_link.c_link_classes = ' lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover';
|
|
9
|
+
|
|
10
|
+
const c_subscribe_link = clonedeep( c_link_prototype );
|
|
11
|
+
c_subscribe_link.c_link_text = 'Subscribe';
|
|
12
|
+
c_subscribe_link.c_link_classes = 'lrv-a-unstyle-button lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover';
|
|
13
|
+
|
|
14
|
+
const c_account_link = clonedeep( c_link_prototype );
|
|
15
|
+
c_account_link.c_link_text = 'Account';
|
|
16
|
+
c_account_link.c_link_classes = 'lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-color-white lrv-u-border-color-brand-primary:hover';
|
|
17
|
+
|
|
18
|
+
const c_got_a_tip = clonedeep( c_link_prototype );
|
|
19
|
+
c_got_a_tip.c_link_text = 'Got A Tip?';
|
|
20
|
+
c_got_a_tip.c_link_classes = 'lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover';
|
|
21
|
+
|
|
22
|
+
const o_account_menu = clonedeep( o_account_menu_prototype );
|
|
23
|
+
|
|
24
|
+
o_account_menu.c_account_link.c_link_classes = ' lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-margin-tb-025';
|
|
25
|
+
|
|
26
|
+
module.exports = {
|
|
27
|
+
c_login_link,
|
|
28
|
+
c_subscribe_link,
|
|
29
|
+
o_account_menu,
|
|
30
|
+
c_got_a_tip,
|
|
31
|
+
c_account_link,
|
|
32
|
+
button_wrap: false,
|
|
33
|
+
show_flyout: true,
|
|
34
|
+
o_header_button_classes: 'lrv-a-space-children-horizontal lrv-a-space-children--1',
|
|
35
|
+
got_tip_wrapper_classes: 'lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-padding-tb-025 lrv-u-flex lrv-u-align-items-center lrv-u-margin-tb-025',
|
|
36
|
+
account_menu_classes: 'lrv-u-flex lrv-u-align-items-center lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-padding-tb-025 lrv-u-margin-tb-025',
|
|
37
|
+
hide_flyout_classes: ' ',
|
|
38
|
+
subscribe_wrapper_classes: 'subscribe-link cx-dynamic-link lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-padding-tb-025 lrv-u-margin-tb-025',
|
|
39
|
+
login_wrapper_classes: 'subscriber-login-link lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-padding-tb-025 lrv-u-margin-tb-025',
|
|
40
|
+
button_wrap_classes: 'lrv-u-flex lrv-u-flex-direction-column lrv-u-align-items-center lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-margin-tb-025',
|
|
41
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<div class="lrv-u-flex {{o_header_button_classes}}">
|
|
2
|
+
<div class="item-wrap // {{ got_tip_wrapper_classes }}">
|
|
3
|
+
{% include "@larva/components/c-link/c-link.twig" with c_got_a_tip %}
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
{% if show_flyout %}
|
|
7
|
+
|
|
8
|
+
<div class="item-wrap // {{ account_menu_classes }} ">
|
|
9
|
+
{% include "@larva/objects/o-account-menu/o-account-menu.twig" with o_account_menu %}
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
{% else %}
|
|
13
|
+
|
|
14
|
+
<div class="item-wrap // {{ account_menu_classes }} {{ hide_flyout_classes}}">
|
|
15
|
+
{% include "@larva/components/c-link/c-link.twig" with c_account_link %}
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
{% endif %}
|
|
19
|
+
|
|
20
|
+
{% if button_wrap %}
|
|
21
|
+
|
|
22
|
+
<div class="items-wrap // {{ button_wrap_classes }}">
|
|
23
|
+
{% if c_subscribe_link %}
|
|
24
|
+
{% include "@larva/components/c-link/c-link.twig" with c_subscribe_link %}
|
|
25
|
+
{% endif %}
|
|
26
|
+
|
|
27
|
+
{% include "@larva/components/c-link/c-link.twig" with c_login_link %}
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
{% else %}
|
|
31
|
+
|
|
32
|
+
<div class="item-wrap // {{ subscribe_wrapper_classes }}">
|
|
33
|
+
{% if c_subscribe_link %}
|
|
34
|
+
{% include "@larva/components/c-link/c-link.twig" with c_subscribe_link %}
|
|
35
|
+
{% endif %}
|
|
36
|
+
</div>
|
|
37
|
+
<div class="item-wrap // {{ login_wrapper_classes }} ">
|
|
38
|
+
{% include "@larva/components/c-link/c-link.twig" with c_login_link %}
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
{% endif %}
|
|
42
|
+
</div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@penskemediacorp/larva-patterns",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.5",
|
|
4
4
|
"description": "Larva markup patterns.",
|
|
5
5
|
"author": "laras126 <laras126@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/Penske-Media-Corp/pmc-larva/tree/master/packages/patterns#readme",
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"url": "https://github.com/Penske-Media-Corp/pmc-larva/issues"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@penskemediacorp/larva-css": "^0.7.
|
|
24
|
-
"@penskemediacorp/larva-js": "^0.7.
|
|
23
|
+
"@penskemediacorp/larva-css": "^0.7.5",
|
|
24
|
+
"@penskemediacorp/larva-js": "^0.7.5",
|
|
25
25
|
"@penskemediacorp/larva-svg": "^0.7.0",
|
|
26
26
|
"lodash.clonedeep": "^4.5.0"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "d584b033ef39d9be9279eab5b499528b5ab130e7"
|
|
29
29
|
}
|