@penskemediacorp/larva-patterns 1.8.0-alpha.0 → 1.8.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 (347) 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/footer/README.md +15 -0
  134. package/modules/footer/footer.prototype.js +14 -0
  135. package/modules/footer/footer.twig +22 -0
  136. package/modules/footer-button-list/footer-button-list.prototype.js +43 -0
  137. package/modules/footer-button-list/footer-button-list.twig +13 -0
  138. package/modules/footer-magazine-image/footer-magazine-image.prototype.js +15 -0
  139. package/modules/footer-magazine-image/footer-magazine-image.twig +3 -0
  140. package/modules/footer-menus/README.md +3 -0
  141. package/modules/footer-menus/footer-menus.prototype.js +9 -9
  142. package/modules/footer-menus/footer-menus.twig +2 -2
  143. package/modules/footer-newsletter/README.md +5 -0
  144. package/modules/footer-newsletter/footer-newsletter.prototype.js +21 -0
  145. package/modules/footer-newsletter/footer-newsletter.twig +5 -0
  146. package/modules/footer-social/README.md +3 -0
  147. package/modules/footer-social/footer-social.prototype.js +27 -20
  148. package/modules/footer-social/footer-social.twig +2 -2
  149. package/modules/footer-tip/footer-tip.prototype.js +21 -13
  150. package/modules/footer-tip/footer-tip.twig +2 -2
  151. package/modules/header/header.article.js +39 -0
  152. package/modules/header/header.prototype.js +90 -0
  153. package/modules/header/header.twig +74 -0
  154. package/modules/header-menu/header-menu.prototype.js +26 -0
  155. package/modules/header-menu/header-menu.twig +3 -0
  156. package/modules/header-sticky/header-sticky.article.js +43 -0
  157. package/modules/header-sticky/header-sticky.prototype.js +39 -0
  158. package/modules/header-sticky/header-sticky.twig +30 -0
  159. package/modules/heading/heading.h1.js +8 -0
  160. package/modules/heading/heading.h2.js +8 -0
  161. package/modules/heading/heading.h3.js +8 -0
  162. package/modules/heading/heading.h4.js +7 -0
  163. package/modules/heading/heading.h5.js +7 -0
  164. package/modules/heading/heading.h6.js +7 -0
  165. package/modules/heading/heading.prototype.js +9 -0
  166. package/modules/heading/heading.twig +3 -0
  167. package/modules/hero-image-story/hero-image-story.prototype.js +41 -0
  168. package/modules/hero-image-story/hero-image-story.twig +8 -0
  169. package/modules/injected-related-content/injected-related-content.prototype.js +61 -0
  170. package/modules/injected-related-content/injected-related-content.twig +23 -0
  171. package/modules/linked-gallery/linked-gallery.prototype.js +53 -0
  172. package/modules/linked-gallery/linked-gallery.twig +22 -0
  173. package/modules/list/list.ordered.js +7 -0
  174. package/modules/list/list.prototype.js +57 -0
  175. package/modules/list/list.twig +11 -0
  176. package/modules/listicle-item/listicle-item.prototype.js +11 -0
  177. package/modules/listicle-item/listicle-item.twig +3 -0
  178. package/modules/mega-menu/mega-menu.prototype.js +16 -0
  179. package/modules/mega-menu/mega-menu.twig +10 -0
  180. package/modules/mega-menu-content/mega-menu-content.prototype.js +10 -0
  181. package/modules/mega-menu-content/mega-menu-content.twig +5 -0
  182. package/modules/mega-menu-footer/mega-menu-footer.prototype.js +41 -0
  183. package/modules/mega-menu-footer/mega-menu-footer.twig +19 -0
  184. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.prototype.js +20 -0
  185. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.twig +4 -0
  186. package/modules/mega-menu-item/mega-menu-item.prototype.js +23 -0
  187. package/modules/mega-menu-item/mega-menu-item.twig +13 -0
  188. package/modules/more-stories-button/more-stories-button.profile.js +12 -0
  189. package/modules/more-stories-button/more-stories-button.prototype.js +29 -0
  190. package/modules/more-stories-button/more-stories-button.twig +13 -0
  191. package/modules/newsletter/newsletter.prototype.js +46 -0
  192. package/modules/newsletter/newsletter.twig +21 -0
  193. package/modules/newsletter-cta/newsletter-cta.prototype.js +21 -0
  194. package/modules/newsletter-cta/newsletter-cta.twig +22 -0
  195. package/modules/newswire/newswire.prototype.js +46 -0
  196. package/modules/newswire/newswire.twig +16 -0
  197. package/modules/page-404/page-404.prototype.js +44 -0
  198. package/modules/page-404/page-404.twig +32 -0
  199. package/modules/paragraph/paragraph.narrow.js +8 -0
  200. package/modules/paragraph/paragraph.prototype.js +8 -0
  201. package/modules/paragraph/paragraph.twig +3 -0
  202. package/modules/pmc-footer/pmc-footer.prototype.js +26 -24
  203. package/modules/pmc-footer/pmc-footer.twig +11 -9
  204. package/modules/post-content-image/post-content-image.prototype.js +14 -0
  205. package/modules/post-content-image/post-content-image.twig +3 -0
  206. package/modules/production-credits/production-credits.prototype.js +5 -0
  207. package/modules/production-credits/production-credits.twig +4 -0
  208. package/modules/profile-blurb/profile-blurb.card.js +28 -0
  209. package/modules/profile-blurb/profile-blurb.prototype.js +45 -0
  210. package/modules/profile-blurb/profile-blurb.twig +37 -0
  211. package/modules/profile-body/profile-body.prototype.js +20 -0
  212. package/modules/profile-body/profile-body.twig +15 -0
  213. package/modules/profile-browse-by/profile-browse-by.prototype.js +29 -0
  214. package/modules/profile-browse-by/profile-browse-by.twig +6 -0
  215. package/modules/profile-card-list/profile-card-list.prototype.js +25 -0
  216. package/modules/profile-card-list/profile-card-list.twig +7 -0
  217. package/modules/profile-filter/profile-filter.prototype.js +26 -0
  218. package/modules/profile-filter/profile-filter.twig +15 -0
  219. package/modules/profile-gallery/profile-gallery.prototype.js +28 -0
  220. package/modules/profile-gallery/profile-gallery.twig +13 -0
  221. package/modules/profile-header/profile-header.prototype.js +29 -0
  222. package/modules/profile-header/profile-header.twig +27 -0
  223. package/modules/profile-highlights/profile-highlights.prototype.js +22 -0
  224. package/modules/profile-highlights/profile-highlights.twig +17 -0
  225. package/modules/profile-landing-header/profile-landing-header.prototype.js +17 -0
  226. package/modules/profile-landing-header/profile-landing-header.twig +12 -0
  227. package/modules/profile-landing-river/profile-landing-river.prototype.js +21 -0
  228. package/modules/profile-landing-river/profile-landing-river.twig +13 -0
  229. package/modules/profile-related-stories/profile-related-stories.prototype.js +33 -0
  230. package/modules/profile-related-stories/profile-related-stories.twig +9 -0
  231. package/modules/pullquote/pullquote.prototype.js +8 -0
  232. package/modules/pullquote/pullquote.twig +3 -0
  233. package/modules/read-next/read-next.prototype.js +20 -0
  234. package/modules/read-next/read-next.twig +4 -0
  235. package/modules/search-form/search-form.prototype.js +8 -0
  236. package/modules/search-form/search-form.twig +11 -0
  237. package/modules/secondary-stories/secondary-stories.prototype.js +119 -0
  238. package/modules/secondary-stories/secondary-stories.twig +22 -0
  239. package/modules/separator/separator.prototype.js +4 -0
  240. package/modules/separator/separator.thick.js +7 -0
  241. package/modules/separator/separator.twig +1 -0
  242. package/modules/separator/separator.wide-thick.js +7 -0
  243. package/modules/separator/separator.wide.js +7 -0
  244. package/modules/social-share/social-share.prototype.js +43 -0
  245. package/modules/social-share/social-share.twig +30 -0
  246. package/modules/special-coverage/special-coverage.prototype.js +47 -0
  247. package/modules/special-coverage/special-coverage.twig +29 -0
  248. package/modules/story/story.borders.js +8 -0
  249. package/modules/story/story.center-vertical-borders.js +7 -0
  250. package/modules/story/story.center-vertical.js +11 -0
  251. package/modules/story/story.prototype.js +43 -0
  252. package/modules/story/story.right-borders.js +9 -0
  253. package/modules/story/story.right.js +14 -0
  254. package/modules/story/story.story-arc.js +9 -0
  255. package/modules/story/story.twig +88 -0
  256. package/modules/story/story.vertical-borders.js +7 -0
  257. package/modules/story/story.vertical.js +11 -0
  258. package/modules/story-arc-stories/story-arc-stories.prototype.js +21 -0
  259. package/modules/story-arc-stories/story-arc-stories.twig +14 -0
  260. package/modules/story-featured-quote/story-featured-quote.prototype.js +28 -0
  261. package/modules/story-featured-quote/story-featured-quote.twig +27 -0
  262. package/modules/story-grid/story-grid.prototype.js +24 -0
  263. package/modules/story-grid/story-grid.river.js +15 -0
  264. package/modules/story-grid/story-grid.twig +17 -0
  265. package/modules/sub-header/sub-header.prototype.js +8 -0
  266. package/modules/sub-header/sub-header.twig +7 -0
  267. package/modules/top-stories/top-stories.prototype.js +41 -0
  268. package/modules/top-stories/top-stories.twig +12 -0
  269. package/modules/top-stories/top-stories.xl.js +14 -0
  270. package/modules/vlanding-playlist/README.md +1 -0
  271. package/modules/vlanding-playlist/vlanding-playlist.prototype.js +34 -0
  272. package/modules/vlanding-playlist/vlanding-playlist.twig +20 -0
  273. package/modules/vlanding-video-card/README.md +1 -0
  274. package/modules/vlanding-video-card/vlanding-video-card.prototype.js +25 -0
  275. package/modules/vlanding-video-card/vlanding-video-card.twig +56 -0
  276. package/modules/vlanding-video-showcase/README.md +12 -0
  277. package/modules/vlanding-video-showcase/vlanding-video-showcase.prototype.js +68 -0
  278. package/modules/vlanding-video-showcase/vlanding-video-showcase.twig +46 -0
  279. package/objects/o-account-menu/o-account-menu.prototype.js +35 -0
  280. package/objects/o-account-menu/o-account-menu.twig +25 -0
  281. package/objects/o-author/o-author.prototype.js +13 -0
  282. package/objects/o-author/o-author.twig +13 -0
  283. package/objects/o-card/README.md +1 -0
  284. package/objects/o-card/o-card.prototype.js +25 -0
  285. package/objects/o-card/o-card.twig +75 -0
  286. package/objects/o-card-list/README.md +3 -0
  287. package/objects/o-card-list/o-card-list.prototype.js +13 -0
  288. package/objects/o-card-list/o-card-list.twig +7 -0
  289. package/objects/o-checkbox-input-list/o-checkbox-input-list.prototype.js +16 -0
  290. package/objects/o-checkbox-input-list/o-checkbox-input-list.twig +15 -0
  291. package/objects/o-collection-item/o-collection-item.floated.js +8 -0
  292. package/objects/o-collection-item/o-collection-item.prototype.js +11 -0
  293. package/objects/o-collection-item/o-collection-item.twig +5 -0
  294. package/objects/o-email-capture-form/README.md +11 -0
  295. package/objects/o-email-capture-form/o-email-capture-form.minimal.js +15 -0
  296. package/objects/o-email-capture-form/o-email-capture-form.prototype.js +17 -0
  297. package/objects/o-email-capture-form/o-email-capture-form.twig +16 -0
  298. package/objects/o-figure/README.md +17 -0
  299. package/objects/o-figure/o-figure.prototype.js +15 -7
  300. package/objects/o-figure/o-figure.twig +22 -45
  301. package/objects/o-header/o-header.prototype.js +12 -10
  302. package/objects/o-header/o-header.twig +5 -1
  303. package/objects/o-header-buttons/o-header-buttons.column.js +10 -0
  304. package/objects/o-header-buttons/o-header-buttons.prototype.js +41 -0
  305. package/objects/o-header-buttons/o-header-buttons.twig +42 -0
  306. package/objects/o-icon-button/README.md +5 -0
  307. package/objects/o-icon-button/o-icon-button.prototype.js +21 -0
  308. package/objects/o-icon-button/o-icon-button.search.js +9 -0
  309. package/objects/o-icon-button/o-icon-button.twig +29 -0
  310. package/objects/o-indicator/README.md +1 -0
  311. package/objects/o-indicator/o-indicator.photos.js +12 -0
  312. package/objects/o-indicator/o-indicator.prototype.js +8 -0
  313. package/objects/o-indicator/o-indicator.twig +9 -0
  314. package/objects/o-input-group/o-input-group.prototype.js +11 -0
  315. package/objects/o-input-group/o-input-group.twig +5 -0
  316. package/objects/o-nav/README.md +2 -2
  317. package/objects/o-nav/o-nav.horizontal.js +6 -6
  318. package/objects/o-nav/o-nav.prototype.js +17 -13
  319. package/objects/o-nav/o-nav.twig +29 -3
  320. package/objects/o-select-nav/o-select-nav.prototype.js +17 -0
  321. package/objects/o-select-nav/o-select-nav.twig +9 -0
  322. package/objects/o-social-list/o-social-list.prototype.js +21 -31
  323. package/objects/o-social-list/o-social-list.twig +10 -2
  324. package/objects/o-span-group/README.md +1 -0
  325. package/objects/o-span-group/o-span-group.prototype.js +11 -0
  326. package/objects/o-span-group/o-span-group.twig +5 -0
  327. package/objects/o-sponsored-by/o-sponsored-by.prototype.js +9 -10
  328. package/objects/o-sponsored-by/o-sponsored-by.twig +2 -2
  329. package/objects/o-story-arc-item/o-story-arc-item.prototype.js +29 -0
  330. package/objects/o-story-arc-item/o-story-arc-item.twig +9 -0
  331. package/objects/o-sub-header/o-sub-header.prototype.js +39 -0
  332. package/objects/o-sub-header/o-sub-header.twig +9 -0
  333. package/objects/o-tease/o-tease.prototype.js +24 -20
  334. package/objects/o-tease/o-tease.twig +7 -3
  335. package/objects/o-tease-list/o-tease-list.prototype.js +12 -24
  336. package/objects/o-tease-list/o-tease-list.twig +5 -1
  337. package/package.json +6 -9
  338. package/pattern.html +61 -9
  339. package/style-guide/colors.html +33 -0
  340. package/style-guide/fonts.html +22 -0
  341. package/style-guide/index.html +14 -0
  342. package/components/c-button/c-button.scss +0 -33
  343. package/components/c-tagline/c-tagline.json +0 -4
  344. package/components/c-tagline/c-tagline.scss +0 -19
  345. package/objects/o-figure/o-figure.scss +0 -46
  346. package/objects/o-tease/o-tease.scss +0 -30
  347. package/scratch-pad.css +0 -3
