@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.
Files changed (343) hide show
  1. package/LICENSE +21 -0
  2. package/__tests__/css/css.html +9 -0
  3. package/__tests__/css/css.prototype.js +1 -0
  4. package/__tests__/hub/hub.html +25 -0
  5. package/__tests__/hub/hub.prototype.js +30 -0
  6. package/__tests__/profile/profile.html +29 -0
  7. package/__tests__/profile/profile.prototype.js +17 -0
  8. package/__tests__/profile-index/profile-index.html +9 -0
  9. package/__tests__/profile-index/profile-index.prototype.js +6 -0
  10. package/__tests__/vlanding/vlanding.html +7 -0
  11. package/__tests__/vlanding/vlanding.prototype.js +11 -0
  12. package/_templates/pattern-nav.html +52 -10
  13. package/algorithms/a-carousel-grid/README.md +5 -0
  14. package/algorithms/a-carousel-grid/a-carousel-grid.html +25 -0
  15. package/algorithms/a-carousel-grid/a-carousel-grid.overlay.js +12 -0
  16. package/algorithms/a-carousel-grid/a-carousel-grid.prototype.js +0 -0
  17. package/algorithms/a-icon/a-icon.html +1 -0
  18. package/algorithms/a-icon/a-icon.prototype.js +0 -0
  19. package/base.html +62 -19
  20. package/components/c-button/README.md +3 -0
  21. package/components/c-button/c-button.black.js +7 -0
  22. package/components/c-button/c-button.brand-basic.js +8 -0
  23. package/components/c-button/c-button.ghost.js +10 -0
  24. package/components/c-button/c-button.prototype.js +10 -4
  25. package/components/c-button/c-button.stripped.js +8 -0
  26. package/components/c-button/c-button.twig +13 -7
  27. package/components/c-checkbox-input/c-checkbox-input.prototype.js +6 -0
  28. package/components/c-checkbox-input/c-checkbox-input.twig +4 -0
  29. package/components/c-dek/README.md +3 -0
  30. package/components/c-dek/c-dek.prototype.js +5 -0
  31. package/components/c-dek/c-dek.twig +9 -0
  32. package/components/c-email-field/README.md +0 -0
  33. package/components/c-email-field/c-email-field.ghost.js +10 -0
  34. package/components/c-email-field/c-email-field.prototype.js +8 -0
  35. package/components/c-email-field/c-email-field.twig +4 -0
  36. package/components/c-figcaption/c-figcaption.prototype.js +9 -0
  37. package/components/c-figcaption/c-figcaption.twig +16 -0
  38. package/components/c-heading/README.md +4 -0
  39. package/components/c-heading/c-heading.prototype.js +8 -3
  40. package/components/c-heading/c-heading.twig +11 -2
  41. package/components/c-hidden-field/c-hidden-field.prototype.js +5 -0
  42. package/components/c-hidden-field/c-hidden-field.twig +1 -0
  43. package/components/c-icon/c-icon.full.js +6 -5
  44. package/components/c-icon/c-icon.prototype.js +10 -3
  45. package/components/c-icon/c-icon.twig +22 -2
  46. package/components/c-input/c-input.prototype.js +8 -0
  47. package/components/c-input/c-input.twig +14 -0
  48. package/components/c-label/README.md +12 -0
  49. package/components/c-label/c-label.prototype.js +7 -0
  50. package/components/c-label/c-label.twig +19 -0
  51. package/components/c-lazy-image/README.md +35 -0
  52. package/components/c-lazy-image/c-lazy-image.prototype.js +17 -0
  53. package/components/c-lazy-image/c-lazy-image.twig +31 -0
  54. package/components/c-link/README.md +1 -0
  55. package/components/c-link/c-link.prototype.js +8 -5
  56. package/components/c-link/c-link.twig +11 -1
  57. package/components/c-logo/c-logo.prototype.js +7 -0
  58. package/components/c-logo/c-logo.twig +10 -0
  59. package/components/c-nav-link/c-nav-link.prototype.js +7 -0
  60. package/components/c-nav-link/c-nav-link.twig +10 -0
  61. package/components/c-play-badge/c-play-badge.prototype.js +3 -0
  62. package/components/c-play-badge/c-play-badge.twig +7 -0
  63. package/components/c-select-option/c-select-option.prototype.js +5 -0
  64. package/components/c-select-option/c-select-option.twig +5 -0
  65. package/components/c-span/c-span.prototype.js +6 -7
  66. package/components/c-span/c-span.tag.js +7 -0
  67. package/components/c-svg/c-svg.prototype.js +4 -0
  68. package/components/c-svg/c-svg.twig +3 -0
  69. package/components/c-tagline/README.md +3 -0
  70. package/components/c-tagline/c-tagline.prototype.js +4 -0
  71. package/components/c-tagline/c-tagline.twig +3 -3
  72. package/components/c-timestamp/c-timestamp.prototype.js +5 -4
  73. package/components/c-timestamp/c-timestamp.twig +9 -1
  74. package/components/c-title/README.md +7 -0
  75. package/components/c-title/c-title.prototype.js +7 -3
  76. package/components/c-title/c-title.twig +14 -2
  77. package/css.html +44 -0
  78. package/index.html +7 -25
  79. package/index.js +4 -0
  80. package/modules/age-gate/README.md +3 -0
  81. package/modules/age-gate/age-gate.prototype.js +68 -0
  82. package/modules/age-gate/age-gate.twig +37 -0
  83. package/modules/article-callout/article-callout.prototype.js +5 -0
  84. package/modules/article-callout/article-callout.twig +3 -0
  85. package/modules/article-excerpt/article-excerpt.prototype.js +4 -0
  86. package/modules/article-excerpt/article-excerpt.twig +1 -0
  87. package/modules/article-kicker/article-kicker.prototype.js +6 -0
  88. package/modules/article-kicker/article-kicker.twig +13 -0
  89. package/modules/article-tags/article-tags.prototype.js +9 -10
  90. package/modules/article-tags/article-tags.twig +1 -1
  91. package/modules/article-timestamp/article-timestamp.prototype.js +13 -0
  92. package/modules/article-timestamp/article-timestamp.twig +5 -0
  93. package/modules/article-title/article-title.prototype.js +4 -0
  94. package/modules/article-title/article-title.twig +1 -0
  95. package/modules/author/author.prototype.js +43 -0
  96. package/modules/author/author.twig +38 -0
  97. package/modules/author-details/author-details.prototype.js +70 -0
  98. package/modules/author-details/author-details.twig +25 -0
  99. package/modules/back-to-list/back-to-list.prototype.js +11 -0
  100. package/modules/back-to-list/back-to-list.twig +5 -0
  101. package/modules/badge/badge.prototype.js +10 -6
  102. package/modules/badge/badge.twig +1 -1
  103. package/modules/banner/banner.prototype.js +10 -0
  104. package/modules/banner/banner.twig +10 -0
  105. package/modules/brands-most-popular/brands-most-popular.prototype.js +40 -0
  106. package/modules/brands-most-popular/brands-most-popular.twig +11 -0
  107. package/modules/breadcrumbs/breadcrumbs.prototype.js +4 -5
  108. package/modules/breadcrumbs/breadcrumbs.twig +1 -1
  109. package/modules/breaking-news/breaking-news.prototype.js +29 -0
  110. package/modules/breaking-news/breaking-news.twig +18 -0
  111. package/modules/button/button.prototype.js +9 -0
  112. package/modules/button/button.twig +7 -0
  113. package/modules/buy-now/buy-now.prototype.js +36 -0
  114. package/modules/buy-now/buy-now.twig +23 -0
  115. package/modules/carousel-grid/README.md +7 -0
  116. package/modules/carousel-grid/carousel-grid.overlay.js +26 -0
  117. package/modules/carousel-grid/carousel-grid.prototype.js +50 -0
  118. package/modules/carousel-grid/carousel-grid.twig +17 -0
  119. package/modules/carousel-slider/carousel-slider.prototype.js +56 -0
  120. package/modules/carousel-slider/carousel-slider.twig +11 -0
  121. package/modules/container/README.md +3 -0
  122. package/modules/container/container.prototype.js +7 -0
  123. package/modules/container/container.twig +1 -0
  124. package/modules/content-showcase/content-showcase.prototype.js +29 -0
  125. package/modules/content-showcase/content-showcase.the-moth.js +31 -0
  126. package/modules/content-showcase/content-showcase.twig +7 -0
  127. package/modules/expandable-search/expandable-search.prototype.js +19 -0
  128. package/modules/expandable-search/expandable-search.twig +9 -0
  129. package/modules/featured-stories/featured-stories.prototype.js +27 -0
  130. package/modules/featured-stories/featured-stories.twig +18 -0
  131. package/modules/footer/README.md +15 -0
  132. package/modules/footer/footer.prototype.js +14 -0
  133. package/modules/footer/footer.twig +22 -0
  134. package/modules/footer-button-list/footer-button-list.prototype.js +43 -0
  135. package/modules/footer-button-list/footer-button-list.twig +13 -0
  136. package/modules/footer-magazine-image/footer-magazine-image.prototype.js +15 -0
  137. package/modules/footer-magazine-image/footer-magazine-image.twig +3 -0
  138. package/modules/footer-menus/README.md +3 -0
  139. package/modules/footer-menus/footer-menus.prototype.js +9 -9
  140. package/modules/footer-menus/footer-menus.twig +4 -4
  141. package/modules/footer-newsletter/README.md +5 -0
  142. package/modules/footer-newsletter/footer-newsletter.prototype.js +21 -0
  143. package/modules/footer-newsletter/footer-newsletter.twig +5 -0
  144. package/modules/footer-social/README.md +3 -0
  145. package/modules/footer-social/footer-social.prototype.js +36 -0
  146. package/modules/footer-social/footer-social.twig +5 -0
  147. package/modules/footer-tip/footer-tip.prototype.js +23 -0
  148. package/modules/footer-tip/footer-tip.twig +5 -0
  149. package/modules/header/header.article.js +39 -0
  150. package/modules/header/header.prototype.js +90 -0
  151. package/modules/header/header.twig +74 -0
  152. package/modules/header-menu/header-menu.prototype.js +26 -0
  153. package/modules/header-menu/header-menu.twig +3 -0
  154. package/modules/header-sticky/header-sticky.article.js +43 -0
  155. package/modules/header-sticky/header-sticky.prototype.js +39 -0
  156. package/modules/header-sticky/header-sticky.twig +30 -0
  157. package/modules/heading/heading.h1.js +8 -0
  158. package/modules/heading/heading.h2.js +8 -0
  159. package/modules/heading/heading.h3.js +8 -0
  160. package/modules/heading/heading.h4.js +7 -0
  161. package/modules/heading/heading.h5.js +7 -0
  162. package/modules/heading/heading.h6.js +7 -0
  163. package/modules/heading/heading.prototype.js +9 -0
  164. package/modules/heading/heading.twig +3 -0
  165. package/modules/hero-image-story/hero-image-story.prototype.js +41 -0
  166. package/modules/hero-image-story/hero-image-story.twig +8 -0
  167. package/modules/injected-related-content/injected-related-content.prototype.js +61 -0
  168. package/modules/injected-related-content/injected-related-content.twig +23 -0
  169. package/modules/list/list.ordered.js +7 -0
  170. package/modules/list/list.prototype.js +57 -0
  171. package/modules/list/list.twig +11 -0
  172. package/modules/listicle-item/listicle-item.prototype.js +11 -0
  173. package/modules/listicle-item/listicle-item.twig +3 -0
  174. package/modules/mega-menu/mega-menu.prototype.js +16 -0
  175. package/modules/mega-menu/mega-menu.twig +10 -0
  176. package/modules/mega-menu-content/mega-menu-content.prototype.js +10 -0
  177. package/modules/mega-menu-content/mega-menu-content.twig +5 -0
  178. package/modules/mega-menu-footer/mega-menu-footer.prototype.js +41 -0
  179. package/modules/mega-menu-footer/mega-menu-footer.twig +19 -0
  180. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.prototype.js +20 -0
  181. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.twig +4 -0
  182. package/modules/mega-menu-item/mega-menu-item.prototype.js +23 -0
  183. package/modules/mega-menu-item/mega-menu-item.twig +13 -0
  184. package/modules/more-stories-button/more-stories-button.profile.js +12 -0
  185. package/modules/more-stories-button/more-stories-button.prototype.js +29 -0
  186. package/modules/more-stories-button/more-stories-button.twig +13 -0
  187. package/modules/newsletter/newsletter.prototype.js +46 -0
  188. package/modules/newsletter/newsletter.twig +21 -0
  189. package/modules/newsletter-cta/newsletter-cta.prototype.js +21 -0
  190. package/modules/newsletter-cta/newsletter-cta.twig +22 -0
  191. package/modules/newswire/newswire.prototype.js +46 -0
  192. package/modules/newswire/newswire.twig +16 -0
  193. package/modules/page-404/page-404.prototype.js +44 -0
  194. package/modules/page-404/page-404.twig +32 -0
  195. package/modules/paragraph/paragraph.narrow.js +8 -0
  196. package/modules/paragraph/paragraph.prototype.js +8 -0
  197. package/modules/paragraph/paragraph.twig +3 -0
  198. package/modules/pmc-footer/pmc-footer.prototype.js +26 -24
  199. package/modules/pmc-footer/pmc-footer.twig +11 -9
  200. package/modules/post-content-image/post-content-image.prototype.js +14 -0
  201. package/modules/post-content-image/post-content-image.twig +3 -0
  202. package/modules/production-credits/production-credits.prototype.js +5 -0
  203. package/modules/production-credits/production-credits.twig +4 -0
  204. package/modules/profile-blurb/profile-blurb.card.js +28 -0
  205. package/modules/profile-blurb/profile-blurb.prototype.js +45 -0
  206. package/modules/profile-blurb/profile-blurb.twig +37 -0
  207. package/modules/profile-body/profile-body.prototype.js +20 -0
  208. package/modules/profile-body/profile-body.twig +15 -0
  209. package/modules/profile-browse-by/profile-browse-by.prototype.js +29 -0
  210. package/modules/profile-browse-by/profile-browse-by.twig +6 -0
  211. package/modules/profile-card-list/profile-card-list.prototype.js +25 -0
  212. package/modules/profile-card-list/profile-card-list.twig +7 -0
  213. package/modules/profile-filter/profile-filter.prototype.js +26 -0
  214. package/modules/profile-filter/profile-filter.twig +15 -0
  215. package/modules/profile-gallery/profile-gallery.prototype.js +28 -0
  216. package/modules/profile-gallery/profile-gallery.twig +13 -0
  217. package/modules/profile-header/profile-header.prototype.js +29 -0
  218. package/modules/profile-header/profile-header.twig +27 -0
  219. package/modules/profile-highlights/profile-highlights.prototype.js +22 -0
  220. package/modules/profile-highlights/profile-highlights.twig +17 -0
  221. package/modules/profile-landing-header/profile-landing-header.prototype.js +17 -0
  222. package/modules/profile-landing-header/profile-landing-header.twig +12 -0
  223. package/modules/profile-landing-river/profile-landing-river.prototype.js +21 -0
  224. package/modules/profile-landing-river/profile-landing-river.twig +13 -0
  225. package/modules/profile-related-stories/profile-related-stories.prototype.js +33 -0
  226. package/modules/profile-related-stories/profile-related-stories.twig +9 -0
  227. package/modules/pullquote/pullquote.prototype.js +8 -0
  228. package/modules/pullquote/pullquote.twig +3 -0
  229. package/modules/read-next/read-next.prototype.js +20 -0
  230. package/modules/read-next/read-next.twig +4 -0
  231. package/modules/search-form/search-form.prototype.js +8 -0
  232. package/modules/search-form/search-form.twig +11 -0
  233. package/modules/secondary-stories/secondary-stories.prototype.js +119 -0
  234. package/modules/secondary-stories/secondary-stories.twig +22 -0
  235. package/modules/separator/separator.prototype.js +4 -0
  236. package/modules/separator/separator.thick.js +7 -0
  237. package/modules/separator/separator.twig +1 -0
  238. package/modules/separator/separator.wide-thick.js +7 -0
  239. package/modules/separator/separator.wide.js +7 -0
  240. package/modules/social-share/social-share.prototype.js +43 -0
  241. package/modules/social-share/social-share.twig +30 -0
  242. package/modules/special-coverage/special-coverage.prototype.js +47 -0
  243. package/modules/special-coverage/special-coverage.twig +29 -0
  244. package/modules/story/story.borders.js +8 -0
  245. package/modules/story/story.center-vertical-borders.js +7 -0
  246. package/modules/story/story.center-vertical.js +11 -0
  247. package/modules/story/story.prototype.js +43 -0
  248. package/modules/story/story.right-borders.js +9 -0
  249. package/modules/story/story.right.js +14 -0
  250. package/modules/story/story.story-arc.js +9 -0
  251. package/modules/story/story.twig +88 -0
  252. package/modules/story/story.vertical-borders.js +7 -0
  253. package/modules/story/story.vertical.js +11 -0
  254. package/modules/story-arc-stories/story-arc-stories.prototype.js +21 -0
  255. package/modules/story-arc-stories/story-arc-stories.twig +14 -0
  256. package/modules/story-featured-quote/story-featured-quote.prototype.js +28 -0
  257. package/modules/story-featured-quote/story-featured-quote.twig +27 -0
  258. package/modules/story-grid/story-grid.prototype.js +24 -0
  259. package/modules/story-grid/story-grid.river.js +15 -0
  260. package/modules/story-grid/story-grid.twig +17 -0
  261. package/modules/sub-header/sub-header.prototype.js +8 -0
  262. package/modules/sub-header/sub-header.twig +7 -0
  263. package/modules/top-stories/top-stories.prototype.js +41 -0
  264. package/modules/top-stories/top-stories.twig +12 -0
  265. package/modules/top-stories/top-stories.xl.js +14 -0
  266. package/modules/vlanding-playlist/README.md +1 -0
  267. package/modules/vlanding-playlist/vlanding-playlist.prototype.js +34 -0
  268. package/modules/vlanding-playlist/vlanding-playlist.twig +20 -0
  269. package/modules/vlanding-video-card/README.md +1 -0
  270. package/modules/vlanding-video-card/vlanding-video-card.prototype.js +25 -0
  271. package/modules/vlanding-video-card/vlanding-video-card.twig +56 -0
  272. package/modules/vlanding-video-showcase/README.md +12 -0
  273. package/modules/vlanding-video-showcase/vlanding-video-showcase.prototype.js +68 -0
  274. package/modules/vlanding-video-showcase/vlanding-video-showcase.twig +46 -0
  275. package/objects/o-account-menu/o-account-menu.prototype.js +35 -0
  276. package/objects/o-account-menu/o-account-menu.twig +25 -0
  277. package/objects/o-author/o-author.prototype.js +13 -0
  278. package/objects/o-author/o-author.twig +13 -0
  279. package/objects/o-card/README.md +1 -0
  280. package/objects/o-card/o-card.prototype.js +25 -0
  281. package/objects/o-card/o-card.twig +75 -0
  282. package/objects/o-card-list/README.md +3 -0
  283. package/objects/o-card-list/o-card-list.prototype.js +13 -0
  284. package/objects/o-card-list/o-card-list.twig +7 -0
  285. package/objects/o-checkbox-input-list/o-checkbox-input-list.prototype.js +16 -0
  286. package/objects/o-checkbox-input-list/o-checkbox-input-list.twig +15 -0
  287. package/objects/o-collection-item/o-collection-item.floated.js +8 -0
  288. package/objects/o-collection-item/o-collection-item.prototype.js +11 -0
  289. package/objects/o-collection-item/o-collection-item.twig +5 -0
  290. package/objects/o-email-capture-form/README.md +11 -0
  291. package/objects/o-email-capture-form/o-email-capture-form.minimal.js +15 -0
  292. package/objects/o-email-capture-form/o-email-capture-form.prototype.js +17 -0
  293. package/objects/o-email-capture-form/o-email-capture-form.twig +16 -0
  294. package/objects/o-figure/README.md +17 -0
  295. package/objects/o-figure/o-figure.prototype.js +15 -7
  296. package/objects/o-figure/o-figure.twig +22 -45
  297. package/objects/o-header/o-header.prototype.js +12 -10
  298. package/objects/o-header/o-header.twig +5 -1
  299. package/objects/o-header-buttons/o-header-buttons.column.js +10 -0
  300. package/objects/o-header-buttons/o-header-buttons.prototype.js +41 -0
  301. package/objects/o-header-buttons/o-header-buttons.twig +42 -0
  302. package/objects/o-icon-button/README.md +5 -0
  303. package/objects/o-icon-button/o-icon-button.prototype.js +21 -0
  304. package/objects/o-icon-button/o-icon-button.search.js +9 -0
  305. package/objects/o-icon-button/o-icon-button.twig +21 -0
  306. package/objects/o-indicator/README.md +1 -0
  307. package/objects/o-indicator/o-indicator.photos.js +12 -0
  308. package/objects/o-indicator/o-indicator.prototype.js +8 -0
  309. package/objects/o-indicator/o-indicator.twig +9 -0
  310. package/objects/o-input-group/o-input-group.prototype.js +11 -0
  311. package/objects/o-input-group/o-input-group.twig +5 -0
  312. package/objects/o-nav/README.md +2 -2
  313. package/objects/o-nav/o-nav.horizontal.js +6 -6
  314. package/objects/o-nav/o-nav.prototype.js +17 -13
  315. package/objects/o-nav/o-nav.twig +29 -3
  316. package/objects/o-select-nav/o-select-nav.prototype.js +17 -0
  317. package/objects/o-select-nav/o-select-nav.twig +9 -0
  318. package/objects/o-social-list/o-social-list.prototype.js +23 -0
  319. package/objects/o-social-list/o-social-list.twig +15 -0
  320. package/objects/o-span-group/README.md +1 -0
  321. package/objects/o-span-group/o-span-group.prototype.js +11 -0
  322. package/objects/o-span-group/o-span-group.twig +5 -0
  323. package/objects/o-sponsored-by/o-sponsored-by.prototype.js +9 -10
  324. package/objects/o-sponsored-by/o-sponsored-by.twig +2 -2
  325. package/objects/o-story-arc-item/o-story-arc-item.prototype.js +29 -0
  326. package/objects/o-story-arc-item/o-story-arc-item.twig +9 -0
  327. package/objects/o-sub-header/o-sub-header.prototype.js +39 -0
  328. package/objects/o-sub-header/o-sub-header.twig +9 -0
  329. package/objects/o-tease/o-tease.prototype.js +24 -20
  330. package/objects/o-tease/o-tease.twig +7 -3
  331. package/objects/o-tease-list/o-tease-list.prototype.js +12 -24
  332. package/objects/o-tease-list/o-tease-list.twig +5 -1
  333. package/package.json +6 -9
  334. package/pattern.html +61 -9
  335. package/style-guide/colors.html +33 -0
  336. package/style-guide/fonts.html +22 -0
  337. package/style-guide/index.html +14 -0
  338. package/components/c-button/c-button.scss +0 -33
  339. package/components/c-tagline/c-tagline.json +0 -4
  340. package/components/c-tagline/c-tagline.scss +0 -19
  341. package/objects/o-figure/o-figure.scss +0 -46
  342. package/objects/o-tease/o-tease.scss +0 -30
  343. package/scratch-pad.css +0 -3
