@penskemediacorp/larva-patterns 0.6.3 → 0.6.4-develop.17

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.
Files changed (60) hide show
  1. package/__tests__/vlanding/vlanding.html +1 -0
  2. package/__tests__/vlanding/vlanding.prototype.js +3 -1
  3. package/components/c-input/c-input.prototype.js +8 -0
  4. package/components/c-input/c-input.twig +14 -0
  5. package/components/c-lazy-image/c-lazy-image.prototype.js +3 -2
  6. package/components/c-lazy-image/c-lazy-image.twig +5 -1
  7. package/modules/age-gate/README.md +3 -0
  8. package/modules/age-gate/age-gate.prototype.js +68 -0
  9. package/modules/age-gate/age-gate.twig +37 -0
  10. package/modules/banner/banner.prototype.js +10 -0
  11. package/modules/banner/banner.twig +10 -0
  12. package/modules/expandable-search/expandable-search.prototype.js +19 -0
  13. package/modules/expandable-search/expandable-search.twig +9 -0
  14. package/modules/featured-stories/featured-stories.prototype.js +23 -0
  15. package/modules/featured-stories/featured-stories.twig +18 -0
  16. package/modules/footer-button-list/footer-button-list.prototype.js +43 -0
  17. package/modules/footer-button-list/footer-button-list.twig +13 -0
  18. package/modules/footer-magazine-image/footer-magazine-image.prototype.js +15 -0
  19. package/modules/footer-magazine-image/footer-magazine-image.twig +3 -0
  20. package/modules/header/header.article.js +39 -0
  21. package/modules/header/header.prototype.js +90 -0
  22. package/modules/header/header.twig +74 -0
  23. package/modules/header-menu/header-menu.prototype.js +26 -0
  24. package/modules/header-menu/header-menu.twig +3 -0
  25. package/modules/header-sticky/header-sticky.article.js +43 -0
  26. package/modules/header-sticky/header-sticky.prototype.js +39 -0
  27. package/modules/header-sticky/header-sticky.twig +30 -0
  28. package/modules/heading/heading.twig +3 -1
  29. package/modules/mega-menu/mega-menu.prototype.js +16 -0
  30. package/modules/mega-menu/mega-menu.twig +10 -0
  31. package/modules/mega-menu-content/mega-menu-content.prototype.js +10 -0
  32. package/modules/mega-menu-content/mega-menu-content.twig +5 -0
  33. package/modules/mega-menu-footer/mega-menu-footer.prototype.js +41 -0
  34. package/modules/mega-menu-footer/mega-menu-footer.twig +19 -0
  35. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.prototype.js +20 -0
  36. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.twig +4 -0
  37. package/modules/mega-menu-item/mega-menu-item.prototype.js +23 -0
  38. package/modules/mega-menu-item/mega-menu-item.twig +13 -0
  39. package/modules/read-next/read-next.prototype.js +20 -0
  40. package/modules/read-next/read-next.twig +4 -0
  41. package/modules/search-form/search-form.prototype.js +8 -0
  42. package/modules/search-form/search-form.twig +11 -0
  43. package/modules/story/story.twig +11 -0
  44. package/modules/story-featured-quote/story-featured-quote.prototype.js +32 -0
  45. package/modules/story-featured-quote/story-featured-quote.twig +25 -0
  46. package/modules/story-grid/story-grid.twig +5 -0
  47. package/modules/sub-header/sub-header.prototype.js +8 -0
  48. package/modules/sub-header/sub-header.twig +7 -0
  49. package/objects/o-account-menu/o-account-menu.prototype.js +35 -0
  50. package/objects/o-account-menu/o-account-menu.twig +25 -0
  51. package/objects/o-header/o-header.twig +4 -0
  52. package/objects/o-header-buttons/o-header-buttons.column.js +10 -0
  53. package/objects/o-header-buttons/o-header-buttons.prototype.js +41 -0
  54. package/objects/o-header-buttons/o-header-buttons.twig +42 -0
  55. package/objects/o-input-group/o-input-group.prototype.js +11 -0
  56. package/objects/o-input-group/o-input-group.twig +5 -0
  57. package/objects/o-nav/o-nav.twig +10 -4
  58. package/objects/o-sub-header/o-sub-header.prototype.js +39 -0
  59. package/objects/o-sub-header/o-sub-header.twig +9 -0
  60. package/package.json +5 -5