@@ -0,0 +1,68 @@
1
+ const clonedeep = require('lodash.clonedeep');
2
+
3
+ const c_svg_prototype = require('@penskemediacorp/larva-patterns/components/c-svg/c-svg.prototype');
4
+ const c_heading = clonedeep(require('@penskemediacorp/larva-patterns/components/c-heading/c-heading.prototype'));
5
+ const o_input_group = clonedeep(require('@penskemediacorp/larva-patterns/objects/o-input-group/o-input-group.prototype'));
6
+ const c_button = clonedeep(require('@penskemediacorp/larva-patterns/components/c-button/c-button.prototype'));
7
+ const c_dek = clonedeep(require('@penskemediacorp/larva-patterns/components/c-dek/c-dek.prototype'));
8
+
9
+ const c_svg_header = clonedeep(c_svg_prototype);
10
+ c_svg_header.c_svg_name = 'brand-logo-white';
11
+ c_svg_header.c_svg_classes = 'lrv-u-width-150 lrv-u-margin-lr-auto lrv-u-margin-b-2';
12
+
13
+ c_heading.c_heading_classes += ' lrv-a-font-primary-l lrv-u-margin-b-2';
14
+ c_heading.c_heading_text = 'You must be 21 to enter.';
15
+
16
+ o_input_group.o_input_group_class = 'lrv-u-margin-b-2';
17
+ o_input_group_item = clonedeep( o_input_group.o_input_group_items[0] );
18
+ o_input_group_item.c_input_class = 'lrv-a-font-primary-m lrv-u-color-white lrv-u-background-color-grey-darkest lrv-u-padding-lr-050 lrv-u-padding-tb-150 lrv-u-width-100 lrv-u-text-align-center';
19
+ o_input_group_item.c_input_size_attr = 2;
20
+ o_input_group_item.c_input_maxlength_attr = 4;
21
+
22
+ o_input_day_item = clonedeep( o_input_group_item );
23
+ o_input_month_item = clonedeep( o_input_group_item );
24
+ o_input_year_item = clonedeep( o_input_group_item );
25
+
26
+ o_input_month_item.c_input_placeholder_attr = 'MM';
27
+ o_input_month_item.c_input_id_attr = 'pmc-age-gate-month';
28
+ o_input_month_item.c_input_error_attr = 'Please enter a valid month';
29
+ o_input_month_item.c_input_size_attr = 4;
30
+ o_input_month_item.c_input_maxlength_attr = 2;
31
+
32
+ o_input_day_item.c_input_placeholder_attr = 'DD';
33
+ o_input_day_item.c_input_id_attr = 'pmc-age-gate-day';
34
+ o_input_day_item.c_input_error_attr = 'Please enter a valid day';
35
+ o_input_day_item.c_input_size_attr = 4;
36
+ o_input_day_item.c_input_maxlength_attr = 2;
37
+
38
+ o_input_year_item.c_input_placeholder_attr = 'YYYY';
39
+ o_input_year_item.c_input_id_attr = 'pmc-age-gate-year';
40
+ o_input_year_item.c_input_error_attr = 'Please enter a valid year';
41
+ o_input_year_item.c_input_size_attr = 4;
42
+ o_input_year_item.c_input_maxlength_attr = 4;
43
+
44
+ o_input_group.o_input_group_items = [
45
+ o_input_month_item,
46
+ o_input_day_item,
47
+ o_input_year_item
48
+ ];
49
+
50
+ c_button.c_button_text = 'View';
51
+ c_button.c_button_classes = ' lrv-u-margin-t-2 lrv-u-color-white lrv-u-background-color-brand-primary lrv-u-padding-lr-2 lrv-u-padding-tb-075 lrv-u-margin-b-2 lrv-u-text-align-center lrv-u-text-transform-uppercase lrv-a-font-primary-m';
52
+
53
+ c_dek.c_dek_classes = 'lrv-a-font-primary-xs';
54
+ c_dek.c_dek_text = 'Legal text.'
55
+
56
+ module.exports = {
57
+ age_gate_class: 'lrv-u-height-100p lrv-u-padding-t-2 lrv-u-background-color-black lrv-u-text-align-center lrv-u-color-white',
58
+ age_gate_inner_class: 'lrv-u-max-width-1000 lrv-u-margin-lr-auto',
59
+ age_gate_form_class: 'lrv-u-border-b-1',
60
+ age_gate_error_class: 'lrv-a-font-primary-s',
61
+ form_wrapper_class: '',
62
+ age_gate_footer_class: 'lrv-u-border-t-1 lrv-u-margin-t-025',
63
+ c_heading,
64
+ c_svg_header,
65
+ o_input_group,
66
+ c_button,
67
+ c_dek
68
+ };
@@ -0,0 +1,37 @@
1
+ <div class="age-gate // js-AgeGate {{ age_gate_class }}">
2
+ <div class="age-gate-inner // {{ age_gate_inner_class }}">
3
+ <div class="age-gate-header // {{ age_gate_header_class }}">
4
+ {% if c_svg_header %}
5
+ {% include "@larva/components/c-svg/c-svg.twig" with c_svg_header %}
6
+ {% endif %}
7
+ {% if c_lazy_image_header %}
8
+ {% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image_header %}
9
+ {% endif %}
10
+ {% if c_heading %}
11
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
12
+ {% endif %}
13
+ </div>
14
+ <div class="age-gate-form // {{ age_gate_form_class }}">
15
+ <form class="js-AgeGateForm">
16
+ {% if o_input_group %}
17
+ {% include "@larva/objects/o-input-group/o-input-group.twig" with o_input_group %}
18
+ {% endif %}
19
+ <div class="age-gate-error // js-AgeGateError {{ age_gate_error_class }}"></div>
20
+ <div class="age-gate-button-wrapper">
21
+ {% include "@larva/components/c-button/c-button.twig" with c_button %}
22
+ </div>
23
+ </form>
24
+ </div>
25
+ <div class="age-gate-footer // {{ age_gate_footer_class }}">
26
+ {% if c_dek %}
27
+ {% include "@larva/components/c-dek/c-dek.twig" with c_dek %}
28
+ {% endif %}
29
+ {% if c_svg_footer %}
30
+ {% include "@larva/components/c-svg/c-svg.twig" with c_svg_footer %}
31
+ {% endif %}
32
+ {% if c_lazy_image_footer %}
33
+ {% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image_footer %}
34
+ {% endif %}
35
+ </div>
36
+ </div>
37
+ </div>
@@ -0,0 +1,5 @@
1
+ module.exports = {
2
+ article_callout_classes: '',
3
+ article_callout_title_text: 'Update',
4
+ article_callout_markup: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
5
+ };
@@ -0,0 +1,3 @@
1
+ <p class="article-callout larva // {{ article_callout_classes }}">
2
+ <span class="article-callout-title lrv-a-icon lrv-a-icon-after lrv-a-icon-vertical-pipe lrv-u-width-auto // {{ article_callout_primary_classes }}">{{ article_callout_title_text }}</span><span class="article-callout-text {{ article_callout_secondary_classes }}">{{ article_callout_markup|raw }}</span>
3
+ </p>
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ article_excerpt_classes: '',
3
+ article_excerpt_markup: 'The former President cautioned young activists against using the slogan “defund the police” to achieve changes in policing practices, instead urging them to have a more inclusive discussion to enact changes.',
4
+ };
@@ -0,0 +1 @@
1
+ <div class="article-excerpt larva // {{ article_excerpt_classes }}">{{ article_excerpt_markup|raw }}</div>
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ article_kicker_classes: '',
3
+ article_kicker_text: 'Article Kicker',
4
+ article_kicker_url: '#',
5
+ article_kicker_link_classes: '',
6
+ };
@@ -0,0 +1,13 @@
1
+ <div class="article-kicker larva // {{ article_kicker_classes }}">
2
+ {% if article_kicker_url %}
3
+ <a href="{{ article_kicker_url }}" class="article-kicker-link {{ article_kicker_link_classes }}">
4
+ {% endif %}
5
+ {% if c_svg %}
6
+ {% include "@larva/components/c-svg/c-svg.twig" with c_svg %}
7
+ {% else %}
8
+ {{ article_kicker_text }}
9
+ {% endif %}
10
+ {% if article_kicker_url %}
11
+ </a>
12
+ {% endif %}
13
+ </div>
@@ -1,7 +1,7 @@
1
- const path = require( 'path' );
2
- const clone = require( '@penskemediacorp/larva' ).clone;// This should be in this repo, probably
3
- const o_nav = clone( path.resolve( __dirname, '../../objects/o-nav/o-nav.horizontal' ) );
4
- const c_link_path = path.resolve( __dirname, '../../components/c-link/c-link.prototype' );
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const o_nav = clonedeep( require( '../../objects/o-nav/o-nav.horizontal' ) );
4
+ const c_link_prototype = require( '../../components/c-link/c-link.prototype' );
5
5
 
