@penskemediacorp/larva-patterns 1.2.0-alpha.0 → 1.3.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 (381) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -6
  3. package/__tests__/css/css.html +9 -0
  4. package/__tests__/css/css.prototype.js +1 -0
  5. package/__tests__/hub/hub.html +25 -0
  6. package/__tests__/hub/hub.prototype.js +30 -0
  7. package/__tests__/profile/profile.html +29 -0
  8. package/__tests__/profile/profile.prototype.js +17 -0
  9. package/__tests__/profile-index/profile-index.html +9 -0
  10. package/__tests__/profile-index/profile-index.prototype.js +6 -0
  11. package/__tests__/vlanding/vlanding.html +7 -0
  12. package/__tests__/vlanding/vlanding.prototype.js +11 -0
  13. package/_data/brands.json +40 -0
  14. package/_templates/pattern-nav.html +52 -0
  15. package/algorithms/a-carousel-grid/README.md +5 -0
  16. package/algorithms/a-carousel-grid/a-carousel-grid.html +25 -0
  17. package/algorithms/a-carousel-grid/a-carousel-grid.overlay.js +12 -0
  18. package/algorithms/a-carousel-grid/a-carousel-grid.prototype.js +0 -0
  19. package/algorithms/a-icon/a-icon.html +1 -0
  20. package/algorithms/a-icon/a-icon.prototype.js +0 -0
  21. package/base.html +73 -0
  22. package/components/c-button/README.md +3 -0
  23. package/components/c-button/c-button.black.js +7 -0
  24. package/components/c-button/c-button.brand-basic.js +8 -0
  25. package/components/c-button/c-button.ghost.js +10 -0
  26. package/components/c-button/c-button.prototype.js +11 -0
  27. package/components/c-button/c-button.stripped.js +8 -0
  28. package/components/c-button/c-button.twig +19 -0
  29. package/components/c-checkbox-input/c-checkbox-input.prototype.js +6 -0
  30. package/components/c-checkbox-input/c-checkbox-input.twig +4 -0
  31. package/components/c-dek/README.md +3 -0
  32. package/components/c-dek/c-dek.prototype.js +5 -0
  33. package/components/c-dek/c-dek.twig +9 -0
  34. package/components/c-email-field/README.md +0 -0
  35. package/components/c-email-field/c-email-field.ghost.js +10 -0
  36. package/components/c-email-field/c-email-field.prototype.js +8 -0
  37. package/components/c-email-field/c-email-field.twig +4 -0
  38. package/components/c-figcaption/c-figcaption.prototype.js +9 -0
  39. package/components/c-figcaption/c-figcaption.twig +16 -0
  40. package/components/c-heading/README.md +4 -0
  41. package/components/c-heading/c-heading.prototype.js +10 -0
  42. package/components/c-heading/c-heading.twig +29 -0
  43. package/components/c-hidden-field/c-hidden-field.prototype.js +5 -0
  44. package/components/c-hidden-field/c-hidden-field.twig +1 -0
  45. package/components/c-icon/c-icon.full.js +8 -0
  46. package/components/c-icon/c-icon.prototype.js +12 -0
  47. package/components/c-icon/c-icon.twig +34 -0
  48. package/components/c-input/c-input.prototype.js +8 -0
  49. package/components/c-input/c-input.twig +14 -0
  50. package/components/c-label/README.md +12 -0
  51. package/components/c-label/c-label.prototype.js +7 -0
  52. package/components/c-label/c-label.twig +19 -0
  53. package/components/c-lazy-image/README.md +35 -0
  54. package/components/c-lazy-image/c-lazy-image.prototype.js +17 -0
  55. package/components/c-lazy-image/c-lazy-image.twig +31 -0
  56. package/components/c-link/README.md +1 -0
  57. package/components/c-link/c-link.prototype.js +9 -0
  58. package/components/c-link/c-link.twig +13 -0
  59. package/components/c-logo/c-logo.prototype.js +7 -0
  60. package/components/c-logo/c-logo.twig +10 -0
  61. package/components/c-nav-link/c-nav-link.prototype.js +7 -0
  62. package/components/c-nav-link/c-nav-link.twig +10 -0
  63. package/components/c-play-badge/c-play-badge.prototype.js +3 -0
  64. package/components/c-play-badge/c-play-badge.twig +7 -0
  65. package/components/c-select-option/c-select-option.prototype.js +5 -0
  66. package/components/c-select-option/c-select-option.twig +5 -0
  67. package/{src/components/c-label/c-label.scss → components/c-span/README.md} +0 -19
  68. package/components/c-span/c-span.prototype.js +7 -0
  69. package/components/c-span/c-span.tag.js +7 -0
  70. package/components/c-span/c-span.twig +11 -0
  71. package/components/c-svg/c-svg.prototype.js +4 -0
  72. package/components/c-svg/c-svg.twig +3 -0
  73. package/components/c-tagline/README.md +3 -0
  74. package/components/c-tagline/c-tagline.prototype.js +4 -0
  75. package/{src/components → components}/c-tagline/c-tagline.twig +3 -3
  76. package/components/c-timestamp/c-timestamp.prototype.js +6 -0
  77. package/components/c-timestamp/c-timestamp.twig +9 -0
  78. package/components/c-title/README.md +7 -0
  79. package/components/c-title/c-title.prototype.js +9 -0
  80. package/{src/components → components}/c-title/c-title.twig +14 -2
  81. package/css.html +44 -0
  82. package/index.html +9 -0
  83. package/index.js +4 -0
  84. package/modules/age-gate/README.md +3 -0
  85. package/modules/age-gate/age-gate.prototype.js +68 -0
  86. package/modules/age-gate/age-gate.twig +37 -0
  87. package/modules/article-callout/article-callout.prototype.js +5 -0
  88. package/modules/article-callout/article-callout.twig +3 -0
  89. package/modules/article-excerpt/article-excerpt.prototype.js +4 -0
  90. package/modules/article-excerpt/article-excerpt.twig +1 -0
  91. package/modules/article-kicker/article-kicker.prototype.js +6 -0
  92. package/modules/article-kicker/article-kicker.twig +13 -0
  93. package/modules/article-tags/article-tags.prototype.js +24 -0
  94. package/modules/article-tags/article-tags.twig +3 -0
  95. package/modules/article-title/article-title.prototype.js +4 -0
  96. package/modules/article-title/article-title.twig +1 -0
  97. package/modules/author/author.prototype.js +43 -0
  98. package/modules/author/author.twig +38 -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 +11 -0
  104. package/modules/badge/badge.twig +3 -0
  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 +7 -0
  110. package/modules/breadcrumbs/breadcrumbs.twig +3 -0
  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 +29 -0
  127. package/modules/content-showcase/content-showcase.the-moth.js +31 -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 +18 -0
  142. package/modules/footer-menus/footer-menus.twig +5 -0
  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 +36 -0
  148. package/modules/footer-social/footer-social.twig +5 -0
  149. package/modules/footer-tip/footer-tip.prototype.js +23 -0
  150. package/modules/footer-tip/footer-tip.twig +5 -0
  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/list/list.ordered.js +7 -0
  172. package/modules/list/list.prototype.js +57 -0
  173. package/modules/list/list.twig +11 -0
  174. package/modules/listicle-item/listicle-item.prototype.js +11 -0
  175. package/modules/listicle-item/listicle-item.twig +3 -0
  176. package/modules/mega-menu/mega-menu.prototype.js +16 -0
  177. package/modules/mega-menu/mega-menu.twig +10 -0
  178. package/modules/mega-menu-content/mega-menu-content.prototype.js +10 -0
  179. package/modules/mega-menu-content/mega-menu-content.twig +5 -0
  180. package/modules/mega-menu-footer/mega-menu-footer.prototype.js +41 -0
  181. package/modules/mega-menu-footer/mega-menu-footer.twig +19 -0
  182. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.prototype.js +20 -0
  183. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.twig +4 -0
  184. package/modules/mega-menu-item/mega-menu-item.prototype.js +23 -0
  185. package/modules/mega-menu-item/mega-menu-item.twig +13 -0
  186. package/modules/more-stories-button/more-stories-button.profile.js +12 -0
  187. package/modules/more-stories-button/more-stories-button.prototype.js +29 -0
  188. package/modules/more-stories-button/more-stories-button.twig +13 -0
  189. package/modules/newsletter/newsletter.prototype.js +46 -0
  190. package/modules/newsletter/newsletter.twig +21 -0
  191. package/modules/newsletter-cta/newsletter-cta.prototype.js +21 -0
  192. package/modules/newsletter-cta/newsletter-cta.twig +22 -0
  193. package/modules/newswire/newswire.prototype.js +46 -0
  194. package/modules/newswire/newswire.twig +16 -0
  195. package/modules/paragraph/paragraph.prototype.js +8 -0
  196. package/modules/paragraph/paragraph.twig +3 -0
  197. package/modules/pmc-footer/README.md +3 -0
  198. package/modules/pmc-footer/pmc-footer.prototype.js +47 -0
  199. package/modules/pmc-footer/pmc-footer.twig +17 -0
  200. package/modules/post-content-image/post-content-image.prototype.js +14 -0
  201. package/modules/post-content-image/post-content-image.twig +3 -0
  202. package/modules/profile-blurb/profile-blurb.card.js +28 -0
  203. package/modules/profile-blurb/profile-blurb.prototype.js +45 -0
  204. package/modules/profile-blurb/profile-blurb.twig +37 -0
  205. package/modules/profile-body/profile-body.prototype.js +20 -0
  206. package/modules/profile-body/profile-body.twig +15 -0
  207. package/modules/profile-browse-by/profile-browse-by.prototype.js +29 -0
  208. package/modules/profile-browse-by/profile-browse-by.twig +6 -0
  209. package/modules/profile-card-list/profile-card-list.prototype.js +25 -0
  210. package/modules/profile-card-list/profile-card-list.twig +7 -0
  211. package/modules/profile-filter/profile-filter.prototype.js +26 -0
  212. package/modules/profile-filter/profile-filter.twig +15 -0
  213. package/modules/profile-gallery/profile-gallery.prototype.js +28 -0
  214. package/modules/profile-gallery/profile-gallery.twig +13 -0
  215. package/modules/profile-header/profile-header.prototype.js +29 -0
  216. package/modules/profile-header/profile-header.twig +27 -0
  217. package/modules/profile-highlights/profile-highlights.prototype.js +22 -0
  218. package/modules/profile-highlights/profile-highlights.twig +17 -0
  219. package/modules/profile-landing-header/profile-landing-header.prototype.js +17 -0
  220. package/modules/profile-landing-header/profile-landing-header.twig +12 -0
  221. package/modules/profile-landing-river/profile-landing-river.prototype.js +21 -0
  222. package/modules/profile-landing-river/profile-landing-river.twig +13 -0
  223. package/modules/profile-related-stories/profile-related-stories.prototype.js +33 -0
  224. package/modules/profile-related-stories/profile-related-stories.twig +9 -0
  225. package/modules/pullquote/pullquote.prototype.js +8 -0
  226. package/modules/pullquote/pullquote.twig +3 -0
  227. package/modules/read-next/read-next.prototype.js +20 -0
  228. package/modules/read-next/read-next.twig +4 -0
  229. package/modules/search-form/search-form.prototype.js +8 -0
  230. package/modules/search-form/search-form.twig +11 -0
  231. package/modules/secondary-stories/secondary-stories.prototype.js +119 -0
  232. package/modules/secondary-stories/secondary-stories.twig +22 -0
  233. package/modules/separator/separator.prototype.js +4 -0
  234. package/modules/separator/separator.thick.js +7 -0
  235. package/modules/separator/separator.twig +1 -0
  236. package/modules/separator/separator.wide-thick.js +7 -0
  237. package/modules/separator/separator.wide.js +7 -0
  238. package/modules/social-share/social-share.prototype.js +43 -0
  239. package/modules/social-share/social-share.twig +30 -0
  240. package/modules/special-coverage/special-coverage.prototype.js +47 -0
  241. package/modules/special-coverage/special-coverage.twig +29 -0
  242. package/modules/story/story.borders.js +8 -0
  243. package/modules/story/story.center-vertical-borders.js +7 -0
  244. package/modules/story/story.center-vertical.js +11 -0
  245. package/modules/story/story.prototype.js +43 -0
  246. package/modules/story/story.right-borders.js +9 -0
  247. package/modules/story/story.right.js +14 -0
  248. package/modules/story/story.story-arc.js +9 -0
  249. package/modules/story/story.twig +88 -0
  250. package/modules/story/story.vertical-borders.js +7 -0
  251. package/modules/story/story.vertical.js +11 -0
  252. package/modules/story-arc-stories/story-arc-stories.prototype.js +21 -0
  253. package/modules/story-arc-stories/story-arc-stories.twig +14 -0
  254. package/modules/story-featured-quote/story-featured-quote.prototype.js +32 -0
  255. package/modules/story-featured-quote/story-featured-quote.twig +25 -0
  256. package/modules/story-grid/story-grid.prototype.js +24 -0
  257. package/modules/story-grid/story-grid.river.js +15 -0
  258. package/modules/story-grid/story-grid.twig +17 -0
  259. package/modules/sub-header/sub-header.prototype.js +8 -0
  260. package/modules/sub-header/sub-header.twig +7 -0
  261. package/modules/top-stories/top-stories.prototype.js +41 -0
  262. package/modules/top-stories/top-stories.twig +12 -0
  263. package/modules/vlanding-playlist/README.md +1 -0
  264. package/modules/vlanding-playlist/vlanding-playlist.prototype.js +34 -0
  265. package/modules/vlanding-playlist/vlanding-playlist.twig +20 -0
  266. package/modules/vlanding-video-card/README.md +1 -0
  267. package/modules/vlanding-video-card/vlanding-video-card.prototype.js +25 -0
  268. package/modules/vlanding-video-card/vlanding-video-card.twig +56 -0
  269. package/modules/vlanding-video-showcase/README.md +12 -0
  270. package/modules/vlanding-video-showcase/vlanding-video-showcase.prototype.js +68 -0
  271. package/modules/vlanding-video-showcase/vlanding-video-showcase.twig +46 -0
  272. package/objects/o-account-menu/o-account-menu.prototype.js +35 -0
  273. package/objects/o-account-menu/o-account-menu.twig +25 -0
  274. package/objects/o-author/o-author.prototype.js +13 -0
  275. package/objects/o-author/o-author.twig +13 -0
  276. package/objects/o-card/README.md +1 -0
  277. package/objects/o-card/o-card.prototype.js +25 -0
  278. package/objects/o-card/o-card.twig +75 -0
  279. package/objects/o-card-list/README.md +3 -0
  280. package/objects/o-card-list/o-card-list.prototype.js +13 -0
  281. package/objects/o-card-list/o-card-list.twig +7 -0
  282. package/objects/o-checkbox-input-list/o-checkbox-input-list.prototype.js +16 -0
  283. package/objects/o-checkbox-input-list/o-checkbox-input-list.twig +15 -0
  284. package/objects/o-collection-item/o-collection-item.floated.js +8 -0
  285. package/objects/o-collection-item/o-collection-item.prototype.js +11 -0
  286. package/objects/o-collection-item/o-collection-item.twig +5 -0
  287. package/objects/o-email-capture-form/README.md +11 -0
  288. package/objects/o-email-capture-form/o-email-capture-form.minimal.js +15 -0
  289. package/objects/o-email-capture-form/o-email-capture-form.prototype.js +17 -0
  290. package/objects/o-email-capture-form/o-email-capture-form.twig +16 -0
  291. package/objects/o-figure/README.md +17 -0
  292. package/objects/o-figure/o-figure.prototype.js +16 -0
  293. package/objects/o-figure/o-figure.twig +34 -0
  294. package/objects/o-header/o-header.prototype.js +14 -0
  295. package/{src/objects → objects}/o-header/o-header.twig +5 -1
  296. package/objects/o-header-buttons/o-header-buttons.column.js +10 -0
  297. package/objects/o-header-buttons/o-header-buttons.prototype.js +41 -0
  298. package/objects/o-header-buttons/o-header-buttons.twig +42 -0
  299. package/objects/o-icon-button/README.md +5 -0
  300. package/objects/o-icon-button/o-icon-button.prototype.js +21 -0
  301. package/objects/o-icon-button/o-icon-button.search.js +9 -0
  302. package/objects/o-icon-button/o-icon-button.twig +21 -0
  303. package/objects/o-indicator/README.md +1 -0
  304. package/objects/o-indicator/o-indicator.photos.js +12 -0
  305. package/objects/o-indicator/o-indicator.prototype.js +8 -0
  306. package/objects/o-indicator/o-indicator.twig +9 -0
  307. package/objects/o-input-group/o-input-group.prototype.js +11 -0
  308. package/objects/o-input-group/o-input-group.twig +5 -0
  309. package/objects/o-nav/README.md +3 -0
  310. package/objects/o-nav/o-nav.horizontal.js +8 -0
  311. package/objects/o-nav/o-nav.prototype.js +23 -0
  312. package/objects/o-nav/o-nav.twig +40 -0
  313. package/objects/o-select-nav/o-select-nav.prototype.js +17 -0
  314. package/objects/o-select-nav/o-select-nav.twig +9 -0
  315. package/objects/o-social-list/o-social-list.prototype.js +23 -0
  316. package/objects/o-social-list/o-social-list.twig +15 -0
  317. package/objects/o-span-group/README.md +1 -0
  318. package/objects/o-span-group/o-span-group.prototype.js +11 -0
  319. package/objects/o-span-group/o-span-group.twig +5 -0
  320. package/objects/o-sponsored-by/o-sponsored-by.prototype.js +10 -0
  321. package/{src/objects → objects}/o-sponsored-by/o-sponsored-by.twig +2 -2
  322. package/objects/o-story-arc-item/o-story-arc-item.prototype.js +29 -0
  323. package/objects/o-story-arc-item/o-story-arc-item.twig +9 -0
  324. package/objects/o-sub-header/o-sub-header.prototype.js +39 -0
  325. package/objects/o-sub-header/o-sub-header.twig +9 -0
  326. package/objects/o-tease/o-tease.prototype.js +26 -0
  327. package/{src/objects → objects}/o-tease/o-tease.twig +7 -3
  328. package/objects/o-tease-list/o-tease-list.prototype.js +14 -0
  329. package/{src/objects → objects}/o-tease-list/o-tease-list.twig +5 -1
  330. package/package.json +7 -12
  331. package/pattern.html +68 -0
  332. package/style-guide/colors.html +33 -0
  333. package/style-guide/fonts.html +22 -0
  334. package/style-guide/index.html +14 -0
  335. package/src/components/.DS_Store +0 -0
  336. package/src/components/c-button/.DS_Store +0 -0
  337. package/src/components/c-button/c-button.prototype.js +0 -5
  338. package/src/components/c-button/c-button.scss +0 -33
  339. package/src/components/c-button/c-button.twig +0 -13
  340. package/src/components/c-heading/.DS_Store +0 -0
  341. package/src/components/c-heading/c-heading.prototype.js +0 -5
  342. package/src/components/c-heading/c-heading.scss +0 -12
  343. package/src/components/c-heading/c-heading.twig +0 -20
  344. package/src/components/c-label/.DS_Store +0 -0
  345. package/src/components/c-label/c-label.prototype.js +0 -8
  346. package/src/components/c-label/c-label.twig +0 -11
  347. package/src/components/c-nav-link/c-nav-link.prototype.js +0 -6
  348. package/src/components/c-nav-link/c-nav-link.scss +0 -14
  349. package/src/components/c-nav-link/c-nav-link.twig +0 -3
  350. package/src/components/c-tagline/.DS_Store +0 -0
  351. package/src/components/c-tagline/c-tagline.json +0 -4
  352. package/src/components/c-tagline/c-tagline.scss +0 -19
  353. package/src/components/c-timestamp/.DS_Store +0 -0
  354. package/src/components/c-timestamp/c-timestamp.prototype.js +0 -5
  355. package/src/components/c-timestamp/c-timestamp.scss +0 -5
  356. package/src/components/c-timestamp/c-timestamp.twig +0 -1
  357. package/src/components/c-title/.DS_Store +0 -0
  358. package/src/components/c-title/c-title.prototype.js +0 -5
  359. package/src/components/c-title/c-title.scss +0 -30
  360. package/src/components/components.scss +0 -1
  361. package/src/objects/.DS_Store +0 -0
  362. package/src/objects/o-figure/.DS_Store +0 -0
  363. package/src/objects/o-figure/o-figure.prototype.js +0 -8
  364. package/src/objects/o-figure/o-figure.scss +0 -46
  365. package/src/objects/o-figure/o-figure.twig +0 -57
  366. package/src/objects/o-header/.DS_Store +0 -0
  367. package/src/objects/o-header/o-header.prototype.js +0 -12
  368. package/src/objects/o-header/o-header.scss +0 -5
  369. package/src/objects/o-nav/o-nav.prototype.js +0 -20
  370. package/src/objects/o-nav/o-nav.scss +0 -41
  371. package/src/objects/o-nav/o-nav.twig +0 -14
  372. package/src/objects/o-sponsored-by/.DS_Store +0 -0
  373. package/src/objects/o-sponsored-by/o-sponsored-by.prototype.js +0 -11
  374. package/src/objects/o-sponsored-by/o-sponsored-by.scss +0 -5
  375. package/src/objects/o-tease/.DS_Store +0 -0
  376. package/src/objects/o-tease/o-tease.prototype.js +0 -22
  377. package/src/objects/o-tease/o-tease.scss +0 -30
  378. package/src/objects/o-tease-list/.DS_Store +0 -0
  379. package/src/objects/o-tease-list/o-tease-list.prototype.js +0 -25
  380. package/src/objects/o-tease-list/o-tease-list.scss +0 -11
  381. package/src/objects/objects.scss +0 -1
