@penskemediacorp/larva-patterns 1.8.0-alpha.0 → 1.9.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 (354) 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 -12
  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 +12 -10
  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 +2 -1
  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-blurb/author-blurb.prototype.js +56 -0
  98. package/modules/author-blurb/author-blurb.twig +27 -0
  99. package/modules/author-details/author-details.prototype.js +70 -0
  100. package/modules/author-details/author-details.twig +25 -0
  101. package/modules/back-to-list/back-to-list.prototype.js +11 -0
  102. package/modules/back-to-list/back-to-list.twig +5 -0
  103. package/modules/badge/badge.prototype.js +10 -6
  104. package/modules/badge/badge.twig +1 -1
  105. package/modules/banner/banner.prototype.js +10 -0
  106. package/modules/banner/banner.twig +10 -0
  107. package/modules/brands-most-popular/brands-most-popular.prototype.js +40 -0
  108. package/modules/brands-most-popular/brands-most-popular.twig +11 -0
  109. package/modules/breadcrumbs/breadcrumbs.prototype.js +4 -5
  110. package/modules/breadcrumbs/breadcrumbs.twig +1 -1
  111. package/modules/breaking-news/breaking-news.prototype.js +29 -0
  112. package/modules/breaking-news/breaking-news.twig +18 -0
  113. package/modules/button/button.prototype.js +9 -0
  114. package/modules/button/button.twig +7 -0
  115. package/modules/buy-now/buy-now.prototype.js +36 -0
  116. package/modules/buy-now/buy-now.twig +23 -0
  117. package/modules/carousel-grid/README.md +7 -0
  118. package/modules/carousel-grid/carousel-grid.overlay.js +26 -0
  119. package/modules/carousel-grid/carousel-grid.prototype.js +50 -0
  120. package/modules/carousel-grid/carousel-grid.twig +17 -0
  121. package/modules/carousel-slider/carousel-slider.prototype.js +56 -0
  122. package/modules/carousel-slider/carousel-slider.twig +11 -0
  123. package/modules/container/README.md +3 -0
  124. package/modules/container/container.prototype.js +7 -0
  125. package/modules/container/container.twig +1 -0
  126. package/modules/content-showcase/content-showcase.prototype.js +30 -0
  127. package/modules/content-showcase/content-showcase.the-moth.js +33 -0
  128. package/modules/content-showcase/content-showcase.twig +7 -0
  129. package/modules/expandable-search/expandable-search.prototype.js +19 -0
  130. package/modules/expandable-search/expandable-search.twig +9 -0
  131. package/modules/featured-stories/featured-stories.prototype.js +27 -0
  132. package/modules/featured-stories/featured-stories.twig +18 -0
  133. package/modules/featured-video/featured-video.prototype.js +33 -0
  134. package/modules/featured-video/featured-video.twig +8 -0
  135. package/modules/featured-video/featured-video.video-post.js +10 -0
  136. package/modules/footer/README.md +15 -0
  137. package/modules/footer/footer.prototype.js +14 -0
  138. package/modules/footer/footer.twig +22 -0
  139. package/modules/footer-button-list/footer-button-list.prototype.js +43 -0
  140. package/modules/footer-button-list/footer-button-list.twig +13 -0
  141. package/modules/footer-magazine-image/footer-magazine-image.prototype.js +15 -0
  142. package/modules/footer-magazine-image/footer-magazine-image.twig +3 -0
  143. package/modules/footer-menus/README.md +3 -0
  144. package/modules/footer-menus/footer-menus.prototype.js +9 -9
  145. package/modules/footer-menus/footer-menus.twig +2 -2
  146. package/modules/footer-newsletter/README.md +5 -0
  147. package/modules/footer-newsletter/footer-newsletter.prototype.js +21 -0
  148. package/modules/footer-newsletter/footer-newsletter.twig +5 -0
  149. package/modules/footer-social/README.md +3 -0
  150. package/modules/footer-social/footer-social.prototype.js +27 -20
  151. package/modules/footer-social/footer-social.twig +2 -2
  152. package/modules/footer-tip/footer-tip.prototype.js +21 -13
  153. package/modules/footer-tip/footer-tip.twig +2 -2
  154. package/modules/header/header.article.js +39 -0
  155. package/modules/header/header.prototype.js +90 -0
  156. package/modules/header/header.twig +74 -0
  157. package/modules/header-menu/header-menu.prototype.js +26 -0
  158. package/modules/header-menu/header-menu.twig +3 -0
  159. package/modules/header-sticky/header-sticky.article.js +43 -0
  160. package/modules/header-sticky/header-sticky.prototype.js +39 -0
  161. package/modules/header-sticky/header-sticky.twig +30 -0
  162. package/modules/heading/heading.h1.js +8 -0
  163. package/modules/heading/heading.h2.js +8 -0
  164. package/modules/heading/heading.h3.js +8 -0
  165. package/modules/heading/heading.h4.js +7 -0
  166. package/modules/heading/heading.h5.js +7 -0
  167. package/modules/heading/heading.h6.js +7 -0
  168. package/modules/heading/heading.prototype.js +9 -0
  169. package/modules/heading/heading.twig +3 -0
  170. package/modules/hero-image-story/hero-image-story.prototype.js +41 -0
  171. package/modules/hero-image-story/hero-image-story.twig +8 -0
  172. package/modules/injected-related-content/injected-related-content.prototype.js +61 -0
  173. package/modules/injected-related-content/injected-related-content.twig +23 -0
  174. package/modules/linked-gallery/linked-gallery.prototype.js +56 -0
  175. package/modules/linked-gallery/linked-gallery.twig +21 -0
  176. package/modules/list/list.ordered.js +7 -0
  177. package/modules/list/list.prototype.js +57 -0
  178. package/modules/list/list.twig +11 -0
  179. package/modules/listicle-item/listicle-item.prototype.js +11 -0
  180. package/modules/listicle-item/listicle-item.twig +3 -0
  181. package/modules/mega-menu/mega-menu.prototype.js +16 -0
  182. package/modules/mega-menu/mega-menu.twig +10 -0
  183. package/modules/mega-menu-content/mega-menu-content.prototype.js +10 -0
  184. package/modules/mega-menu-content/mega-menu-content.twig +5 -0
  185. package/modules/mega-menu-footer/mega-menu-footer.prototype.js +41 -0
  186. package/modules/mega-menu-footer/mega-menu-footer.twig +19 -0
  187. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.prototype.js +20 -0
  188. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.twig +4 -0
  189. package/modules/mega-menu-item/mega-menu-item.prototype.js +23 -0
  190. package/modules/mega-menu-item/mega-menu-item.twig +13 -0
  191. package/modules/more-stories-button/more-stories-button.profile.js +12 -0
  192. package/modules/more-stories-button/more-stories-button.prototype.js +29 -0
  193. package/modules/more-stories-button/more-stories-button.twig +13 -0
  194. package/modules/newsletter/newsletter.prototype.js +46 -0
  195. package/modules/newsletter/newsletter.twig +21 -0
  196. package/modules/newsletter-cta/newsletter-cta.prototype.js +21 -0
  197. package/modules/newsletter-cta/newsletter-cta.twig +22 -0
  198. package/modules/newswire/newswire.prototype.js +46 -0
  199. package/modules/newswire/newswire.twig +16 -0
  200. package/modules/page-404/page-404.prototype.js +44 -0
  201. package/modules/page-404/page-404.twig +32 -0
  202. package/modules/paragraph/paragraph.narrow.js +8 -0
  203. package/modules/paragraph/paragraph.prototype.js +8 -0
  204. package/modules/paragraph/paragraph.twig +3 -0
  205. package/modules/pmc-footer/pmc-footer.prototype.js +26 -24
  206. package/modules/pmc-footer/pmc-footer.twig +11 -9
  207. package/modules/post-content-image/post-content-image.prototype.js +14 -0
  208. package/modules/post-content-image/post-content-image.twig +3 -0
  209. package/modules/production-credits/production-credits.prototype.js +5 -0
  210. package/modules/production-credits/production-credits.twig +4 -0
  211. package/modules/profile-blurb/profile-blurb.card.js +28 -0
  212. package/modules/profile-blurb/profile-blurb.prototype.js +45 -0
  213. package/modules/profile-blurb/profile-blurb.twig +37 -0
  214. package/modules/profile-body/profile-body.prototype.js +20 -0
  215. package/modules/profile-body/profile-body.twig +15 -0
  216. package/modules/profile-browse-by/profile-browse-by.prototype.js +29 -0
  217. package/modules/profile-browse-by/profile-browse-by.twig +6 -0
  218. package/modules/profile-card-list/profile-card-list.prototype.js +25 -0
  219. package/modules/profile-card-list/profile-card-list.twig +7 -0
  220. package/modules/profile-filter/profile-filter.prototype.js +26 -0
  221. package/modules/profile-filter/profile-filter.twig +15 -0
  222. package/modules/profile-gallery/profile-gallery.prototype.js +28 -0
  223. package/modules/profile-gallery/profile-gallery.twig +13 -0
  224. package/modules/profile-header/profile-header.prototype.js +29 -0
  225. package/modules/profile-header/profile-header.twig +27 -0
  226. package/modules/profile-highlights/profile-highlights.prototype.js +22 -0
  227. package/modules/profile-highlights/profile-highlights.twig +17 -0
  228. package/modules/profile-landing-header/profile-landing-header.prototype.js +17 -0
  229. package/modules/profile-landing-header/profile-landing-header.twig +12 -0
  230. package/modules/profile-landing-river/profile-landing-river.prototype.js +21 -0
  231. package/modules/profile-landing-river/profile-landing-river.twig +13 -0
  232. package/modules/profile-related-stories/profile-related-stories.prototype.js +33 -0
  233. package/modules/profile-related-stories/profile-related-stories.twig +9 -0
  234. package/modules/pullquote/pullquote.prototype.js +8 -0
  235. package/modules/pullquote/pullquote.twig +3 -0
  236. package/modules/read-next/read-next.prototype.js +20 -0
  237. package/modules/read-next/read-next.twig +4 -0
  238. package/modules/search-form/search-form.prototype.js +8 -0
  239. package/modules/search-form/search-form.twig +11 -0
  240. package/modules/secondary-stories/secondary-stories.prototype.js +119 -0
  241. package/modules/secondary-stories/secondary-stories.twig +22 -0
  242. package/modules/separator/separator.prototype.js +4 -0
  243. package/modules/separator/separator.thick.js +7 -0
  244. package/modules/separator/separator.twig +1 -0
  245. package/modules/separator/separator.wide-thick.js +7 -0
  246. package/modules/separator/separator.wide.js +7 -0
  247. package/modules/social-share/social-share.prototype.js +43 -0
  248. package/modules/social-share/social-share.twig +30 -0
  249. package/modules/special-coverage/special-coverage.prototype.js +47 -0
  250. package/modules/special-coverage/special-coverage.twig +29 -0
  251. package/modules/story/story.borders.js +8 -0
  252. package/modules/story/story.center-vertical-borders.js +7 -0
  253. package/modules/story/story.center-vertical.js +11 -0
  254. package/modules/story/story.prototype.js +43 -0
  255. package/modules/story/story.right-borders.js +9 -0
  256. package/modules/story/story.right.js +14 -0
  257. package/modules/story/story.story-arc.js +9 -0
  258. package/modules/story/story.twig +88 -0
  259. package/modules/story/story.vertical-borders.js +7 -0
  260. package/modules/story/story.vertical.js +11 -0
  261. package/modules/story-arc-stories/story-arc-stories.prototype.js +21 -0
  262. package/modules/story-arc-stories/story-arc-stories.twig +14 -0
  263. package/modules/story-featured-quote/story-featured-quote.prototype.js +28 -0
  264. package/modules/story-featured-quote/story-featured-quote.twig +27 -0
  265. package/modules/story-grid/story-grid.prototype.js +24 -0
  266. package/modules/story-grid/story-grid.river.js +15 -0
  267. package/modules/story-grid/story-grid.twig +17 -0
  268. package/modules/sub-header/sub-header.prototype.js +8 -0
  269. package/modules/sub-header/sub-header.twig +7 -0
  270. package/modules/top-stories/top-stories.prototype.js +41 -0
  271. package/modules/top-stories/top-stories.twig +12 -0
  272. package/modules/top-stories/top-stories.xl.js +14 -0
  273. package/modules/vlanding-playlist/README.md +1 -0
  274. package/modules/vlanding-playlist/vlanding-playlist.prototype.js +34 -0
  275. package/modules/vlanding-playlist/vlanding-playlist.twig +20 -0
  276. package/modules/vlanding-video-card/README.md +1 -0
  277. package/modules/vlanding-video-card/vlanding-video-card.prototype.js +25 -0
  278. package/modules/vlanding-video-card/vlanding-video-card.twig +56 -0
  279. package/modules/vlanding-video-showcase/README.md +12 -0
  280. package/modules/vlanding-video-showcase/vlanding-video-showcase.prototype.js +68 -0
  281. package/modules/vlanding-video-showcase/vlanding-video-showcase.twig +46 -0
  282. package/objects/o-account-menu/o-account-menu.prototype.js +35 -0
  283. package/objects/o-account-menu/o-account-menu.twig +25 -0
  284. package/objects/o-author/o-author.prototype.js +13 -0
  285. package/objects/o-author/o-author.twig +13 -0
  286. package/objects/o-card/README.md +1 -0
  287. package/objects/o-card/o-card.prototype.js +25 -0
  288. package/objects/o-card/o-card.twig +75 -0
  289. package/objects/o-card-list/README.md +3 -0
  290. package/objects/o-card-list/o-card-list.prototype.js +13 -0
  291. package/objects/o-card-list/o-card-list.twig +7 -0
  292. package/objects/o-category-link/o-category-link.prototype.js +6 -0
  293. package/objects/o-category-link/o-category-link.twig +5 -0
  294. package/objects/o-checkbox-input-list/o-checkbox-input-list.prototype.js +16 -0
  295. package/objects/o-checkbox-input-list/o-checkbox-input-list.twig +15 -0
  296. package/objects/o-collection-item/o-collection-item.floated.js +8 -0
  297. package/objects/o-collection-item/o-collection-item.prototype.js +11 -0
  298. package/objects/o-collection-item/o-collection-item.twig +5 -0
  299. package/objects/o-email-capture-form/README.md +11 -0
  300. package/objects/o-email-capture-form/o-email-capture-form.minimal.js +15 -0
  301. package/objects/o-email-capture-form/o-email-capture-form.prototype.js +17 -0
  302. package/objects/o-email-capture-form/o-email-capture-form.twig +16 -0
  303. package/objects/o-figure/README.md +17 -0
  304. package/objects/o-figure/o-figure.prototype.js +15 -7
  305. package/objects/o-figure/o-figure.twig +22 -45
  306. package/objects/o-header/o-header.prototype.js +12 -10
  307. package/objects/o-header/o-header.twig +5 -1
  308. package/objects/o-header-buttons/o-header-buttons.column.js +10 -0
  309. package/objects/o-header-buttons/o-header-buttons.prototype.js +41 -0
  310. package/objects/o-header-buttons/o-header-buttons.twig +42 -0
  311. package/objects/o-icon-button/README.md +5 -0
  312. package/objects/o-icon-button/o-icon-button.prototype.js +21 -0
  313. package/objects/o-icon-button/o-icon-button.search.js +9 -0
  314. package/objects/o-icon-button/o-icon-button.twig +29 -0
  315. package/objects/o-indicator/README.md +1 -0
  316. package/objects/o-indicator/o-indicator.photos.js +12 -0
  317. package/objects/o-indicator/o-indicator.prototype.js +8 -0
  318. package/objects/o-indicator/o-indicator.twig +9 -0
  319. package/objects/o-input-group/o-input-group.prototype.js +11 -0
  320. package/objects/o-input-group/o-input-group.twig +5 -0
  321. package/objects/o-nav/README.md +2 -2
  322. package/objects/o-nav/o-nav.horizontal.js +6 -6
  323. package/objects/o-nav/o-nav.prototype.js +17 -13
  324. package/objects/o-nav/o-nav.twig +29 -3
  325. package/objects/o-select-nav/o-select-nav.prototype.js +17 -0
  326. package/objects/o-select-nav/o-select-nav.twig +9 -0
  327. package/objects/o-social-list/o-social-list.prototype.js +21 -31
  328. package/objects/o-social-list/o-social-list.twig +10 -2
  329. package/objects/o-span-group/README.md +1 -0
  330. package/objects/o-span-group/o-span-group.prototype.js +11 -0
  331. package/objects/o-span-group/o-span-group.twig +5 -0
  332. package/objects/o-sponsored-by/o-sponsored-by.prototype.js +9 -10
  333. package/objects/o-sponsored-by/o-sponsored-by.twig +2 -2
  334. package/objects/o-story-arc-item/o-story-arc-item.prototype.js +29 -0
  335. package/objects/o-story-arc-item/o-story-arc-item.twig +9 -0
  336. package/objects/o-sub-header/o-sub-header.prototype.js +39 -0
  337. package/objects/o-sub-header/o-sub-header.twig +9 -0
  338. package/objects/o-tease/o-tease.prototype.js +24 -20
  339. package/objects/o-tease/o-tease.twig +7 -3
  340. package/objects/o-tease-list/o-tease-list.prototype.js +12 -24
  341. package/objects/o-tease-list/o-tease-list.twig +5 -1
  342. package/objects/o-video-card/o-video-card.prototype.js +45 -0
  343. package/objects/o-video-card/o-video-card.twig +67 -0
  344. package/package.json +6 -9
  345. package/pattern.html +61 -9
  346. package/style-guide/colors.html +33 -0
  347. package/style-guide/fonts.html +22 -0
  348. package/style-guide/index.html +14 -0
  349. package/components/c-button/c-button.scss +0 -33
  350. package/components/c-tagline/c-tagline.json +0 -4
  351. package/components/c-tagline/c-tagline.scss +0 -19
  352. package/objects/o-figure/o-figure.scss +0 -46
  353. package/objects/o-tease/o-tease.scss +0 -30
  354. package/scratch-pad.css +0 -3