6
6
  o_nav.o_nav_title_text = 'Read More About:';
7
7
  o_nav.o_nav_list_items = [];
@@ -9,17 +9,16 @@ o_nav.o_nav_list_items = [];
9
9
  const tags = [ 'Art Gallery', 'Retrospective', 'Mapplethorpe' ];
10
10
 
11
11
  for (let i = 0; i < tags.length; i++) {
12
- let c_link = clone( c_link_path );
12
+ let c_link = clonedeep( c_link_prototype );
13
13
 
14
14
  c_link.c_link_text = tags[i];
15
- c_link.c_link_classes += ' pmc-u-text-transform-uppercase';
15
+ c_link.c_link_classes += ' lrv-u-text-transform-uppercase';
16
16
 
17
17
  o_nav.o_nav_list_items.push( c_link );
18
-
19
18
  }
20
19
 
21
- o_nav.o_nav_title_classes = 'pmc-u-padding-r-1 pmc-u-font-family-secondary';
20
+ o_nav.o_nav_title_classes = 'lrv-u-padding-r-1 lrv-u-font-family-secondary';
22
21
 
23
22
  module.exports = {
24
- 'o_nav': o_nav,
25
- }
23
+ o_nav: o_nav,
24
+ };
@@ -1,3 +1,3 @@
1
1
  <div class="article-tags // {{ article_tags_classes }}">