@@ -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>
@@ -1 +1,3 @@
1
- <h{{ heading_level_text }} class="heading larva // {{ heading_classes }} {{ heading_typography_class }} {{ heading_color_class }} {{ heading_background_color_class }} {{ heading_text_align_class }}">{{ heading_markup }}</h{{ heading_level_text }}>
1
+ {% if heading_markup %}
2
+ <h{{ heading_level_text }} class="heading larva // {{ heading_classes }} {{ heading_typography_class }} {{ heading_color_class }} {{ heading_background_color_class }} {{ heading_text_align_class }}">{{ heading_markup }}</h{{ heading_level_text }}>
3
+ {% endif %}
@@ -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,5 @@
1
+ <ul class="mega-menu-content // mega-menu__parent-list {{ mega_menu_content_classes }} ">
2
+ {% for item in mega_menu_content_items %}
3
+ {% include "@larva/modules/mega-menu-item/mega-menu-item.twig" with item %}
4
+ {% endfor %}
5
+ </ul>
@@ -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,4 @@
1
+ <div class="mega-menu-footer-subscribe // {{ footer_subscribe_classes }}">
2
+ {% include "@larva/components/c-icon/c-icon.twig" with c_icon %}
3
+ {% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
4
+ </div>
@@ -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,4 @@
1
+ <aside class="read-next // {{ read_next_classes }}">
2
+ {% include "@larva/components/c-span/c-span.twig" with c_span %}
3
+ {% include "@larva/components/c-title/c-title.twig" with c_title %}
4
+ </aside>
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ search_form_classes: '',
3
+ search_form_action_url: '#',
4
+ search_form_is_swiftype: false,
5
+ search_form_input_classes: '',
6
+ search_form_input_placeholder_attr: 'Search',
7
+ search_form_submit_classes: '',
8
+ };
@@ -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 %}
@@ -35,6 +35,12 @@
35
35
  {% include "@larva/components/c-span/c-span.twig" with c_span %}
36
36
  </li>
37
37
  {% endif %}
38
+
39
+ {% if article_kicker %}
40
+ <li>
41
+ {% include "@larva/modules/article-kicker/article-kicker.twig" with article_kicker %}
42
+ </li>
43
+ {% endif %}
38
44
  </ul>
39
45
 
40
46
  <ul class="lrv-a-unstyle-list // {{ story_nav_classes }} {{ story_nav_layout_classes }}">
@@ -74,4 +80,9 @@
74
80
  {% include "@larva/modules/story-arc-stories/story-arc-stories.twig" with story_arc_stories %}
75
81
  </div>
76
82
  {% endif %}
83
+
77
84
  </div>
