@penskemediacorp/larva-patterns 1.1.0 → 1.1.3
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__/hub/hub.html +2 -0
- package/__tests__/hub/hub.prototype.js +3 -1
- package/modules/article-kicker/article-kicker.twig +5 -1
- package/modules/breaking-news/breaking-news.prototype.js +29 -0
- package/modules/breaking-news/breaking-news.twig +18 -0
- package/modules/buy-now/buy-now.prototype.js +36 -0
- package/modules/buy-now/buy-now.twig +23 -0
- package/modules/secondary-stories/secondary-stories.prototype.js +119 -0
- package/modules/secondary-stories/secondary-stories.twig +22 -0
- package/modules/special-coverage/special-coverage.prototype.js +47 -0
- package/modules/special-coverage/special-coverage.twig +29 -0
- package/objects/o-card/o-card.prototype.js +3 -1
- package/objects/o-card/o-card.twig +6 -0
- package/objects/o-icon-button/o-icon-button.prototype.js +3 -0
- package/objects/o-icon-button/o-icon-button.twig +1 -1
- package/package.json +4 -4
package/__tests__/hub/hub.html
CHANGED
|
@@ -20,4 +20,6 @@
|
|
|
20
20
|
{% include "modules/story-grid/story-grid.twig" with story_grid_river %}
|
|
21
21
|
|
|
22
22
|
{% include "modules/injected-related-content/injected-related-content.twig" with injected_related_content %}
|
|
23
|
+
|
|
24
|
+
{% include "modules/secondary-stories/secondary-stories.twig" with secondary_stories %}
|
|
23
25
|
</div>
|
|
@@ -12,6 +12,7 @@ const button = __experimentalCloneWithFallback( 'modules/button/button.prototype
|
|
|
12
12
|
const paragraph = __experimentalCloneWithFallback( 'modules/paragraph/paragraph.prototype' );
|
|
13
13
|
const separator = __experimentalCloneWithFallback( 'modules/separator/separator.prototype' );
|
|
14
14
|
const injected_related_content = __experimentalCloneWithFallback( 'modules/injected-related-content/injected-related-content.prototype' );
|
|
15
|
+
const secondary_stories = __experimentalCloneWithFallback( 'modules/secondary-stories/secondary-stories.prototype' );
|
|
15
16
|
|
|
16
17
|
module.exports = {
|
|
17
18
|
carousel_grid,
|
|
@@ -24,5 +25,6 @@ module.exports = {
|
|
|
24
25
|
button,
|
|
25
26
|
separator,
|
|
26
27
|
injected_related_content,
|
|
27
|
-
story_grid_river
|
|
28
|
+
story_grid_river,
|
|
29
|
+
secondary_stories
|
|
28
30
|
};
|
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
{% if article_kicker_url %}
|
|
3
3
|
<a href="{{ article_kicker_url }}" class="article-kicker-link {{ article_kicker_link_classes }}">
|
|
4
4
|
{% endif %}
|
|
5
|
-
{
|
|
5
|
+
{% if c_svg %}
|
|
6
|
+
{% include "@larva/components/c-svg/c-svg.twig" with c_svg %}
|
|
7
|
+
{% else %}
|
|
8
|
+
{{ article_kicker_text }}
|
|
9
|
+
{% endif %}
|
|
6
10
|
{% if article_kicker_url %}
|
|
7
11
|
</a>
|
|
8
12
|
{% endif %}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_heading = clonedeep( require( '@penskemediacorp/larva-patterns/components/c-heading/c-heading.prototype' ) );
|
|
4
|
+
const c_title = clonedeep( require( '@penskemediacorp/larva-patterns/components/c-title/c-title.prototype' ) );
|
|
5
|
+
const c_icon = clonedeep( require( '@penskemediacorp/larva-patterns/components/c-icon/c-icon.prototype' ) );
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
c_heading.c_heading_text = 'Breaking News';
|
|
9
|
+
c_heading.c_heading_classes = 'lrv-a-font-secondary-bold-l lrv-u-margin-r-1 lrv-u-text-transform-uppercase lrv-u-margin-b-050@mobile-max';
|
|
10
|
+
|
|
11
|
+
c_title.c_title_text = 'US Stadiums Partnership, Inc. Files for Bankruptcy Amid Historic Cancellations';
|
|
12
|
+
c_title.c_title_classes = 'lrv-u-font-size-18 lrv-u-line-height-copy lrv-u-font-weight-normal lrv-u-font-family-basic';
|
|
13
|
+
c_title.c_title_link_classes = 'lrv-a-unstyle-link ';
|
|
14
|
+
|
|
15
|
+
c_icon.c_icon_link_classes = 'dismiss-news-banner lrv-u-color-white lrv-u-cursor-pointer lrv-u-width-16 lrv-u-height-16 lrv-u-color-white:hover lrv-u-margin-l-auto';
|
|
16
|
+
c_icon.c_icon_url = '#';
|
|
17
|
+
c_icon.c_icon_target_attr = false;
|
|
18
|
+
c_icon.c_icon_name = 'close';
|
|
19
|
+
c_icon.c_icon_link_screen_reader_text = false;
|
|
20
|
+
c_icon.c_icon_screen_reader_text = 'close';
|
|
21
|
+
c_icon.c_icon_screen_reader_title_attr = 'close';
|
|
22
|
+
|
|
23
|
+
module.exports = {
|
|
24
|
+
breaking_news_classes: 'lrv-u-background-color-brand-primary lrv-u-color-white',
|
|
25
|
+
breaking_news_inner_classes: 'lrv-a-wrapper lrv-u-flex lrv-u-flex-direction-column@mobile-max lrv-u-align-items-center lrv-u-padding-tb-1',
|
|
26
|
+
c_heading: c_heading,
|
|
27
|
+
c_title: c_title,
|
|
28
|
+
c_icon: c_icon
|
|
29
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<section class="breaking-news // pmc-breaking-news {{ breaking_news_classes }} ">
|
|
2
|
+
|
|
3
|
+
<div class="{{breaking_news_inner_classes}}">
|
|
4
|
+
|
|
5
|
+
{% if c_heading %}
|
|
6
|
+
{% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
|
|
7
|
+
{% endif %}
|
|
8
|
+
|
|
9
|
+
{% if c_title %}
|
|
10
|
+
{% include "@larva/components/c-title/c-title.twig" with c_title %}
|
|
11
|
+
{% endif %}
|
|
12
|
+
|
|
13
|
+
{% if c_icon %}
|
|
14
|
+
{% include "@larva/components/c-icon/c-icon.twig" with c_icon %}
|
|
15
|
+
{% endif %}
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
</section>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
// Image
|
|
4
|
+
const c_lazy_image_prototype = require( '@penskemediacorp/larva-patterns/components/c-lazy-image/c-lazy-image.prototype' );
|
|
5
|
+
|
|
6
|
+
const c_lazy_image = clonedeep( c_lazy_image_prototype );
|
|
7
|
+
|
|
8
|
+
c_lazy_image.c_lazy_image_srcset_attr = false;
|
|
9
|
+
c_lazy_image.c_lazy_image_sizes_attr = false;
|
|
10
|
+
c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-1x1';
|
|
11
|
+
|
|
12
|
+
// Icon Button
|
|
13
|
+
const c_icon_button = clonedeep( require( '../../objects/o-icon-button/o-icon-button.prototype' ) );
|
|
14
|
+
|
|
15
|
+
c_icon_button.o_icon_button_url = true;
|
|
16
|
+
c_icon_button.o_button_url = '#';
|
|
17
|
+
c_icon_button.o_icon_button_classes += ' lrv-a-buy-now__button lrv-u-font-size-14 lrv-u-font-weight-bold lrv-u-text-transform-uppercase lrv-u-border-t-3 lrv-u-border-r-1 lrv-u-border-b-3 lrv-u-border-l-1 lrv-u-padding-tb-050 lrv-u-padding-lr-1 lrv-u-background-color-white lrv-u-color-black lrv-u-border-color-currentColor';
|
|
18
|
+
c_icon_button.o_icon_button_target_attr = '_blank';
|
|
19
|
+
c_icon_button.o_icon_button_rel_attr = 'nofollow';
|
|
20
|
+
|
|
21
|
+
c_icon_button.c_icon.c_icon_name = 'triangle-right';
|
|
22
|
+
c_icon_button.c_icon.c_icon_screen_reader_text = '';
|
|
23
|
+
c_icon_button.c_span.c_span_text = 'Buy Now';
|
|
24
|
+
|
|
25
|
+
// Export
|
|
26
|
+
module.exports = {
|
|
27
|
+
buy_now_div_classes: 'lrv-a-buy-now lrv-u-font-family-basic',
|
|
28
|
+
buy_now_hr_top_classes: 'lrv-a-buy-now__hr lrv-a-buy-now__hr--top',
|
|
29
|
+
buy_now_img_classes: 'lrv-a-buy-now__image',
|
|
30
|
+
buy_now_hr_bottom_classes: 'lrv-a-buy-now__hr lrv-a-buy-now__hr--bottom',
|
|
31
|
+
buy_now_p_classes: 'lrv-a-buy-now__p lrv-u-font-family-basic lrv-u-font-size-14',
|
|
32
|
+
buy_now_span_classes: 'lrv-a-buy-now__span lrv-u-font-weight-bold lrv-u-text-transform-uppercase lrv-u-color-grey lrv-u-font-size-10',
|
|
33
|
+
buy_now_store_credit_text: '', // 'Amazon' for example
|
|
34
|
+
c_lazy_image,
|
|
35
|
+
c_icon_button,
|
|
36
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{% if c_lazy_image %}
|
|
2
|
+
<div class="{{ buy_now_div_classes }}">
|
|
3
|
+
<hr class="{{ buy_now_hr_top_classes }}">
|
|
4
|
+
|
|
5
|
+
<div class="{{ buy_now_img_classes }}">
|
|
6
|
+
{% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
{% include "@larva/objects/o-icon-button/o-icon-button.twig" with c_icon_button %}
|
|
10
|
+
|
|
11
|
+
<hr class="{{ buy_now_hr_bottom_classes }}">
|
|
12
|
+
|
|
13
|
+
{% if buy_now_store_credit_text %}
|
|
14
|
+
<span class="{{ buy_now_span_classes }}">
|
|
15
|
+
{{ buy_now_store_credit_text }}
|
|
16
|
+
</span>
|
|
17
|
+
{% endif %}
|
|
18
|
+
</div>
|
|
19
|
+
{% else %}
|
|
20
|
+
<p class="{{ buy_now_p_classes }}">
|
|
21
|
+
{% include "@larva/objects/o-icon-button/o-icon-button.twig" with c_icon_button %}
|
|
22
|
+
</p>
|
|
23
|
+
{% endif %}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
const clonedeep = require('lodash.clonedeep');
|
|
2
|
+
|
|
3
|
+
const o_card_prototype = require('@penskemediacorp/larva-patterns/objects/o-card/o-card.prototype.js')
|
|
4
|
+
|
|
5
|
+
const o_author = clonedeep(require('@penskemediacorp/larva-patterns/objects/o-author/o-author.prototype'));
|
|
6
|
+
o_author.c_span.c_span_classes = '';
|
|
7
|
+
o_author.o_author_classes = 'lrv-u-text-transform-uppercase';
|
|
8
|
+
o_author.o_author_text= 'By ';
|
|
9
|
+
o_author.c_timestamp= false;
|
|
10
|
+
o_author.c_span.c_span_link_classes = 'lrv-a-unstyle-link';
|
|
11
|
+
o_card_prototype.o_author = o_author;
|
|
12
|
+
|
|
13
|
+
const c_dek = clonedeep(require('@penskemediacorp/larva-patterns/components/c-dek/c-dek.prototype.js'));
|
|
14
|
+
o_card_prototype.c_dek = c_dek;
|
|
15
|
+
|
|
16
|
+
o_card_prototype.c_span = false;
|
|
17
|
+
o_card_prototype.c_title.c_title_text = ' For Sahbabii, Recording His Debut Album Was Part of The Grieving Process';
|
|
18
|
+
o_card_prototype.c_timestamp = false;
|
|
19
|
+
o_card_prototype.o_card_content_classes ='lrv-u-align-items-start lrv-u-flex lrv-u-flex-direction-column';
|
|
20
|
+
o_card_prototype.c_title.c_title_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary:hover';
|
|
21
|
+
|
|
22
|
+
const article_kicker = clonedeep(require('@penskemediacorp/larva-patterns/modules/article-kicker/article-kicker.prototype.js'));
|
|
23
|
+
article_kicker.article_kicker_classes = 'lrv-u-padding-b-050 lrv-u-border-b-1 lrv-u-text-transform-uppercase';
|
|
24
|
+
article_kicker.article_kicker_link_classes = 'lrv-a-unstyle-link';
|
|
25
|
+
o_card_prototype.article_kicker_outer_classes = 'lrv-u-padding-tb-1@desktop-xl';
|
|
26
|
+
o_card_prototype.article_kicker = article_kicker;
|
|
27
|
+
|
|
28
|
+
const o_card_1 = clonedeep(o_card_prototype);
|
|
29
|
+
o_card_1.c_dek = false;
|
|
30
|
+
o_card_1.article_kicker.article_kicker_text = 'Exclusive';
|
|
31
|
+
o_card_1.c_title.c_title_text = ' It Started With Thirst Traps on TikTok. Now, She’s Accused of Running a BDSM Cult';
|
|
32
|
+
o_card_1.article_kicker_outer_classes = 'lrv-a-font-basic-l lrv-a-glue-parent lrv-u-background-color-white lrv-u-flex lrv-u-padding-b-1 lrv-u-padding-l-1@mobile-max lrv-u-padding-r-1 lrv-u-padding-t-1@desktop-xl lrv-u-padding-t-1@mobile-max lrv-u-text-transform-uppercase u-margin-t-n187@desktop-xl u-margin-t-n187@mobile-max u-z-index-middle-bottom';
|
|
33
|
+
o_card_1.article_kicker.article_kicker_classes += ' lrv-a-font-basic-l';
|
|
34
|
+
o_card_1.c_title.c_title_classes = 'lrv-a-font-primary-xl lrv-u-padding-t-150@mobile-max lrv-u-padding-b-1@mobile-max lrv-u-padding-t-050@tablet lrv-u-padding-b-075@tablet';
|
|
35
|
+
o_card_1.o_author.o_author_classes = 'lrv-a-font-body-s lrv-u-text-transform-uppercase lrv-u-color-black';
|
|
36
|
+
o_card_1.o_card_classes = 'lrv-u-flex@tablet lrv-u-flex-direction-column@desktop-xl';
|
|
37
|
+
o_card_1.o_card_image_wrap_classes = 'lrv-u-flex-basis-100p@desktop-xl-max lrv-u-margin-r-175@tablet lrv-u-margin-r-00@desktop-xl';
|
|
38
|
+
o_card_1.o_card_content_classes = 'lrv-u-align-items-start lrv-u-flex lrv-u-flex-basis-100p@desktop-xl-max lrv-u-flex-direction-column lrv-u-padding-l-150@mobile-max lrv-u-padding-r-150@mobile-max';
|
|
39
|
+
o_card_1.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-3x2';
|
|
40
|
+
|
|
41
|
+
const o_card_2 = clonedeep(o_card_prototype);
|
|
42
|
+
|
|
43
|
+
o_card_2.article_kicker.article_kicker_text = 'AMERICAN MILITIA';
|
|
44
|
+
o_card_2.c_title.c_title_text = 'Meet the Oath Keeper on the NRA’s Board of Directors';
|
|
45
|
+
o_card_2.c_dek.c_dek_text = ' Links between the notorious militia and the gun lobby run deep';
|
|
46
|
+
o_card_2.c_dek.c_dek_classes = 'lrv-u-margin-tb-075@desktop-xl lrv-a-hidden@desktop-xl-max lrv-a-font-body-l lrv-a-truncate-ellipsis-5line';
|
|
47
|
+
o_card_2.article_kicker.article_kicker_classes += ' lrv-a-font-basic-xs ';
|
|
48
|
+
o_card_2.article_kicker_outer_classes = 'lrv-u-padding-b-075 lrv-u-padding-b-125@desktop-xl lrv-u-padding-t-1@desktop-xl';
|
|
49
|
+
o_card_2.c_title.c_title_classes = 'lrv-u-padding-b-075@mobile-max lrv-a-font-primary-m lrv-u-padding-t-125@mobile-max';
|
|
50
|
+
o_card_2.o_author.o_author_classes = 'lrv-a-font-body-xs lrv-u-text-transform-uppercase lrv-u-color-black';
|
|
51
|
+
o_card_2.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-1x1@desktop-xl-max lrv-a-crop-3x2@desktop-xl lrv-a-crop-3x2@mobile-max';
|
|
52
|
+
o_card_2.c_lazy_image.c_lazy_image_classes = 'lrv-u-width-100p';
|
|
53
|
+
o_card_2.o_card_classes ='lrv-u-margin-l-00@desktop-xl lrv-u-flex-basis-100p lrv-u-flex-direction-column@desktop-xl lrv-a-space-children--1 lrv-a-space-children--0@desktop-xl lrv-u-border-t-1@mobile-max lrv-u-padding-t-2@mobile-max lrv-a-space-children-horizontal@tablet lrv-u-flex@tablet';
|
|
54
|
+
o_card_2.o_card_content_classes = 'lrv-u-align-items-start lrv-u-flex lrv-u-flex-direction-column lrv-u-padding-b-150@mobile-max lrv-u-padding-t-1@mobile-max';
|
|
55
|
+
|
|
56
|
+
const o_card_3 = clonedeep(o_card_prototype);
|
|
57
|
+
|
|
58
|
+
o_card_3.article_kicker.article_kicker_text = 'YACHT ROCK';
|
|
59
|
+
o_card_3.c_title.c_title_text = 'Welcome to Jenny Lewis’ Yacht-Rock Era. It’s Nice Here';
|
|
60
|
+
o_card_3.c_dek.c_dek_text = '“Puppy and a Truck” is all about the unconditional love that only a dog and a vehicle can provide';
|
|
61
|
+
o_card_3.c_dek.c_dek_classes = 'lrv-u-margin-tb-075@desktop-xl lrv-a-hidden@desktop-xl-max lrv-a-font-body-l lrv-a-truncate-ellipsis-5line';
|
|
62
|
+
o_card_3.article_kicker.article_kicker_classes += ' lrv-a-font-basic-xs ';
|
|
63
|
+
o_card_3.article_kicker_outer_classes = 'lrv-u-padding-b-075 lrv-u-padding-b-125@desktop-xl lrv-u-padding-t-1@desktop-xl';
|
|
64
|
+
o_card_3.c_title.c_title_classes = 'lrv-u-padding-b-075@mobile-max lrv-a-font-primary-m lrv-u-padding-t-125@mobile-max';
|
|
65
|
+
o_card_3.o_author.o_author_classes = 'lrv-a-font-body-xs lrv-u-text-transform-uppercase lrv-u-color-black';
|
|
66
|
+
o_card_3.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-1x1@desktop-xl-max lrv-a-crop-3x2@desktop-xl lrv-a-crop-3x2@mobile-max';
|
|
67
|
+
o_card_3.c_lazy_image.c_lazy_image_classes = 'lrv-u-width-100p';
|
|
68
|
+
o_card_3.o_card_classes = 'lrv-a-space-children--1@desktop-xl-max lrv-a-space-children--2@desktop-xl lrv-a-space-children-horizontal lrv-u-flex-basis-100p lrv-u-border-t-0@desktop-xl lrv-u-border-t-1@tablet lrv-u-flex-direction-column@desktop-xl lrv-u-flex@tablet lrv-u-margin-t-00@desktop-xl lrv-u-margin-t-150@tablet lrv-u-padding-t-00@desktop-xl lrv-u-padding-t-150@tablet';
|
|
69
|
+
o_card_3.o_card_content_classes = 'lrv-u-margin-l-00@mobile-max lrv-u-margin-l-00@desktop-xl lrv-u-align-items-start lrv-u-flex lrv-u-flex-direction-column lrv-u-padding-b-150@mobile-max lrv-u-padding-t-1@mobile-max';
|
|
70
|
+
|
|
71
|
+
const o_card_4 = clonedeep(o_card_prototype);
|
|
72
|
+
|
|
73
|
+
o_card_4.c_dek = false;
|
|
74
|
+
o_card_4.c_lazy_image = false;
|
|
75
|
+
o_card_4.article_kicker_outer_classes = ' lrv-u-color-brand-primary lrv-u-display-inline';
|
|
76
|
+
o_card_4.article_kicker.article_kicker_classes = ' lrv-a-font-primary-m article-kicker lrv-u-display-inline';
|
|
77
|
+
o_card_4.c_title.c_title_classes = 'lrv-a-font-primary-m lrv-u-display-inline';
|
|
78
|
+
o_card_4.c_title.c_title_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary:hover';
|
|
79
|
+
o_card_4.o_author.o_author_classes = ' lrv-u-display-inline lrv-a-font-primary-m lrv-u-color-grey-light';
|
|
80
|
+
o_card_4.o_card_content_classes ='';
|
|
81
|
+
o_card_4.o_card_classes = ' lrv-u-flex-basis-40p lrv-u-margin-r-2@tablet lrv-u-border-t-1@mobile-max lrv-u-padding-t-2@mobile-max lrv-u-margin-t-175@desktop-xl lrv-u-padding-t-175@desktop-xl lrv-u-border-t-1@desktop-xl lrv-u-margin-r-00@desktop-xl lrv-u-border-t-1@desktop-xl';
|
|
82
|
+
o_card_4.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-3x2';
|
|
83
|
+
|
|
84
|
+
const o_card_5 = clonedeep(o_card_1);
|
|
85
|
+
|
|
86
|
+
o_card_5.article_kicker.article_kicker_text = 'INSIDE LOOK';
|
|
87
|
+
o_card_5.c_title.c_title_text = '40 Watt Sun Raise the Emotional Stakes While Turning Down the Volume on New Chamber-Folk Epic';
|
|
88
|
+
o_card_5.o_card_classes = 'lrv-u-padding-r-2@tablet lrv-u-padding-b-150@mobile-max lrv-u-flex-basis-50p lrv-u-border-r-1@tablet ';
|
|
89
|
+
o_card_5.article_kicker_outer_classes = ' lrv-a-glue-parent lrv-u-background-color-white lrv-u-padding-b-1 lrv-u-padding-r-1 lrv-u-padding-t-1';
|
|
90
|
+
o_card_5.article_kicker.article_kicker_classes += 'lrv-a-font-basic-xs ';
|
|
91
|
+
o_card_5.o_card_content_classes = ' lrv-u-align-items-start lrv-u-flex lrv-u-flex-basis-100p@desktop-xl-max lrv-u-flex-direction-column lrv-u-padding-l-150@mobile-max lrv-u-padding-r-150@mobile-max';
|
|
92
|
+
o_card_5.c_title.c_title_classes = 'lrv-u-padding-t-00@desktop-xl lrv-u-padding-b-075 lrv-u-padding-t-00@mobile-max lrv-a-font-primary-xl lrv-u-padding-t-025';
|
|
93
|
+
o_card_5.o_card_image_wrap_classes = 'lrv-u-flex-basis-100p@desktop-xl-max ';
|
|
94
|
+
|
|
95
|
+
const o_card_6 = clonedeep(o_card_prototype);
|
|
96
|
+
|
|
97
|
+
o_card_6.article_kicker.article_kicker_text = 'EXCLUSIVE';
|
|
98
|
+
o_card_6.c_title.c_title_text = 'Marilyn Manson: The Monster Hiding in Plain Sight';
|
|
99
|
+
o_card_6.c_dek.c_dek_text = 'He was a provocative media darling for decades. Offstage, exes allege, he was an abuser who made their lives hell. A Rolling Stone investigation based on court documents and more than 55 new interviews';
|
|
100
|
+
o_card_6.c_lazy_image = false;
|
|
101
|
+
o_card_6.c_dek.c_dek_classes = 'lrv-a-font-body-l lrv-a-truncate-ellipsis-5line lrv-u-margin-b-1@desktop-xl lrv-u-margin-t-075@desktop-xl lrv-u-margin-tb-075@mobile-max';
|
|
102
|
+
o_card_6.article_kicker.article_kicker_classes += ' lrv-a-font-basic-l';
|
|
103
|
+
o_card_6.article_kicker_outer_classes = 'lrv-u-padding-b-125@desktop-xl';
|
|
104
|
+
o_card_6.c_title.c_title_classes = 'lrv-u-padding-t-1 lrv-a-font-primary-l lrv-u-padding-t-00@desktop-xl';
|
|
105
|
+
o_card_6.o_author.o_author_classes = 'lrv-a-font-body-xs lrv-u-text-transform-uppercase lrv-u-color-black';
|
|
106
|
+
o_card_6.o_card_classes = 'lrv-u-padding-l-2@tablet lrv-u-padding-l-150@mobile-max lrv-u-padding-r-150@mobile-max lrv-u-flex-basis-50p';
|
|
107
|
+
o_card_6.o_card_content_classes = 'lrv-u-align-items-start lrv-u-border-b-1@mobile-max lrv-u-border-t-1@mobile-max lrv-u-flex lrv-u-flex-direction-column lrv-u-margin-b-2@mobile-max lrv-u-padding-b-2@mobile-max lrv-u-padding-t-2@mobile-max';
|
|
108
|
+
|
|
109
|
+
module.exports = {
|
|
110
|
+
stories: [o_card_1, o_card_2, o_card_3, o_card_4, o_card_5, o_card_6],
|
|
111
|
+
secondary_stories_classes:'',
|
|
112
|
+
stories_content_primary_classes:'lrv-u-border-t-6',
|
|
113
|
+
stories_content_primary_inner_classes:'lrv-u-padding-b-150@tablet lrv-u-padding-b-3@desktop-xl lrv-u-margin-b-250@mobile-max lrv-u-padding-t-150@mobile-max lrv-u-padding-t-150@desktop-xl-max lrv-u-border-t-2 lrv-u-flex lrv-u-margin-t-025 lrv-a-space-children--3@desktop-xl lrv-a-space-children-horizontal lrv-u-flex-direction-column@desktop-xl-max lrv-u-padding-t-250@desktop-xl',
|
|
114
|
+
stories_card_primary_classes:' lrv-u-flex-basis-45p lrv-u-padding-b-150@desktop-xl-max',
|
|
115
|
+
stories_card_secondary_classes:' lrv-u-flex lrv-u-padding-l-150@mobile-max lrv-u-padding-r-150@mobile-max lrv-u-border-t-1@tablet lrv-u-padding-t-00@mobile-max lrv-u-flex-direction-column@mobile-max lrv-u-flex-direction-row-reverse@desktop-xl-max lrv-u-flex-basis-55p lrv-u-flex-direction-column@desktop-xl lrv-u-padding-t-150@desktop-xl-max lrv-u-border-t-0@desktop-xl',
|
|
116
|
+
stories_card_secondary_inner_classes:' lrv-u-flex-basis-60p lrv-u-padding-t-00@desktop-xl lrv-u-border-t-0@desktop-xl lrv-a-space-children--2@desktop-xl lrv-a-space-children-horizontal@desktop-xl lrv-u-flex lrv-u-flex-direction-column@desktop-xl-max',
|
|
117
|
+
stories_content_secondary_classes:'lrv-u-border-t-6',
|
|
118
|
+
stories_content_secondary_inner_classes:' lrv-u-padding-t-150@tablet lrv-u-border-t-2 lrv-u-flex@tablet lrv-u-margin-t-025 lrv-u-padding-t-150@mobile-max lrv-u-padding-tb-250@desktop-xl',
|
|
119
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<section class="secondary-stories {{ secondary_stories_classes }}">
|
|
2
|
+
<div class="stories-content-primary // {{ stories_content_primary_classes }} ">
|
|
3
|
+
<div class="stories-content-primary-inner // {{ stories_content_primary_inner_classes }} ">
|
|
4
|
+
<div class="stories-card-primary // {{ stories_card_primary_classes }}">
|
|
5
|
+
{% include "@larva/objects/o-card/o-card.twig" with stories[0] %}
|
|
6
|
+
</div>
|
|
7
|
+
<div class="stories-card-secondary // {{ stories_card_secondary_classes }} ">
|
|
8
|
+
<div class=" stories-card-secondary-inner // {{ stories_card_secondary_inner_classes }}">
|
|
9
|
+
{% include "@larva/objects/o-card/o-card.twig" with stories[1] %}
|
|
10
|
+
{% include "@larva/objects/o-card/o-card.twig" with stories[2] %}
|
|
11
|
+
</div>
|
|
12
|
+
{% include "@larva/objects/o-card/o-card.twig" with stories[3] %}
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="stories-content-secondary // {{ stories_content_secondary_classes }} ">
|
|
17
|
+
<div class="stories-content-secondary-inner // {{ stories_content_secondary_inner_classes }} ">
|
|
18
|
+
{% include "@larva/objects/o-card/o-card.twig" with stories[4] %}
|
|
19
|
+
{% include "@larva/objects/o-card/o-card.twig" with stories[5] %}
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</section>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const story_card = clonedeep( require( '@penskemediacorp/larva-patterns/modules/story/story.vertical' ) );
|
|
4
|
+
const c_heading = clonedeep( require('@penskemediacorp/larva-patterns/components/c-heading/c-heading.prototype') );
|
|
5
|
+
const c_lazy_image = clonedeep( require( '@penskemediacorp/larva-patterns/components/c-lazy-image/c-lazy-image.prototype.js' ) );
|
|
6
|
+
|
|
7
|
+
c_heading.c_heading_classes += ' a-font-theme-primary-s lrv-u-font-size-32@desktop lrv-u-font-size-28 lrv-u-line-height-small lrv-u-text-transform-uppercase lrv-u-line-height-small';
|
|
8
|
+
|
|
9
|
+
heading_1 = clonedeep( c_heading );
|
|
10
|
+
heading_2 = clonedeep( c_heading );
|
|
11
|
+
|
|
12
|
+
heading_1.c_heading_text = 'Rolling Stone';
|
|
13
|
+
heading_1.c_heading_classes += ' lrv-u-color-brand-primary';
|
|
14
|
+
|
|
15
|
+
heading_2.c_heading_text = 'Reports';
|
|
16
|
+
|
|
17
|
+
c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-5x1';
|
|
18
|
+
|
|
19
|
+
story_card.story_classes += ' lrv-u-padding-lr-2@desktop-xl lrv-u-padding-lr-1@desktop lrv-u-padding-tb-125@mobile-max lrv-u-flex-basis-100p';
|
|
20
|
+
story_card.c_dek.c_dek_classes = 'lrv-a-font-body-s lrv-a-hidden@mobile-max lrv-u-margin-a-00';
|
|
21
|
+
story_card.c_title.c_title_classes = 'lrv-a-font-primary-xs lrv-u-display-block lrv-u-margin-b-050 ';
|
|
22
|
+
story_card.c_title.c_title_link_classes += ' lrv-a-truncate-ellipsis-5line';
|
|
23
|
+
story_card.story_grid_secondary_classes = 'lrv-a-span2';
|
|
24
|
+
story_card.story_links_classes += ' lrv-u-margin-tb-00@desktop lrv-u-margin-tb-00@mobile-max lrv-u-margin-t-1@desktop';
|
|
25
|
+
story_card.story_nav_classes = 'lrv-a-font-secondary-m';
|
|
26
|
+
story_card.story_grid_classes = 'lrv-u-flex lrv-u-flex-direction-column@desktop';
|
|
27
|
+
story_card.story_grid_primary_classes = 'lrv-u-flex-basis-50p@mobile-max lrv-u-margin-r-1@mobile-max';
|
|
28
|
+
story_card.story_grid_secondary_classes = 'lrv-u-flex-basis-50p@mobile-max';
|
|
29
|
+
story_card.c_span = false;
|
|
30
|
+
story_card.c_dek = false;
|
|
31
|
+
story_card.c_tagline_author = false;
|
|
32
|
+
story_card.c_timestamp = false;
|
|
33
|
+
story_card.c_link_bottom = false;
|
|
34
|
+
|
|
35
|
+
const special_coverage_items = [ story_card, story_card, story_card, story_card ];
|
|
36
|
+
|
|
37
|
+
module.exports = {
|
|
38
|
+
special_coverage_wrapper_classes: 'lrv-u-flex lrv-u-flex-direction-column@mobile-max lrv-u-padding-lr-150@mobile-max',
|
|
39
|
+
special_coverage_banner_classes: 'lrv-u-margin-r-2@desktop lrv-u-padding-tb-1 lrv-u-padding-tb-2@desktop lrv-u-flex-basis-15p@desktop',
|
|
40
|
+
special_coverage_items_classes: ' lrv-u-flex lrv-a-children-border-horizontal@desktop lrv-a-children-border-vertical@mobile-max lrv-u-flex-direction-column@mobile-max lrv-u-flex-basis-85p@desktop',
|
|
41
|
+
special_coverage_heading_classes: 'lrv-u-padding-b-150@desktop lrv-u-padding-b-125@mobile-max lrv-u-border-b-1',
|
|
42
|
+
special_coverage_logo_classes: 'lrv-u-padding-t-150@desktop lrv-u-padding-t-125@mobile-max',
|
|
43
|
+
heading_1,
|
|
44
|
+
heading_2,
|
|
45
|
+
c_lazy_image,
|
|
46
|
+
special_coverage_items,
|
|
47
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<div class="special-coverage {{ special_coverage_classes }}">
|
|
2
|
+
<div class="{{ special_coverage_wrapper_classes }}">
|
|
3
|
+
<div class="{{ special_coverage_banner_classes }}">
|
|
4
|
+
{% if special_coverage_heading_classes %}
|
|
5
|
+
<div class="special-coverage-heading {{ special_coverage_heading_classes }}">
|
|
6
|
+
{% if heading_1 %}
|
|
7
|
+
{% include "@larva/components/c-heading/c-heading.twig" with heading_1 %}
|
|
8
|
+
{% endif %}
|
|
9
|
+
{% if heading_2 %}
|
|
10
|
+
{% include "@larva/components/c-heading/c-heading.twig" with heading_2 %}
|
|
11
|
+
{% endif %}
|
|
12
|
+
</div>
|
|
13
|
+
{% endif %}
|
|
14
|
+
{% if c_lazy_image %}
|
|
15
|
+
<div class="special-coverage-logo {{ special_coverage_logo_classes }}">
|
|
16
|
+
{% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
|
|
17
|
+
</div>
|
|
18
|
+
{% endif %}
|
|
19
|
+
</div>
|
|
20
|
+
<div class="{{ special_coverage_items_classes }}">
|
|
21
|
+
{% for item in special_coverage_items %}
|
|
22
|
+
{% include "@larva/modules/story/story.twig" with item %}
|
|
23
|
+
{% endfor %}
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
{% if c_span %}
|
|
27
|
+
{% include "@larva/components/c-span/c-span.twig" with c_span %}
|
|
28
|
+
{% endif %}
|
|
29
|
+
<div>
|
|
@@ -33,6 +33,12 @@
|
|
|
33
33
|
{% include "@larva/components/c-svg/c-svg.twig" with c_svg %}
|
|
34
34
|
{% endif %}
|
|
35
35
|
|
|
36
|
+
{% if article_kicker %}
|
|
37
|
+
<div class="article_kicker_outer // {{ article_kicker_outer_classes }}">
|
|
38
|
+
{% include "@larva/modules/article-kicker/article-kicker.twig" with article_kicker %}
|
|
39
|
+
</div>
|
|
40
|
+
{% endif %}
|
|
41
|
+
|
|
36
42
|
{% if c_span %}
|
|
37
43
|
{% include "@larva/components/c-span/c-span.twig" with c_span %}
|
|
38
44
|
{% endif %}
|
|
@@ -12,7 +12,10 @@ c_span.c_span_url = false;
|
|
|
12
12
|
|
|
13
13
|
module.exports = {
|
|
14
14
|
o_icon_button_classes: 'lrv-a-unstyle-button lrv-a-unstyle-link lrv-u-cursor-pointer lrv-u-flex',
|
|
15
|
+
o_icon_button_ga_tracking: {}, // by default we do not want to enable any ga tracking
|
|
16
|
+
o_icon_button_rel_attr: '',
|
|
15
17
|
o_icon_button_screen_reader_text: '',
|
|
18
|
+
o_icon_button_target_attr: '',
|
|
16
19
|
c_icon: c_icon,
|
|
17
20
|
c_span: c_span,
|
|
18
21
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% if o_icon_button_url %}
|
|
2
|
-
<a href="{{ o_button_url }}" class="{{ o_icon_button_classes }}">
|
|
2
|
+
<a href="{{ o_button_url }}" class="{{ o_icon_button_classes }}" target="{{ o_icon_button_target_attr }}" rel="{{ o_icon_button_rel_attr }}" data-pmc-sp-product="{{ o_icon_button_guid_attr }}" data-category-name="{{ o_icon_button_category_attr }}" {{ wp_action( 'pmc_do_render_custom_ga_tracking_attr', o_icon_button_ga_tracking ) }}>
|
|
3
3
|
{% else %}
|
|
4
4
|
<button class="o-icon-button {{ o_icon_button_classes }}">
|
|
5
5
|
{% endif %}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@penskemediacorp/larva-patterns",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
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": "^1.1.
|
|
23
|
+
"@penskemediacorp/larva-css": "^1.1.3",
|
|
24
24
|
"@penskemediacorp/larva-js": "^1.0.0",
|
|
25
|
-
"@penskemediacorp/larva-svg": "^1.
|
|
25
|
+
"@penskemediacorp/larva-svg": "^1.1.3",
|
|
26
26
|
"lodash.clonedeep": "^4.5.0"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "0257235338f33438f86541cf6aa08ebf1176d139"
|
|
29
29
|
}
|