2
2
  {% include "@larva/objects/o-nav/o-nav.twig" with o_nav %}
3
- </div>
3
+ </div>
@@ -0,0 +1,13 @@
1
+ const clonedeep = require('lodash.clonedeep');
2
+
3
+ const c_timestamp_prototype = require('@penskemediacorp/larva-patterns/components/c-timestamp/c-timestamp.prototype');
4
+
5
+ const c_timestamp = clonedeep(c_timestamp_prototype);
6
+ c_timestamp.c_timestamp_classes = 'lrv-u-font-size-14 lrv-u-text-transform-uppercase lrv-u-color-black lrv-u-display-inline-block';
7
+ c_timestamp.c_timestamp_text = 'September 3, 2019 7:51pm';
8
+ c_timestamp.c_timestamp_datetime_attr = '2019-09-03';
9
+
10
+ module.exports = {
11
+ article_timestamp_classes: 'lrv-u-display-block lrv-u-margin-t-050@mobile-max',
12
+ c_timestamp: c_timestamp,
13
+ };
@@ -0,0 +1,5 @@
1
+ <div class="article-timestamp // {{ article_timestamp_classes }}">
2
+ {% if c_timestamp %}
3
+ {% include "@larva/components/c-timestamp/c-timestamp.twig" with c_timestamp %}
4
+ {% endif %}
5
+ </div>
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ article_title_classes: '',
3
+ article_title_markup: 'Frieze Editorial Director to Step Down, and More from September 6, 2019',
4
+ };
@@ -0,0 +1 @@
1
+ <h1 class="article-title larva // {{ article_title_classes }}">{{ article_title_markup|raw }}</h1>
@@ -0,0 +1,43 @@
1
+ const clonedeep = require('lodash.clonedeep');
2
+
3
+ const c_link_prototype = require('../../components/c-link/c-link.prototype');
4
+ const c_tagline_prototype = require('../../components/c-tagline/c-tagline.prototype');
5
+ const c_timestamp_prototype = require('../../components/c-timestamp/c-timestamp.prototype');
6
+
7
+ const c_timestamp = clonedeep(c_timestamp_prototype);
8
+ c_timestamp.c_timestamp_classes = 'lrv-u-color-black lrv-u-margin-l-auto';
9
+ c_timestamp.c_timestamp_text = 'September 3, 2019 7:51pm';
10
+ c_timestamp.c_timestamp_datetime_attr = '2019-09-03';
11
+
12
+ const author_details_prototype = require('../author-details/author-details.prototype');
13
+ const author_details = clonedeep(author_details_prototype);
14
+
15
+ c_link_author = clonedeep(c_link_prototype);
16
+ c_link_author.c_link_text = 'David Robb';
17
+ c_link_author.c_link_classes = 'lrv-u-color-black lrv-u-color-brand-primary:hover lrv-u-text-decoration-underline:hover';
18
+ c_link_author.c_link_url = '#';
19
+
20
+
21
+ const c_tagline_multiple_authors = clonedeep(c_tagline_prototype);
22
+ c_tagline_multiple_authors.c_tagline_classes = 'lrv-u-display-inline lrv-a-children-link-color-black lrv-a-children-link-color-brand-primary:hover lrv-a-children-link-decoration-underline:hover lrv-u-margin-r-050 lrv-u-text-transform-uppercase lrv-u-letter-spacing-015 lrv-u-letter-spacing-012@mobile-max';
23
+ c_tagline_multiple_authors.c_tagline_markup = "<a href='#'>Link 1</a>, <a href='#'>Link 2</a>";
24
+ c_tagline_multiple_authors.c_tagline_text = false;
25
+
26
+ module.exports = {
27
+ author_classes: 'lrv-u-font-size-16 lrv-u-font-family-body lrv-u-font-size-13@mobile-max',
28
+ author_multiple_inner_classes: 'lrv-u-flex@desktop',
29
+ author_single_inner_classes: ' lrv-u-flex lrv-u-align-items-center',
30
+ author_name_classes: 'lrv-u-margin-tb-00 lrv-u-text-transform-uppercase lrv-u-letter-spacing-015 lrv-u-letter-spacing-012@mobile-max',
31
+ author_content_classes: 'lrv-u-flex@tablet lrv-u-width-100p lrv-u-justify-content-space-between',
32
+ author_content_inner_classes: 'lrv-u-flex lrv-u-align-items-center lrv-a-glue-parent',
33
+ author_timestamp_outer_classes: 'lrv-u-margin-l-1@tablet',
34
+ author_tagline_classes: 'lrv-u-margin-tb-00 lrv-u-text-transform-uppercase lrv-u-letter-spacing-015 lrv-u-letter-spacing-012@mobile-max',
35
+ author_button_classes: 'lrv-a-unstyle-button lrv-u-display-contents lrv-u-flex lrv-u-align-items-center js-PopOver',
36
+ author_detail_outer_classes: 'lrv-a-hidden@desktop-max lrv-a-glue lrv-a-glue--l-0 lrv-a-glue--t-100p js-PopOver-target',
37
+ is_multiple_author: false,
38
+ c_tagline_multiple_authors: c_tagline_multiple_authors,
39
+ c_timestamp: c_timestamp,
40
+ c_link: c_link_author,
41
+ c_icon: false,
42
+ author_details: author_details
43
+ };
@@ -0,0 +1,38 @@
1
+ <div class="author // {{ author_classes }}">
2
+ {% if is_multiple_author %}
3
+ <div class="author-multiple-inner // {{ author_multiple_inner_classes }} ">
4
+ <div class="author-tagline // {{ author_tagline_classes }} ">
5
+ By {% include "@larva/components/c-tagline/c-tagline.twig" with c_tagline_multiple_authors %}
6
+ </div>
7
+ {% if c_timestamp %}
8
+ {% include "@larva/components/c-timestamp/c-timestamp.twig" with c_timestamp %}
9
+ {% endif %}
10
+ </div>
11
+ {% else %}
12
+ <div class="author-single-inner // {{ author_single_inner_classes }} ">
13
+ <div class="author-content // {{ author_content_classes }} ">
14
+ <div class="author-content-inner // {{ author_content_inner_classes }} ">
15
+ <button class="author-button // {{ author_button_classes }} ">
16
+ <p class="author-name // {{ author_name_classes }} ">
17
+ By {% include "@larva/components/c-link/c-link.twig" with c_link %}
18
+ </p>
19
+
20
+ {% if c_icon %}
21
+ {% include "@larva/components/c-icon/c-icon.twig" with c_icon %}
22
+ {% endif %}
23
+
24
+ <div class="author-detail-outer // {{ author_detail_outer_classes }} ">
25
+ {% include "@larva/modules/author-details/author-details.twig" with author_details %}
26
+ </div>
27
+ </button>
28
+ </div>
29
+
30
+ {% if c_timestamp %}
31
+ <div class="author-timestamp-outer // {{ author_timestamp_outer_classes }}">
32
+ {% include "@larva/components/c-timestamp/c-timestamp.twig" with c_timestamp %}
33
+ </div>
34
+ {% endif %}
35
+ </div>
36
+ </div>
37
+ {% endif %}
38
+ </div>
@@ -0,0 +1,56 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_lazy_image_prototype = require( '../../components/c-lazy-image/c-lazy-image.prototype' );
4
+ const c_heading_prototype = require( '../../components/c-heading/c-heading.prototype' );
5
+ const c_title_prototype = require( '../../components/c-title/c-title.prototype' );
6
+ const c_tagline_prototype = require( '../../components/c-tagline/c-tagline.prototype' );
7
+ const o_social_list_prototype = require( '../../objects/o-social-list/o-social-list.prototype' );
8
+ const c_icon_prototype = require( '../../components/c-icon/c-icon.prototype' );
9
+
10
+ const c_lazy_image = clonedeep( c_lazy_image_prototype );
11
+ const c_heading = clonedeep( c_heading_prototype );
12
+ const c_title = clonedeep( c_title_prototype );
13
+ const c_tagline = clonedeep( c_tagline_prototype );
14
+ const o_social_list = clonedeep( o_social_list_prototype );
15
+
16
+ c_lazy_image.c_lazy_image_classes += ' lrv-u-width-200';
17
+ c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-1x1';
18
+
19
+ c_heading.c_heading_classes = ' lrv-u-font-family-secondary lrv-u-font-size-36@desktop lrv-u-font-weight-bold';
20
+ c_heading.c_heading_text = 'Mike Fleming Jr';
21
+
22
+ c_title.c_title_classes = 'lrv-u-font-family-primary lrv-u-font-weight-normal lrv-u-color-grey-dark lrv-u-font-size-14@mobile-max lrv-u-font-size-18 lrv-u-margin-b-1 lrv-u-text-transform-uppercase';
23
+ c_title.c_title_text = 'Co-Editor-in-Chief, Film';
24
+ c_title.c_title_url = false;
25
+
26
+ c_tagline.c_tagline_classes += ' lrv-u-font-size-14 lrv-u-font-weight-light lrv-u-font-size-16 lrv-u-font-size-18@desktop-xl lrv-u-margin-a-00 lrv-u-padding-t-1 ';
27
+ c_tagline.c_tagline_text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. At quis risus sed vulputate odio ut enim blandit. Aliquam sem et tortor consequat id. Convallis aenean et tortor at risus viverra. Sagittis aliquam malesuada bibendum arcu vitae elementum curabitur vitae. Id aliquet lectus proin nibh nisl. Id diam maecenas ultricies mi. Luctus venenatis lectus magna fringilla urna porttitor rhoncus.';
28
+
29
+ o_social_list.o_social_list_classes += ' lrv-u-flex';
30
+
31
+ const social = [ 'instagram', 'twitter', 'facebook', 'youtube' ];
32
+ const o_social_list_icons = [];
33
+
34
+ for ( let i = 0; i < social.length; i++ ) {
35
+ let c_icon = clonedeep( c_icon_prototype );
36
+
37
+ c_icon.c_icon_name = social[i];
38
+ c_icon.c_icon_link_classes += ' lrv-u-display-block lrv-u-border-radius-50p lrv-u-color-grey lrv-u-padding-a-025 lrv-u-background-color-white lrv-u-color-grey-dark:hover lrv-u-margin-r-1';
39
+ c_icon.c_icon_url = '#';
40
+
41
+ o_social_list_icons.push( c_icon );
42
+ }
43
+ o_social_list.o_social_list_icons = o_social_list_icons;
44
+
45
+ module.exports = {
46
+ c_lazy_image: c_lazy_image,
47
+ c_heading: c_heading,
48
+ c_title: c_title,
49
+ o_social_list: o_social_list,
50
+ c_tagline: c_tagline,
51
+ author_blurb_classes: 'lrv-u-margin-b-2 lrv-u-flex lrv-u-flex-wrap-wrap',
52
+ author_blurb_image_classes: 'lrv-u-margin-r-1',
53
+ author_blurb_details_classes: '',
54
+ author_blurb_text_classes: '',
55
+ };
56
+
@@ -0,0 +1,27 @@
1
+ <section class="author-blurb // {{ author_blurb_classes }} ">
2
+ {% if c_lazy_image %}
3
+ <div class="author-blurb-grid__image // {{ author_blurb_image_classes }} ">
4
+ {% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
5
+ </div>
6
+ {% endif %}
7
+
8
+ <div class="author-blurb-grid__details // {{ author_blurb_details_classes }} ">
9
+ {% if c_heading %}
10
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
11
+ {% endif %}
12
+
13
+ {% if c_title %}
14
+ {% include "@larva/components/c-title/c-title.twig" with c_title %}
15
+ {% endif %}
16
+
17
+ {% if o_social_list %}
18
+ {% include "@larva/objects/o-social-list/o-social-list.twig" with o_social_list %}
19
+ {% endif %}
20
+ </div>
21
+
22
+ {% if c_tagline %}
23
+ <div class="author-blurb-grid__text // {{ author_blurb_text_classes }} ">
24
+ {% include "@larva/components/c-tagline/c-tagline.twig" with c_tagline %}
25
+ </div>
26
+ {% endif %}
27
+ </section>
@@ -0,0 +1,70 @@
1
+ const clonedeep = require('lodash.clonedeep');
2
+
3
+ const o_nav_prototype = require('../../objects/o-nav/o-nav.prototype');
4
+ const o_nav = clonedeep(o_nav_prototype);
5
+
6
+ const c_title_prototype = require('../../components/c-title/c-title.prototype');
7
+ const c_title = clonedeep(c_title_prototype);
8
+
9
+ const c_icon_prototype = require('../../components/c-icon/c-icon.prototype');
10
+ const c_icon_twitter = clonedeep(c_icon_prototype);
11
+ const c_icon_mail = clonedeep(c_icon_prototype);
12
+
13
+ const c_link_prototype = require('../../components/c-link/c-link.prototype');
14
+ const storyTitles = [
15
+ 'No Doubt’s Tony Kanal on Robbie Shakespeare: ‘You Can’t Overstate How Great He Was’',
16
+ 'From ‘Downpressor Man’ to ‘Jokerman’: 10 Essential Robbie Shakespeare Tracks'
17
+ ];
18
+
19
+ // Overwrite default items
20
+ o_nav.o_nav_list_items = [];
21
+
22
+ for (let i = 0; i < storyTitles.length; i++) {
23
+ let c_link = clonedeep(c_link_prototype);
24
+
25
+ c_link.c_link_text = storyTitles[i];
26
+ c_link.c_link_classes = 'lrv-u-color-black';
27
+
28
+ o_nav.o_nav_list_items.push(c_link);
29
+ };
30
+
31
+ c_title.c_title_classes = 'lrv-u-font-size-13 lrv-u-font-weight-bold lrv-u-margin-r-auto lrv-u-text-transform-uppercase lrv-u-width-100';
32
+ c_title.c_title_url = '#';
33
+ c_title.c_title_text = 'PATRICIA MESCHINO';
34
+ c_title.c_title_link_classes = 'lrv-u-color-black';
35
+
36
+ o_nav.o_nav_classes = 'lrv-u-border-t-1 lrv-u-width-100p lrv-u-margin-t-075 lrv-u-padding-t-025 ';
37
+ o_nav.o_nav_title_text = '';
38
+ o_nav.o_nav_title_classes = 'lrv-u-padding-t-050 lrv-u-padding-b-025 lrv-u-font-family-primary lrv-u-font-size-20';
39
+ o_nav.o_nav_list_classes = ' lrv-u-font-size-13 lrv-u-border-t-1 lrv-u-border-b-1 lrv-u-padding-l-1 lrv-u-padding-t-075 lrv-u-list-style-type-disclosure-closed';
40
+ o_nav.o_nav_list_item_classes = 'lrv-u-padding-b-075';
41
+
42
+ c_icon_twitter.c_icon_name = 'twitter';
43
+ c_icon_twitter.c_icon_classes = 'lrv-u-width-16 lrv-u-height-16 lrv-u-color-black';
44
+ c_icon_twitter.c_icon_url = "#";
45
+ c_icon_twitter.c_icon_screen_reader_text = 'Twitter Icon';
46
+ c_icon_twitter.c_icon_screen_reader_title_attr = 'Twitter Icon';
47
+ c_icon_twitter.c_icon_link_classes = 'lrv-u-flex';
48
+
49
+ c_icon_mail.c_icon_name = 'envelope';
50
+ c_icon_mail.c_icon_classes = 'lrv-u-margin-l-075 lrv-u-width-16 lrv-u-height-16 lrv-u-color-black';
51
+ c_icon_mail.c_icon_url = "#";
52
+ c_icon_mail.c_icon_screen_reader_text = 'Email Icon';
53
+ c_icon_mail.c_icon_screen_reader_title_attr = 'Email Icon';
54
+ c_icon_mail.c_icon_link_classes = 'lrv-u-flex';
55
+
56
+ c_link_view_all = clonedeep(c_link_prototype);
57
+ c_link_view_all.c_link_classes = 'lrv-a-unstyle-link lrv-u-font-size-10 lrv-u-text-transform-uppercase';
58
+ c_link_view_all.c_link_text = 'View All Stories ▶';
59
+ c_link_view_all.c_link_url = '#';
60
+
61
+ module.exports = {
62
+ author_details_classes: 'lrv-u-padding-lr-125 lrv-u-padding-t-125 lrv-u-padding-b-1 lrv-u-width-215 lrv-u-flex lrv-u-flex-wrap-wrap lrv-u-background-color-white lrv-u-border-a-2 lrv-a-glue-parent lrv-a-icon-after-arrow-top-left lrv-u-margin-t-1',
63
+ author_details_icons_classes: 'lrv-u-flex lrv-u-align-items-center lrv-u-margin-l-auto',
64
+ author_details_view_link_classes: ' lrv-u-flex lrv-u-margin-l-auto',
65
+ c_title: c_title,
66
+ c_icon_twitter: c_icon_twitter,
67
+ c_icon_mail: c_icon_mail,
68
+ o_nav: o_nav,
69
+ c_link_view_all: c_link_view_all
70
+ };
@@ -0,0 +1,25 @@
1
+ <section class="author-details // {{ author_details_classes }} ">
2
+
3
+ {% include "@larva/components/c-title/c-title.twig" with c_title %}
4
+
5
+ <div class="author-details-icons // {{ author_details_icons_classes }} ">
6
+ {% if c_icon_twitter %}
7
+ {% include "@larva/components/c-icon/c-icon.twig" with c_icon_twitter %}
8
+ {% endif %}
9
+ {% if c_icon_mail %}
10
+ {% include "@larva/components/c-icon/c-icon.twig" with c_icon_mail %}
11
+ {% endif %}
12
+ </div>
13
+
14
+ {% if o_nav %}
15
+
16
+ {% include "@larva/objects/o-nav/o-nav.twig" with o_nav %}
17
+
18
+ {% if c_link_view_all %}
19
+ <div class="author-details-view-link // {{ author_details_view_link_classes }} ">
20
+ {% include "@larva/components/c-link/c-link.twig" with c_link_view_all %}
21
+ </div>
22
+ {% endif %}
23
+
24
+ {% endif %}
25
+ </section>
@@ -0,0 +1,11 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_link = clonedeep( require( '../../components/c-link/c-link.prototype' ) );
4
+
5
+ c_link.c_link_text = 'Back to the full list';
6
+ c_link.c_link_classes += ' lrv-u-text-transform-uppercase lrv-u-font-family-primary lrv-u-font-size-20 lrv-a-icon-before lrv-a-icon-arrow-left';
7
+
8
+ module.exports = {
9
+ back_to_list_classes: 'a-hidden@desktop-max',
10
+ c_link: c_link
11
+ };
@@ -0,0 +1,5 @@
1
+ <div class="back-to-list // lrv-u-padding-tb-1 {{ back_to_list_classes }}">
2
+ {% if c_link %}
3
+ {% include "@larva/components/c-link/c-link.twig" with c_link %}
4
+ {% endif %}
5
+ </div>
@@ -1,7 +1,11 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_span_prototye = require( '../../components/c-span/c-span.prototype' );
4
+ const c_span = clonedeep( c_span_prototye );
5
+
6
+ c_span.c_span_classes += ' lrv-u-background-color-grey-light lrv-u-font-size-12 lrv-u-padding-a-025';
7
+ c_span.c_span_text = 'Sponsored Video';
8
+
1
9
  module.exports = {
2
- "c_span": {
3
- "modifier_class": "c-span--plain",
4
- "c_span_classes": "pmc-u-background-grey-light pmc-u-font-size-12 pmc-u-padding-a-025",
5
- "c_span_text": "Sponsored Video"
6
- }
7
- }
10
+ c_span: c_span
11
+ };
@@ -1,3 +1,3 @@
1
- <div class="pmc-u-display-block u-margin-tb-auto {{ badge_classes }}">
1
+ <div class="lrv-u-display-block lrv-u-margin-tb-auto {{ badge_classes }}">
2
2
  {% include "@larva/components/c-span/c-span.twig" with c_span %}
