@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,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>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const { __experimentalCloneWithFallback } = require( '@penskemediacorp/larva' );
|
|
2
|
+
|
|
3
|
+
const c_span = __experimentalCloneWithFallback( 'components/c-span/c-span.prototype' );
|
|
4
|
+
const c_timestamp = __experimentalCloneWithFallback( 'components/c-timestamp/c-timestamp.prototype' );
|
|
5
|
+
|
|
6
|
+
c_span.c_span_text = 'Author Name';
|
|
7
|
+
|
|
8
|
+
module.exports = {
|
|
9
|
+
o_author_classes: 'lrv-a-font-secondary-regular-m',
|
|
10
|
+
o_author_text: 'By ',
|
|
11
|
+
c_span: c_span,
|
|
12
|
+
c_timestamp: c_timestamp
|
|
13
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<div class="o-author // {{ o_author_classes }}">
|
|
2
|
+
|
|
3
|
+
<span class="{{ o_author_by_classes }}">{{ o_author_text }}</span>
|
|
4
|
+
|
|
5
|
+
{% if c_span %}
|
|
6
|
+
{% include "@larva/components/c-span/c-span.twig" with c_span %}
|
|
7
|
+
{% endif %}
|
|
8
|
+
|
|
9
|
+
{% if c_timestamp %}
|
|
10
|
+
{% include "@larva/components/c-timestamp/c-timestamp.twig" with c_timestamp %}
|
|
11
|
+
{% endif %}
|
|
12
|
+
|
|
13
|
+
</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
`o-card` is a pattern generally used for a story or article that features a vertical layout. It is a very flexible pattern that includes several options for included components. The order of these can be modified to some extent using flex and `order` utilities, but developers should try to avoid modifying the display order in a way that could impact the experience for users using the keyboard.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
const { __experimentalCloneWithFallback } = require( '@penskemediacorp/larva' );
|
|
3
|
+
|
|
4
|
+
const c_span = __experimentalCloneWithFallback( 'components/c-span/c-span.tag' );
|
|
5
|
+
const c_timestamp = __experimentalCloneWithFallback( 'components/c-timestamp/c-timestamp.prototype' );
|
|
6
|
+
const c_lazy_image = clonedeep( require( '../../components/c-lazy-image/c-lazy-image.prototype.js' ) );
|
|
7
|
+
const c_title = clonedeep( require( '../../components/c-title/c-title.prototype.js' ) );
|
|
8
|
+
|
|
9
|
+
module.exports = {
|
|
10
|
+
o_card_classes: '',
|
|
11
|
+
o_card_tag_text: '',
|
|
12
|
+
o_card_link_url: '',
|
|
13
|
+
o_card_link_classes: '',
|
|
14
|
+
o_card_image_wrap_classes: '',
|
|
15
|
+
o_card_content_classes: '',
|
|
16
|
+
c_lazy_image: c_lazy_image,
|
|
17
|
+
c_svg: false,
|
|
18
|
+
c_span: c_span,
|
|
19
|
+
c_tagline: false,
|
|
20
|
+
c_title: c_title,
|
|
21
|
+
c_timestamp: c_timestamp,
|
|
22
|
+
o_author: false,
|
|
23
|
+
article_kicker:false,
|
|
24
|
+
article_kicker_outer_classes:'',
|
|
25
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{% if o_card_tag_text %}
|
|
2
|
+
<{{ o_card_tag_text }} class="o-card {{ modifier_class }} {{ o_card_classes }}">
|
|
3
|
+
{% else %}
|
|
4
|
+
<article class="o-card {{ modifier_class }} {{ o_card_classes }}">
|
|
5
|
+
{% endif %}
|
|
6
|
+
|
|
7
|
+
{% if o_card_link_url %}
|
|
8
|
+
<a tabindex="0" href="{{ o_card_link_url }}" class="{{ o_card_link_classes }}">
|
|
9
|
+
{% endif %}
|
|
10
|
+
|
|
11
|
+
{% if o_card_image_wrap_classes %}
|
|
12
|
+
<div class="o-card__image-wrap {{ o_card_image_wrap_classes }}">
|
|
13
|
+
{% endif %}
|
|
14
|
+
|
|
15
|
+
{% if c_lazy_image %}
|
|
16
|
+
{% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
|
|
17
|
+
{% endif %}
|
|
18
|
+
|
|
19
|
+
{% if o_indicator %}
|
|
20
|
+
{% include "@larva/objects/o-indicator/o-indicator.twig" with o_indicator %}
|
|
21
|
+
{% endif %}
|
|
22
|
+
|
|
23
|
+
{% if o_card_image_wrap_classes %}
|
|
24
|
+
</div>
|
|
25
|
+
{% endif %}
|
|
26
|
+
|
|
27
|
+
<div class="o-card__content {{ o_card_content_classes }}">
|
|
28
|
+
{% if o_span_group %}
|
|
29
|
+
{% include "@larva/objects/o-span-group/o-span-group.twig" with o_span_group %}
|
|
30
|
+
{% endif %}
|
|
31
|
+
|
|
32
|
+
{% if c_svg %}
|
|
33
|
+
{% include "@larva/components/c-svg/c-svg.twig" with c_svg %}
|
|
34
|
+
{% endif %}
|
|
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
|
+
|
|
42
|
+
{% if c_span %}
|
|
43
|
+
{% include "@larva/components/c-span/c-span.twig" with c_span %}
|
|
44
|
+
{% endif %}
|
|
45
|
+
|
|
46
|
+
{% if c_title %}
|
|
47
|
+
{% include "@larva/components/c-title/c-title.twig" with c_title %}
|
|
48
|
+
{% endif %}
|
|
49
|
+
|
|
50
|
+
{% if c_timestamp %}
|
|
51
|
+
{% include "@larva/components/c-timestamp/c-timestamp.twig" with c_timestamp %}
|
|
52
|
+
{% endif %}
|
|
53
|
+
|
|
54
|
+
{% if c_dek %}
|
|
55
|
+
{% include "@larva/components/c-dek/c-dek.twig" with c_dek %}
|
|
56
|
+
{% endif %}
|
|
57
|
+
|
|
58
|
+
{% if c_tagline %}
|
|
59
|
+
{% include "@larva/components/c-tagline/c-tagline.twig" with c_tagline %}
|
|
60
|
+
{% endif %}
|
|
61
|
+
|
|
62
|
+
{% if o_author %}
|
|
63
|
+
{% include "@larva/objects/o-author/o-author.twig" with o_author %}
|
|
64
|
+
{% endif %}
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
{% if o_card_link_url %}
|
|
68
|
+
</a>
|
|
69
|
+
{% endif %}
|
|
70
|
+
|
|
71
|
+
{% if o_card_tag_text %}
|
|
72
|
+
</{{ o_card_tag_text }}>
|
|
73
|
+
{% else %}
|
|
74
|
+
</article>
|
|
75
|
+
{% endif %}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
`o-card-list` is a simple wrapping patttern for displaying a list of `o-card`s. This pattern is only necessary when semantic list elements are useful, or when a storing classes in a central place for the `li` wrapping element is useful.
|
|
2
|
+
|
|
3
|
+
A future improvement to this pattern would be an option for an `ol` since many of the card lists will be ordered chronologically.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const o_card = clonedeep( require( '../o-card/o-card.prototype' ) );
|
|
4
|
+
|
|
5
|
+
module.exports = {
|
|
6
|
+
o_card_list_classes: 'lrv-a-unstyle-list',
|
|
7
|
+
o_card_list_item_classes: '',
|
|
8
|
+
o_card_list_items: [
|
|
9
|
+
o_card,
|
|
10
|
+
o_card,
|
|
11
|
+
o_card
|
|
12
|
+
]
|
|
13
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_title = clonedeep( require( '../../components/c-title/c-title.prototype' ) );
|
|
4
|
+
const c_checkbox_input = clonedeep( require( '../../components/c-checkbox-input/c-checkbox-input.prototype' ) );
|
|
5
|
+
|
|
6
|
+
c_title.c_title_url = '';
|
|
7
|
+
|
|
8
|
+
module.exports = {
|
|
9
|
+
o_checkbox_input_list_classes: '',
|
|
10
|
+
o_checkbox_input_list_items_classes: 'lrv-a-unstyle-list',
|
|
11
|
+
o_checkbox_input_list_item_classes: '',
|
|
12
|
+
c_title: c_title,
|
|
13
|
+
o_checkbox_input_list_items: [
|
|
14
|
+
c_checkbox_input, c_checkbox_input, c_checkbox_input
|
|
15
|
+
]
|
|
16
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<section class="o-checkbox-input-list {{ o_checkbox_input_list_classes }}">
|
|
2
|
+
|
|
3
|
+
{% if c_title %}
|
|
4
|
+
{% include "@larva/components/c-title/c-title.twig" with c_title %}
|
|
5
|
+
{% endif %}
|
|
6
|
+
|
|
7
|
+
<ul class="{{ o_checkbox_input_list_items_classes }}">
|
|
8
|
+
{% for item in o_checkbox_input_list_items %}
|
|
9
|
+
<li class="{{ o_checkbox_input_list_item_classes }}">
|
|
10
|
+
{% include "@larva/components/c-checkbox-input/c-checkbox-input.twig" with item %}
|
|
11
|
+
</li>
|
|
12
|
+
{% endfor %}
|
|
13
|
+
</ul>
|
|
14
|
+
|
|
15
|
+
</section>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const o_collection_item = clonedeep( require( './o-collection-item.prototype' ) );
|
|
4
|
+
|
|
5
|
+
o_collection_item.o_collection_item_classes += ' lrv-a-floated-parent';
|
|
6
|
+
o_collection_item.o_figure.o_figure_classes += ' lrv-a-floated-left';
|
|
7
|
+
|
|
8
|
+
module.exports = o_collection_item;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_title = clonedeep( require( '../../components/c-title/c-title.prototype' ) );
|
|
4
|
+
const o_figure = clonedeep( require( '../o-figure/o-figure.prototype' ) );
|
|
5
|
+
const c_dek = clonedeep( require( '../../components/c-dek/c-dek.prototype' ) );
|
|
6
|
+
|
|
7
|
+
module.exports = {
|
|
8
|
+
c_title: c_title,
|
|
9
|
+
c_dek: c_dek,
|
|
10
|
+
o_figure: o_figure,
|
|
11
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<div class="o-collection-item {{ o_collection_item_classes }}">
|
|
2
|
+
{% include "@larva/components/c-title/c-title.twig" with c_title %}
|
|
3
|
+
{% include "@larva/objects/o-figure/o-figure.twig" with o_figure %}
|
|
4
|
+
{% include "@larva/components/c-dek/c-dek.twig" with c_dek %}
|
|
5
|
+
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
o-email-capture-form is an object intended to collect emails via the ExactTarget API. It accepts an array of c-hidden-fields for this the Opted In and Date ExactTarget data.
|
|
2
|
+
|
|
3
|
+
Although it could be used to collect emails via other services, developers should consider creating project-level patterns for anything other than ExactTarget.
|
|
4
|
+
|
|
5
|
+
Also note that o-email-capture-form should not be used to provide an email input in a longer form – it should be used only when a form required a single input for an email.
|
|
6
|
+
|
|
7
|
+
This pattern is intended to go along with the EmailCapture larva-js package that will handle appending the input value to a success URL when the form is submitted.
|
|
8
|
+
|
|
9
|
+
## Available configuraitons:
|
|
10
|
+
|
|
11
|
+
* `o-email-capture-form.minimal` – This configuration shows the input as a single line, and the submit button as a small arrow to the right of the input.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const o_email_capture_form = clonedeep( require( './o-email-capture-form.prototype' ) );
|
|
4
|
+
const c_button = clonedeep( require( '../../components/c-button/c-button.stripped' ) );
|
|
5
|
+
const c_email_field = clonedeep( require( '../../components/c-email-field/c-email-field.ghost' ) );
|
|
6
|
+
|
|
7
|
+
c_button.c_button_classes += ' lrv-a-icon-after lrv-a-icon-arrow-right';
|
|
8
|
+
c_button.c_button_inner_classes = 'lrv-a-screen-reader-only';
|
|
9
|
+
c_button.c_button_type_attr = 'submit';
|
|
10
|
+
|
|
11
|
+
o_email_capture_form.c_button = c_button;
|
|
12
|
+
o_email_capture_form.c_email_field = c_email_field;
|
|
13
|
+
o_email_capture_form.o_email_capture_form_inner_classes = 'lrv-u-flex lrv-u-align-items-center lrv-u-justify-content-center lrv-u-border-b-1 lrv-u-border-color-currentColor';
|
|
14
|
+
|
|
15
|
+
module.exports = o_email_capture_form;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_button = clonedeep( require( '../../components/c-button/c-button.prototype' ) );
|
|
4
|
+
const c_email_field = clonedeep( require( '../../components/c-email-field/c-email-field.prototype' ) );
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
o_email_capture_form_classes: '',
|
|
8
|
+
o_email_capture_form_context_name_attr: 'FormPost',
|
|
9
|
+
o_email_capture_form_inner_classes: '',
|
|
10
|
+
o_email_capture_form_action_url: '',
|
|
11
|
+
o_email_capture_form_button_text: 'Sign up',
|
|
12
|
+
o_email_capture_form_name_attr: 'email-capture-form',
|
|
13
|
+
o_email_capture_form_success_url: '',
|
|
14
|
+
c_button: c_button,
|
|
15
|
+
c_email_field: c_email_field,
|
|
16
|
+
o_email_capture_form_hidden_field_items: []
|
|
17
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<form class="o-email-capture-form lrv-js-EmailCapture {{ o_email_capture_form_classes }}" method="post" action="{{ o_email_capture_form_action_url }}" name="{{ o_email_capture_form_name_attr }}" target="_blank">
|
|
2
|
+
|
|
3
|
+
<div class="o-email-capture-form__inner {{ o_email_capture_form_inner_classes }}">
|
|
4
|
+
{% include "@larva/components/c-email-field/c-email-field.twig" with c_email_field %}
|
|
5
|
+
{% include "@larva/components/c-button/c-button.twig" with c_button %}
|
|
6
|
+
</div>
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
<input type="hidden" name="__contextName" value="{{ o_email_capture_form_context_name_attr }}"/>
|
|
10
|
+
<input type="hidden" name="__executionContext" value="Post" />
|
|
11
|
+
<input type="hidden" name="__successPage" data-email-capture-success-url="{{ o_email_capture_form_success_url }}" value="" />
|
|
12
|
+
|
|
13
|
+
{% for item in o_email_capture_form_hidden_field_items %}
|
|
14
|
+
{% include "@larva/components/c-hidden-field/c-hidden-field.twig" with item %}
|
|
15
|
+
{% endfor %}
|
|
16
|
+
</form>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
o-figure is designed to support images with a caption and a credit, primarily used within editorial content in `the_content` in WordPress. pmc-core-v2 contains a filter on the `caption` shortcode that applies this pattern. Is it also used in for featured images that include credits and captions.
|
|
2
|
+
|
|
3
|
+
It consists of a `figure` element around a `c-lazy-image` and `c-figcaption`, with an optional link wrapper to make the entire block clickable.
|
|
4
|
+
|
|
5
|
+
There is an option for adding an inline style for the width on the `figure` to provide a smooth paint in post content.
|
|
6
|
+
|
|
7
|
+
The pattern supports Lazy Loading with `c-lazy-image`.
|
|
8
|
+
|
|
9
|
+
## When to use:
|
|
10
|
+
* For images or content that can stand on its own, outside of the document flow. Read more about [semantic use of `figure` here](http://html5doctor.com/the-figure-figcaption-elements/).
|
|
11
|
+
|
|
12
|
+
## When not to use:
|
|
13
|
+
* For images that cannot stand on their own as content, e.g. a featured image for a post that requires additional post content to be understood.
|
|
14
|
+
* Logo or icons
|
|
15
|
+
|
|
16
|
+
## Future:
|
|
17
|
+
Could support non-image figures such as charts, embeds, or quotes.
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_figcaption = clonedeep( require( '../../components/c-figcaption/c-figcaption.prototype' ) );
|
|
4
|
+
const c_lazy_image = clonedeep( require( '../../components/c-lazy-image/c-lazy-image.prototype' ) );
|
|
5
|
+
|
|
1
6
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
c_figcaption: c_figcaption,
|
|
8
|
+
c_lazy_image: c_lazy_image,
|
|
9
|
+
o_figure_link_tabindex_attr: '',
|
|
10
|
+
o_figure_link_target_attr: '_self',
|
|
11
|
+
o_figure_link_url: false,
|
|
12
|
+
o_figure_classes: '',
|
|
13
|
+
o_figure_link_classes: 'lrv-a-unstyle-link ',
|
|
14
|
+
o_figure_figcaption_outer: false,
|
|
15
|
+
o_figure_figcaption_outer_classes: '',
|
|
16
|
+
};
|
|
@@ -1,57 +1,34 @@
|
|
|
1
|
-
{% if
|
|
2
|
-
<a href="{{
|
|
3
|
-
{%
|
|
4
|
-
|
|
5
|
-
{%
|
|
6
|
-
|
|
7
|
-
{
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
<figure class="o-figure {{ modifier_class }} {{ o_figure_classes }}" data-toaster-activate-trigger>
|
|
11
|
-
{% else %}
|
|
12
|
-
<figure class="o-figure {{ modifier_class }} {{ o_figure_classes }}" style="{{ o_figure_width_attr }}">
|
|
1
|
+
{% if o_figure_link_url %}
|
|
2
|
+
<a href="{{ o_figure_link_url }}" class="o-figure__link {{ o_figure_link_classes }}"
|
|
3
|
+
{% if o_figure_link_target_attr %}
|
|
4
|
+
target="{{ o_figure_link_target_attr }}"
|
|
5
|
+
{% endif %}
|
|
6
|
+
{% if o_figure_link_tabindex_attr %}
|
|
7
|
+
tabindex="{{ o_figure_link_tabindex_attr }}"
|
|
8
|
+
{% endif %}
|
|
9
|
+
>
|
|
13
10
|
{% endif %}
|
|
14
11
|
|
|
15
|
-
{
|
|
16
|
-
<div class="{{ o_figure_crop_class }}">
|
|
17
|
-
{% endif %}
|
|
12
|
+
<figure class="o-figure {{ modifier_class }} {{ o_figure_classes }} lrv-u-max-width-100p" style="{{ o_figure_width_attr }}">
|
|
18
13
|
|
|
19
|
-
{% if
|
|
20
|
-
|
|
21
|
-
{%
|
|
22
|
-
<img class="o-figure__image {{ o_figure_image_classes }}" src="{{ o_figure_placeholder_image_url }}" data-lazy-src="{{ o_figure_image_url }}" alt="{{ o_figure_alt_attr }}">
|
|
23
|
-
{% endif %}
|
|
14
|
+
{% if c_lazy_image %}
|
|
15
|
+
{% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
|
|
16
|
+
{% endif %}
|
|
24
17
|
|
|
25
|
-
{% if
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
|
|
29
|
-
{% if o_figure_crop_class %}
|
|
30
|
-
</div>
|
|
31
|
-
{% endif %}
|
|
18
|
+
{% if c_figcaption %}
|
|
19
|
+
{% if o_figure_figcaption_outer %}
|
|
20
|
+
<div class="o-figure__figcaption-outer {{ o_figure_figcaption_outer_classes }}">
|
|
21
|
+
{% endif %}
|
|
32
22
|
|
|
33
|
-
{
|
|
34
|
-
{% if o_figure_caption_text %}
|
|
35
|
-
<figcaption class="o-figure__caption {{ o_figure_caption_classes }}">{{ o_figure_caption_text }}</figcaption>
|
|
36
|
-
{% endif %}
|
|
23
|
+
{% include "@larva/components/c-figcaption/c-figcaption.twig" with c_figcaption %}
|
|
37
24
|
|
|
38
|
-
{% if
|
|
39
|
-
|
|
40
|
-
{% if o_figure_caption_markup %}
|
|
41
|
-
<span class="{{ o_figure_caption_classes }}">{{ o_figure_caption_markup }}</span>
|
|
25
|
+
{% if o_figure_figcaption_outer %}
|
|
26
|
+
</div>
|
|
42
27
|
{% endif %}
|
|
43
|
-
|
|
44
|
-
<span class="{{ o_figure_credit_classes }}">{{ o_figure_credit_text }}</span>
|
|
45
|
-
{% endif %}
|
|
46
|
-
</figcaption>
|
|
47
|
-
{% endif %}
|
|
48
|
-
|
|
49
|
-
{% if c_play_badge %}
|
|
50
|
-
{% include "@larva/components/c-play-badge/c-play-badge.twig" with c_play_badge %}
|
|
51
|
-
{% endif %}
|
|
28
|
+
{% endif %}
|
|
52
29
|
|
|
53
30
|
</figure>
|
|
54
31
|
|
|
55
|
-
{% if
|
|
32
|
+
{% if o_figure_link_url %}
|
|
56
33
|
</a>
|
|
57
34
|
{% endif %}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_heading = clonedeep( require( '../../components/c-heading/c-heading.prototype' ) );
|
|
4
|
+
const c_button = clonedeep( require( '../../components/c-button/c-button.prototype' ) );
|
|
5
|
+
|
|
6
|
+
c_button.c_button_classes = 'lrv-u-font-size-12 lrv-u-text-transform-uppercase lrv-a-icon-after lrv-a-icon-arrow-right lrv-u-margin-l-auto';
|
|
7
|
+
c_button.c_button_text = 'Link';
|
|
8
|
+
c_button.c_button_url = '#';
|
|
9
|
+
|
|
1
10
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
"c_heading_text": "Section Heading"
|
|
6
|
-
},
|
|
7
|
-
"c_button": {
|
|
8
|
-
"modifier_class": "c-button--plain pmc-u-font-size-12 pmc-u-color-white pmc-u-text-transform-uppercase a-icon-after a-icon-arrow-right u-margin-l-auto",
|
|
9
|
-
"c_button_url": "#",
|
|
10
|
-
"c_button_text": "Link"
|
|
11
|
-
}
|
|
11
|
+
o_heading_classes: 'lrv-u-flex lrv-u-align-items-center lrv-u-padding-a-1',
|
|
12
|
+
c_heading: c_heading,
|
|
13
|
+
c_button: c_button
|
|
12
14
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<header class="o-
|
|
1
|
+
<header class="o-header {{ modifier_class }} {{ o_heading_classes }}">
|
|
2
2
|
{% if c_heading %}
|
|
3
3
|
{% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
|
|
4
4
|
{% endif %}
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
{% include "@larva/components/c-button/c-button.twig" with c_button %}
|
|
12
12
|
{% endif %}
|
|
13
13
|
|
|
14
|
+
{% if c_svg %}
|
|
15
|
+
{% include "@larva/components/c-svg/c-svg.twig" with c_svg %}
|
|
16
|
+
{% endif %}
|
|
17
|
+
|
|
14
18
|
{% if o_sponsored_by %}
|
|
15
19
|
{% include "@larva/objects/o-sponsored-by/o-sponsored-by.twig" with o_sponsored_by %}
|
|
16
20
|
{% endif %}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const header_buttons_prototype = require( './o-header-buttons.prototype' );
|
|
4
|
+
const header_buttons = clonedeep( header_buttons_prototype );
|
|
5
|
+
|
|
6
|
+
header_buttons.button_wrap = true;
|
|
7
|
+
header_buttons.c_subscribe_link.c_link_classes = 'lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-currentColor lrv-u-margin-b-025';
|
|
8
|
+
header_buttons.c_got_a_tip.c_link_classes = 'lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-margin-tb-025';
|
|
9
|
+
header_buttons.o_header_button_classes = 'lrv-u-align-items-stretch lrv-a-space-children-horizontal lrv-a-space-children--1';
|
|
10
|
+
module.exports = header_buttons;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const clonedeep = require( 'lodash.clonedeep' );
|
|
2
|
+
|
|
3
|
+
const c_link_prototype = require( '../../components/c-link/c-link.prototype' );
|
|
4
|
+
const o_account_menu_prototype = require( '../../objects/o-account-menu/o-account-menu.prototype');
|
|
5
|
+
|
|
6
|
+
const c_login_link = clonedeep( c_link_prototype );
|
|
7
|
+
c_login_link.c_link_text = 'Log In';
|
|
8
|
+
c_login_link.c_link_classes = ' lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover';
|
|
9
|
+
|
|
10
|
+
const c_subscribe_link = clonedeep( c_link_prototype );
|
|
11
|
+
c_subscribe_link.c_link_text = 'Subscribe';
|
|
12
|
+
c_subscribe_link.c_link_classes = 'lrv-a-unstyle-button lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover';
|
|
13
|
+
|
|
14
|
+
const c_account_link = clonedeep( c_link_prototype );
|
|
15
|
+
c_account_link.c_link_text = 'Account';
|
|
16
|
+
c_account_link.c_link_classes = 'lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-color-white lrv-u-border-color-brand-primary:hover';
|
|
17
|
+
|
|
18
|
+
const c_got_a_tip = clonedeep( c_link_prototype );
|
|
19
|
+
c_got_a_tip.c_link_text = 'Got A Tip?';
|
|
20
|
+
c_got_a_tip.c_link_classes = 'lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover';
|
|
21
|
+
|
|
22
|
+
const o_account_menu = clonedeep( o_account_menu_prototype );
|
|
23
|
+
|
|
24
|
+
o_account_menu.c_account_link.c_link_classes = ' lrv-a-unstyle-link lrv-u-text-transform-uppercase lrv-u-font-family-body lrv-u-font-size-12 lrv-u-font-size-8@mobile-max lrv-u-color-brand-primary:hover lrv-u-border-b-1 lrv-u-border-color-white lrv-u-border-color-brand-primary:hover lrv-u-margin-tb-025';
|
|
25
|
+
|
|
26
|
+
module.exports = {
|
|
27
|
+
c_login_link,
|
|
28
|
+
c_subscribe_link,
|
|
29
|
+
o_account_menu,
|
|
30
|
+
c_got_a_tip,
|
|
31
|
+
c_account_link,
|
|
32
|
+
button_wrap: false,
|
|
33
|
+
show_flyout: true,
|
|
34
|
+
o_header_button_classes: 'lrv-a-space-children-horizontal lrv-a-space-children--1',
|
|
35
|
+
got_tip_wrapper_classes: 'lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-padding-tb-025 lrv-u-flex lrv-u-align-items-center lrv-u-margin-tb-025',
|
|
36
|
+
account_menu_classes: 'lrv-u-flex lrv-u-align-items-center lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-padding-tb-025 lrv-u-margin-tb-025',
|
|
37
|
+
hide_flyout_classes: ' ',
|
|
38
|
+
subscribe_wrapper_classes: 'subscribe-link cx-dynamic-link lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-padding-tb-025 lrv-u-margin-tb-025',
|
|
39
|
+
login_wrapper_classes: 'subscriber-login-link lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-padding-tb-025 lrv-u-margin-tb-025',
|
|
40
|
+
button_wrap_classes: 'lrv-u-flex lrv-u-flex-direction-column lrv-u-align-items-center lrv-u-border-l-00@mobile-max lrv-u-border-l-1 lrv-u-padding-l-1 lrv-u-margin-tb-025',
|
|
41
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<div class="lrv-u-flex {{o_header_button_classes}}">
|
|
2
|
+
<div class="item-wrap // {{ got_tip_wrapper_classes }}">
|
|
3
|
+
{% include "@larva/components/c-link/c-link.twig" with c_got_a_tip %}
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
{% if show_flyout %}
|
|
7
|
+
|
|
8
|
+
<div class="item-wrap // {{ account_menu_classes }} ">
|
|
9
|
+
{% include "@larva/objects/o-account-menu/o-account-menu.twig" with o_account_menu %}
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
{% else %}
|
|
13
|
+
|
|
14
|
+
<div class="item-wrap // {{ account_menu_classes }} {{ hide_flyout_classes}}">
|
|
15
|
+
{% include "@larva/components/c-link/c-link.twig" with c_account_link %}
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
{% endif %}
|
|
19
|
+
|
|
20
|
+
{% if button_wrap %}
|
|
21
|
+
|
|
22
|
+
<div class="items-wrap // {{ button_wrap_classes }}">
|
|
23
|
+
{% if c_subscribe_link %}
|
|
24
|
+
{% include "@larva/components/c-link/c-link.twig" with c_subscribe_link %}
|
|
25
|
+
{% endif %}
|
|
26
|
+
|
|
27
|
+
{% include "@larva/components/c-link/c-link.twig" with c_login_link %}
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
{% else %}
|
|
31
|
+
|
|
32
|
+
<div class="item-wrap // {{ subscribe_wrapper_classes }}">
|
|
33
|
+
{% if c_subscribe_link %}
|
|
34
|
+
{% include "@larva/components/c-link/c-link.twig" with c_subscribe_link %}
|
|
35
|
+
{% endif %}
|
|
36
|
+
</div>
|
|
37
|
+
<div class="item-wrap // {{ login_wrapper_classes }} ">
|
|
38
|
+
{% include "@larva/components/c-link/c-link.twig" with c_login_link %}
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
{% endif %}
|
|
42
|
+
</div>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
The Icon button is comprised of c_icon and c_span. While c_icon and c_span both support URLs, any URL for o-icon-button should be passed using o_icon_button_url. In this case, it will render an anchor tag instead of a button tag.
|
|
2
|
+
|
|
3
|
+
## Available configurations:
|
|
4
|
+
|
|
5
|
+
* `o-icon-button.search` – Contains search icon from `c-icon` and no text.
|