85
+
86
+ {% if is_river_story %}
87
+ {{ story_after_wp_action }}
88
+ {% endif %}
@@ -0,0 +1,32 @@
1
+ const { __experimentalCloneWithFallback } = require( '@penskemediacorp/larva' );
2
+ const clonedeep = require( 'lodash.clonedeep' );
3
+
4
+
5
+ const c_title = __experimentalCloneWithFallback( 'components/c-title/c-title.prototype' );
6
+ const c_dek = __experimentalCloneWithFallback( 'components/c-dek/c-dek.prototype' );
7
+ const c_tagline = __experimentalCloneWithFallback( 'components/c-tagline/c-tagline.prototype' );
8
+
9
+ const c_tagline_author = clonedeep( c_tagline );
10
+
11
+ c_title.c_title_text = '‘A Momentous Weekend’: LACMA’s High-Stakes Collectors Committee Event Raises $2.4 M.';
12
+ c_title.c_title_classes = 'lrv-u-font-size-14 lrv-u-font-family-primary lrv-u-display-block lrv-u-font-weight-normal lrv-u-line-height-small';
13
+ c_title.c_title_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary:hover';
14
+
15
+ c_dek.c_dek_text = false;
16
+ c_dek.c_dek_markup = 'Lorem ipsum <i>dolor</i> sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.';
17
+ c_dek.c_dek_classes = 'lrv-a-font-primary-l';
18
+
19
+ c_tagline_author.c_tagline_classes = 'lrv-u-margin-l-050';
20
+ c_tagline_author.c_tagline_markup = "<a href='#'>Staff Writer</a>";
21
+ c_tagline_author.c_tagline_text = false;
22
+
23
+ module.exports = {
24
+ story_featured_quote_classes: 'lrv-u-text-align-center',
25
+ story_nav_classes: 'lrv-u-font-size-12 lrv-u-font-family-primary lrv-u-text-transform-uppercase lrv-u-font-weight-bold lrv-u-color-black ',
26
+ story_nav_layout_classes: 'lrv-u-flex lrv-u-align-items-center lrv-a-space-children-horizontal lrv-a-space-children--2 lrv-a-hidden@mobile-max lrv-u-margin-t-050 lrv-u-justify-content-center',
27
+ c_title: c_title,
28
+ c_dek: c_dek,
29
+ c_dek_url:'#',
30
+ c_dek_url_classes:'lrv-u-color-black lrv-a-unstyle-link',
31
+ c_tagline_author,
32
+ };
@@ -0,0 +1,25 @@
1
+ <div class="story lrv-u-padding-tb-1 lrv-u-padding-tb-2@desktop // {{ story_featured_quote_classes }}">
2
+ <div class="{{ story_featured_quote_primary_classes }} // lrv-u-flex lrv-u-flex-direction-column lrv-u-height-100p lrv-u-justify-content-center">
3
+ {% if c_dek_url %}
4
+ <a href="{{ c_dek_url }}" class="c-dek__link ">
5
+ {% endif %}
6
+ {% if c_dek %}
7
+ {% include "@larva/components/c-dek/c-dek.twig" with c_dek %}
8
+ {% endif %}
9
+ {% if c_dek_url %}
10
+ </a>
11
+ {% endif %}
12
+
13
+ <ul class="lrv-a-unstyle-list // {{ story_nav_classes }} {{ story_nav_layout_classes }}">
14
+ {% if c_title %}
15
+ {% include "@larva/components/c-title/c-title.twig" with c_title %}
16
+ {% endif %}
17
+
18
+ {% if c_tagline_author %}
19
+ <li class="lrv-u-flex // {{ c_tagline_author_wrapper_classes }}">
20
+ By {% include "@larva/components/c-tagline/c-tagline.twig" with c_tagline_author %}
21
+ </li>
22
+ {% endif %}
23
+ </ul>
24
+ </div>
25
+ </div>
@@ -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,8 @@
1
+ const { __experimentalCloneWithFallback } = require( '@penskemediacorp/larva' );
2
+
3
+ const o_sub_header = __experimentalCloneWithFallback( 'objects/o-sub-header/o-sub-header.prototype' );
4
+
5
+ module.exports = {
6
+ sub_header_classes: '',
7
+ o_sub_header: o_sub_header,
8
+ };
@@ -0,0 +1,7 @@
1
+ {% if o_sub_header %}
2
+ <div class="sub-header // {{ sub_header_classes }} lrv-u-padding-t-1 lrv-u-padding-t-2@desktop-xl lrv-u-padding-b-1@mobile-max">
3
+ <div class="lrv-a-wrapper">
4
+ {% include "@larva/objects/o-sub-header/o-sub-header.twig" with o_sub_header %}
5
+ </div>
6
+ </div>
7
+ {% endif %}
@@ -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
+ };