3
3
  </div>
@@ -0,0 +1,10 @@
1
+ const clonedeep = require('lodash.clonedeep');
2
+
3
+ const c_lazy_image_prototype = require('../../components/c-lazy-image/c-lazy-image.prototype');
4
+ const c_lazy_image = clonedeep(c_lazy_image_prototype);
5
+
6
+ module.exports = {
7
+ banner_classes: '',
8
+ c_lazy_image,
9
+ screen_reader_text: 'Page Banner',
10
+ };
@@ -0,0 +1,10 @@
1
+ <div class="banner // {{ banner_classes }}">
2
+ <div class="banner__img">
3
+ {% if c_lazy_image %}
4
+ {% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
5
+ {% endif %}
6
+ </div>
7
+ {% if screen_reader_text %}
8
+ <h1 class="lrv-a-screen-reader-only">{{ screen_reader_text }}</h1>
9
+ {% endif %}
10
+ </div>
@@ -0,0 +1,40 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_heading_prototype = require( '../../components/c-heading/c-heading.prototype' );
4
+ const o_card_prototype = require( '../../objects/o-card/o-card.prototype' );
5
+ const c_title_prototype = require( '../../components/c-title/c-title.prototype' );
6
+ const c_svg_prototype = require( '../../components/c-svg/c-svg.prototype' );
7
+ const c_span_prototype = require( '../../components/c-span/c-span.prototype' );
8
+
9
+ const c_heading = clonedeep( c_heading_prototype );
10
+ const o_card = clonedeep( o_card_prototype );
11
+ const c_title = clonedeep( c_title_prototype );
12
+ const c_svg = clonedeep( c_svg_prototype );
13
+ const c_span = clonedeep( c_span_prototype );
14
+
15
+ c_heading.c_heading_text = 'Most Popular';
16
+
17
+ c_svg.c_svg_classes = 'lrv-u-height-16 lrv-u-color-black';
18
+ c_svg.c_svg_name = 'brand-logo';
19
+
20
+ c_title.c_title_text = 'Lorem ipsum dolor, sit amet consectetur adipisicing elit. Animi expedita pariatur.';
21
+ c_title.c_title_classes += ' lrv-u-margin-b-075';
22
+ c_title.c_title_url = false;
23
+
24
+ o_card.o_card_classes = 'lrv-u-flex lrv-u-height-100p lrv-u-color-brand-primary:hover';
25
+ o_card.o_card_link_url = '#';
26
+ o_card.o_card_link_classes = 'lrv-a-unstyle-link';
27
+ o_card.o_card_content_classes = 'lrv-u-flex lrv-u-flex-direction-column';
28
+ o_card.o_card_image_wrap_classes = '';
29
+ o_card.c_lazy_image = false;
30
+ o_card.c_span = false;
31
+ o_card.c_svg = c_svg;
32
+ o_card.c_title = c_title;
33
+ o_card.c_timestamp = false;
34
+
35
+ module.exports = {
36
+ brands_most_popular_classes: 'lrv-a-wrapper lrv-u-margin-b-150',
37
+ brands_most_popular_items_wrapper_classes: '',
38
+ c_heading: c_heading,
39
+ popular_items: [ o_card, o_card, o_card, o_card ],
40
+ };
@@ -0,0 +1,11 @@
1
+ <section class="brands-most-popular // {{brands_most_popular_classes}}">
2
+ {% if c_heading %}
3
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
4
+ {% endif %}
5
+
6
+ <div class="{{ brands_most_popular_items_wrapper_classes }}">
7
+ {% for item in popular_items %}
8
+ {% include "@larva/objects/o-card/o-card.twig" with item %}
9
+ {% endfor %}
10
+ </div>
11
+ </section>
@@ -1,8 +1,7 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
1
2
 
2
- const path = require( 'path' );
3
- const clone = require( '@penskemediacorp/larva' ).clone;// This should be in this repo, probably
4
- const o_nav = clone( path.resolve( __dirname, '../../objects/o-nav/o-nav.horizontal' ) );
3
+ const o_nav = clonedeep( require( '../../objects/o-nav/o-nav.horizontal' ) );
5
4
 
6
5
  module.exports = {
7
- 'o_nav': o_nav
8
- }
6
+ o_nav: o_nav
7
+ };
@@ -1,3 +1,3 @@
1
1
  <div class="breadcrumbs // {{ breadcrumbs_classes }}">
2
2
  {% include "@larva/objects/o-nav/o-nav.twig" with o_nav %}
3
- </div>
3
+ </div>