@@ -0,0 +1,23 @@
1
+ <div class="injected-related-content // {{injected_related_content_classes}}" >
2
+ <div class="injected-related-content-inner // {{injected_related_content_inner_classes}}">
3
+ <div class="injected-related-content-primary // {{injected_related_content_primary_classes}}">
4
+ <div class="injected-related-content-heading // {{injected_related_content_heading_classes}}">
5
+ {% include "@larva/components/c-title/c-title.twig" with c_heading %}
6
+ </div>
7
+ {% if c_lazy_image %}
8
+ {% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
9
+ {% endif %}
10
+
11
+ {% if c_title %}
12
+ {% include "@larva/components/c-title/c-title.twig" with c_title %}
13
+ {% endif %}
14
+
15
+ </div>
16
+ <div class="injected-related-content-secondary // {{injected_related_content_secondary_classes}}">
17
+ {% for item in o_card_items %}
18
+ {% include "@larva/objects/o-card/o-card.twig" with item %}
19
+ {% endfor %}
20
+ </div>
21
+ </div>
22
+ </div>
23
+
@@ -0,0 +1,7 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const list = clonedeep( require( './list.prototype' ) );
4
+
5
+ list.list_type_name = 'o';
6
+
7
+ module.exports = list;
@@ -0,0 +1,57 @@
1
+ module.exports = {
2
+ list_classes: 'a-font-body-m',
3
+ list_markup: 'Paragraph Text.',
4
+ list_type_name: 'u',
5
+ list_items: [
6
+ {
7
+ list_markup: 'item_one',
8
+ },
9
+ {
10
+ list_markup: 'item_two',
11
+ },
12
+ {
13
+ list_classes: 'a-font-body-m',
14
+ list_markup: 'Paragraph Text with sub items woo.',
15
+ list_type_name: 'u',
16
+ list_item_classes: '',
17
+ list_items: [
18
+ {
19
+ list_markup: 'sub_item_one',
20
+ },
21
+ {
22
+ list_markup: 'sub_item_two',
23
+ },
24
+ {
25
+ list_classes: 'a-font-body-m',
26
+ list_markup: 'Paragraph Text.',
27
+ list_type_name: 'u',
28
+ list_item_classes: '',
29
+ list_items: [
30
+ {
31
+ list_markup: 'sub_sub_item_one',
32
+ },
33
+ {
34
+ list_markup: 'sub_sub_item_two',
35
+ },
36
+ {
37
+ list_classes: 'a-font-body-m',
38
+ list_markup: 'Paragraph Text.',
39
+ list_type_name: 'u',
40
+ list_item_classes: '',
41
+ list_items: [
42
+ {
43
+ list_markup: 'sub_sub_sub_item_one',
44
+ },
45
+ {
46
+ list_markup: 'sub_sub_sub_item_two',
47
+ },
48
+ ]
49
+ }
50
+
51
+ ]
52
+ }
53
+ ]
54
+ }
55
+ ],
56
+ list_item_classes: ''
57
+ };
@@ -0,0 +1,11 @@
1
+ <{{ list_type_name }}l class="list larva // {{ list_classes }}">
2
+ {% for item in list_items %}
3
+ <li class="list__item larva // {{ list_item_classes }}">
4
+ {{ item['list_markup'] }}
5
+
6
+ {% if item['list_items'] %}
7
+ {% include "@larva/modules/list/list.twig" with item %}
8
+ {% endif %}
9
+ </li>
10
+ {% endfor %}
11
+ </{{ list_type_name }}l>
@@ -0,0 +1,11 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const o_collection_item = clonedeep( require( '../../objects/o-collection-item/o-collection-item.prototype' ) );
4
+
5
+ o_collection_item.o_collection_item_classes = 'a-floated-parent';
6
+ o_collection_item.o_figure.o_figure_classes = 'a-floated-left@tablet lrv-u-padding-r-1@tablet';
7
+
8
+ module.exports = {
9
+ listicle_item_classes: 'lrv-a-wrapper',
10
+ o_collection_item: o_collection_item
11
+ };
@@ -0,0 +1,3 @@
1
+ <section class="listicle-item // {{ listicle_item_classes }}">
2
+ {% include "@larva/objects/o-collection-item/o-collection-item.twig" with o_collection_item %}
3
+ </section>
@@ -0,0 +1,16 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const mega_menu_footer_prototype = require( '../mega-menu-footer/mega-menu-footer.prototype.js' );
4
+ const mega_menu_footer = clonedeep( mega_menu_footer_prototype );
5
+
6
+ const mega_menu_content_prototype = require( '../mega-menu-content/mega-menu-content.prototype.js' );
7
+ const mega_menu_content = clonedeep( mega_menu_content_prototype );
8
+
9
+ module.exports = {
10
+ mega_menu_footer,
11
+ mega_menu_content,
12
+ mega_menu_classes: '',
13
+ mega_menu_outer_classes: 'lrv-a-wrapper',
14
+ mega_menu_inner_classes: 'lrv-u-background-color-white lrv-u-flex lrv-u-flex-direction-column lrv-u-border-b-2 lrv-u-border-r-2 lrv-u-border-l-2',
15
+ mega_menu_content_outer_classes: 'lrv-u-background-color-white lrv-u-padding-a-150 lrv-u-width-100p',
16
+ };
@@ -0,0 +1,10 @@
1
+ <nav class="mega-menu // js-MegaMenu {{ mega_menu_classes }} ">
2
+ <div class="mega-menu-outer // {{ mega_menu_outer_classes }} ">
3
+ <div class="mega-menu-inner // {{ mega_menu_inner_classes }} ">
4
+ <div class="mega-menu-content-outer // {{ mega_menu_content_outer_classes }} ">
5
+ {% include "@larva/modules/mega-menu-content/mega-menu-content.twig" with mega_menu_content %}
6
+ </div>
7
+ {% include "@larva/modules/mega-menu-footer/mega-menu-footer.twig" with mega_menu_footer %}
8
+ </div>
9
+ </div>
10
+ </nav>
@@ -0,0 +1,10 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+ const mega_menu_item = clonedeep( require( '../mega-menu-item/mega-menu-item.prototype' ) );
3
+
4
+ module.exports = {
5
+ mega_menu_content_items: [
6
+ mega_menu_item,
7
+ mega_menu_item,
8
+ ],
9
+ mega_menu_content_classes: 'lrv-u-flex lrv-u-flex-wrap-wrap lrv-a-unstyle-list lrv-u-background-color-white lrv-a-space-children--050 lrv-a-space-children-horizontal '
10
+ };
@@ -0,0 +1,5 @@
1
+ <ul class="mega-menu-content // mega-menu__parent-list {{ mega_menu_content_classes }} ">
2
+ {% for item in mega_menu_content_items %}
3
+ {% include "@larva/modules/mega-menu-item/mega-menu-item.twig" with item %}
4
+ {% endfor %}
5
+ </ul>
@@ -0,0 +1,41 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const mega_menu_subscribe = clonedeep( require( '../mega-menu-footer-subscribe/mega-menu-footer-subscribe.prototype' ) );
4
+ const social_heading = clonedeep( require( '../../modules/heading/heading.prototype' ) );
5
+ const newsletter_heading = clonedeep( require( '../../modules/heading/heading.prototype' ) );
6
+ const o_social_list = clonedeep( require( '../../objects/o-social-list/o-social-list.prototype' ) );
7
+
8
+ social_heading.heading_level_text = '3';
9
+ social_heading.heading_classes = 'lrv-a-font-body-xs lrv-u-margin-b-050 lrv-u-margin-t-025 lrv-u-font-weight-normal lrv-u-text-transform-uppercase lrv-u-text-align-center lrv-u-display-inline-block@mobile-max lrv-u-vertical-align-middle\@mobile-max';
10
+ social_heading.heading_markup = 'Follow Us';
11
+
12
+ newsletter_heading.heading_level_text = '3';
13
+ newsletter_heading.heading_classes = 'email-form-heading lrv-u-background-color-white lrv-a-font-body-xs lrv-u-width-70p lrv-u-margin-b-125 lrv-u-text-align-center lrv-u-font-weight-normal lrv-u-text-transform-uppercase lrv-u-padding-lr-075 lrv-u-border-r-1 lrv-u-border-l-1 lrv-u-border-r-00@mobile-max lrv-u-border-l-00@mobile-max';
14
+ newsletter_heading.heading_markup = 'Alerts & Newsletters';
15
+
16
+ const o_email_capture_form_prototype = require( '../../objects/o-email-capture-form/o-email-capture-form.prototype' );
17
+ const o_email_capture_form = clonedeep( o_email_capture_form_prototype );
18
+
19
+ o_email_capture_form.c_email_field.c_email_field_label_text = 'Email Address';
20
+ o_email_capture_form.c_email_field.c_email_field_input_placeholder_attr = 'ENTER E-MAIL';
21
+ o_email_capture_form.c_email_field.c_email_field_input_classes = 'lrv-u-width-100p';
22
+ o_email_capture_form.c_email_field.c_email_field_classes = 'lrv-u-border-b-1 lrv-u-border-r-1 lrv-a-font-body-xxs lrv-u-margin-b-125 lrv-u-margin-b-00@mobile-max lrv-u-text-align-left lrv-u-width-75p@mobile-max';
23
+ o_email_capture_form.c_email_field.c_email_field_label_classes = 'lrv-a-hidden';
24
+ o_email_capture_form.o_email_capture_form_inner_classes = 'lrv-u-text-align-right lrv-u-align-items-center';
25
+ o_email_capture_form.c_button.c_button_classes = 'lrv-a-font-body-xs lrv-a-icon-after lrv-u-text-transform-uppercase lrv-a-unstyle-button lrv-u-cursor-pointer lrv-u-flex lrv-u-justify-content-end lrv-u-width-100p@tablet lrv-a-glue-parent@tablet lrv-u-width-75p@mobile-max';
26
+ o_email_capture_form.c_button.c_button_inner_classes = 'lrv-u-background-color-white lrv-u-padding-l-050';
27
+ o_email_capture_form.c_button.c_button_text = 'Sign Up';
28
+
29
+ module.exports = {
30
+ o_email_capture_form,
31
+ o_social_list,
32
+ social_heading,
33
+ mega_menu_subscribe,
34
+ newsletter_heading,
35
+ mega_menu_footer_classes: 'lrv-u-border-t-2 lrv-u-background-color-white',
36
+ mega_menu_footer_inner_classes: 'lrv-u-flex lrv-u-flex-direction-column@mobile-max',
37
+ mega_menu_footer_subscribe_classes: 'lrv-u-flex lrv-u-flex-direction-column@desktop-max lrv-u-align-items-center lrv-u-width-30p lrv-a-hidden@mobile-max lrv-u-border-r-6 lrv-u-margin-r-025',
38
+ mega_menu_footer_social_classes: 'lrv-u-flex lrv-u-flex-direction-column lrv-u-align-items-center lrv-u-padding-tb-050 lrv-u-width-20p lrv-u-width-100p@mobile-max lrv-u-border-r-1 lrv-u-border-l-1 lrv-u-border-r-00@mobile-max lrv-u-border-l-00@mobile-max lrv-u-padding-lr-050 lrv-u-display-block@mobile-max lrv-u-text-align-center@mobile-max lrv-u-border-b-2@mobile-max',
39
+ mega_menu_social_list_classes:' lrv-u-display-inline-block@mobile-max lrv-u-vertical-align-middle@mobile-max lrv-u-flex@tablet lrv-u-justify-content-center',
40
+ mega_menu_footer_form_classes: 'lrv-u-flex lrv-u-flex-direction-column lrv-u-align-items-center lrv-u-padding-tb-1 lrv-u-width-50p lrv-u-width-100p@mobile-max lrv-u-flex-direction-column lrv-u-padding-lr-125',
41
+ }
@@ -0,0 +1,19 @@
1
+ <footer class="mega-menu__footer // {{ mega_menu_footer_classes }} ">
2
+ <div class="mega-menu__footer-inner // {{ mega_menu_footer_inner_classes }} ">
3
+ <section class="mega-menu__footer-subscribe // {{ mega_menu_footer_subscribe_classes }} ">
4
+ {% include "@larva/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.twig" with mega_menu_subscribe %}
5
+ </section>
6
+ <section class="mega-menu__footer-social // {{ mega_menu_footer_social_classes }} ">
7
+ {% include "@larva/modules/heading/heading.twig" with social_heading %}
8
+ <div class="mega-menu__social-list // {{ mega_menu_social_list_classes }}">
9
+ {% include "@larva/objects/o-social-list/o-social-list.twig" with o_social_list %}
10
+ </div>
11
+ </section>
12
+ <section class="mega-menu__footer-form // {{ mega_menu_footer_form_classes }} ">
13
+ {% include "@larva/modules/heading/heading.twig" with newsletter_heading %}
14
+ <div class="lrv-u-flex-grow-1 lrv-u-width-100p">
15
+ {% include "@larva/objects/o-email-capture-form/o-email-capture-form.twig" with o_email_capture_form %}
16
+ </div>
17
+ </section>
18
+ </div>
19
+ </footer>
@@ -0,0 +1,20 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_lazy_image_prototype = require( '../../components/c-lazy-image/c-lazy-image.prototype.js' );
4
+ const c_lazy_image = clonedeep( c_lazy_image_prototype );
5
+
6
+ const c_icon_prototype = require( '../../components/c-icon/c-icon.prototype.js' );
7
+ const c_icon = clonedeep( c_icon_prototype );
8
+
9
+ c_icon.c_icon_classes = 'lrv-a-glue lrv-a-glue--l-0 lrv-a-glue--t-50p lrv-u-transform-translateY-n50p lrv-u-width-50';
10
+
11
+ c_lazy_image.c_lazy_image_src_url = 'https://cdn.shopify.com/s/files/1/0238/6647/products/2019_37_540x.jpg';
12
+ c_lazy_image.c_lazy_image_placeholder_url = 'https://cdn.shopify.com/s/files/1/0238/6647/products/2019_37_540x.jpg';
13
+ c_lazy_image.c_lazy_image_classes = 'lrv-u-padding-l-3';
14
+ c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-2x3';
15
+
16
+ module.exports = {
17
+ footer_subscribe_classes: 'lrv-a-glue-parent lrv-u-width-100p',
18
+ c_lazy_image,
19
+ c_icon
20
+ };
@@ -0,0 +1,4 @@
1
+ <div class="mega-menu-footer-subscribe // {{ footer_subscribe_classes }}">
2
+ {% include "@larva/components/c-icon/c-icon.twig" with c_icon %}
3
+ {% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
4
+ </div>
@@ -0,0 +1,23 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_link = clonedeep( require( '../../components/c-link/c-link.prototype' ) );
4
+ const c_link__parent = clonedeep( c_link );
5
+ const c_link__child = clonedeep( c_link );
6
+
7
+ c_link__parent.c_link_text = 'Parent item';
8
+ c_link__parent.c_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary-dark:hover lrv-u-font-weight-bold lrv-a-font-body-xs lrv-u-text-transform-uppercase';
9
+
10
+ c_link__child.c_link_text = 'Child item';
11
+ c_link__child.c_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary-dark:hover lrv-u-padding-tb-025 lrv-u-display-block lrv-a-font-body-xs';
12
+
13
+ module.exports = {
14
+ c_link: c_link__parent,
15
+ mega_menu_item_children: [
16
+ c_link__child,
17
+ c_link__child,
18
+ c_link__child
19
+ ],
20
+ mega_menu_item_classes:'lrv-a-unstyle-list',
21
+ mega_menu_item_link_classes:'lrv-u-flex lrv-u-color-black lrv-u-display-inline-block lrv-u-width-100p',
22
+ mega_menu_child_list_classes:'lrv-a-unstyle-list lrv-u-padding-t-1 lrv-u-margin-b-125'
23
+ };
@@ -0,0 +1,13 @@
1
+ <li class="mega-menu-item // mega-menu__parent-list-item {{ mega_menu_item_classes }} ">
2
+ <div class="mega-menu__item-link // {{ mega_menu_item_link_classes }} ">
3
+ {% include "@larva/components/c-link/c-link.twig" with c_link %}
4
+ </div>
5
+
6
+ <ul class="mega-menu__child-list // {{ mega_menu_child_list_classes }} ">
7
+ {% for item in mega_menu_item_children %}
8
+ <li class="mega-menu__child-list-item ">
9
+ {% include "@larva/components/c-link/c-link.twig" with item %}
10
+ </li>
11
+ {% endfor %}
12
+ </ul>
13
+ </li>
@@ -0,0 +1,12 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+ const more_stories_button_prototype = require( './more-stories-button.prototype' );
3
+
4
+ const more_stories_button_profile = clonedeep( more_stories_button_prototype );
5
+
6
+ more_stories_button_profile.c_button.c_button_classes = 'js-ProfileFilter-loadMore lrv-a-unstyle-button lrv-u-cursor-pointer lrv-u-padding-tb-050 lrv-u-padding-lr-1 lrv-u-background-color-black lrv-u-color-white lrv-u-color-white:hover lrv-u-text-align-center lrv-u-font-size-28 lrv-u-display-block lrv-u-border-radius-5 lrv-u-width-100p lrv-u-font-family-primary lrv-u-font-weight-bold';
7
+ more_stories_button_profile.c_button.c_button_url = false;
8
+ more_stories_button_profile.c_button.c_button_text = 'Load More';
9
+ more_stories_button_profile.c_button_prev = false;
10
+ more_stories_button_profile.c_button_next = false
11
+
12
+ module.exports = more_stories_button_profile;
@@ -0,0 +1,29 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+ const c_button_basic_prototype = require( '../../components/c-button/c-button.brand-basic' );
3
+
4
+ const c_button_struct = clonedeep( c_button_basic_prototype );
5
+
6
+ c_button_struct.c_button_classes += ' lrv-u-color-white:hover lrv-u-border-radius-5 lrv-u-text-align-center lrv-u-font-size-28';
7
+
8
+ const c_button = clonedeep( c_button_struct );
9
+ const c_button_prev = clonedeep( c_button_struct );
10
+ const c_button_next = clonedeep( c_button_struct );
11
+
12
+ c_button.c_button_classes += ' lrv-u-display-block lrv-u-width-100p';
13
+ c_button.c_button_text = 'More Stories';
14
+ c_button.c_button_url = '#';
15
+
16
+ c_button_prev.c_button_classes += ' lrv-a-icon-arrow-left lrv-a-icon-invert lrv-a-icon-before lrv-u-font-size-18 lrv-u-justify-content-center';
17
+ c_button_prev.c_button_text = 'Previous';
18
+ c_button_prev.c_button_url = '#';
19
+
20
+ c_button_next.c_button_classes += ' lrv-a-icon-arrow-right lrv-a-icon-invert lrv-a-icon-after lrv-u-font-size-18 lrv-u-justify-content-center lrv-u-margin-l-auto';
21
+ c_button_next.c_button_text = 'Next';
22
+ c_button_next.c_button_url = '#';
23
+
24
+ module.exports = {
25
+ more_stories_button_classes: 'lrv-u-font-weight-bold lrv-u-font-family-primary',
26
+ c_button: c_button,
27
+ c_button_prev: c_button_prev,
28
+ c_button_next: c_button_next,
29
+ };
@@ -0,0 +1,13 @@
1
+ <nav class="more-stories-button // lrv-u-flex lrv-u-justify-content-space-between {{ more_stories_button_classes }}">
2
+ {% if c_button %}
3
+ {% include "@larva/components/c-button/c-button.twig" with c_button %}
4
+ {% endif %}
5
+
6
+ {% if c_button_prev %}
7
+ {% include "@larva/components/c-button/c-button.twig" with c_button_prev %}
8
+ {% endif %}
9
+
10
+ {% if c_button_next %}
11
+ {% include "@larva/components/c-button/c-button.twig" with c_button_next %}
12
+ {% endif %}
13
+ </nav>
@@ -0,0 +1,46 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_title_prototype = require( '../../components/c-title/c-title.prototype' );
4
+ const c_title = clonedeep( c_title_prototype );
5
+
6
+ const c_logo_prototype = require( '../../components/c-logo/c-logo.prototype' );
7
+ const c_logo = clonedeep( c_logo_prototype );
8
+
9
+ const o_email_capture_form_prototype = require( '../../objects/o-email-capture-form/o-email-capture-form.prototype' );
10
+ const o_email_capture_form = clonedeep( o_email_capture_form_prototype );
11
+
12
+ const c_tagline_prototype = require( '../../components/c-tagline/c-tagline.prototype' );
13
+ const c_tagline = clonedeep( c_tagline_prototype );
14
+
15
+ const c_tagline_terms = clonedeep( c_tagline_prototype );
16
+
17
+ c_tagline.c_tagline_classes = 'lrv-u-margin-t-1 lrv-u-margin-b-00 lrv-u-text-align-center lrv-u-font-size-20 lrv-u-line-height-small lrv-u-margin-b-2';
18
+ c_tagline.c_tagline_text = 'Sign Up for our Newsletters';
19
+
20
+ c_logo.c_logo_classes = 'lrv-a-unstyle-link lrv-u-display-contents lrv-u-width-100p lrv-u-color-black';
21
+
22
+ o_email_capture_form.c_email_field.c_email_field_input_placeholder_attr = 'Email';
23
+ o_email_capture_form.c_email_field.c_email_field_input_classes += ' lrv-u-border-a-0 lrv-u-font-size-14 lrv-u-width-100p lrv-u-margin-b-1 lrv-u-padding-lr-1 lrv-u-padding-tb-050 lrv-u-border-radius-5';
24
+ o_email_capture_form.c_email_field.c_email_field_input_id_attr = 'EmailAddress';
25
+ o_email_capture_form.c_email_field.c_email_field_input_name_attr = 'EmailAddress';
26
+ o_email_capture_form.c_button.c_button_text = 'Subscribe Today';
27
+ o_email_capture_form.c_button.c_button_classes += ' lrv-u-background-color-black lrv-u-color-white lrv-u-border-radius-5 lrv-u-width-100p lrv-u-text-align-center lrv-u-padding-a-050 lrv-u-font-weight-bold';
28
+ o_email_capture_form.c_email_field.c_email_field_label_classes = 'lrv-a-screen-reader-only';
29
+ o_email_capture_form.c_email_field.c_email_field_label_text = 'Email Address';
30
+
31
+ c_tagline_terms.c_tagline_classes = 'lrv-u-margin-t-1';
32
+ c_tagline_terms.c_tagline_text = false;
33
+ c_tagline_terms.c_tagline_markup = 'By subscribing, I agree to the <a href="#">Terms of Use</a> and <a href="#">Privacy Policy</a>.';
34
+
35
+ module.exports = {
36
+ newsletter_classes: 'lrv-u-padding-tb-2 lrv-u-padding-lr-2 lrv-u-flex lrv-u-flex-direction-column lrv-u-align-items-center',
37
+ newsletter_typography_class: '',
38
+ newsletter_text_align_class: '',
39
+ newsletter_color_class: '',
40
+ newsletter_background_color_class: '',
41
+ c_title: c_title,
42
+ c_logo: c_logo,
43
+ c_tagline: c_tagline,
44
+ o_email_capture_form: o_email_capture_form,
45
+ c_tagline_terms: c_tagline_terms,
46
+ };
@@ -0,0 +1,21 @@
1
+ <div class="newsletter // {{ newsletter_classes }} {{ newsletter_typography_class }} {{ newsletter_text_align_class }} {{ newsletter_color_class }} {{ newsletter_background_color_class }}">
2
+ {% if c_title %}
3
+ {% include "@larva/components/c-title/c-title.twig" with c_title %}
4
+ {% endif %}
5
+
6
+ {% if c_logo %}
7
+ {% include "@larva/components/c-logo/c-logo.twig" with c_logo %}
8
+ {% endif %}
9
+
10
+ {% if c_tagline %}
11
+ {% include "@larva/components/c-tagline/c-tagline.twig" with c_tagline %}
12
+ {% endif %}
13
+
14
+ {% if o_email_capture_form %}
15
+ {% include "@larva/objects/o-email-capture-form/o-email-capture-form.twig" with o_email_capture_form %}
16
+ {% endif %}
17
+
18
+ {% if c_tagline_terms %}
19
+ {% include "@larva/components/c-tagline/c-tagline.twig" with c_tagline_terms %}
20
+ {% endif %}
21
+ </div>
@@ -0,0 +1,21 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_heading = clonedeep( require( '@penskemediacorp/larva-patterns/components/c-heading/c-heading.prototype' ) );
4
+ const c_tagline = clonedeep( require( '@penskemediacorp/larva-patterns/components/c-tagline/c-tagline.prototype' ) );
5
+ const c_button = clonedeep( require( '@penskemediacorp/larva-patterns/components/c-button/c-button.brand-basic' ) );
6
+
7
+ c_heading.c_heading_text = 'Newsletters';
8
+ c_heading.c_heading_classes = 'lrv-u-text-transform-uppercase';
9
+ c_tagline.c_tagline_text = 'Sign up for news straight to your inbox every day';
10
+ c_tagline.c_tagline_classes = 'lrv-u-margin-a-00 lrv-u-margin-b-150@mobile-max';
11
+ c_button.c_button_text = 'Subscribe';
12
+ c_button.c_button_url = '#';
13
+ c_button.c_button_target_attr = '_blank';
14
+ c_button.c_button_classes += ' lrv-a-unstyle-link lrv-u-color-white:hover lrv-u-background-color-black:hover lrv-a-hover-effect';
15
+
16
+ module.exports = {
17
+ newsletter_cta_classes: 'lrv-u-margin-tb-125 lrv-u-margin-tb-150@desktop-xl lrv-u-padding-tb-2 lrv-u-flex lrv-u-justify-content-space-between lrv-u-border-t-1 lrv-u-border-b-1 lrv-u-align-items-center lrv-u-flex-direction-column@mobile-max lrv-u-padding-a-2@mobile-max',
18
+ c_heading,
19
+ c_tagline,
20
+ c_button,
21
+ };
@@ -0,0 +1,22 @@
1
+ <div class="newsletter-cta">
2
+ <div class="{{ newsletter_cta_classes }}">
3
+ <div class="lrv-u-text-align-center@mobile-max">
4
+ {% if c_logo %}
5
+ {% include "@larva/components/c-logo/c-logo.twig" with c_logo %}
6
+ {% endif %}
7
+
8
+ {% if c_heading %}
9
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
10
+ {% endif %}
11
+
12
+ {% if c_tagline %}
13
+ {% include "@larva/components/c-tagline/c-tagline.twig" with c_tagline %}
14
+ {% endif %}
15
+
16
+ </div>
17
+
18
+ {% if c_button %}
19
+ {% include "@larva/components/c-button/c-button.twig" with c_button %}
20
+ {% endif %}
21
+ </div>
22
+ </div>
@@ -0,0 +1,46 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const o_card_prototype = require( '../../objects/o-card/o-card.prototype' );
4
+ const c_span_prototype = require( '../../components/c-span/c-span.prototype' );
5
+ const c_timestamp_prototype = require( '../../components/c-timestamp/c-timestamp.prototype' );
6
+ const c_heading_prototype = require( '../../components/c-heading/c-heading.prototype' );
7
+ const c_title_prototype = require( '../../components/c-title/c-title.prototype' );
8
+ const c_svg_prototype = require( '../../components/c-svg/c-svg.prototype' );
9
+
10
+ const o_card = clonedeep( o_card_prototype );
11
+ const c_span = clonedeep( c_span_prototype );
12
+ const c_timestamp = clonedeep( c_timestamp_prototype );
13
+ const c_heading = clonedeep( c_heading_prototype );
14
+ const c_title = clonedeep( c_title_prototype );
15
+ const c_svg = clonedeep( c_svg_prototype );
16
+
17
+ c_heading.c_heading_text = 'Newswire';
18
+ c_heading.c_heading_classes = 'lrv-u-font-family-primary lrv-u-font-size-32 lrv-u-margin-b-050';
19
+
20
+ c_span.c_span_classes += ' lrv-u-display-block lrv-u-font-size-14 lrv-u-margin-tb-050 lrv-u-display-block';
21
+
22
+ c_timestamp.c_timestamp_classes = 'lrv-u-font-size-12 lrv-u-color-grey lrv-u-margin-t-auto@desktop';
23
+
24
+ c_title.c_title_text = 'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Animi expedita pariatur sint eveniet.';
25
+ c_title.c_title_classes += ' lrv-u-font-size-12 lrv-u-font-size-14@desktop lrv-u-font-weight-normal lrv-u-margin-b-050';
26
+ c_title.c_title_url = false;
27
+
28
+ o_card.o_card_classes = 'lrv-u-flex lrv-u-flex-direction-column';
29
+ o_card.o_card_link_url = '#';
30
+ o_card.o_card_link_classes = 'lrv-a-unstyle-link lrv-u-display-block';
31
+ o_card.o_card_image_wrap_classes = '';
32
+ o_card.c_lazy_image.c_lazy_image_classes += ' lrv-a-hover-effect lrv-a-hover-effect--fade';
33
+ o_card.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-4x3';
34
+ o_card.c_span = c_span;
35
+ o_card.c_title = c_title;
36
+ o_card.c_timestamp = c_timestamp;
37
+ o_card.c_svg = c_svg;
38
+
39
+ module.exports = {
40
+ newswire_classes: 'lrv-a-wrapper lrv-u-padding-b-2',
41
+ newswire_list_classes: 'lrv-a-unstyle-list js-Flickity js-Flickity--fourths js-Flickity--isContained js-Flickity--nav-top-right js-Flickity--bordered-buttons js-Flickity--isFreeScrol js-Flickity--newswire lrv-u-padding-l-00',
42
+ newswire_list_item_classes: 'js-Flickity-cell lrv-u-margin-r-150',
43
+ c_heading: c_heading,
44
+ newswire_aria_labelledby_attr: c_heading.c_heading_id_attr,
45
+ newswire_items: [ o_card, o_card, o_card, o_card, o_card ]
46
+ };
@@ -0,0 +1,16 @@
1
+ <section class="newswire // {{ newswire_classes }}">
2
+ {% if c_heading %}
3
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
4
+ {% endif %}
5
+ <ul class="{{ newswire_list_classes }}"
6
+ {% if newswire_aria_labelledby_attr %}
7
+ aria-labelledby="{{ newswire_aria_labelledby_attr }}"
8
+ {% endif %}
9
+ >
10
+ {% for item in newswire_items %}
11
+ <li class="{{ newswire_list_item_classes }}">
12
+ {% include "@larva/objects/o-card/o-card.twig" with item %}
13
+ </li>
14
+ {% endfor %}
15
+ </ul>
16
+ </section>
@@ -0,0 +1,44 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_heading_prototype = require( '@penskemediacorp/larva-patterns/components/c-heading/c-heading.prototype' );
4
+ const c_heading = clonedeep( c_heading_prototype );
5
+
6
+ const c_svg_prototype = require( '../../components/c-svg/c-svg.prototype.js' );
7
+ const c_svg = clonedeep( c_svg_prototype );
8
+
9
+ const c_title_prototype = require( '@penskemediacorp/larva-patterns/components/c-title/c-title.prototype' );
10
+ const c_title = clonedeep( c_title_prototype );
11
+
12
+ const c_button_prototype = require( '@penskemediacorp/larva-patterns/components/c-button/c-button.prototype' );
13
+ const c_button_home = clonedeep( c_button_prototype );
14
+ const c_button_search = clonedeep( c_button_prototype );
15
+
16
+ c_heading.c_heading_text = '404';
17
+ c_heading.c_heading_classes = 'lrv-a-screen-reader-only';
18
+ c_heading.c_heading_is_primary_heading = true;
19
+
20
+ c_svg.c_svg_name = 'logo-404';
21
+ c_svg.c_svg_classes = 'lrv-u-max-width-100p';
22
+
23
+ c_title.c_title_text = 'OOPS! Something went wrong here!';
24
+ c_title.c_title_classes = 'lrv-a-font-secondary-l lrv-u-text-transform-uppercase lrv-u-margin-b-125';
25
+ c_title.c_title_url = false;
26
+
27
+ c_button_home.c_button_text = 'Back To Homepage';
28
+ c_button_home.c_button_url = '/';
29
+ c_button_home.c_button_classes += ' lrv-u-background-color-black lrv-u-margin-lr-075 lrv-u-text-transform-uppercase lrv-u-font-weight-bold u-background-color-brand-primary-dark:hover lrv-u-color-white lrv-u-color-white:hover lrv-u-padding-tb-050 lrv-u-padding-lr-1';
30
+
31
+ c_button_search.c_button_text = 'Head To Search';
32
+ c_button_search.c_button_url = '#';
33
+ c_button_search.c_button_classes += ' lrv-u-background-color-black lrv-u-margin-lr-075 lrv-u-text-transform-uppercase lrv-u-font-weight-bold u-background-color-brand-primary-dark:hover lrv-u-color-white lrv-u-color-white:hover lrv-u-padding-tb-050 lrv-u-padding-lr-1 lrv-u-margin-t-050@mobile-max';
34
+
35
+ module.exports = {
36
+ c_heading,
37
+ c_title: c_title,
38
+ c_button_home,
39
+ c_button_search,
40
+ c_svg,
41
+ wrapper_classes: 'lrv-u-text-align-center lrv-u-padding-t-1 lrv-u-padding-b-2 lrv-u-margin-b-2 lrv-u-max-width-830 lrv-u-margin-lr-auto',
42
+ page_404_inner_classes: 'lrv-u-margin-lr-auto lrv-u-padding-lr-1',
43
+ button_outer_classes: 'lrv-u-flex lrv-u-justify-content-center lrv-u-align-items-center lrv-u-flex-direction-column@mobile-max',
44
+ };
@@ -0,0 +1,32 @@
1
+ <section class="page-404 // {{ wrapper_classes }}">
2
+ <div class="{{ page_404_inner_classes }}">
3
+ {% if c_heading %}
4
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
5
+ {% endif %}
6
+
7
+ {% if c_svg %}
8
+ {% include "@larva/components/c-svg/c-svg.twig" with c_svg %}
9
+ {% endif %}
10
+
11
+ {% if c_title %}
12
+ {% include "@larva/components/c-title/c-title.twig" with c_title %}
13
+ {% endif %}
14
+
15
+ {% if c_tagline %}
16
+ {% include "@larva/components/c-tagline/c-tagline.twig" with c_tagline %}
17
+ {% endif %}
18
+
19
+ <div class="buttons-outer {{ button_outer_classes }}">
20
+
21
+ {% if c_button_home %}
22
+ {% include "@larva/components/c-button/c-button.twig" with c_button_home %}
23
+ {% endif %}
24
+
25
+ {% if c_button_search %}
26
+ {% include "@larva/components/c-button/c-button.twig" with c_button_search %}
27
+ {% endif %}
28
+
29
+ </div>
30
+
31
+ </div>
32
+ </section>
@@ -0,0 +1,8 @@
1
+ const clonedeep = require('lodash.clonedeep');
2
+
3
+ const paragraph_prototype = require( './paragraph.prototype' );
4
+ const paragraph_narrow = clonedeep( paragraph_prototype );
5
+
6
+ paragraph_narrow.paragraph_classes += ' lrv-u-width-75p';
7
+
8
+ module.exports = paragraph_narrow;
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ paragraph_classes: 'lrv-u-margin-lr-auto',
3
+ paragraph_typography_class: 'lrv-a-font-body-m',
4
+ paragraph_text_align_class: '',
5
+ paragraph_color_class: '',
6
+ paragraph_background_color_class: '',
7
+ paragraph_markup: 'Paragraph Text.',
8
+ };
@@ -0,0 +1,3 @@
1
+ <p class="paragraph larva // {{ paragraph_classes }} {{ paragraph_typography_class }} {{ paragraph_text_align_class }} {{ paragraph_color_class }} {{ paragraph_background_color_class }}">
2
+ {{ paragraph_markup|raw }}
3
+ </p>