@@ -0,0 +1,7 @@
1
+ <ul class="profile-card-list // {{ profile_card_list_classes }} lrv-a-unstyle-list">
2
+ {% for item in profile_card_list %}
3
+ <li>
4
+ {% include "@larva/modules/profile-blurb/profile-blurb.twig" with item %}
5
+ </li>
6
+ {% endfor %}
7
+ </ul>
@@ -0,0 +1,26 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_heading = clonedeep( require( '../../components/c-heading/c-heading.prototype' ) );
4
+ const o_checkbox_input_list = clonedeep( require( '../../objects/o-checkbox-input-list/o-checkbox-input-list.prototype' ) );
5
+ const c_button = clonedeep( require( '../../components/c-button/c-button.prototype' ) );
6
+
7
+ c_heading.c_heading_text = 'Filter:';
8
+ c_heading.c_heading_classes = 'lrv-u-font-size-20 lrv-u-text-transform-uppercase lrv-u-border-b-1 lrv-u-margin-b-1 lrv-u-padding-b-025';
9
+
10
+ o_checkbox_input_list.c_title.c_title_text = 'Location';
11
+ o_checkbox_input_list.c_title.c_title_classes = 'lrv-u-font-family-primary lrv-u-font-size-14 lrv-u-margin-b-025 lrv-u-text-transform-uppercase lrv-u-font-weight-bold';
12
+ o_checkbox_input_list.o_checkbox_input_list_items_classes += ' lrv-u-font-family-primary lrv-u-font-size-12 lrv-u-line-height-large';
13
+
14
+ c_button.c_button_text = 'Filter';
15
+ c_button.c_button_classes += ' lrv-u-text-transform-uppercase lrv-u-background-color-black lrv-u-color-white lrv-u-font-size-12 lrv-u-font-family-primary lrv-u-margin-t-1 lrv-u-color-grey-light:hover lrv-u-padding-lr-2 lrv-u-padding-tb-050';
16
+
17
+ module.exports = {
18
+ profile_filter_classes: 'lrv-u-padding-a-1',
19
+ c_heading: c_heading,
20
+ o_checkbox_input_list: [
21
+ o_checkbox_input_list,
22
+ o_checkbox_input_list,
23
+ o_checkbox_input_list
24
+ ],
25
+ c_button: c_button
26
+ };
@@ -0,0 +1,15 @@
1
+ <form class="profile-filter // {{ profile_filter_classes }}" method="post" action="{{ profile_filter_action_url }}">
2
+ {% if c_heading %}
3
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
4
+ {% endif %}
5
+
6
+ <div class="lrv-a-space-children-vertical lrv-a-space-children--2">
7
+ {% for item in o_checkbox_input_list %}
8
+ {% include "@larva/objects/o-checkbox-input-list/o-checkbox-input-list.twig" with item %}
9
+ {% endfor %}
10
+ </div>
11
+
12
+ {% if c_button %}
13
+ {% include "@larva/components/c-button/c-button.twig" with c_button %}
14
+ {% endif %}
15
+ </form>
@@ -0,0 +1,28 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_heading = clonedeep( require( '../../components/c-heading/c-heading.prototype' ) );
4
+ const o_figure = clonedeep( require( '../../objects/o-figure/o-figure.prototype' ) );
5
+
6
+ c_heading.c_heading_text = 'Explore Their Gallery';
7
+ c_heading.c_heading_classes = 'lrv-u-font-family-secondary lrv-u-font-size-32 lrv-u-padding-b-1';
8
+
9
+ o_figure.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-4x3';
10
+
11
+ o_figure.c_figcaption.c_figcaption_classes = 'lrv-u-flex lrv-u-flex-direction-column lrv-u-font-size-10 lrv-u-margin-t-050';
12
+ o_figure.c_figcaption.c_figcaption_caption_classes = 'lrv-u-margin-b-025';
13
+ o_figure.c_figcaption.c_figcaption_credit_classes = 'lrv-u-text-transform-uppercase lrv-u-color-grey-dark';
14
+
15
+ module.exports = {
16
+ profile_gallery_classes: 'lrv-u-padding-tb-1',
17
+ c_heading: c_heading,
18
+ galleries: [
19
+ o_figure,
20
+ o_figure,
21
+ o_figure,
22
+ o_figure,
23
+ o_figure,
24
+ o_figure,
25
+ o_figure,
26
+ o_figure
27
+ ]
28
+ }
@@ -0,0 +1,13 @@
1
+ <div class="profile-gallery // {{ profile_gallery_classes }} ">
2
+ {% if c_heading %}
3
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
4
+ {% endif %}
5
+
6
+ <div class="js-Flickity js-Flickity--profile js-Flickity--isContained js-Flickity--nav-top-right js-Flickity--bordered-buttons js-Flickity--isFreeScroll">
7
+ {% for item in galleries %}
8
+ <div class="js-Flickity-cell lrv-u-margin-lr-050 u-margin-lr-1@tablet">
9
+ {% include "@larva/objects/o-figure/o-figure.twig" with item %}
10
+ </div>
11
+ {% endfor %}
12
+ </div>
13
+ </div>
@@ -0,0 +1,29 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const o_nav = clonedeep( require( '../../objects/o-nav/o-nav.prototype' ) );
4
+ const o_select_nav = clonedeep( require( '../../objects/o-select-nav/o-select-nav.prototype' ) );
5
+
6
+ const o_sponsored_by_prototype = require( '../../objects/o-sponsored-by/o-sponsored-by.prototype' );
7
+ const o_sponsored_by = clonedeep( o_sponsored_by_prototype );
8
+
9
+ o_sponsored_by.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-5x1 lrv-u-width-100';
10
+
11
+ o_nav.o_nav_classes = 'lrv-u-flex lrv-u-justify-content-center';
12
+ o_nav.o_nav_list_classes += ' lrv-u-flex lrv-a-space-children-horizontal lrv-u-align-items-center lrv-u-a-unstyle-list';
13
+ o_nav.o_nav_list_item_classes = 'lrv-u-text-transform-uppercase lrv-u-color-white lrv-u-font-size-18';
14
+
15
+ o_select_nav.o_select_nav_classes += ' lrv-u-display-inline-block';
16
+ o_select_nav.c_button.c_button_text = 'Year 2019';
17
+ o_select_nav.c_button.c_button_classes += ' lrv-u-color-white lrv-u-color-white:hover lrv-u-text-transform-uppercase lrv-u-font-size-16 lrv-u-border-color-white lrv-u-border-a-1 lrv-u-padding-lr-1 lrv-u-padding-tb-025 lrv-u-line-height-small lrv-a-icon-after lrv-a-icon-invert lrv-a-icon-arrow-down';
18
+
19
+ module.exports = {
20
+ profile_header_classes: '',
21
+ profile_header_banner_classes: '',
22
+ profile_header_title_classes: 'lrv-u-font-family-primary lrv-u-font-size-50@desktop lrv-u-font-size-24 lrv-u-text-transform-uppercase lrv-u-font-weight-bold lrv-u-margin-b-050',
23
+ profile_header_title_text: 'Top 200 Collectors',
24
+ profile_header_nav_classes: 'lrv-u-background-color-grey-darkest lrv-u-padding-tb-050 lrv-u-border-t-1 lrv-u-border-color-white',
25
+ profile_header_o_select_nav_classes: '',
26
+ o_nav: o_nav,
27
+ o_sponsored_by: o_sponsored_by,
28
+ o_select_nav: o_select_nav
29
+ };
@@ -0,0 +1,27 @@
1
+ <header class="profile-header // {{ profile_header_classes }}">
2
+
3
+ <div class="profile-header__banner // {{ profile_header_banner_classes }}">
4
+ <div class="lrv-a-wrapper lrv-u-flex lrv-u-flex-direction-column lrv-u-align-items-center lrv-u-padding-tb-1">
5
+ <h1 class="{{ profile_header_title_classes }}">
6
+ {{ profile_header_title_text }}
7
+ </h1>
8
+
9
+ {% if o_sponsored_by %}
10
+ {% include "@larva/objects/o-sponsored-by/o-sponsored-by.twig" with o_sponsored_by %}
11
+ {% endif %}
12
+
13
+ </div>
14
+ </div>
15
+
16
+ <div class="profile-header__nav // {{ profile_header_nav_classes }}">
17
+ <div class="lrv-a-wrapper lrv-a-glue-parent">
18
+ {% include "@larva/objects/o-nav/o-nav.twig" with o_nav %}
19
+
20
+ {% if o_select_nav %}
21
+ <div class="{{ profile_header_o_select_nav_classes }}">
22
+ {% include "@larva/objects/o-select-nav/o-select-nav.twig" with o_select_nav %}
23
+ </div>
24
+ {% endif %}
25
+ </div>
26
+ </div>
27
+ </header>
@@ -0,0 +1,22 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const profile_blurb = clonedeep( require( '../profile-blurb/profile-blurb.prototype' ) );
4
+ const c_heading = clonedeep( require( '../../components/c-heading/c-heading.prototype' ) );
5
+
6
+ c_heading.c_heading_classes = 'lrv-u-text-align-center lrv-u-font-size-36 lrv-u-font-size-46@desktop-xl lrv-u-font-family-secondary lrv-u-padding-b-2';
7
+ c_heading.c_heading_text = 'Replace This Text';
8
+
9
+ module.exports = {
10
+ profile_highlights_id_attr: 'profile-highlights',
11
+ profile_highlights_classes: '',
12
+ profile_highlights_slider_outer_classes: '',
13
+ profile_highlights_slider_classes: 'lrv-u-padding-a-1',
14
+ c_heading: c_heading,
15
+ slider_items: [
16
+ profile_blurb,
17
+ profile_blurb,
18
+ profile_blurb,
19
+ profile_blurb,
20
+ profile_blurb,
21
+ ]
22
+ };
@@ -0,0 +1,17 @@
1
+ <section id="{{ profile_highlights_id_attr }}" class="profile-highlights // {{ profile_highlights_classes }}">
2
+
3
+ {% if c_heading %}
4
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
5
+ {% endif %}
6
+
7
+ <div class="profile-highlights__slider // lrv-a-wrapper {{ profile_highlights_slider_outer_classes }}">
8
+ <div class="js-Flickity js-Flickity--100p js-Flickity--isContained js-Flickity--bordered-buttons {{ profile_highlights_slider_classes }}">
9
+ {% for item in slider_items %}
10
+ <div class="js-Flickity-cell lrv-u-margin-lr-050 u-margin-lr-1@tablet">
11
+ {% include "@larva/modules/profile-blurb/profile-blurb.twig" with item %}
12
+ </div>
13
+ {% endfor %}
14
+ </div>
15
+ </div>
16
+
17
+ </section>
@@ -0,0 +1,17 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_lazy_image = clonedeep( require( '../../components/c-lazy-image/c-lazy-image.prototype' ) );
4
+
5
+ c_lazy_image.c_lazy_image_crop_class = 'a-crop-16x5';
6
+
7
+ const c_button_black = clonedeep( require( '../../components/c-button/c-button.black' ) );
8
+
9
+ c_button_black.c_button_classes += ' lrv-u-display-inline-block';
10
+ c_button_black.c_button_text = 'Update this text';
11
+ c_button_black.c_button_url = '#';
12
+
13
+ module.exports = {
14
+ profile_body: clonedeep( require( '../../modules/profile-body/profile-body.prototype' ) ),
15
+ c_lazy_image: c_lazy_image,
16
+ c_button: c_button_black
17
+ };
@@ -0,0 +1,12 @@
1
+ <div class="profile-landing-header // {{ profile_landing_header_classes }}">
2
+
3
+ {% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
4
+
5
+ {% include "@larva/modules/profile-body/profile-body.twig" with profile_body %}
6
+
7
+ {% if c_button %}
8
+ <div class="lrv-u-text-align-center lrv-u-margin-tb-2">
9
+ {% include "@larva/components/c-button/c-button.twig" with c_button %}
10
+ </div>
11
+ {% endif %}
12
+ </div>
@@ -0,0 +1,21 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const story = clonedeep( require( '../../modules/story/story.prototype.js' ) );
4
+ const c_heading = clonedeep( require( '../../components/c-heading/c-heading.prototype' ) );
5
+
6
+ c_heading.c_heading_text = 'Latest News';
7
+ c_heading.c_heading_classes = 'lrv-u-font-family-secondary lrv-u-font-size-28 lrv-u-font-size-40@tablet lrv-u-font-size-46@desktop-xl lrv-u-padding-r-1';
8
+
9
+ c_heading.c_heading_outer = true;
10
+ c_heading.c_heading_outer_classes = 'a-heading-border';
11
+
12
+ module.exports = {
13
+ c_heading: c_heading,
14
+ profile_landing_river_id_attr: '',
15
+ profile_landing_river_classes: ' lrv-u-padding-t-2',
16
+ profile_landing_river_stories: [
17
+ story,
18
+ story,
19
+ story
20
+ ]
21
+ };
@@ -0,0 +1,13 @@
1
+ <section id="{{ profile_landing_river_id_attr }}" class="profile-landing-river // {{ profile_landing_river_classes }}">
2
+ {% if c_heading %}
3
+ <div class="lrv-a-wrapper a-stacking-context">
4
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
5
+ </div>
6
+ {% endif %}
7
+
8
+ <div class="lrv-a-wrapper a-children-border--grey-light a-children-border-vertical">
9
+ {% for item in profile_landing_river_stories %}
10
+ {% include "@larva/modules/story/story.twig" with item %}
11
+ {% endfor %}
12
+ </div>
13
+ </section>
@@ -0,0 +1,33 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_heading = clonedeep( require( '../../components/c-heading/c-heading.prototype' ) );
4
+ const o_card_list = clonedeep( require( '../../objects/o-card-list/o-card-list.prototype' ) );
5
+
6
+ c_heading.c_heading_text = 'Related Stories';
7
+ c_heading.c_heading_classes = 'lrv-u-font-family-secondary lrv-u-font-size-28 lrv-u-font-size-40@tablet lrv-u-font-size-46@desktop-xl lrv-u-padding-r-1';
8
+
9
+ o_card_list.o_card_list_classes += ' lrv-a-grid a-cols3@tablet';
10
+
11
+ o_card_list.o_card_list_items.map( ( o_card ) => {
12
+
13
+ o_card.o_card_classes = 'lrv-u-flex lrv-u-flex-direction-column@tablet';
14
+
15
+ o_card.c_lazy_image.c_lazy_image_classes = 'lrv-u-flex-shrink-0 lrv-u-margin-r-1 lrv-u-margin-r-00@tablet';
16
+ o_card.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-3x2';
17
+
18
+ o_card.c_span.c_span_text = 'News';
19
+ o_card.c_span.c_span_classes += ' lrv-u-font-size-12@mobile-max lrv-u-font-family-primary lrv-u-font-weight-bold lrv-u-display-block lrv-u-padding-b-050';
20
+ o_card.c_span.c_span_url = '#';
21
+
22
+ o_card.c_title.c_title_text = 'Guggenheim’s Hilma af Klint Survey Is Most Popular Show in Its History';
23
+ o_card.c_title.c_title_classes = 'lrv-u-font-family-primary lrv-u-font-size-14@mobile-max lrv-u-font-size-16 lrv-u-font-weight-normal';
24
+ o_card.c_title.c_title_link_classes = 'lrv-u-color-black';
25
+
26
+ o_card.c_timestamp = false;
27
+ } );
28
+
29
+ module.exports = {
30
+ profile_related_stories_classes: '',
31
+ c_heading: c_heading,
32
+ o_card_list: o_card_list,
33
+ };
@@ -0,0 +1,9 @@
1
+ <div class="profile-related-stories // {{ profile_related_stories_classes }}">
2
+ {% if c_heading %}
3
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
4
+ {% endif %}
5
+
6
+ {% if o_card_list %}
7
+ {% include "@larva/objects/o-card-list/o-card-list.twig" with o_card_list %}
8
+ {% endif %}
9
+ </div>
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ pullquote_classes: 'lrv-u-width-75p',
3
+ pullquote_typography_class: 'lrv-a-font-body-m',
4
+ pullquote_text_align_class: 'lrv-u-text-align-center',
5
+ pullquote_color_class: '',
6
+ pullquote_background_color_class: '',
7
+ pullquote_markup: 'Pullquote Text.',
8
+ };
@@ -0,0 +1,3 @@
1
+ <blockquote class="pullquote larva // {{ pullquote_classes }} {{ pullquote_typography_class }} {{ pullquote_text_align_class }} {{ pullquote_color_class }} {{ pullquote_background_color_class }}">
2
+ {{ pullquote_markup }}
3
+ </blockquote>
@@ -0,0 +1,20 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_span_prototype = require( '../../components/c-span/c-span.prototype' );
4
+ const c_span = clonedeep( c_span_prototype );
5
+
6
+ c_span.c_span_text = 'Read Next: ';
7
+ c_span.c_span_classes += ' lrv-u-text-transform-uppercase lrv-u-font-weight-bold';
8
+
9
+ const c_title_prototype = require( '../../components/c-title/c-title.prototype' );
10
+ const c_title = clonedeep( c_title_prototype );
11
+
12
+ c_title.c_title_classes = 'lrv-u-padding-l-1 lrv-u-max-width-500 lrv-a-truncate-ellipsis lrv-u-font-weight-normal';
13
+ c_title.c_title_text = 'Here is some really long title text, it should be truncated with lrv-a-truncate-ellispis, we hope!!!!!! Wow it\'s so long.';
14
+ c_title.c_title_link_classes = 'lrv-a-unstyle-link';
15
+
16
+ module.exports = {
17
+ read_next_classes: ' lrv-a-hidden@desktop-max lrv-u-flex lrv-u-align-items-center lrv-u-flex-1 lrv-u-font-family-body lrv-u-font-size-16',
18
+ c_span: c_span,
19
+ c_title: c_title,
20
+ };
@@ -0,0 +1,4 @@
1
+ <aside class="read-next // {{ read_next_classes }}">
2
+ {% include "@larva/components/c-span/c-span.twig" with c_span %}
3
+ {% include "@larva/components/c-title/c-title.twig" with c_title %}
4
+ </aside>
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ search_form_classes: '',
3
+ search_form_action_url: '#',
4
+ search_form_is_swiftype: false,
5
+ search_form_input_classes: '',
6
+ search_form_input_placeholder_attr: 'Search',
7
+ search_form_submit_classes: '',
8
+ };
@@ -0,0 +1,11 @@
1
+ {% if search_form_is_swiftype %}
2
+ <div data-st-search-form="small_search_form"></div>
3
+ {% else %}
4
+ <form class="search-form {{ search_form_classes }}" action="{{ search_form_action_url }}" role="search" method="get">
5
+ <label>
6
+ <span class="lrv-a-screen-reader-only">Search for:</span>
7
+ <input class="{{ search_form_input_classes }}" type="search" placeholder="{{ search_form_input_placeholder_attr }}" value="" name="s">
8
+ </label>
9
+ <input class="{{ search_form_submit_classes }}" type="submit" value="Search">
10
+ </form>
11
+ {% endif %}
@@ -0,0 +1,119 @@
1
+ const clonedeep = require('lodash.clonedeep');
2
+
3
+ const o_card_prototype = require('@penskemediacorp/larva-patterns/objects/o-card/o-card.prototype.js')
4
+
5
+ const o_author = clonedeep(require('@penskemediacorp/larva-patterns/objects/o-author/o-author.prototype'));
6
+ o_author.c_span.c_span_classes = '';
7
+ o_author.o_author_classes = 'lrv-u-text-transform-uppercase';
8
+ o_author.o_author_text= 'By ';
9
+ o_author.c_timestamp= false;
10
+ o_author.c_span.c_span_link_classes = 'lrv-a-unstyle-link';
11
+ o_card_prototype.o_author = o_author;
12
+
13
+ const c_dek = clonedeep(require('@penskemediacorp/larva-patterns/components/c-dek/c-dek.prototype.js'));
14
+ o_card_prototype.c_dek = c_dek;
15
+
16
+ o_card_prototype.c_span = false;
17
+ o_card_prototype.c_title.c_title_text = ' For Sahbabii, Recording His Debut Album Was Part of The Grieving Process';
18
+ o_card_prototype.c_timestamp = false;
19
+ o_card_prototype.o_card_content_classes ='lrv-u-align-items-start lrv-u-flex lrv-u-flex-direction-column';
20
+ o_card_prototype.c_title.c_title_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary:hover';
21
+
22
+ const article_kicker = clonedeep(require('@penskemediacorp/larva-patterns/modules/article-kicker/article-kicker.prototype.js'));
23
+ article_kicker.article_kicker_classes = 'lrv-u-padding-b-050 lrv-u-border-b-1 lrv-u-text-transform-uppercase';
24
+ article_kicker.article_kicker_link_classes = 'lrv-a-unstyle-link';
25
+ o_card_prototype.article_kicker_outer_classes = 'lrv-u-padding-tb-1@desktop-xl';
26
+ o_card_prototype.article_kicker = article_kicker;
27
+
28
+ const o_card_1 = clonedeep(o_card_prototype);
29
+ o_card_1.c_dek = false;
30
+ o_card_1.article_kicker.article_kicker_text = 'Exclusive';
31
+ o_card_1.c_title.c_title_text = ' It Started With Thirst Traps on TikTok. Now, She’s Accused of Running a BDSM Cult';
32
+ o_card_1.article_kicker_outer_classes = 'lrv-a-font-basic-l lrv-a-glue-parent lrv-u-background-color-white lrv-u-flex lrv-u-padding-b-1 lrv-u-padding-l-1@mobile-max lrv-u-padding-r-1 lrv-u-padding-t-1@desktop-xl lrv-u-padding-t-1@mobile-max lrv-u-text-transform-uppercase u-margin-t-n187@desktop-xl u-margin-t-n187@mobile-max u-z-index-middle-bottom';
33
+ o_card_1.article_kicker.article_kicker_classes += ' lrv-a-font-basic-l';
34
+ o_card_1.c_title.c_title_classes = 'lrv-a-font-primary-xl lrv-u-padding-t-150@mobile-max lrv-u-padding-b-1@mobile-max lrv-u-padding-t-050@tablet lrv-u-padding-b-075@tablet';
35
+ o_card_1.o_author.o_author_classes = 'lrv-a-font-body-s lrv-u-text-transform-uppercase lrv-u-color-black';
36
+ o_card_1.o_card_classes = 'lrv-u-flex@tablet lrv-u-flex-direction-column@desktop-xl';
37
+ o_card_1.o_card_image_wrap_classes = 'lrv-u-flex-basis-100p lrv-u-margin-r-175@tablet lrv-u-margin-r-00@desktop-xl';
38
+ o_card_1.o_card_content_classes = 'lrv-u-align-items-start lrv-u-flex lrv-u-flex-basis-100p lrv-u-flex-direction-column lrv-u-padding-l-150@mobile-max lrv-u-padding-r-150@mobile-max';
39
+ o_card_1.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-3x2';
40
+
41
+ const o_card_2 = clonedeep(o_card_prototype);
42
+
43
+ o_card_2.article_kicker.article_kicker_text = 'AMERICAN MILITIA';
44
+ o_card_2.c_title.c_title_text = 'Meet the Oath Keeper on the NRA’s Board of Directors';
45
+ o_card_2.c_dek.c_dek_text = ' Links between the notorious militia and the gun lobby run deep';
46
+ o_card_2.c_dek.c_dek_classes = 'lrv-u-margin-tb-075@desktop-xl lrv-a-hidden@desktop-max lrv-a-hidden@desktop-xl-max lrv-a-font-body-l lrv-a-truncate-ellipsis-5line';
47
+ o_card_2.article_kicker.article_kicker_classes += ' lrv-a-font-basic-xs ';
48
+ o_card_2.article_kicker_outer_classes = 'lrv-u-padding-b-075 lrv-u-padding-b-125@desktop-xl lrv-u-padding-t-1@desktop-xl';
49
+ o_card_2.c_title.c_title_classes = 'lrv-u-padding-b-075@mobile-max lrv-a-font-primary-m lrv-u-padding-t-125@mobile-max';
50
+ o_card_2.o_author.o_author_classes = 'lrv-a-font-body-xs lrv-u-text-transform-uppercase lrv-u-color-black';
51
+ o_card_2.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-1x1@tablet lrv-a-crop-3x2@desktop-xl lrv-a-crop-3x2@mobile-max';
52
+ o_card_2.c_lazy_image.c_lazy_image_classes = 'lrv-u-width-100p';
53
+ o_card_2.o_card_classes ='lrv-u-margin-l-00@desktop-xl lrv-u-flex-basis-100p lrv-u-flex-direction-column@desktop-xl lrv-a-space-children--1 lrv-a-space-children--0@desktop-xl lrv-u-border-t-1@mobile-max lrv-u-padding-t-2@mobile-max lrv-a-space-children-horizontal@tablet lrv-u-flex@tablet';
54
+ o_card_2.o_card_content_classes = 'lrv-u-align-items-start lrv-u-flex lrv-u-flex-direction-column lrv-u-padding-b-150@mobile-max lrv-u-padding-t-1@mobile-max';
55
+
56
+ const o_card_3 = clonedeep(o_card_prototype);
57
+
58
+ o_card_3.article_kicker.article_kicker_text = 'YACHT ROCK';
59
+ o_card_3.c_title.c_title_text = 'Welcome to Jenny Lewis’ Yacht-Rock Era. It’s Nice Here';
60
+ o_card_3.c_dek.c_dek_text = '“Puppy and a Truck” is all about the unconditional love that only a dog and a vehicle can provide';
61
+ o_card_3.c_dek.c_dek_classes = 'lrv-u-margin-tb-075@desktop-xl lrv-a-hidden@desktop-max lrv-a-hidden@desktop-xl-max lrv-a-font-body-l lrv-a-truncate-ellipsis-5line';
62
+ o_card_3.article_kicker.article_kicker_classes += ' lrv-a-font-basic-xs ';
63
+ o_card_3.article_kicker_outer_classes = 'lrv-u-padding-b-075 lrv-u-padding-b-125@desktop-xl lrv-u-padding-t-1@desktop-xl';
64
+ o_card_3.c_title.c_title_classes = 'lrv-u-padding-b-075@mobile-max lrv-a-font-primary-m lrv-u-padding-t-125@mobile-max';
65
+ o_card_3.o_author.o_author_classes = 'lrv-a-font-body-xs lrv-u-text-transform-uppercase lrv-u-color-black';
66
+ o_card_3.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-1x1@tablet lrv-a-crop-3x2@desktop-xl lrv-a-crop-3x2@mobile-max';
67
+ o_card_3.c_lazy_image.c_lazy_image_classes = 'lrv-u-width-100p';
68
+ o_card_3.o_card_classes = 'lrv-a-space-children--1 lrv-a-space-children--2@desktop-xl lrv-a-space-children-horizontal lrv-u-flex-basis-100p lrv-u-border-t-0@desktop-xl lrv-u-border-t-1@tablet lrv-u-flex-direction-column@desktop-xl lrv-u-flex@tablet lrv-u-margin-t-00@desktop-xl lrv-u-margin-t-150@tablet lrv-u-padding-t-00@desktop-xl lrv-u-padding-t-150@tablet';
69
+ o_card_3.o_card_content_classes = 'lrv-u-margin-l-00@mobile-max lrv-u-margin-l-00@desktop-xl lrv-u-align-items-start lrv-u-flex lrv-u-flex-direction-column lrv-u-padding-b-150@mobile-max lrv-u-padding-t-1@mobile-max';
70
+
71
+ const o_card_4 = clonedeep(o_card_prototype);
72
+
73
+ o_card_4.c_dek = false;
74
+ o_card_4.c_lazy_image = false;
75
+ o_card_4.article_kicker_outer_classes = ' lrv-u-color-brand-primary lrv-u-display-inline';
76
+ o_card_4.article_kicker.article_kicker_classes = ' lrv-a-font-primary-m article-kicker lrv-u-display-inline';
77
+ o_card_4.c_title.c_title_classes = 'lrv-a-font-primary-m lrv-u-display-inline';
78
+ o_card_4.c_title.c_title_link_classes = 'lrv-a-unstyle-link lrv-u-color-brand-primary:hover';
79
+ o_card_4.o_author.o_author_classes = ' lrv-u-display-inline lrv-a-font-primary-m lrv-u-color-grey-light';
80
+ o_card_4.o_card_content_classes ='';
81
+ o_card_4.o_card_classes = ' lrv-u-flex-basis-40p lrv-u-margin-r-2@tablet lrv-u-border-t-1@mobile-max lrv-u-padding-t-2@mobile-max lrv-u-margin-t-175@desktop-xl lrv-u-padding-t-175@desktop-xl lrv-u-border-t-1@desktop-xl lrv-u-margin-r-00@desktop-xl lrv-u-border-t-1@desktop-xl';
82
+ o_card_4.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-3x2';
83
+
84
+ const o_card_5 = clonedeep(o_card_1);
85
+
86
+ o_card_5.article_kicker.article_kicker_text = 'INSIDE LOOK';
87
+ o_card_5.c_title.c_title_text = '40 Watt Sun Raise the Emotional Stakes While Turning Down the Volume on New Chamber-Folk Epic';
88
+ o_card_5.o_card_classes = 'lrv-u-padding-r-2@tablet lrv-u-padding-b-150@mobile-max lrv-u-flex-basis-50p lrv-u-border-r-1@tablet ';
89
+ o_card_5.article_kicker_outer_classes = ' lrv-a-glue-parent lrv-u-background-color-white lrv-u-padding-b-1 lrv-u-padding-r-1 lrv-u-padding-t-1';
90
+ o_card_5.article_kicker.article_kicker_classes += 'lrv-a-font-basic-xs ';
91
+ o_card_5.o_card_content_classes = ' lrv-u-align-items-start lrv-u-flex lrv-u-flex-basis-100p@desktop-xl-max lrv-u-flex-direction-column lrv-u-padding-l-150@mobile-max lrv-u-padding-r-150@mobile-max';
92
+ o_card_5.c_title.c_title_classes = 'lrv-u-padding-t-00@desktop-xl lrv-u-padding-b-075 lrv-u-padding-t-00@mobile-max lrv-a-font-primary-xl lrv-u-padding-t-025';
93
+ o_card_5.o_card_image_wrap_classes = 'lrv-u-flex-basis-100p@desktop-xl-max ';
94
+
95
+ const o_card_6 = clonedeep(o_card_prototype);
96
+
97
+ o_card_6.article_kicker.article_kicker_text = 'EXCLUSIVE';
98
+ o_card_6.c_title.c_title_text = 'Marilyn Manson: The Monster Hiding in Plain Sight';
99
+ o_card_6.c_dek.c_dek_text = 'He was a provocative media darling for decades. Offstage, exes allege, he was an abuser who made their lives hell. A Rolling Stone investigation based on court documents and more than 55 new interviews';
100
+ o_card_6.c_lazy_image = false;
101
+ o_card_6.c_dek.c_dek_classes = 'lrv-a-font-body-l lrv-a-truncate-ellipsis-5line lrv-u-margin-b-1@desktop-xl lrv-u-margin-t-075@desktop-xl lrv-u-margin-tb-075@mobile-max';
102
+ o_card_6.article_kicker.article_kicker_classes += ' lrv-a-font-basic-l';
103
+ o_card_6.article_kicker_outer_classes = 'lrv-u-padding-b-125@desktop-xl';
104
+ o_card_6.c_title.c_title_classes = 'lrv-u-padding-t-1 lrv-a-font-primary-l lrv-u-padding-t-00@desktop-xl';
105
+ o_card_6.o_author.o_author_classes = 'lrv-a-font-body-xs lrv-u-text-transform-uppercase lrv-u-color-black';
106
+ o_card_6.o_card_classes = 'lrv-u-padding-l-2@tablet lrv-u-padding-l-150@mobile-max lrv-u-padding-r-150@mobile-max lrv-u-flex-basis-50p';
107
+ o_card_6.o_card_content_classes = 'lrv-u-align-items-start lrv-u-border-b-1@mobile-max lrv-u-border-t-1@mobile-max lrv-u-flex lrv-u-flex-direction-column lrv-u-margin-b-2@mobile-max lrv-u-padding-b-2@mobile-max lrv-u-padding-t-2@mobile-max';
108
+
109
+ module.exports = {
110
+ stories: [o_card_1, o_card_2, o_card_3, o_card_4, o_card_5, o_card_6],
111
+ secondary_stories_classes:'',
112
+ stories_content_primary_classes:'lrv-u-border-t-6',
113
+ stories_content_primary_inner_classes:'lrv-u-padding-b-150@tablet lrv-u-padding-b-3@desktop-xl lrv-u-margin-b-250@mobile-max lrv-u-padding-t-150@mobile-max lrv-u-padding-t-150 lrv-u-border-t-2 lrv-u-flex lrv-u-margin-t-025 lrv-a-space-children--3@desktop-xl lrv-a-space-children-horizontal lrv-u-flex-direction-column lrv-u-flex-direction-row@desktop-xl lrv-u-padding-t-250@desktop-xl',
114
+ stories_card_primary_classes:' lrv-u-flex-basis-45p lrv-u-padding-b-150 lrv-u-padding-b-00@desktop-xl',
115
+ stories_card_secondary_classes:' lrv-u-flex lrv-u-padding-l-150@mobile-max lrv-u-padding-r-150@mobile-max lrv-u-border-t-1@tablet lrv-u-padding-t-00@mobile-max lrv-u-flex-direction-column@mobile-max lrv-u-flex-direction-row-reverse lrv-u-flex-basis-55p lrv-u-flex-direction-column@desktop-xl lrv-u-padding-t-150 lrv-u-padding-t-00@desktop-xl lrv-u-border-t-0@desktop-xl',
116
+ stories_card_secondary_inner_classes:' lrv-u-flex-basis-60p lrv-u-padding-t-00@desktop-xl lrv-u-border-t-0@desktop-xl lrv-a-space-children--2@desktop-xl lrv-a-space-children-horizontal@desktop-xl lrv-u-flex lrv-u-flex-direction-column lrv-u-flex-direction-row@desktop-xl',
117
+ stories_content_secondary_classes:'lrv-u-border-t-6',
118
+ stories_content_secondary_inner_classes:' lrv-u-padding-t-150@tablet lrv-u-border-t-2 lrv-u-flex@tablet lrv-u-margin-t-025 lrv-u-padding-t-150@mobile-max lrv-u-padding-tb-250@desktop-xl',
119
+ };
@@ -0,0 +1,22 @@
1
+ <section class="secondary-stories {{ secondary_stories_classes }}">
2
+ <div class="stories-content-primary // {{ stories_content_primary_classes }} ">
3
+ <div class="stories-content-primary-inner // {{ stories_content_primary_inner_classes }} ">
4
+ <div class="stories-card-primary // {{ stories_card_primary_classes }}">
5
+ {% include "@larva/objects/o-card/o-card.twig" with stories[0] %}
6
+ </div>
7
+ <div class="stories-card-secondary // {{ stories_card_secondary_classes }} ">
8
+ <div class=" stories-card-secondary-inner // {{ stories_card_secondary_inner_classes }}">
9
+ {% include "@larva/objects/o-card/o-card.twig" with stories[1] %}
10
+ {% include "@larva/objects/o-card/o-card.twig" with stories[2] %}
11
+ </div>
12
+ {% include "@larva/objects/o-card/o-card.twig" with stories[3] %}
13
+ </div>
14
+ </div>
15
+ </div>
16
+ <div class="stories-content-secondary // {{ stories_content_secondary_classes }} ">
17
+ <div class="stories-content-secondary-inner // {{ stories_content_secondary_inner_classes }} ">
18
+ {% include "@larva/objects/o-card/o-card.twig" with stories[4] %}
19
+ {% include "@larva/objects/o-card/o-card.twig" with stories[5] %}
20
+ </div>
21
+ </div>
22
+ </section>
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ separator_classes: 'lrv-u-border-a-1',
3
+ separator_border_color_class: ''
4
+ };
@@ -0,0 +1,7 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const separator = clonedeep( require( './separator.prototype' ) );
4
+
5
+ separator.separator_classes = 'lrv-u-border-a-3';
6
+
7
+ module.exports = separator;
@@ -0,0 +1 @@
1
+ <hr class="separator larva // {{ separator_classes }} {{ separator_border_color_class }}" />
@@ -0,0 +1,7 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const separator = clonedeep( require( './separator.wide' ) );
4
+
5
+ separator.separator_classes = 'lrv-u-margin-tb-1 lrv-u-border-a-3 lrv-u-margin-lr-2 lrv-u-margin-lr-4@desktop';
6
+
7
+ module.exports = separator;
@@ -0,0 +1,7 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const separator = clonedeep( require( './separator.prototype' ) );
4
+
5
+ separator.separator_classes = 'lrv-u-margin-tb-1 lrv-u-border-a-1 lrv-u-margin-lr-2 lrv-u-margin-lr-4@desktop';
6
+
7
+ module.exports = separator;
@@ -0,0 +1,43 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_icon = clonedeep( require( '../../components/c-icon/c-icon.prototype' ) );
4
+ const social_share_primary_items = [ 'facebook', 'twitter', 'pinterest', 'tumblr', 'reddit', 'linkedin', 'print' ];
5
+
6
+ const social_share_primary = [];
7
+ const social_share_secondary = [];
8
+
9
+ const c_icon_struct = clonedeep( c_icon );
10
+ c_icon_struct.c_icon_link_classes = 'lrv-a-unstyle-link lrv-u-display-block lrv-u-display-inline-flex';
11
+ c_icon_struct.c_icon_url = '#';
12
+ c_icon_struct.c_icon_classes = 'lrv-u-width-16 lrv-u-height-16';
13
+
14
+ for ( let i = 0; i < social_share_primary_items.length; i++ ) {
15
+ let c_icon_social = clonedeep( c_icon_struct );
16
+
17
+ c_icon_social.c_icon_rel_name = social_share_primary_items[i];
18
+ c_icon_social.c_icon_name = social_share_primary_items[i];
19
+
20
+ if ( 3 < i ) {
21
+ social_share_primary.push( c_icon_social );
22
+ } else {
23
+ social_share_secondary.push( c_icon_social );
24
+ }
25
+ }
26
+
27
+ const c_icon_plus = clonedeep( c_icon );
28
+ c_icon_plus.c_icon_link_classes = 'lrv-a-unstyle-button lrv-u-cursor-pointer';
29
+ c_icon_plus.c_icon_url = '';
30
+ c_icon_plus.c_icon_rel_name = 'plus';
31
+ c_icon_plus.c_icon_name = 'plus';
32
+ c_icon_plus.c_icon_classes = 'lrv-u-width-16 lrv-u-height-16';
33
+
34
+ module.exports = {
35
+ social_share_classes: '',
36
+ social_share_prefix: false,
37
+ social_share_prefix_classes: 'lrv-u-display-none@mobile-max lrv-u-color-grey lrv-u-font-size-10 lrv-u-text-transform-uppercase lrv-u-margin-r-1@tablet lrv-u-margin-b-050@mobile-max',
38
+ social_share_prefix_text: 'Share',
39
+ social_share_items_classes: 'lrv-a-space-children--1 lrv-a-space-children-horizontal',
40
+ social_share_primary: social_share_primary,
41
+ social_share_secondary: social_share_secondary,
42
+ c_icon_plus: c_icon_plus
43
+ };
@@ -0,0 +1,30 @@
1
+ <div class="social-share // lrv-u-align-items-center lrv-u-flex {{ social_share_classes }}">
2
+ {% if social_share_prefix %}
3
+ <span class="{{ social_share_prefix_classes }}">
4
+ {{ social_share_prefix_text }}
5
+ </span>
6
+ {% endif %}
7
+
8
+ <h2 id="article-social-share" class="lrv-a-screen-reader-only">Services to share this page.</h2>
9
+ <ul class="lrv-a-unstyle-list lrv-u-flex lrv-u-flex-wrap-wrap {{ social_share_items_classes }}" data-collapsible="collapsed" aria-labelledby="article-social-share">
10
+ {% for item in social_share_primary %}
11
+ <li class="{{ social_share_item_classes }}">
12
+ {% include "@larva/components/c-icon/c-icon.twig" with item %}
13
+ </li>
14
+ {% endfor %}
15
+
16
+ {% if social_share_secondary %}
17
+ <li data-collapsible-toggle>
18
+ <button class="c-button {{ c_icon_plus['c_icon_link_classes'] }}" title="Show more sharing options" data-toggle>
19
+ {% include "@larva/components/c-icon/c-icon.twig" with c_icon_plus %}
20
+ </button>
21
+ </li>
22
+
23
+ {% for item in social_share_secondary %}
24
+ <li class="{{ social_share_item_classes }}" data-collapsible-panel>
25
+ {% include "@larva/components/c-icon/c-icon.twig" with item %}
26
+ </li>
27
+ {% endfor %}
28
+ {% endif %}
29
+ </ul>
30
+ </div>