@penskemediacorp/larva-patterns 1.6.0-alpha.0 → 1.6.0
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/LICENSE +21 -0
- package/__tests__/css/css.html +9 -0
- package/__tests__/css/css.prototype.js +1 -0
- package/__tests__/hub/hub.html +25 -0
- package/__tests__/hub/hub.prototype.js +30 -0
- package/__tests__/profile/profile.html +29 -0
- package/__tests__/profile/profile.prototype.js +17 -0
- package/__tests__/profile-index/profile-index.html +9 -0
- package/__tests__/profile-index/profile-index.prototype.js +6 -0
- package/__tests__/vlanding/vlanding.html +7 -0
- package/__tests__/vlanding/vlanding.prototype.js +11 -0
- package/_templates/pattern-nav.html +52 -10
- package/algorithms/a-carousel-grid/README.md +5 -0
- package/algorithms/a-carousel-grid/a-carousel-grid.html +25 -0
- package/algorithms/a-carousel-grid/a-carousel-grid.overlay.js +12 -0
- package/algorithms/a-carousel-grid/a-carousel-grid.prototype.js +0 -0
- package/algorithms/a-icon/a-icon.html +1 -0
- package/algorithms/a-icon/a-icon.prototype.js +0 -0
- package/base.html +62 -19
- package/components/c-button/README.md +3 -0
- package/components/c-button/c-button.black.js +7 -0
- package/components/c-button/c-button.brand-basic.js +8 -0
- package/components/c-button/c-button.ghost.js +10 -0
- package/components/c-button/c-button.prototype.js +10 -4
- package/components/c-button/c-button.stripped.js +8 -0
- package/components/c-button/c-button.twig +13 -7
- package/components/c-checkbox-input/c-checkbox-input.prototype.js +6 -0
- package/components/c-checkbox-input/c-checkbox-input.twig +4 -0
- package/components/c-dek/README.md +3 -0
- package/components/c-dek/c-dek.prototype.js +5 -0
- package/components/c-dek/c-dek.twig +9 -0
- package/components/c-email-field/README.md +0 -0
- package/components/c-email-field/c-email-field.ghost.js +10 -0
- package/components/c-email-field/c-email-field.prototype.js +8 -0
- package/components/c-email-field/c-email-field.twig +4 -0
- package/components/c-figcaption/c-figcaption.prototype.js +9 -0
- package/components/c-figcaption/c-figcaption.twig +16 -0
- package/components/c-heading/README.md +4 -0
- package/components/c-heading/c-heading.prototype.js +8 -3
- package/components/c-heading/c-heading.twig +11 -2
- package/components/c-hidden-field/c-hidden-field.prototype.js +5 -0
- package/components/c-hidden-field/c-hidden-field.twig +1 -0
- package/components/c-icon/c-icon.full.js +6 -5
- package/components/c-icon/c-icon.prototype.js +10 -3
- package/components/c-icon/c-icon.twig +22 -2
- package/components/c-input/c-input.prototype.js +8 -0
- package/components/c-input/c-input.twig +14 -0
- package/components/c-label/README.md +12 -0
- package/components/c-label/c-label.prototype.js +7 -0
- package/components/c-label/c-label.twig +19 -0
- package/components/c-lazy-image/README.md +35 -0
- package/components/c-lazy-image/c-lazy-image.prototype.js +17 -0
- package/components/c-lazy-image/c-lazy-image.twig +31 -0
- package/components/c-link/README.md +1 -0
- package/components/c-link/c-link.prototype.js +8 -5
- package/components/c-link/c-link.twig +11 -1
- package/components/c-logo/c-logo.prototype.js +7 -0
- package/components/c-logo/c-logo.twig +10 -0
- package/components/c-nav-link/c-nav-link.prototype.js +7 -0
- package/components/c-nav-link/c-nav-link.twig +10 -0
- package/components/c-play-badge/c-play-badge.prototype.js +3 -0
- package/components/c-play-badge/c-play-badge.twig +7 -0
- package/components/c-select-option/c-select-option.prototype.js +5 -0
- package/components/c-select-option/c-select-option.twig +5 -0
- package/components/c-span/c-span.prototype.js +6 -7
- package/components/c-span/c-span.tag.js +7 -0
- package/components/c-svg/c-svg.prototype.js +4 -0
- package/components/c-svg/c-svg.twig +3 -0
- package/components/c-tagline/README.md +3 -0
- package/components/c-tagline/c-tagline.prototype.js +4 -0
- package/components/c-tagline/c-tagline.twig +3 -3
- package/components/c-timestamp/c-timestamp.prototype.js +5 -4
- package/components/c-timestamp/c-timestamp.twig +9 -1
- package/components/c-title/README.md +7 -0
- package/components/c-title/c-title.prototype.js +7 -3
- package/components/c-title/c-title.twig +14 -2
- package/css.html +44 -0
- package/index.html +7 -25
- package/index.js +4 -0
- package/modules/age-gate/README.md +3 -0
- package/modules/age-gate/age-gate.prototype.js +68 -0
- package/modules/age-gate/age-gate.twig +37 -0
- package/modules/article-callout/article-callout.prototype.js +5 -0
- package/modules/article-callout/article-callout.twig +3 -0
- package/modules/article-excerpt/article-excerpt.prototype.js +4 -0
- package/modules/article-excerpt/article-excerpt.twig +1 -0
- package/modules/article-kicker/article-kicker.prototype.js +6 -0
- package/modules/article-kicker/article-kicker.twig +13 -0
- package/modules/article-tags/article-tags.prototype.js +9 -10
- package/modules/article-tags/article-tags.twig +1 -1
- package/modules/article-timestamp/article-timestamp.prototype.js +13 -0
- package/modules/article-timestamp/article-timestamp.twig +5 -0
- package/modules/article-title/article-title.prototype.js +4 -0
- package/modules/article-title/article-title.twig +1 -0
- package/modules/author/author.prototype.js +43 -0
- package/modules/author/author.twig +38 -0
- package/modules/author-details/author-details.prototype.js +70 -0
- package/modules/author-details/author-details.twig +25 -0
- package/modules/back-to-list/back-to-list.prototype.js +11 -0
- package/modules/back-to-list/back-to-list.twig +5 -0
- package/modules/badge/badge.prototype.js +10 -6
- package/modules/badge/badge.twig +1 -1
- package/modules/banner/banner.prototype.js +10 -0
- package/modules/banner/banner.twig +10 -0
- package/modules/brands-most-popular/brands-most-popular.prototype.js +40 -0
- package/modules/brands-most-popular/brands-most-popular.twig +11 -0
- package/modules/breadcrumbs/breadcrumbs.prototype.js +4 -5
- package/modules/breadcrumbs/breadcrumbs.twig +1 -1
- package/modules/breaking-news/breaking-news.prototype.js +29 -0
- package/modules/breaking-news/breaking-news.twig +18 -0
- package/modules/button/button.prototype.js +9 -0
- package/modules/button/button.twig +7 -0
- package/modules/buy-now/buy-now.prototype.js +36 -0
- package/modules/buy-now/buy-now.twig +23 -0
- package/modules/carousel-grid/README.md +7 -0
- package/modules/carousel-grid/carousel-grid.overlay.js +26 -0
- package/modules/carousel-grid/carousel-grid.prototype.js +50 -0
- package/modules/carousel-grid/carousel-grid.twig +17 -0
- package/modules/carousel-slider/carousel-slider.prototype.js +56 -0
- package/modules/carousel-slider/carousel-slider.twig +11 -0
- package/modules/container/README.md +3 -0
- package/modules/container/container.prototype.js +7 -0
- package/modules/container/container.twig +1 -0
- package/modules/content-showcase/content-showcase.prototype.js +29 -0
- package/modules/content-showcase/content-showcase.the-moth.js +31 -0
- package/modules/content-showcase/content-showcase.twig +7 -0
- package/modules/expandable-search/expandable-search.prototype.js +19 -0
- package/modules/expandable-search/expandable-search.twig +9 -0
- package/modules/featured-stories/featured-stories.prototype.js +27 -0
- package/modules/featured-stories/featured-stories.twig +18 -0
- package/modules/footer/README.md +15 -0
- package/modules/footer/footer.prototype.js +14 -0
- package/modules/footer/footer.twig +22 -0
- package/modules/footer-button-list/footer-button-list.prototype.js +43 -0
- package/modules/footer-button-list/footer-button-list.twig +13 -0
- package/modules/footer-magazine-image/footer-magazine-image.prototype.js +15 -0
- package/modules/footer-magazine-image/footer-magazine-image.twig +3 -0
- package/modules/footer-menus/README.md +3 -0
- package/modules/footer-menus/footer-menus.prototype.js +9 -9
- package/modules/footer-menus/footer-menus.twig +4 -4
- package/modules/footer-newsletter/README.md +5 -0
- package/modules/footer-newsletter/footer-newsletter.prototype.js +21 -0
- package/modules/footer-newsletter/footer-newsletter.twig +5 -0
- package/modules/footer-social/README.md +3 -0
- package/modules/footer-social/footer-social.prototype.js +36 -0
- package/modules/footer-social/footer-social.twig +5 -0
- package/modules/footer-tip/footer-tip.prototype.js +23 -0
- package/modules/footer-tip/footer-tip.twig +5 -0
- 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/heading/heading.h1.js +8 -0
- package/modules/heading/heading.h2.js +8 -0
- package/modules/heading/heading.h3.js +8 -0
- package/modules/heading/heading.h4.js +7 -0
- package/modules/heading/heading.h5.js +7 -0
- package/modules/heading/heading.h6.js +7 -0
- package/modules/heading/heading.prototype.js +9 -0
- package/modules/heading/heading.twig +3 -0
- package/modules/hero-image-story/hero-image-story.prototype.js +41 -0
- package/modules/hero-image-story/hero-image-story.twig +8 -0
- package/modules/injected-related-content/injected-related-content.prototype.js +61 -0
- package/modules/injected-related-content/injected-related-content.twig +23 -0
- package/modules/list/list.ordered.js +7 -0
- package/modules/list/list.prototype.js +57 -0
- package/modules/list/list.twig +11 -0
- package/modules/listicle-item/listicle-item.prototype.js +11 -0
- package/modules/listicle-item/listicle-item.twig +3 -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/more-stories-button/more-stories-button.profile.js +12 -0
- package/modules/more-stories-button/more-stories-button.prototype.js +29 -0
- package/modules/more-stories-button/more-stories-button.twig +13 -0
- package/modules/newsletter/newsletter.prototype.js +46 -0
- package/modules/newsletter/newsletter.twig +21 -0
- package/modules/newsletter-cta/newsletter-cta.prototype.js +21 -0
- package/modules/newsletter-cta/newsletter-cta.twig +22 -0
- package/modules/newswire/newswire.prototype.js +46 -0
- package/modules/newswire/newswire.twig +16 -0
- package/modules/page-404/page-404.prototype.js +44 -0
- package/modules/page-404/page-404.twig +32 -0
- package/modules/paragraph/paragraph.narrow.js +8 -0
- package/modules/paragraph/paragraph.prototype.js +8 -0
- package/modules/paragraph/paragraph.twig +3 -0
- package/modules/pmc-footer/pmc-footer.prototype.js +26 -24
- package/modules/pmc-footer/pmc-footer.twig +11 -9
- package/modules/post-content-image/post-content-image.prototype.js +14 -0
- package/modules/post-content-image/post-content-image.twig +3 -0
- package/modules/production-credits/production-credits.prototype.js +5 -0
- package/modules/production-credits/production-credits.twig +4 -0
- package/modules/profile-blurb/profile-blurb.card.js +28 -0
- package/modules/profile-blurb/profile-blurb.prototype.js +45 -0
- package/modules/profile-blurb/profile-blurb.twig +37 -0
- package/modules/profile-body/profile-body.prototype.js +20 -0
- package/modules/profile-body/profile-body.twig +15 -0
- package/modules/profile-browse-by/profile-browse-by.prototype.js +29 -0
- package/modules/profile-browse-by/profile-browse-by.twig +6 -0
- package/modules/profile-card-list/profile-card-list.prototype.js +25 -0
- package/modules/profile-card-list/profile-card-list.twig +7 -0
- package/modules/profile-filter/profile-filter.prototype.js +26 -0
- package/modules/profile-filter/profile-filter.twig +15 -0
- package/modules/profile-gallery/profile-gallery.prototype.js +28 -0
- package/modules/profile-gallery/profile-gallery.twig +13 -0
- package/modules/profile-header/profile-header.prototype.js +29 -0
- package/modules/profile-header/profile-header.twig +27 -0
- package/modules/profile-highlights/profile-highlights.prototype.js +22 -0
- package/modules/profile-highlights/profile-highlights.twig +17 -0
- package/modules/profile-landing-header/profile-landing-header.prototype.js +17 -0
- package/modules/profile-landing-header/profile-landing-header.twig +12 -0
- package/modules/profile-landing-river/profile-landing-river.prototype.js +21 -0
- package/modules/profile-landing-river/profile-landing-river.twig +13 -0
- package/modules/profile-related-stories/profile-related-stories.prototype.js +33 -0
- package/modules/profile-related-stories/profile-related-stories.twig +9 -0
- package/modules/pullquote/pullquote.prototype.js +8 -0
- package/modules/pullquote/pullquote.twig +3 -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/secondary-stories/secondary-stories.prototype.js +119 -0
- package/modules/secondary-stories/secondary-stories.twig +22 -0
- package/modules/separator/separator.prototype.js +4 -0
- package/modules/separator/separator.thick.js +7 -0
- package/modules/separator/separator.twig +1 -0
- package/modules/separator/separator.wide-thick.js +7 -0
- package/modules/separator/separator.wide.js +7 -0
- package/modules/social-share/social-share.prototype.js +43 -0
- package/modules/social-share/social-share.twig +30 -0
- package/modules/special-coverage/special-coverage.prototype.js +47 -0
- package/modules/special-coverage/special-coverage.twig +29 -0
- package/modules/story/story.borders.js +8 -0
- package/modules/story/story.center-vertical-borders.js +7 -0
- package/modules/story/story.center-vertical.js +11 -0
- package/modules/story/story.prototype.js +43 -0
- package/modules/story/story.right-borders.js +9 -0
- package/modules/story/story.right.js +14 -0
- package/modules/story/story.story-arc.js +9 -0
- package/modules/story/story.twig +88 -0
- package/modules/story/story.vertical-borders.js +7 -0
- package/modules/story/story.vertical.js +11 -0
- package/modules/story-arc-stories/story-arc-stories.prototype.js +21 -0
- package/modules/story-arc-stories/story-arc-stories.twig +14 -0
- package/modules/story-featured-quote/story-featured-quote.prototype.js +28 -0
- package/modules/story-featured-quote/story-featured-quote.twig +27 -0
- package/modules/story-grid/story-grid.prototype.js +24 -0
- package/modules/story-grid/story-grid.river.js +15 -0
- package/modules/story-grid/story-grid.twig +17 -0
- package/modules/sub-header/sub-header.prototype.js +8 -0
- package/modules/sub-header/sub-header.twig +7 -0
- package/modules/top-stories/top-stories.prototype.js +41 -0
- package/modules/top-stories/top-stories.twig +12 -0
- package/modules/top-stories/top-stories.xl.js +14 -0
- package/modules/vlanding-playlist/README.md +1 -0
- package/modules/vlanding-playlist/vlanding-playlist.prototype.js +34 -0
- package/modules/vlanding-playlist/vlanding-playlist.twig +20 -0
- package/modules/vlanding-video-card/README.md +1 -0
- package/modules/vlanding-video-card/vlanding-video-card.prototype.js +25 -0
- package/modules/vlanding-video-card/vlanding-video-card.twig +56 -0
- package/modules/vlanding-video-showcase/README.md +12 -0
- package/modules/vlanding-video-showcase/vlanding-video-showcase.prototype.js +68 -0
- package/modules/vlanding-video-showcase/vlanding-video-showcase.twig +46 -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-author/o-author.prototype.js +13 -0
- package/objects/o-author/o-author.twig +13 -0
- package/objects/o-card/README.md +1 -0
- package/objects/o-card/o-card.prototype.js +25 -0
- package/objects/o-card/o-card.twig +75 -0
- package/objects/o-card-list/README.md +3 -0
- package/objects/o-card-list/o-card-list.prototype.js +13 -0
- package/objects/o-card-list/o-card-list.twig +7 -0
- package/objects/o-checkbox-input-list/o-checkbox-input-list.prototype.js +16 -0
- package/objects/o-checkbox-input-list/o-checkbox-input-list.twig +15 -0
- package/objects/o-collection-item/o-collection-item.floated.js +8 -0
- package/objects/o-collection-item/o-collection-item.prototype.js +11 -0
- package/objects/o-collection-item/o-collection-item.twig +5 -0
- package/objects/o-email-capture-form/README.md +11 -0
- package/objects/o-email-capture-form/o-email-capture-form.minimal.js +15 -0
- package/objects/o-email-capture-form/o-email-capture-form.prototype.js +17 -0
- package/objects/o-email-capture-form/o-email-capture-form.twig +16 -0
- package/objects/o-figure/README.md +17 -0
- package/objects/o-figure/o-figure.prototype.js +15 -7
- package/objects/o-figure/o-figure.twig +22 -45
- package/objects/o-header/o-header.prototype.js +12 -10
- package/objects/o-header/o-header.twig +5 -1
- 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/objects/o-icon-button/README.md +5 -0
- package/objects/o-icon-button/o-icon-button.prototype.js +21 -0
- package/objects/o-icon-button/o-icon-button.search.js +9 -0
- package/objects/o-icon-button/o-icon-button.twig +21 -0
- package/objects/o-indicator/README.md +1 -0
- package/objects/o-indicator/o-indicator.photos.js +12 -0
- package/objects/o-indicator/o-indicator.prototype.js +8 -0
- package/objects/o-indicator/o-indicator.twig +9 -0
- package/objects/o-input-group/o-input-group.prototype.js +11 -0
- package/objects/o-input-group/o-input-group.twig +5 -0
- package/objects/o-nav/README.md +2 -2
- package/objects/o-nav/o-nav.horizontal.js +6 -6
- package/objects/o-nav/o-nav.prototype.js +17 -13
- package/objects/o-nav/o-nav.twig +29 -3
- package/objects/o-select-nav/o-select-nav.prototype.js +17 -0
- package/objects/o-select-nav/o-select-nav.twig +9 -0
- package/objects/o-social-list/o-social-list.prototype.js +23 -0
- package/objects/o-social-list/o-social-list.twig +15 -0
- package/objects/o-span-group/README.md +1 -0
- package/objects/o-span-group/o-span-group.prototype.js +11 -0
- package/objects/o-span-group/o-span-group.twig +5 -0
- package/objects/o-sponsored-by/o-sponsored-by.prototype.js +9 -10
- package/objects/o-sponsored-by/o-sponsored-by.twig +2 -2
- package/objects/o-story-arc-item/o-story-arc-item.prototype.js +29 -0
- package/objects/o-story-arc-item/o-story-arc-item.twig +9 -0
- package/objects/o-sub-header/o-sub-header.prototype.js +39 -0
- package/objects/o-sub-header/o-sub-header.twig +9 -0
- package/objects/o-tease/o-tease.prototype.js +24 -20
- package/objects/o-tease/o-tease.twig +7 -3
- package/objects/o-tease-list/o-tease-list.prototype.js +12 -24
- package/objects/o-tease-list/o-tease-list.twig +5 -1
- package/package.json +6 -9
- package/pattern.html +61 -9
- package/style-guide/colors.html +33 -0
- package/style-guide/fonts.html +22 -0
- package/style-guide/index.html +14 -0
- package/components/c-button/c-button.scss +0 -33
- package/components/c-tagline/c-tagline.json +0 -4
- package/components/c-tagline/c-tagline.scss +0 -19
- package/objects/o-figure/o-figure.scss +0 -46
- package/objects/o-tease/o-tease.scss +0 -30
- package/scratch-pad.css +0 -3
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
<div class="story lrv-u-padding-tb-1 lrv-u-padding-tb-2@desktop // {{ story_classes }}">
|
|
2
|
+
<div class="{{ story_grid_classes }}">
|
|
3
|
+
|
|
4
|
+
<div class="{{ story_grid_primary_classes }} // lrv-a-glue-parent u-padding-t-1@mobile-max lrv-u-flex lrv-u-flex-direction-column lrv-u-height-100p lrv-u-justify-content-start">
|
|
5
|
+
<div class="lrv-a-glue-parent">
|
|
6
|
+
{% if c_lazy_image %}
|
|
7
|
+
{% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
|
|
8
|
+
{% endif %}
|
|
9
|
+
|
|
10
|
+
{% if o_indicator %}
|
|
11
|
+
{% include "@larva/objects/o-indicator/o-indicator.twig" with o_indicator %}
|
|
12
|
+
{% endif %}
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<div class="{{ story_grid_secondary_classes }} // lrv-u-flex lrv-u-flex-direction-column lrv-u-height-100p lrv-u-justify-content-center">
|
|
17
|
+
{% if c_title %}
|
|
18
|
+
{% include "@larva/components/c-title/c-title.twig" with c_title %}
|
|
19
|
+
{% endif %}
|
|
20
|
+
|
|
21
|
+
{% if c_dek %}
|
|
22
|
+
{% include "@larva/components/c-dek/c-dek.twig" with c_dek %}
|
|
23
|
+
{% endif %}
|
|
24
|
+
|
|
25
|
+
<ul class="lrv-u-flex lrv-u-order-n1 lrv-a-unstyle-list lrv-a-space-children-horizontal lrv-a-space-children--050 lrv-u-margin-b-050 u-letter-spacing-012 // {{ story_links_classes }}">
|
|
26
|
+
|
|
27
|
+
{% if c_link_top %}
|
|
28
|
+
<li>
|
|
29
|
+
{% include "@larva/components/c-link/c-link.twig" with c_link_top %}
|
|
30
|
+
</li>
|
|
31
|
+
{% endif %}
|
|
32
|
+
|
|
33
|
+
{% if c_span %}
|
|
34
|
+
<li>
|
|
35
|
+
{% include "@larva/components/c-span/c-span.twig" with c_span %}
|
|
36
|
+
</li>
|
|
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 %}
|
|
44
|
+
</ul>
|
|
45
|
+
|
|
46
|
+
<ul class="lrv-a-unstyle-list // {{ story_nav_classes }} {{ story_nav_layout_classes }}">
|
|
47
|
+
{% if c_button %}
|
|
48
|
+
<li class="lrv-u-flex">
|
|
49
|
+
{% include "@larva/components/c-button/c-button.twig" with c_button %}
|
|
50
|
+
</li>
|
|
51
|
+
{% endif %}
|
|
52
|
+
|
|
53
|
+
{% if c_tagline_author %}
|
|
54
|
+
<li class="lrv-u-flex // {{ c_tagline_author_wrapper_classes }}">
|
|
55
|
+
By {% include "@larva/components/c-tagline/c-tagline.twig" with c_tagline_author %}
|
|
56
|
+
</li>
|
|
57
|
+
{% endif %}
|
|
58
|
+
|
|
59
|
+
{% if c_timestamp %}
|
|
60
|
+
<li>
|
|
61
|
+
{% include "@larva/components/c-timestamp/c-timestamp.twig" with c_timestamp %}
|
|
62
|
+
</li>
|
|
63
|
+
{% endif %}
|
|
64
|
+
</ul>
|
|
65
|
+
|
|
66
|
+
{% if c_link_bottom %}
|
|
67
|
+
<div class="lrv-u-flex lrv-u-order-100 lrv-u-margin-t-050 // {{ c_link_bottom_wrapper_classes }}">
|
|
68
|
+
{% if c_link_bottom %}
|
|
69
|
+
{% include "@larva/components/c-link/c-link.twig" with c_link_bottom %}
|
|
70
|
+
{% endif %}
|
|
71
|
+
</div>
|
|
72
|
+
{% endif %}
|
|
73
|
+
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
{% if story_arc_stories %}
|
|
79
|
+
<div class="lrv-u-margin-t-1 lrv-u-margin-t-2@desktop">
|
|
80
|
+
{% include "@larva/modules/story-arc-stories/story-arc-stories.twig" with story_arc_stories %}
|
|
81
|
+
</div>
|
|
82
|
+
{% endif %}
|
|
83
|
+
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
{% if is_river_story %}
|
|
87
|
+
{{ story_after_wp_action }}
|
|
88
|
+
{% endif %}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const { __experimentalCloneWithFallback } = require( '@penskemediacorp/larva' );
|
|
2
|
+
|
|
3
|
+
const story_vertical = __experimentalCloneWithFallback( 'modules/story/story.prototype' );
|
|
4
|
+
|
|
5
|
+
story_vertical.story_grid_classes = '';
|
|
6
|
+
|
|
7
|
+
story_vertical.story_grid_primary_classes = 'lrv-u-margin-r-00';
|
|
8
|
+
|
|
9
|
+
story_vertical.story_grid_secondary_classes += ' lrv-u-padding-lr-1 lrv-u-padding-lr-2@desktop-xl lrv-u-padding-tb-075 lrv-u-padding-tb-150@desktop-xl';
|
|
10
|
+
|
|
11
|
+
module.exports = story_vertical;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_span = clonedeep( require( '../../components/c-span/c-span.prototype' ) );
|
|
4
|
+
const c_button = clonedeep( require( '../../components/c-button/c-button.prototype' ) );
|
|
5
|
+
const o_story_arc_item = clonedeep( require( '../../objects/o-story-arc-item/o-story-arc-item.prototype' ) );
|
|
6
|
+
|
|
7
|
+
c_span.c_span_text = 'Event Coverage:';
|
|
8
|
+
c_span.c_span_classes += ' lrv-u-font-weight-bold';
|
|
9
|
+
|
|
10
|
+
c_button.c_button_text = 'Art Basel Hong Kong';
|
|
11
|
+
c_button.c_button_url = '#';
|
|
12
|
+
|
|
13
|
+
module.exports = {
|
|
14
|
+
c_span: c_span,
|
|
15
|
+
c_button: c_button,
|
|
16
|
+
story_arc_stories: [
|
|
17
|
+
o_story_arc_item,
|
|
18
|
+
o_story_arc_item,
|
|
19
|
+
o_story_arc_item,
|
|
20
|
+
]
|
|
21
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<section class="story-arc-stories {{ story_arc_stories_classes }}">
|
|
2
|
+
<div class="lrv-u-font-family-primary lrv-u-margin-b-050">
|
|
3
|
+
{% include "@larva/components/c-span/c-span.twig" with c_span %}
|
|
4
|
+
{% include "@larva/components/c-button/c-button.twig" with c_button %}
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<div class="lrv-u-overflow-hidden lrv-u-max-width-100vw lrv-u-padding-b-1">
|
|
8
|
+
<div class="lrv-u-width-100p lrv-u-max-width-100p a-scrollable-grid@desktop-max lrv-a-grid lrv-a-cols3@desktop">
|
|
9
|
+
{% for item in story_arc_stories %}
|
|
10
|
+
{% include "@larva/objects/o-story-arc-item/o-story-arc-item.twig" with item %}
|
|
11
|
+
{% endfor %}
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
</section>
|
|
@@ -0,0 +1,28 @@
|
|
|
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_tagline = __experimentalCloneWithFallback( 'components/c-tagline/c-tagline.prototype' );
|
|
7
|
+
const c_tagline_author = clonedeep( c_tagline );
|
|
8
|
+
|
|
9
|
+
c_title.c_title_text = '‘A Momentous Weekend’: LACMA’s High-Stakes Collectors Committee Event Raises $2.4 M.';
|
|
10
|
+
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';
|
|
11
|
+
c_title.c_title_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary:hover';
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
c_tagline_author.c_tagline_classes = 'lrv-u-margin-l-050';
|
|
15
|
+
c_tagline_author.c_tagline_markup = "<a href='#'>Staff Writer</a>";
|
|
16
|
+
c_tagline_author.c_tagline_text = false;
|
|
17
|
+
|
|
18
|
+
module.exports = {
|
|
19
|
+
story_featured_quote_classes: 'lrv-u-text-align-center',
|
|
20
|
+
story_quote_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.',
|
|
21
|
+
story_quote_markup_classes: 'lrv-a-font-primary-l',
|
|
22
|
+
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 ',
|
|
23
|
+
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',
|
|
24
|
+
c_title: c_title,
|
|
25
|
+
c_dek_url:'#',
|
|
26
|
+
c_dek_url_classes:'lrv-u-color-black lrv-a-unstyle-link',
|
|
27
|
+
c_tagline_author,
|
|
28
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
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 story_quote_markup %}
|
|
7
|
+
<p class="story-quote-markup {{ story_quote_markup_classes }}">
|
|
8
|
+
{{ story_quote_markup|raw }}
|
|
9
|
+
</p>
|
|
10
|
+
{% endif %}
|
|
11
|
+
{% if c_dek_url %}
|
|
12
|
+
</a>
|
|
13
|
+
{% endif %}
|
|
14
|
+
|
|
15
|
+
<ul class="lrv-a-unstyle-list // {{ story_nav_classes }} {{ story_nav_layout_classes }}">
|
|
16
|
+
{% if c_title %}
|
|
17
|
+
{% include "@larva/components/c-title/c-title.twig" with c_title %}
|
|
18
|
+
{% endif %}
|
|
19
|
+
|
|
20
|
+
{% if c_tagline_author %}
|
|
21
|
+
<li class="lrv-u-flex // {{ c_tagline_author_wrapper_classes }}">
|
|
22
|
+
By {% include "@larva/components/c-tagline/c-tagline.twig" with c_tagline_author %}
|
|
23
|
+
</li>
|
|
24
|
+
{% endif %}
|
|
25
|
+
</ul>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const { __experimentalCloneWithFallback } = require( '@penskemediacorp/larva' );
|
|
2
|
+
|
|
3
|
+
const story_card = __experimentalCloneWithFallback( 'modules/story/story.vertical' );
|
|
4
|
+
|
|
5
|
+
story_card.c_dek.c_dek_classes = 'lrv-a-font-body-s lrv-a-hidden@mobile-max lrv-u-margin-a-00';
|
|
6
|
+
story_card.c_title.c_title_classes = 'lrv-a-font-primary-xxs lrv-u-display-block lrv-u-margin-b-050';
|
|
7
|
+
story_card.story_grid_secondary_classes = 'lrv-a-span2';
|
|
8
|
+
story_card.story_links_classes += ' lrv-u-margin-t-050';
|
|
9
|
+
story_card.story_nav_classes = 'lrv-a-font-secondary-m';
|
|
10
|
+
|
|
11
|
+
module.exports = {
|
|
12
|
+
story_grid_classes: '',
|
|
13
|
+
story_grid_grid_classes: 'lrv-a-grid lrv-a-cols2 lrv-a-cols4@desktop',
|
|
14
|
+
story_grid_story_cards: [
|
|
15
|
+
story_card,
|
|
16
|
+
story_card,
|
|
17
|
+
story_card,
|
|
18
|
+
story_card,
|
|
19
|
+
story_card,
|
|
20
|
+
story_card,
|
|
21
|
+
story_card,
|
|
22
|
+
story_card,
|
|
23
|
+
],
|
|
24
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const { __experimentalCloneWithFallback } = require( '@penskemediacorp/larva' );
|
|
2
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
3
|
+
|
|
4
|
+
const story_grid = __experimentalCloneWithFallback( 'modules/story-grid/story-grid.prototype' );
|
|
5
|
+
const story_prototype = __experimentalCloneWithFallback( 'modules/story/story.prototype' );
|
|
6
|
+
const c_span = __experimentalCloneWithFallback( 'components/c-span/c-span.prototype' );
|
|
7
|
+
|
|
8
|
+
story_grid.story_grid_story_cards = story_grid.story_grid_story_cards.map( () => clonedeep( story_prototype ) );
|
|
9
|
+
|
|
10
|
+
story_grid.story_grid_grid_classes = '';
|
|
11
|
+
|
|
12
|
+
c_span.c_span_text = 'Read more';
|
|
13
|
+
story_grid.c_span = c_span;
|
|
14
|
+
|
|
15
|
+
module.exports = story_grid;
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
|
|
7
|
+
<ul class="{{ story_grid_grid_classes }} // lrv-a-unstyle-list lrv-u-margin-b-050">
|
|
8
|
+
{% for item in story_grid_story_cards %}
|
|
9
|
+
<li class="{{ story_grid_grid_item_classes }}">
|
|
10
|
+
{% include "@larva/modules/story/story.twig" with item %}
|
|
11
|
+
</li>
|
|
12
|
+
{% endfor %}
|
|
13
|
+
</ul>
|
|
14
|
+
{% if c_span %}
|
|
15
|
+
{% include "@larva/components/c-span/c-span.twig" with c_span %}
|
|
16
|
+
{% endif %}
|
|
17
|
+
</div>
|
|
@@ -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,41 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const o_story_featured = clonedeep( require( '@penskemediacorp/larva-patterns/modules/story/story.center-vertical' ) );
|
|
4
|
+
const o_story = clonedeep( require( '@penskemediacorp/larva-patterns/modules/story/story.vertical' ) );
|
|
5
|
+
|
|
6
|
+
o_story_featured.c_timestamp = false;
|
|
7
|
+
o_story_featured.story_grid_secondary_classes = 'lrv-u-flex lrv-u-flex-direction-column lrv-u-height-100p lrv-u-justify-content-center@tablet lrv-u-text-align-center@tablet';
|
|
8
|
+
o_story_featured.c_title.c_title_classes = 'lrv-a-font-primary-l c-title lrv-u-display-block lrv-u-margin-b-050';
|
|
9
|
+
o_story_featured.c_span.c_span_classes = 'lrv-u-display-inline-block lrv-u-padding-a-050 lrv-u-background-color-white lrv-u-text-transform-uppercase lrv-a-font-basic-l lrv-u-display-inline-block';
|
|
10
|
+
o_story_featured.c_span.c_span_link_classes = 'lrv-u-color-white lrv-u-background-color-brand-primary lrv-u-line-height-normal lrv-u-padding-a-025 lrv-u-padding-lr-050 lrv-u-display-inline-block';
|
|
11
|
+
o_story_featured.c_span.c_span_url = '#';
|
|
12
|
+
o_story_featured.c_dek.c_dek_classes = 'lrv-a-font-secondary-xs lrv-u-margin-tb-050 lrv-u-letter-spacing-0006@tablet lrv-u-width-70p lrv-u-width-100p@mobile-max lrv-u-margin-lr-auto';
|
|
13
|
+
o_story_featured.story_nav_classes = 'lrv-a-font-body-m lrv-u-color-black lrv-u-text-transform-uppercase lrv-u-color-black lrv-u-justify-content-center@tablet';
|
|
14
|
+
o_story_featured.c_tagline_author.c_tagline_classes = 'lrv-u-color-black lrv-u-margin-l-050';
|
|
15
|
+
o_story_featured.story_links_classes = 'lrv-u-justify-content-center@tablet lrv-u-transform-translateY-n50p u-z-index-middle-bottom lrv-u-position-relative lrv-u-margin-b-00@mobile-max';
|
|
16
|
+
o_story_featured.story_nav_layout_classes = 'lrv-u-flex lrv-u-align-items-center lrv-a-space-children-horizontal lrv-a-space-children--2 lrv-u-margin-t-050';
|
|
17
|
+
|
|
18
|
+
o_story.story_grid_secondary_classes = '';
|
|
19
|
+
o_story.c_timestamp = false;
|
|
20
|
+
o_story.c_dek = false;
|
|
21
|
+
o_story.story_classes = '';
|
|
22
|
+
o_story.c_span.c_span_classes = 'lrv-a-font-basic-xs lrv-u-border-b-1 lrv-u-text-transform-uppercase lrv-u-padding-b-050';
|
|
23
|
+
o_story.c_lazy_image.c_lazy_image_classes = 'lrv-u-margin-b-125';
|
|
24
|
+
o_story.c_title.c_title_classes = 'lrv-a-font-primary-m lrv-u-margin-b-050 lrv-u-font-size-26@mobile-max lrv-u-margin-t-050';
|
|
25
|
+
o_story.story_nav_classes = 'lrv-a-font-body-xxs lrv-u-color-black lrv-u-text-transform-uppercase lrv-u-color-black ';
|
|
26
|
+
o_story.c_tagline_author.c_tagline_classes = 'lrv-a-font-body-xxs lrv-u-color-black lrv-u-margin-l-050 lrv-u-letter-spacing-0106@tablet lrv-u-letter-spacing-0140@mobile-max';
|
|
27
|
+
o_story.story_nav_layout_classes = 'lrv-u-flex lrv-u-align-items-center lrv-a-space-children-horizontal lrv-a-space-children--2 lrv-u-margin-t-050';
|
|
28
|
+
|
|
29
|
+
const stories = [
|
|
30
|
+
o_story,
|
|
31
|
+
o_story,
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
module.exports = {
|
|
35
|
+
o_story_featured,
|
|
36
|
+
top_stories_classes: 'lrv-u-flex lrv-u-flex-wrap-wrap lrv-u-margin-b-075',
|
|
37
|
+
featured_story_classes: 'lrv-u-width-100p@mobile-max lrv-u-width-70p lrv-u-padding-r-125 lrv-u-padding-r-150@desktop lrv-u-padding-r-00@mobile-max lrv-u-padding-b-2@mobile-max lrv-u-margin-b-2@mobile-max u-border-b-1@mobile-max',
|
|
38
|
+
story_items_classes: 'lrv-u-width-30p lrv-u-width-100p@mobile-max lrv-a-children-border-vertical lrv-a-space-children lrv-a-space-children--2 lrv-a-space-children-vertical lrv-u-padding-l-125 lrv-u-padding-l-150@desktop lrv-u-padding-l-00@mobile-max',
|
|
39
|
+
story_item_classes: '',
|
|
40
|
+
stories,
|
|
41
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<div class="top-stories // {{ top_stories_classes }}">
|
|
2
|
+
<div class="featured-story-item {{ featured_story_classes }}">
|
|
3
|
+
{% include "@larva/modules/story/story.twig" with o_story_featured %}
|
|
4
|
+
</div>
|
|
5
|
+
<div class="story-items {{ story_items_classes }}">
|
|
6
|
+
{% for item in stories %}
|
|
7
|
+
<div class="story-item {{ story_item_classes }}">
|
|
8
|
+
{% include "@larva/modules/story/story.twig" with item %}
|
|
9
|
+
</div>
|
|
10
|
+
{% endfor %}
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const top_stories = clonedeep( require( './top-stories.prototype' ) );
|
|
4
|
+
|
|
5
|
+
top_stories.o_story_featured.c_title.c_title_classes = 'lrv-a-font-primary-xl c-title lrv-u-display-block lrv-u-margin-b-050';
|
|
6
|
+
top_stories.o_story_featured.c_link_bottom = false;
|
|
7
|
+
|
|
8
|
+
top_stories.stories.map( ( o_story ) => {
|
|
9
|
+
o_story.c_span = false;
|
|
10
|
+
o_story.c_link_bottom = false;
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module.exports = top_stories;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
There is nothing fancy about this module - it is as it appears: a large card on the left and a few smaller ones on the right, along with a header that supports a link to "view more" or similar. It is intended to be used with carousels to display curated playlists below the vlanding-video-showcase.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const o_header = clonedeep( require( '../../objects/o-header/o-header.prototype' ) );
|
|
4
|
+
const o_card = clonedeep( require( '../../objects/o-card/o-card.prototype' ) );
|
|
5
|
+
|
|
6
|
+
o_header.o_heading_classes = 'lrv-u-flex lrv-u-align-items-center lrv-u-border-b-1 lrv-u-border-color-grey-light lrv-u-margin-b-1';
|
|
7
|
+
o_header.c_heading.c_heading_text = 'Behind the Lens';
|
|
8
|
+
o_header.c_heading.c_heading_classes = 'lrv-u-font-size-32';
|
|
9
|
+
|
|
10
|
+
o_header.c_button.c_button_classes += ' lrv-u-font-weight-bold';
|
|
11
|
+
|
|
12
|
+
o_card.c_span = false;
|
|
13
|
+
o_card.c_timestamp = false;
|
|
14
|
+
o_card.o_card_link_url = '#';
|
|
15
|
+
o_card.o_card_link_classes = 'lrv-a-unstyle-link';
|
|
16
|
+
o_card.c_lazy_image.c_lazy_image_classes = 'lrv-u-margin-b-050';
|
|
17
|
+
o_card.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-4x3';
|
|
18
|
+
o_card.c_title.c_title_url = false;
|
|
19
|
+
|
|
20
|
+
const o_card_large = clonedeep( o_card );
|
|
21
|
+
|
|
22
|
+
o_card.c_title.c_title_classes = 'lrv-u-font-size-12';
|
|
23
|
+
o_card_large.c_title.c_title_classes = 'lrv-u-font-size-20@desktop lrv-u-font-size-12';
|
|
24
|
+
|
|
25
|
+
module.exports = {
|
|
26
|
+
o_header: o_header,
|
|
27
|
+
vlanding_playlist_large_card: o_card_large,
|
|
28
|
+
vlanding_playlist_small_cards: [
|
|
29
|
+
o_card,
|
|
30
|
+
o_card,
|
|
31
|
+
o_card,
|
|
32
|
+
o_card
|
|
33
|
+
]
|
|
34
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<section class="vlanding-playlist // lrv-u-padding-tb-2 lrv-u-padding-tb-1@mobile-max">
|
|
2
|
+
{% if o_header %}
|
|
3
|
+
<div class="lrv-a-wrapper">
|
|
4
|
+
{% include "@larva/objects/o-header/o-header.twig" with o_header %}
|
|
5
|
+
</div>
|
|
6
|
+
{% endif %}
|
|
7
|
+
|
|
8
|
+
<div class="lrv-a-wrapper lrv-a-scrollable-grid@desktop-max lrv-a-grid lrv-a-cols2@desktop">
|
|
9
|
+
{% if vlanding_playlist_large_card %}
|
|
10
|
+
{% include "@larva/objects/o-card/o-card.twig" with vlanding_playlist_large_card %}
|
|
11
|
+
{% endif %}
|
|
12
|
+
<div class="lrv-a-scrollable-grid__nested@desktop-max lrv-a-grid lrv-a-cols2@desktop">
|
|
13
|
+
{% for item in vlanding_playlist_small_cards %}
|
|
14
|
+
{% include "@larva/objects/o-card/o-card.twig" with item %}
|
|
15
|
+
{% endfor %}
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
</section>
|
|
19
|
+
|
|
20
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
This pattern is included in `vlanding-video-showcase`, and is intended to be used there only.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_lazy_image = clonedeep( require( './../../components/c-lazy-image/c-lazy-image.prototype' ) );
|
|
4
|
+
const c_title = clonedeep( require( './../../components/c-title/c-title.prototype' ) );
|
|
5
|
+
const c_span = clonedeep( require( './../../components/c-span/c-span.prototype' ) );
|
|
6
|
+
|
|
7
|
+
module.exports = {
|
|
8
|
+
vlanding_video_card_permalink_url: '#',
|
|
9
|
+
vlanding_video_card_use_button: true,
|
|
10
|
+
vlanding_video_card_link_aria_controls_attr: '',
|
|
11
|
+
vlanding_video_card_link_classes: 'lrv-a-unstyle-link',
|
|
12
|
+
vlanding_video_card_link_showcase_trigger_data_attr: 'x3HbbzHK5Mc',
|
|
13
|
+
vlanding_video_card_link_showcase_type_data_attr: 'youtube',
|
|
14
|
+
vlanding_video_card_link_showcase_dek_data_attr: 'text for the dek, update this',
|
|
15
|
+
vlanding_video_card_link_showcase_title_data_attr: 'title that should be the same as the card',
|
|
16
|
+
vlanding_video_card_link_showcase_permalink_data_url: '#',
|
|
17
|
+
vlanding_video_card_active_txt_attr: 'Now Playing',
|
|
18
|
+
vlanding_video_card_classes: '',
|
|
19
|
+
vlanding_video_card_crop_class: '',
|
|
20
|
+
c_lazy_image: c_lazy_image,
|
|
21
|
+
vlanding_video_card_is_player: '',
|
|
22
|
+
c_title: c_title,
|
|
23
|
+
c_span: c_span,
|
|
24
|
+
vlanding_video_card_social_share_markup: '',
|
|
25
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{% if vlanding_video_card_permalink_url %}
|
|
2
|
+
{% if vlanding_video_card_use_button %}
|
|
3
|
+
<button class="vlanding-video-card__link lrv-a-unstyle-button lrv-u-width-100p {{ vlanding_video_card_link_classes }}"
|
|
4
|
+
data-video-showcase-trigger="{{ vlanding_video_card_link_showcase_trigger_data_attr }}"
|
|
5
|
+
data-video-showcase-type="{{ vlanding_video_card_link_showcase_type_data_attr }}"
|
|
6
|
+
data-video-showcase-dek="{{ vlanding_video_card_link_showcase_dek_data_attr }}"
|
|
7
|
+
data-video-showcase-title="{{ vlanding_video_card_link_showcase_title_data_attr }}"
|
|
8
|
+
data-video-showcase-permalink="{{ vlanding_video_card_link_showcase_permalink_data_url }}"
|
|
9
|
+
{% if vlanding_video_card_link_aria_controls_attr %}
|
|
10
|
+
aria-controls="{{ vlanding_video_card_link_aria_controls_attr }}"
|
|
11
|
+
{% endif %}
|
|
12
|
+
>
|
|
13
|
+
{% else %}
|
|
14
|
+
<a href="{{ vlanding_video_card_permalink_url }}" class="vlanding-video-card__link {{ vlanding_video_card_link_classes }}" data-video-showcase-trigger="{{ vlanding_video_card_link_showcase_trigger_data_attr }}" data-video-showcase-type="{{ vlanding_video_card_link_showcase_type_data_attr }}" data-video-showcase-dek="{{ vlanding_video_card_link_showcase_dek_data_attr }}" data-video-showcase-title="{{ vlanding_video_card_link_showcase_title_data_attr }}" data-video-showcase-permalink="{{ vlanding_video_card_link_showcase_permalink_data_url }}">
|
|
15
|
+
{% endif %}
|
|
16
|
+
{% endif %}
|
|
17
|
+
|
|
18
|
+
<div class="vlanding-video-card {{ vlanding_video_card_classes }}" data-video-showcase-player>
|
|
19
|
+
|
|
20
|
+
<div class="{{ vlanding_video_card_crop_class }}" data-video-showcase-active-text="{{ vlanding_video_card_active_txt_attr }}">
|
|
21
|
+
|
|
22
|
+
{% if c_lazy_image %}
|
|
23
|
+
{% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
|
|
24
|
+
{% endif %}
|
|
25
|
+
|
|
26
|
+
{% if vlanding_video_card_is_player %}
|
|
27
|
+
<iframe hidden id="youtubePlayerContainer" frameborder="0" data-video-showcase-iframe></iframe>
|
|
28
|
+
<div hidden id="jwplayerContainer" data-video-showcase-jwplayer></div>
|
|
29
|
+
{% endif %}
|
|
30
|
+
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
{% if c_span %}
|
|
34
|
+
{% include "@larva/components/c-span/c-span.twig" with c_span %}
|
|
35
|
+
{% endif %}
|
|
36
|
+
|
|
37
|
+
{% if c_title %}
|
|
38
|
+
{% include "@larva/components/c-title/c-title.twig" with c_title %}
|
|
39
|
+
{% endif %}
|
|
40
|
+
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
{% if vlanding_video_card_permalink_url %}
|
|
44
|
+
{% if vlanding_video_card_use_button %}
|
|
45
|
+
</button>
|
|
46
|
+
{% else %}
|
|
47
|
+
</a>
|
|
48
|
+
{% endif %}
|
|
49
|
+
{% endif %}
|
|
50
|
+
|
|
51
|
+
{% if vlanding_video_card_social_share_markup %}
|
|
52
|
+
<div class="lrv-a-hidden" data-video-showcase-trigger-social-share>
|
|
53
|
+
{{ vlanding_video_card_social_share_markup }}
|
|
54
|
+
</div>
|
|
55
|
+
{% endif %}
|
|
56
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
This Video Showcase supports YouTube and JWPlayer videos and an option listing of video thumbnails below the large player. Clicking one of the thumbnails will load its video and associated content in the large player.
|
|
2
|
+
|
|
3
|
+
Options:
|
|
4
|
+
- Set social_share to false, to exclude the share bar in the large video
|
|
5
|
+
- Set vlanding_video_showcase_video_cards to false to exclude the 'Latest Videos'
|
|
6
|
+
- Show a Sponsored badge for the video. Note that this requires a server-side class to hide/show the badge, but retain the DOM markup for future elements. Example logic:
|
|
7
|
+
```
|
|
8
|
+
// Add a-hidden if not sponsored.
|
|
9
|
+
if ( ! \Deadline\Inc\Article::is_sponsored( $vlanding_video_card['post_id'] ) ) {
|
|
10
|
+
$vlanding_video_showcase['c_span']['c_span_classes'] .= ' lrv-a-hidden';
|
|
11
|
+
}
|
|
12
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const vlanding_video_card = clonedeep( require( '../../modules/vlanding-video-card/vlanding-video-card.prototype' ) );
|
|
4
|
+
const social_share = clonedeep( require( '../../modules/social-share/social-share.prototype' ) );
|
|
5
|
+
const c_span = clonedeep( require( '../../components/c-span/c-span.prototype' ) );
|
|
6
|
+
const c_title = clonedeep( require( '../../components/c-title/c-title.prototype' ) );
|
|
7
|
+
const c_dek = clonedeep( require( '../../components/c-dek/c-dek.prototype' ) );
|
|
8
|
+
const c_heading = clonedeep( require( '../../components/c-heading/c-heading.prototype' ) );
|
|
9
|
+
|
|
10
|
+
const vlanding_video_card_player = clonedeep( vlanding_video_card );
|
|
11
|
+
const vlanding_video_showcase_card = clonedeep( vlanding_video_card );
|
|
12
|
+
|
|
13
|
+
const demoVideos = [
|
|
14
|
+
'TxC_UpC0iyk',
|
|
15
|
+
'_JFOdYRfqBQ',
|
|
16
|
+
'UmjBAjsLMms',
|
|
17
|
+
'bgs2PgWE',
|
|
18
|
+
'getvYflDK98'
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
const vlanding_video_showcase_video_cards = [];
|
|
22
|
+
|
|
23
|
+
vlanding_video_showcase_card.c_title.c_title_url = false;
|
|
24
|
+
vlanding_video_showcase_card.c_title.c_title_classes = 'lrv-u-font-size-14 lrv-u-font-weight-normal lrv-u-padding-t-050';
|
|
25
|
+
|
|
26
|
+
vlanding_video_showcase_card.c_span.c_span_classes += ' lrv-u-display-block lrv-u-padding-b-00 lrv-u-padding-t-050 lrv-u-font-size-12 lrv-u-font-weight-normal';
|
|
27
|
+
|
|
28
|
+
vlanding_video_card_player.c_title = false;
|
|
29
|
+
vlanding_video_card_player.c_span = false;
|
|
30
|
+
|
|
31
|
+
// Move the crop class to the card so the iframe will position relative to that
|
|
32
|
+
// instead of c-lazy-image
|
|
33
|
+
vlanding_video_card_player.vlanding_video_card_is_player = true;
|
|
34
|
+
vlanding_video_card_player.c_lazy_image.c_lazy_image_crop_class = '';
|
|
35
|
+
vlanding_video_card_player.vlanding_video_card_crop_class = 'lrv-a-crop-16x9';
|
|
36
|
+
|
|
37
|
+
c_title.c_title_classes = 'lrv-u-font-size-24 lrv-u-font-size-32@desktop lrv-u-padding-b-1 js-VideoShowcase-title';
|
|
38
|
+
c_title.c_title_link_classes = 'lrv-a-unstyle-link';
|
|
39
|
+
c_title.c_title_text = 'Roseanne is Cancelled and I\'m So Sad About It';
|
|
40
|
+
|
|
41
|
+
c_dek.c_dek_classes = 'lrv-u-font-size-18 lrv-u-margin-t-00 lrv-a-hidden@mobile-max js-VideoShowcase-dek';
|
|
42
|
+
|
|
43
|
+
c_heading.c_heading_text = 'The Latest Videos';
|
|
44
|
+
c_heading.c_heading_classes = 'lrv-u-font-size-18 lrv-u-font-size-24@desktop lrv-u-font-size-28@desktop-xl lrv-u-border-b-1 lrv-u-border-color-grey-light lrv-u-padding-b-050 lrv-u-margin-tb-1';
|
|
45
|
+
|
|
46
|
+
vlanding_video_showcase_card.vlanding_video_card_link_showcase_trigger_data_attr = '_JFOdYRfqBQ';
|
|
47
|
+
vlanding_video_showcase_card.vlanding_video_card_link_showcase_type_data_attr = 'youtube';
|
|
48
|
+
vlanding_video_showcase_card.c_span = false;
|
|
49
|
+
|
|
50
|
+
demoVideos.map( ( videoId ) => {
|
|
51
|
+
let newVideo = clonedeep( vlanding_video_showcase_card );
|
|
52
|
+
|
|
53
|
+
newVideo.vlanding_video_card_link_showcase_trigger_data_attr = videoId;
|
|
54
|
+
vlanding_video_showcase_video_cards.push( newVideo );
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
module.exports = {
|
|
58
|
+
vlanding_video_showcase_classes: '',
|
|
59
|
+
vlanding_video_card_player: vlanding_video_card_player,
|
|
60
|
+
c_span: c_span,
|
|
61
|
+
c_title: c_title,
|
|
62
|
+
c_dek: c_dek,
|
|
63
|
+
social_share: social_share,
|
|
64
|
+
c_heading: c_heading,
|
|
65
|
+
vlanding_video_showcase_video_cards_classes: 'js-Flickity js-Flickity--fifths js-Flickity--isContained',
|
|
66
|
+
vlanding_video_showcase_video_cards_item_classes: 'js-Flickity-cell lrv-u-margin-r-1',
|
|
67
|
+
vlanding_video_showcase_video_cards: vlanding_video_showcase_video_cards
|
|
68
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<section class="vlanding-video-showcase // {{ vlanding_video_showcase_classes }}" data-video-showcase="">
|
|
2
|
+
<div class="lrv-a-wrapper lrv-a-grid lrv-a-cols3@tablet">
|
|
3
|
+
<div class="lrv-a-grid-item lrv-a-span2@tablet">
|
|
4
|
+
{% if vlanding_video_card_player %}
|
|
5
|
+
{% include "@larva/modules/vlanding-video-card/vlanding-video-card.twig" with vlanding_video_card_player %}
|
|
6
|
+
{% endif %}
|
|
7
|
+
</div>
|
|
8
|
+
<div class="lrv-a-grid-item lrv-u-margin-tb-auto lrv-u-margin-tb-auto">
|
|
9
|
+
{% if c_span %}
|
|
10
|
+
{% include "@larva/components/c-span/c-span.twig" with c_span %}
|
|
11
|
+
{% endif %}
|
|
12
|
+
|
|
13
|
+
{% if c_title %}
|
|
14
|
+
{% include "@larva/components/c-title/c-title.twig" with c_title %}
|
|
15
|
+
{% endif %}
|
|
16
|
+
|
|
17
|
+
{% if c_dek %}
|
|
18
|
+
{% include "@larva/components/c-dek/c-dek.twig" with c_dek %}
|
|
19
|
+
{% endif %}
|
|
20
|
+
|
|
21
|
+
{% if social_share %}
|
|
22
|
+
{% include "@larva/modules/social-share/social-share.twig" with social_share %}
|
|
23
|
+
{% endif %}
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
{% if vlanding_video_showcase_video_cards %}
|
|
28
|
+
|
|
29
|
+
<div class="lrv-a-wrapper lrv-u-padding-t-1">
|
|
30
|
+
{% if c_heading %}
|
|
31
|
+
{% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
|
|
32
|
+
{% endif %}
|
|
33
|
+
|
|
34
|
+
<div class="vlanding-video-showcase__video-cards // lrv-u-overflow-hidden lrv-a-glue-parent">
|
|
35
|
+
<ul class="lrv-a-unstyle-list lrv-a-scrollable-grid@desktop-max {{ vlanding_video_showcase_video_cards_classes }}">
|
|
36
|
+
{% for item in vlanding_video_showcase_video_cards %}
|
|
37
|
+
<li class="{{ vlanding_video_showcase_video_cards_item_classes }}">
|
|
38
|
+
{% include "@larva/modules/vlanding-video-card/vlanding-video-card.twig" with item %}
|
|
39
|
+
</li>
|
|
40
|
+
{% endfor %}
|
|
41
|
+
</ul>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
{% endif %}
|
|
46
|
+
</section>
|