@penskemediacorp/larva-patterns 1.0.1-alpha.0 → 1.1.1

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 (373) 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 +23 -0
  6. package/__tests__/hub/hub.prototype.js +28 -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 +9 -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/button/button.prototype.js +9 -0
  112. package/modules/button/button.twig +7 -0
  113. package/modules/carousel-grid/README.md +7 -0
  114. package/modules/carousel-grid/carousel-grid.overlay.js +26 -0
  115. package/modules/carousel-grid/carousel-grid.prototype.js +50 -0
  116. package/modules/carousel-grid/carousel-grid.twig +17 -0
  117. package/modules/carousel-slider/carousel-slider.prototype.js +56 -0
  118. package/modules/carousel-slider/carousel-slider.twig +11 -0
  119. package/modules/container/README.md +3 -0
  120. package/modules/container/container.prototype.js +7 -0
  121. package/modules/container/container.twig +1 -0
  122. package/modules/content-showcase/content-showcase.prototype.js +29 -0
  123. package/modules/content-showcase/content-showcase.the-moth.js +31 -0
  124. package/modules/content-showcase/content-showcase.twig +7 -0
  125. package/modules/expandable-search/expandable-search.prototype.js +19 -0
  126. package/modules/expandable-search/expandable-search.twig +9 -0
  127. package/modules/featured-stories/featured-stories.prototype.js +23 -0
  128. package/modules/featured-stories/featured-stories.twig +18 -0
  129. package/modules/footer/README.md +15 -0
  130. package/modules/footer/footer.prototype.js +14 -0
  131. package/modules/footer/footer.twig +22 -0
  132. package/modules/footer-button-list/footer-button-list.prototype.js +43 -0
  133. package/modules/footer-button-list/footer-button-list.twig +13 -0
  134. package/modules/footer-magazine-image/footer-magazine-image.prototype.js +15 -0
  135. package/modules/footer-magazine-image/footer-magazine-image.twig +3 -0
  136. package/modules/footer-menus/README.md +3 -0
  137. package/modules/footer-menus/footer-menus.prototype.js +18 -0
  138. package/modules/footer-menus/footer-menus.twig +5 -0
  139. package/modules/footer-newsletter/README.md +5 -0
  140. package/modules/footer-newsletter/footer-newsletter.prototype.js +21 -0
  141. package/modules/footer-newsletter/footer-newsletter.twig +5 -0
  142. package/modules/footer-social/README.md +3 -0
  143. package/modules/footer-social/footer-social.prototype.js +36 -0
  144. package/modules/footer-social/footer-social.twig +5 -0
  145. package/modules/footer-tip/footer-tip.prototype.js +23 -0
  146. package/modules/footer-tip/footer-tip.twig +5 -0
  147. package/modules/header/header.article.js +39 -0
  148. package/modules/header/header.prototype.js +90 -0
  149. package/modules/header/header.twig +74 -0
  150. package/modules/header-menu/header-menu.prototype.js +26 -0
  151. package/modules/header-menu/header-menu.twig +3 -0
  152. package/modules/header-sticky/header-sticky.article.js +43 -0
  153. package/modules/header-sticky/header-sticky.prototype.js +39 -0
  154. package/modules/header-sticky/header-sticky.twig +30 -0
  155. package/modules/heading/heading.h1.js +8 -0
  156. package/modules/heading/heading.h2.js +8 -0
  157. package/modules/heading/heading.h3.js +8 -0
  158. package/modules/heading/heading.h4.js +7 -0
  159. package/modules/heading/heading.h5.js +7 -0
  160. package/modules/heading/heading.h6.js +7 -0
  161. package/modules/heading/heading.prototype.js +9 -0
  162. package/modules/heading/heading.twig +3 -0
  163. package/modules/injected-related-content/injected-related-content.prototype.js +61 -0
  164. package/modules/injected-related-content/injected-related-content.twig +23 -0
  165. package/modules/list/list.ordered.js +7 -0
  166. package/modules/list/list.prototype.js +57 -0
  167. package/modules/list/list.twig +11 -0
  168. package/modules/listicle-item/listicle-item.prototype.js +11 -0
  169. package/modules/listicle-item/listicle-item.twig +3 -0
  170. package/modules/mega-menu/mega-menu.prototype.js +16 -0
  171. package/modules/mega-menu/mega-menu.twig +10 -0
  172. package/modules/mega-menu-content/mega-menu-content.prototype.js +10 -0
  173. package/modules/mega-menu-content/mega-menu-content.twig +5 -0
  174. package/modules/mega-menu-footer/mega-menu-footer.prototype.js +41 -0
  175. package/modules/mega-menu-footer/mega-menu-footer.twig +19 -0
  176. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.prototype.js +20 -0
  177. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.twig +4 -0
  178. package/modules/mega-menu-item/mega-menu-item.prototype.js +23 -0
  179. package/modules/mega-menu-item/mega-menu-item.twig +13 -0
  180. package/modules/more-stories-button/more-stories-button.profile.js +12 -0
  181. package/modules/more-stories-button/more-stories-button.prototype.js +29 -0
  182. package/modules/more-stories-button/more-stories-button.twig +13 -0
  183. package/modules/newsletter/newsletter.prototype.js +46 -0
  184. package/modules/newsletter/newsletter.twig +21 -0
  185. package/modules/newsletter-cta/newsletter-cta.prototype.js +21 -0
  186. package/modules/newsletter-cta/newsletter-cta.twig +22 -0
  187. package/modules/newswire/newswire.prototype.js +46 -0
  188. package/modules/newswire/newswire.twig +16 -0
  189. package/modules/paragraph/paragraph.prototype.js +8 -0
  190. package/modules/paragraph/paragraph.twig +3 -0
  191. package/modules/pmc-footer/README.md +3 -0
  192. package/modules/pmc-footer/pmc-footer.prototype.js +47 -0
  193. package/modules/pmc-footer/pmc-footer.twig +17 -0
  194. package/modules/post-content-image/post-content-image.prototype.js +14 -0
  195. package/modules/post-content-image/post-content-image.twig +3 -0
  196. package/modules/profile-blurb/profile-blurb.card.js +28 -0
  197. package/modules/profile-blurb/profile-blurb.prototype.js +45 -0
  198. package/modules/profile-blurb/profile-blurb.twig +37 -0
  199. package/modules/profile-body/profile-body.prototype.js +20 -0
  200. package/modules/profile-body/profile-body.twig +15 -0
  201. package/modules/profile-browse-by/profile-browse-by.prototype.js +29 -0
  202. package/modules/profile-browse-by/profile-browse-by.twig +6 -0
  203. package/modules/profile-card-list/profile-card-list.prototype.js +25 -0
  204. package/modules/profile-card-list/profile-card-list.twig +7 -0
  205. package/modules/profile-filter/profile-filter.prototype.js +26 -0
  206. package/modules/profile-filter/profile-filter.twig +15 -0
  207. package/modules/profile-gallery/profile-gallery.prototype.js +28 -0
  208. package/modules/profile-gallery/profile-gallery.twig +13 -0
  209. package/modules/profile-header/profile-header.prototype.js +29 -0
  210. package/modules/profile-header/profile-header.twig +27 -0
  211. package/modules/profile-highlights/profile-highlights.prototype.js +22 -0
  212. package/modules/profile-highlights/profile-highlights.twig +17 -0
  213. package/modules/profile-landing-header/profile-landing-header.prototype.js +17 -0
  214. package/modules/profile-landing-header/profile-landing-header.twig +12 -0
  215. package/modules/profile-landing-river/profile-landing-river.prototype.js +21 -0
  216. package/modules/profile-landing-river/profile-landing-river.twig +13 -0
  217. package/modules/profile-related-stories/profile-related-stories.prototype.js +33 -0
  218. package/modules/profile-related-stories/profile-related-stories.twig +9 -0
  219. package/modules/pullquote/pullquote.prototype.js +8 -0
  220. package/modules/pullquote/pullquote.twig +3 -0
  221. package/modules/read-next/read-next.prototype.js +20 -0
  222. package/modules/read-next/read-next.twig +4 -0
  223. package/modules/search-form/search-form.prototype.js +8 -0
  224. package/modules/search-form/search-form.twig +11 -0
  225. package/modules/separator/separator.prototype.js +4 -0
  226. package/modules/separator/separator.thick.js +7 -0
  227. package/modules/separator/separator.twig +1 -0
  228. package/modules/separator/separator.wide-thick.js +7 -0
  229. package/modules/separator/separator.wide.js +7 -0
  230. package/modules/social-share/social-share.prototype.js +43 -0
  231. package/modules/social-share/social-share.twig +30 -0
  232. package/modules/special-coverage/special-coverage.prototype.js +47 -0
  233. package/modules/special-coverage/special-coverage.twig +29 -0
  234. package/modules/story/story.borders.js +8 -0
  235. package/modules/story/story.center-vertical-borders.js +7 -0
  236. package/modules/story/story.center-vertical.js +11 -0
  237. package/modules/story/story.prototype.js +43 -0
  238. package/modules/story/story.right-borders.js +9 -0
  239. package/modules/story/story.right.js +14 -0
  240. package/modules/story/story.story-arc.js +9 -0
  241. package/modules/story/story.twig +88 -0
  242. package/modules/story/story.vertical-borders.js +7 -0
  243. package/modules/story/story.vertical.js +11 -0
  244. package/modules/story-arc-stories/story-arc-stories.prototype.js +21 -0
  245. package/modules/story-arc-stories/story-arc-stories.twig +14 -0
  246. package/modules/story-featured-quote/story-featured-quote.prototype.js +32 -0
  247. package/modules/story-featured-quote/story-featured-quote.twig +25 -0
  248. package/modules/story-grid/story-grid.prototype.js +24 -0
  249. package/modules/story-grid/story-grid.river.js +15 -0
  250. package/modules/story-grid/story-grid.twig +17 -0
  251. package/modules/sub-header/sub-header.prototype.js +8 -0
  252. package/modules/sub-header/sub-header.twig +7 -0
  253. package/modules/top-stories/top-stories.prototype.js +41 -0
  254. package/modules/top-stories/top-stories.twig +12 -0
  255. package/modules/vlanding-playlist/README.md +1 -0
  256. package/modules/vlanding-playlist/vlanding-playlist.prototype.js +34 -0
  257. package/modules/vlanding-playlist/vlanding-playlist.twig +20 -0
  258. package/modules/vlanding-video-card/README.md +1 -0
  259. package/modules/vlanding-video-card/vlanding-video-card.prototype.js +25 -0
  260. package/modules/vlanding-video-card/vlanding-video-card.twig +56 -0
  261. package/modules/vlanding-video-showcase/README.md +12 -0
  262. package/modules/vlanding-video-showcase/vlanding-video-showcase.prototype.js +68 -0
  263. package/modules/vlanding-video-showcase/vlanding-video-showcase.twig +46 -0
  264. package/objects/o-account-menu/o-account-menu.prototype.js +35 -0
  265. package/objects/o-account-menu/o-account-menu.twig +25 -0
  266. package/objects/o-author/o-author.prototype.js +13 -0
  267. package/objects/o-author/o-author.twig +13 -0
  268. package/objects/o-card/README.md +1 -0
  269. package/objects/o-card/o-card.prototype.js +23 -0
  270. package/objects/o-card/o-card.twig +69 -0
  271. package/objects/o-card-list/README.md +3 -0
  272. package/objects/o-card-list/o-card-list.prototype.js +13 -0
  273. package/objects/o-card-list/o-card-list.twig +7 -0
  274. package/objects/o-checkbox-input-list/o-checkbox-input-list.prototype.js +16 -0
  275. package/objects/o-checkbox-input-list/o-checkbox-input-list.twig +15 -0
  276. package/objects/o-collection-item/o-collection-item.floated.js +8 -0
  277. package/objects/o-collection-item/o-collection-item.prototype.js +11 -0
  278. package/objects/o-collection-item/o-collection-item.twig +5 -0
  279. package/objects/o-email-capture-form/README.md +11 -0
  280. package/objects/o-email-capture-form/o-email-capture-form.minimal.js +15 -0
  281. package/objects/o-email-capture-form/o-email-capture-form.prototype.js +17 -0
  282. package/objects/o-email-capture-form/o-email-capture-form.twig +16 -0
  283. package/objects/o-figure/README.md +17 -0
  284. package/objects/o-figure/o-figure.prototype.js +16 -0
  285. package/objects/o-figure/o-figure.twig +34 -0
  286. package/objects/o-header/o-header.prototype.js +14 -0
  287. package/{src/objects → objects}/o-header/o-header.twig +5 -1
  288. package/objects/o-header-buttons/o-header-buttons.column.js +10 -0
  289. package/objects/o-header-buttons/o-header-buttons.prototype.js +41 -0
  290. package/objects/o-header-buttons/o-header-buttons.twig +42 -0
  291. package/objects/o-icon-button/README.md +5 -0
  292. package/objects/o-icon-button/o-icon-button.prototype.js +18 -0
  293. package/objects/o-icon-button/o-icon-button.search.js +9 -0
  294. package/objects/o-icon-button/o-icon-button.twig +21 -0
  295. package/objects/o-indicator/README.md +1 -0
  296. package/objects/o-indicator/o-indicator.photos.js +12 -0
  297. package/objects/o-indicator/o-indicator.prototype.js +8 -0
  298. package/objects/o-indicator/o-indicator.twig +9 -0
  299. package/objects/o-input-group/o-input-group.prototype.js +11 -0
  300. package/objects/o-input-group/o-input-group.twig +5 -0
  301. package/objects/o-nav/README.md +3 -0
  302. package/objects/o-nav/o-nav.horizontal.js +8 -0
  303. package/objects/o-nav/o-nav.prototype.js +23 -0
  304. package/objects/o-nav/o-nav.twig +40 -0
  305. package/objects/o-select-nav/o-select-nav.prototype.js +17 -0
  306. package/objects/o-select-nav/o-select-nav.twig +9 -0
  307. package/objects/o-social-list/o-social-list.prototype.js +23 -0
  308. package/objects/o-social-list/o-social-list.twig +15 -0
  309. package/objects/o-span-group/README.md +1 -0
  310. package/objects/o-span-group/o-span-group.prototype.js +11 -0
  311. package/objects/o-span-group/o-span-group.twig +5 -0
  312. package/objects/o-sponsored-by/o-sponsored-by.prototype.js +10 -0
  313. package/{src/objects → objects}/o-sponsored-by/o-sponsored-by.twig +2 -2
  314. package/objects/o-story-arc-item/o-story-arc-item.prototype.js +29 -0
  315. package/objects/o-story-arc-item/o-story-arc-item.twig +9 -0
  316. package/objects/o-sub-header/o-sub-header.prototype.js +39 -0
  317. package/objects/o-sub-header/o-sub-header.twig +9 -0
  318. package/objects/o-tease/o-tease.prototype.js +26 -0
  319. package/{src/objects → objects}/o-tease/o-tease.twig +7 -3
  320. package/objects/o-tease-list/o-tease-list.prototype.js +14 -0
  321. package/{src/objects → objects}/o-tease-list/o-tease-list.twig +5 -1
  322. package/package.json +7 -12
  323. package/pattern.html +68 -0
  324. package/style-guide/colors.html +33 -0
  325. package/style-guide/fonts.html +22 -0
  326. package/style-guide/index.html +14 -0
  327. package/src/components/.DS_Store +0 -0
  328. package/src/components/c-button/.DS_Store +0 -0
  329. package/src/components/c-button/c-button.prototype.js +0 -5
  330. package/src/components/c-button/c-button.scss +0 -33
  331. package/src/components/c-button/c-button.twig +0 -13
  332. package/src/components/c-heading/.DS_Store +0 -0
  333. package/src/components/c-heading/c-heading.prototype.js +0 -5
  334. package/src/components/c-heading/c-heading.scss +0 -12
  335. package/src/components/c-heading/c-heading.twig +0 -20
  336. package/src/components/c-label/.DS_Store +0 -0
  337. package/src/components/c-label/c-label.prototype.js +0 -8
  338. package/src/components/c-label/c-label.twig +0 -11
  339. package/src/components/c-nav-link/c-nav-link.prototype.js +0 -6
  340. package/src/components/c-nav-link/c-nav-link.scss +0 -14
  341. package/src/components/c-nav-link/c-nav-link.twig +0 -3
  342. package/src/components/c-tagline/.DS_Store +0 -0
  343. package/src/components/c-tagline/c-tagline.json +0 -4
  344. package/src/components/c-tagline/c-tagline.scss +0 -19
  345. package/src/components/c-timestamp/.DS_Store +0 -0
  346. package/src/components/c-timestamp/c-timestamp.prototype.js +0 -5
  347. package/src/components/c-timestamp/c-timestamp.scss +0 -5
  348. package/src/components/c-timestamp/c-timestamp.twig +0 -1
  349. package/src/components/c-title/.DS_Store +0 -0
  350. package/src/components/c-title/c-title.prototype.js +0 -5
  351. package/src/components/c-title/c-title.scss +0 -30
  352. package/src/components/components.scss +0 -1
  353. package/src/objects/.DS_Store +0 -0
  354. package/src/objects/o-figure/.DS_Store +0 -0
  355. package/src/objects/o-figure/o-figure.prototype.js +0 -8
  356. package/src/objects/o-figure/o-figure.scss +0 -46
  357. package/src/objects/o-figure/o-figure.twig +0 -57
  358. package/src/objects/o-header/.DS_Store +0 -0
  359. package/src/objects/o-header/o-header.prototype.js +0 -12
  360. package/src/objects/o-header/o-header.scss +0 -5
  361. package/src/objects/o-nav/o-nav.prototype.js +0 -20
  362. package/src/objects/o-nav/o-nav.scss +0 -41
  363. package/src/objects/o-nav/o-nav.twig +0 -14
  364. package/src/objects/o-sponsored-by/.DS_Store +0 -0
  365. package/src/objects/o-sponsored-by/o-sponsored-by.prototype.js +0 -11
  366. package/src/objects/o-sponsored-by/o-sponsored-by.scss +0 -5
  367. package/src/objects/o-tease/.DS_Store +0 -0
  368. package/src/objects/o-tease/o-tease.prototype.js +0 -22
  369. package/src/objects/o-tease/o-tease.scss +0 -30
  370. package/src/objects/o-tease-list/.DS_Store +0 -0
  371. package/src/objects/o-tease-list/o-tease-list.prototype.js +0 -25
  372. package/src/objects/o-tease-list/o-tease-list.scss +0 -11
  373. 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-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: '',
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 // {{ 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,9 @@
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
+ {{ article_kicker_text }}
6
+ {% if article_kicker_url %}
7
+ </a>
8
+ {% endif %}
9
+ </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,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,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.
@@ -0,0 +1,26 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+ const { __experimentalCloneWithFallback } = require( '@penskemediacorp/larva' );
3
+
4
+ const carousel_grid_overlay = __experimentalCloneWithFallback( 'modules/carousel-grid/carousel-grid.prototype' );
5
+
6
+ carousel_grid_overlay.o_card_large.o_card_classes = 'lrv-a-carousel-grid__overlay--primary';
7
+ carousel_grid_overlay.o_card_large.o_card_content_classes += ' lrv-a-carousel-grid__overlay--primary-content';
8
+
9
+ carousel_grid_overlay.o_card_large.c_lazy_image.c_lazy_image_classes = 'lrv-a-carousel-grid__overlay--primary-img';
10
+ carousel_grid_overlay.o_card_large.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-3x2';
11
+
12
+ carousel_grid_overlay.carousel_grid_overlay_layout_classes = 'lrv-a-carousel-grid__overlay';
13
+ carousel_grid_overlay.carousel_grid_overlay_secondary_classes = 'lrv-a-carousel-grid__overlay--secondary';
14
+
15
+ const o_card_item = clonedeep( carousel_grid_overlay.o_card_items[0] );
16
+
17
+ carousel_grid_overlay.o_card_items = [o_card_item, o_card_item, o_card_item];
18
+
19
+ o_card_item.o_card_classes += ' lrv-a-carousel-grid__overlay--secondary-card lrv-u-align-items-center';
20
+
21
+ o_card_item.c_title.c_title_classes = 'lrv-a-font-secondary-m';
22
+
23
+ o_card_item.c_lazy_image.c_lazy_image_classes += ' lrv-u-width-100p';
24
+ o_card_item.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-1x1';
25
+
26
+ module.exports = carousel_grid_overlay;
@@ -0,0 +1,50 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+ const { __experimentalCloneWithFallback } = require( '@penskemediacorp/larva' );
3
+
4
+ const o_card_prototype = clonedeep( require( '../../objects/o-card/o-card.prototype' ) );
5
+ const o_author = __experimentalCloneWithFallback( 'objects/o-author/o-author.prototype' );
6
+ const o_card = clonedeep( o_card_prototype );
7
+
8
+ o_card.o_card_classes = 'lrv-u-margin-b-1';
9
+ o_card.o_card_content_classes = ' lrv-u-margin-t-050';
10
+
11
+ o_card.c_lazy_image.c_lazy_image_classes += ' ';
12
+ o_card.c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-3x2';
13
+
14
+ o_card.c_lazy_image.c_lazy_image_link_url = '#';
15
+
16
+ o_card.c_span.c_span_url = '#';
17
+ o_card.c_span.c_span_text = false;
18
+
19
+ o_card.c_title.c_title_text = '‘Solo: A Star Wars Story’ Is Going to Cannes, So Does That Mean It’s Good?';
20
+ o_card.c_title.c_title_classes = 'lrv-a-font-primary-xxxs';
21
+ o_card.c_title.c_title_link_classes = 'lrv-a-unstyle-link';
22
+
23
+ o_card.c_timestamp.c_timestamp_text = false;
24
+
25
+ const o_card_large = clonedeep( o_card );
26
+
27
+ o_card_large.c_span.c_span_text = 'Film';
28
+
29
+ o_card_large.c_title.c_title_text = '‘Avengers: Infinity War’ vs. ‘Black Panther’: 10 Factors That Will Determine Which Film Is Box-Office King';
30
+
31
+ o_card_large.o_author = clonedeep( o_author );
32
+ o_card_large.o_author.o_author_text = 'By ';
33
+ o_card_large.o_author.c_span.c_span_text = 'Author Name';
34
+ o_card_large.o_author.c_timestamp.c_timestamp_text = 'July 7, 2021';
35
+ o_card_large.o_author.c_timestamp.c_timestamp_classes = 'lrv-a-icon-before lrv-a-icon-bullet';
36
+
37
+ // o_card_large uses o_author components that are not needed/used by o_card.
38
+ o_card.o_author = false;
39
+
40
+ o_card_large.o_card_classes = '';
41
+ o_card_large.o_card_content_classes = 'lrv-u-padding-a-1';
42
+ o_card_large.c_title.c_title_classes = 'lrv-a-font-primary-xs lrv-u-margin-tb-050';
43
+
44
+ module.exports = {
45
+ o_card_large,
46
+ o_card_items: [
47
+ o_card,
48
+ o_card
49
+ ]
50
+ };
@@ -0,0 +1,17 @@
1
+ <div class="carousel-grid //">
2
+ <div class="lrv-a-wrapper">
3
+ <div class="lrv-a-carousel-grid {{ carousel_grid_overlay_layout_classes }}">
4
+
5
+ <div class="lrv-u-padding-a-1">
6
+ {% include "@larva/objects/o-card/o-card.twig" with o_card_large %}
7
+ </div>
8
+
9
+ <div class="lrv-u-padding-a-1 {{ carousel_grid_overlay_secondary_classes }}">
10
+ {% for item in o_card_items %}
11
+ {% include "@larva/objects/o-card/o-card.twig" with item %}
12
+ {% endfor %}
13
+ </div>
14
+
15
+ </div>
16
+ </div>
17
+ </div>