@@ -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>
@@ -0,0 +1,24 @@
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
+
6
+ o_nav.o_nav_title_text = 'Read More About:';
7
+ o_nav.o_nav_list_items = [];
8
+
9
+ const tags = [ 'Art Gallery', 'Retrospective', 'Mapplethorpe' ];
10
+
11
+ for (let i = 0; i < tags.length; i++) {
12
+ let c_link = clonedeep( c_link_prototype );
13
+
14
+ c_link.c_link_text = tags[i];
15
+ c_link.c_link_classes += ' lrv-u-text-transform-uppercase';
16
+
17
+ o_nav.o_nav_list_items.push( c_link );
18
+ }
19
+
20
+ o_nav.o_nav_title_classes = 'lrv-u-padding-r-1 lrv-u-font-family-secondary';
21
+
22
+ module.exports = {
23
+ o_nav: o_nav,
24
+ };
@@ -0,0 +1,3 @@
1
+ <div class="article-tags // {{ article_tags_classes }}">
2
+ {% include "@larva/objects/o-nav/o-nav.twig" with o_nav %}
3
+ </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,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>
@@ -0,0 +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
+
9
+ module.exports = {
10
+ c_span: c_span
11
+ };
@@ -0,0 +1,3 @@
1
+ <div class="lrv-u-display-block lrv-u-margin-tb-auto {{ badge_classes }}">
2
+ {% include "@larva/components/c-span/c-span.twig" with c_span %}
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>
@@ -0,0 +1,7 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const o_nav = clonedeep( require( '../../objects/o-nav/o-nav.horizontal' ) );
4
+
5
+ module.exports = {
6
+ o_nav: o_nav
7
+ };
@@ -0,0 +1,3 @@
1
+ <div class="breadcrumbs // {{ breadcrumbs_classes }}">
2
+ {% include "@larva/objects/o-nav/o-nav.twig" with o_nav %}
3
+ </div>
@@ -0,0 +1,29 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_heading = clonedeep( require( '@penskemediacorp/larva-patterns/components/c-heading/c-heading.prototype' ) );
4
+ const c_title = clonedeep( require( '@penskemediacorp/larva-patterns/components/c-title/c-title.prototype' ) );
5
+ const c_icon = clonedeep( require( '@penskemediacorp/larva-patterns/components/c-icon/c-icon.prototype' ) );
6
+
7
+
8
+ c_heading.c_heading_text = 'Breaking News';
9
+ c_heading.c_heading_classes = 'lrv-a-font-secondary-bold-l lrv-u-margin-r-1 lrv-u-text-transform-uppercase lrv-u-margin-b-050@mobile-max';
10
+
11
+ c_title.c_title_text = 'US Stadiums Partnership, Inc. Files for Bankruptcy Amid Historic Cancellations';
12
+ c_title.c_title_classes = 'lrv-u-font-size-18 lrv-u-line-height-copy lrv-u-font-weight-normal lrv-u-font-family-basic';
13
+ c_title.c_title_link_classes = 'lrv-a-unstyle-link ';
14
+
15
+ c_icon.c_icon_link_classes = 'dismiss-news-banner lrv-u-color-white lrv-u-cursor-pointer lrv-u-width-16 lrv-u-height-16 lrv-u-color-white:hover lrv-u-margin-l-auto';
16
+ c_icon.c_icon_url = '#';
17
+ c_icon.c_icon_target_attr = false;
18
+ c_icon.c_icon_name = 'close';
19
+ c_icon.c_icon_link_screen_reader_text = false;
20
+ c_icon.c_icon_screen_reader_text = 'close';
21
+ c_icon.c_icon_screen_reader_title_attr = 'close';
22
+
23
+ module.exports = {
24
+ breaking_news_classes: 'lrv-u-background-color-brand-primary lrv-u-color-white',
25
+ breaking_news_inner_classes: 'lrv-a-wrapper lrv-u-flex lrv-u-flex-direction-column@mobile-max lrv-u-align-items-center lrv-u-padding-tb-1',
26
+ c_heading: c_heading,
27
+ c_title: c_title,
28
+ c_icon: c_icon
29
+ };
@@ -0,0 +1,18 @@
1
+ <section class="breaking-news // pmc-breaking-news {{ breaking_news_classes }} ">
2
+
3
+ <div class="{{breaking_news_inner_classes}}">
4
+
5
+ {% if c_heading %}
6
+ {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
7
+ {% endif %}
8
+
9
+ {% if c_title %}
10
+ {% include "@larva/components/c-title/c-title.twig" with c_title %}
11
+ {% endif %}
12
+
13
+ {% if c_icon %}
14
+ {% include "@larva/components/c-icon/c-icon.twig" with c_icon %}
15
+ {% endif %}
16
+ </div>
17
+
18
+ </section>
@@ -0,0 +1,9 @@
1
+ module.exports = {
2
+ button_url: null,
3
+ button_classes: 'lrv-u-padding-tb-050 lrv-u-padding-lr-1',
4
+ button_markup: 'Button Text',
5
+ button_background_color_class: 'lrv-u-background-color-brand-primary',
6
+ button_color_class: 'lrv-u-color-white',
7
+ button_typography_class: '',
8
+ button_width_class: '',
9
+ };
@@ -0,0 +1,7 @@
1
+ <a class="button larva // {{ button_classes }} {{ button_typography_class }} {{ button_background_color_class }} {{ button_color_class }} {{ button_width_class }}"
2
+ {% if button_url %}
3
+ href="{{ button_url }}"
4
+ {% endif %}
5
+ >
6
+ {{ button_markup }}
7
+ </a>
@@ -0,0 +1,36 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ // Image
4
+ const c_lazy_image_prototype = require( '@penskemediacorp/larva-patterns/components/c-lazy-image/c-lazy-image.prototype' );
5
+
6
+ const c_lazy_image = clonedeep( c_lazy_image_prototype );
7
+
8
+ c_lazy_image.c_lazy_image_srcset_attr = false;
9
+ c_lazy_image.c_lazy_image_sizes_attr = false;
10
+ c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-1x1';
11
+
12
+ // Icon Button
13
+ const c_icon_button = clonedeep( require( '../../objects/o-icon-button/o-icon-button.prototype' ) );
14
+
15
+ c_icon_button.o_icon_button_url = true;
16
+ c_icon_button.o_button_url = '#';
17
+ c_icon_button.o_icon_button_classes += ' lrv-a-buy-now__button lrv-u-font-size-14 lrv-u-font-weight-bold lrv-u-text-transform-uppercase lrv-u-border-t-3 lrv-u-border-r-1 lrv-u-border-b-3 lrv-u-border-l-1 lrv-u-padding-tb-050 lrv-u-padding-lr-1 lrv-u-background-color-white lrv-u-color-black lrv-u-border-color-currentColor';
18
+ c_icon_button.o_icon_button_target_attr = '_blank';
19
+ c_icon_button.o_icon_button_rel_attr = 'nofollow';
20
+
21
+ c_icon_button.c_icon.c_icon_name = 'triangle-right';
22
+ c_icon_button.c_icon.c_icon_screen_reader_text = '';
23
+ c_icon_button.c_span.c_span_text = 'Buy Now';
24
+
25
+ // Export
26
+ module.exports = {
27
+ buy_now_div_classes: 'lrv-a-buy-now lrv-u-font-family-basic',
28
+ buy_now_hr_top_classes: 'lrv-a-buy-now__hr lrv-a-buy-now__hr--top',
29
+ buy_now_img_classes: 'lrv-a-buy-now__image',
30
+ buy_now_hr_bottom_classes: 'lrv-a-buy-now__hr lrv-a-buy-now__hr--bottom',
31
+ buy_now_p_classes: 'lrv-a-buy-now__p lrv-u-font-family-basic lrv-u-font-size-14',
32
+ buy_now_span_classes: 'lrv-a-buy-now__span lrv-u-font-weight-bold lrv-u-text-transform-uppercase lrv-u-color-grey lrv-u-font-size-10',
33
+ buy_now_store_credit_text: '', // 'Amazon' for example
34
+ c_lazy_image,
35
+ c_icon_button,
36
+ };
@@ -0,0 +1,23 @@
1
+ {% if c_lazy_image %}
2
+ <div class="{{ buy_now_div_classes }}">
3
+ <hr class="{{ buy_now_hr_top_classes }}">
4
+
5
+ <div class="{{ buy_now_img_classes }}">
6
+ {% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
7
+ </div>
8
+
9
+ {% include "@larva/objects/o-icon-button/o-icon-button.twig" with c_icon_button %}
10
+
11
+ <hr class="{{ buy_now_hr_bottom_classes }}">
12
+
13
+ {% if buy_now_store_credit_text %}
14
+ <span class="{{ buy_now_span_classes }}">
15
+ {{ buy_now_store_credit_text }}
16
+ </span>
17
+ {% endif %}
18
+ </div>
19
+ {% else %}
20
+ <p class="{{ buy_now_p_classes }}">
21
+ {% include "@larva/objects/o-icon-button/o-icon-button.twig" with c_icon_button %}
22
+ </p>
23
+ {% endif %}
@@ -0,0 +1,7 @@
1
+ This module renders Carousel block posts in the Gutenberg editor.
2
+
3
+ The default pattern renders a primary post, with two secondary posts in the sidebar.
4
+
5
+ The overlay pattern displays a fuller width primary post with text overlay, and a stacked row of three secondary posts.
6
+
7
+ The primary post displays section title, a post image and title, author byline and timestamp; the secondary posts display a post image and title only.