@penskemediacorp/larva-patterns 1.7.0-alpha.0 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/LICENSE +21 -0
  2. package/__tests__/css/css.html +9 -0
  3. package/__tests__/css/css.prototype.js +1 -0
  4. package/__tests__/hub/hub.html +25 -0
  5. package/__tests__/hub/hub.prototype.js +30 -0
  6. package/__tests__/profile/profile.html +29 -0
  7. package/__tests__/profile/profile.prototype.js +17 -0
  8. package/__tests__/profile-index/profile-index.html +9 -0
  9. package/__tests__/profile-index/profile-index.prototype.js +6 -0
  10. package/__tests__/vlanding/vlanding.html +7 -0
  11. package/__tests__/vlanding/vlanding.prototype.js +11 -0
  12. package/_templates/pattern-nav.html +52 -12
  13. package/algorithms/a-carousel-grid/README.md +5 -0
  14. package/algorithms/a-carousel-grid/a-carousel-grid.html +25 -0
  15. package/algorithms/a-carousel-grid/a-carousel-grid.overlay.js +12 -0
  16. package/algorithms/a-carousel-grid/a-carousel-grid.prototype.js +0 -0
  17. package/algorithms/a-icon/a-icon.html +1 -0
  18. package/algorithms/a-icon/a-icon.prototype.js +0 -0
  19. package/base.html +62 -19
  20. package/components/c-button/README.md +3 -0
  21. package/components/c-button/c-button.black.js +7 -0
  22. package/components/c-button/c-button.brand-basic.js +8 -0
  23. package/components/c-button/c-button.ghost.js +10 -0
  24. package/components/c-button/c-button.prototype.js +10 -4
  25. package/components/c-button/c-button.stripped.js +8 -0
  26. package/components/c-button/c-button.twig +13 -7
  27. package/components/c-checkbox-input/c-checkbox-input.prototype.js +6 -0
  28. package/components/c-checkbox-input/c-checkbox-input.twig +4 -0
  29. package/components/c-dek/README.md +3 -0
  30. package/components/c-dek/c-dek.prototype.js +5 -0
  31. package/components/c-dek/c-dek.twig +9 -0
  32. package/components/c-email-field/README.md +0 -0
  33. package/components/c-email-field/c-email-field.ghost.js +10 -0
  34. package/components/c-email-field/c-email-field.prototype.js +8 -0
  35. package/components/c-email-field/c-email-field.twig +4 -0
  36. package/components/c-figcaption/c-figcaption.prototype.js +9 -0
  37. package/components/c-figcaption/c-figcaption.twig +16 -0
  38. package/components/c-heading/README.md +4 -0
  39. package/components/c-heading/c-heading.prototype.js +8 -3
  40. package/components/c-heading/c-heading.twig +11 -2
  41. package/components/c-hidden-field/c-hidden-field.prototype.js +5 -0
  42. package/components/c-hidden-field/c-hidden-field.twig +1 -0
  43. package/components/c-icon/c-icon.full.js +6 -5
  44. package/components/c-icon/c-icon.prototype.js +12 -10
  45. package/components/c-icon/c-icon.twig +22 -2
  46. package/components/c-input/c-input.prototype.js +8 -0
  47. package/components/c-input/c-input.twig +14 -0
  48. package/components/c-label/README.md +12 -0
  49. package/components/c-label/c-label.prototype.js +7 -0
  50. package/components/c-label/c-label.twig +19 -0
  51. package/components/c-lazy-image/README.md +35 -0
  52. package/components/c-lazy-image/c-lazy-image.prototype.js +17 -0
  53. package/components/c-lazy-image/c-lazy-image.twig +31 -0
  54. package/components/c-link/README.md +1 -0
  55. package/components/c-link/c-link.prototype.js +8 -5
  56. package/components/c-link/c-link.twig +11 -1
  57. package/components/c-logo/c-logo.prototype.js +7 -0
  58. package/components/c-logo/c-logo.twig +10 -0
  59. package/components/c-nav-link/c-nav-link.prototype.js +7 -0
  60. package/components/c-nav-link/c-nav-link.twig +10 -0
  61. package/components/c-play-badge/c-play-badge.prototype.js +3 -0
  62. package/components/c-play-badge/c-play-badge.twig +7 -0
  63. package/components/c-select-option/c-select-option.prototype.js +5 -0
  64. package/components/c-select-option/c-select-option.twig +5 -0
  65. package/components/c-span/c-span.prototype.js +6 -7
  66. package/components/c-span/c-span.tag.js +7 -0
  67. package/components/c-svg/c-svg.prototype.js +4 -0
  68. package/components/c-svg/c-svg.twig +3 -0
  69. package/components/c-tagline/README.md +3 -0
  70. package/components/c-tagline/c-tagline.prototype.js +4 -0
  71. package/components/c-tagline/c-tagline.twig +3 -3
  72. package/components/c-timestamp/c-timestamp.prototype.js +5 -4
  73. package/components/c-timestamp/c-timestamp.twig +9 -1
  74. package/components/c-title/README.md +7 -0
  75. package/components/c-title/c-title.prototype.js +7 -3
  76. package/components/c-title/c-title.twig +14 -2
  77. package/css.html +44 -0
  78. package/index.html +7 -25
  79. package/index.js +4 -0
  80. package/modules/age-gate/README.md +3 -0
  81. package/modules/age-gate/age-gate.prototype.js +68 -0
  82. package/modules/age-gate/age-gate.twig +37 -0
  83. package/modules/article-callout/article-callout.prototype.js +5 -0
  84. package/modules/article-callout/article-callout.twig +3 -0
  85. package/modules/article-excerpt/article-excerpt.prototype.js +4 -0
  86. package/modules/article-excerpt/article-excerpt.twig +1 -0
  87. package/modules/article-kicker/article-kicker.prototype.js +6 -0
  88. package/modules/article-kicker/article-kicker.twig +13 -0
  89. package/modules/article-tags/article-tags.prototype.js +9 -10
  90. package/modules/article-tags/article-tags.twig +1 -1
  91. package/modules/article-timestamp/article-timestamp.prototype.js +13 -0
  92. package/modules/article-timestamp/article-timestamp.twig +5 -0
  93. package/modules/article-title/article-title.prototype.js +4 -0
  94. package/modules/article-title/article-title.twig +1 -0
  95. package/modules/author/author.prototype.js +43 -0
  96. package/modules/author/author.twig +38 -0
  97. package/modules/author-blurb/author-blurb.prototype.js +56 -0
  98. package/modules/author-blurb/author-blurb.twig +27 -0
  99. package/modules/author-details/author-details.prototype.js +70 -0
  100. package/modules/author-details/author-details.twig +25 -0
  101. package/modules/back-to-list/back-to-list.prototype.js +11 -0
  102. package/modules/back-to-list/back-to-list.twig +5 -0
  103. package/modules/badge/badge.prototype.js +10 -6
  104. package/modules/badge/badge.twig +1 -1
  105. package/modules/banner/banner.prototype.js +10 -0
  106. package/modules/banner/banner.twig +10 -0
  107. package/modules/brands-most-popular/brands-most-popular.prototype.js +40 -0
  108. package/modules/brands-most-popular/brands-most-popular.twig +11 -0
  109. package/modules/breadcrumbs/breadcrumbs.prototype.js +4 -5
  110. package/modules/breadcrumbs/breadcrumbs.twig +1 -1
  111. package/modules/breaking-news/breaking-news.prototype.js +29 -0
  112. package/modules/breaking-news/breaking-news.twig +18 -0
  113. package/modules/button/button.prototype.js +9 -0
  114. package/modules/button/button.twig +7 -0
  115. package/modules/buy-now/buy-now.prototype.js +36 -0
  116. package/modules/buy-now/buy-now.twig +23 -0
  117. package/modules/carousel-grid/README.md +7 -0
  118. package/modules/carousel-grid/carousel-grid.overlay.js +26 -0
  119. package/modules/carousel-grid/carousel-grid.prototype.js +50 -0
  120. package/modules/carousel-grid/carousel-grid.twig +17 -0
  121. package/modules/carousel-slider/carousel-slider.prototype.js +56 -0
  122. package/modules/carousel-slider/carousel-slider.twig +11 -0
  123. package/modules/container/README.md +3 -0
  124. package/modules/container/container.prototype.js +7 -0
  125. package/modules/container/container.twig +1 -0
  126. package/modules/content-showcase/content-showcase.prototype.js +30 -0
  127. package/modules/content-showcase/content-showcase.the-moth.js +33 -0
  128. package/modules/content-showcase/content-showcase.twig +7 -0
  129. package/modules/expandable-search/expandable-search.prototype.js +19 -0
  130. package/modules/expandable-search/expandable-search.twig +9 -0
  131. package/modules/featured-stories/featured-stories.prototype.js +27 -0
  132. package/modules/featured-stories/featured-stories.twig +18 -0
  133. package/modules/footer/README.md +15 -0
  134. package/modules/footer/footer.prototype.js +14 -0
  135. package/modules/footer/footer.twig +22 -0
  136. package/modules/footer-button-list/footer-button-list.prototype.js +43 -0
  137. package/modules/footer-button-list/footer-button-list.twig +13 -0
  138. package/modules/footer-magazine-image/footer-magazine-image.prototype.js +15 -0
  139. package/modules/footer-magazine-image/footer-magazine-image.twig +3 -0
  140. package/modules/footer-menus/README.md +3 -0
  141. package/modules/footer-menus/footer-menus.prototype.js +9 -9
  142. package/modules/footer-menus/footer-menus.twig +2 -2
  143. package/modules/footer-newsletter/README.md +5 -0
  144. package/modules/footer-newsletter/footer-newsletter.prototype.js +21 -0
  145. package/modules/footer-newsletter/footer-newsletter.twig +5 -0
  146. package/modules/footer-social/README.md +3 -0
  147. package/modules/footer-social/footer-social.prototype.js +27 -20
  148. package/modules/footer-social/footer-social.twig +2 -2
  149. package/modules/footer-tip/footer-tip.prototype.js +21 -13
  150. package/modules/footer-tip/footer-tip.twig +2 -2
  151. package/modules/header/header.article.js +39 -0
  152. package/modules/header/header.prototype.js +90 -0
  153. package/modules/header/header.twig +74 -0
  154. package/modules/header-menu/header-menu.prototype.js +26 -0
  155. package/modules/header-menu/header-menu.twig +3 -0
  156. package/modules/header-sticky/header-sticky.article.js +43 -0
  157. package/modules/header-sticky/header-sticky.prototype.js +39 -0
  158. package/modules/header-sticky/header-sticky.twig +30 -0
  159. package/modules/heading/heading.h1.js +8 -0
  160. package/modules/heading/heading.h2.js +8 -0
  161. package/modules/heading/heading.h3.js +8 -0
  162. package/modules/heading/heading.h4.js +7 -0
  163. package/modules/heading/heading.h5.js +7 -0
  164. package/modules/heading/heading.h6.js +7 -0
  165. package/modules/heading/heading.prototype.js +9 -0
  166. package/modules/heading/heading.twig +3 -0
  167. package/modules/hero-image-story/hero-image-story.prototype.js +41 -0
  168. package/modules/hero-image-story/hero-image-story.twig +8 -0
  169. package/modules/injected-related-content/injected-related-content.prototype.js +61 -0
  170. package/modules/injected-related-content/injected-related-content.twig +23 -0
  171. package/modules/linked-gallery/linked-gallery.prototype.js +53 -0
  172. package/modules/linked-gallery/linked-gallery.twig +22 -0
  173. package/modules/list/list.ordered.js +7 -0
  174. package/modules/list/list.prototype.js +57 -0
  175. package/modules/list/list.twig +11 -0
  176. package/modules/listicle-item/listicle-item.prototype.js +11 -0
  177. package/modules/listicle-item/listicle-item.twig +3 -0
  178. package/modules/mega-menu/mega-menu.prototype.js +16 -0
  179. package/modules/mega-menu/mega-menu.twig +10 -0
  180. package/modules/mega-menu-content/mega-menu-content.prototype.js +10 -0
  181. package/modules/mega-menu-content/mega-menu-content.twig +5 -0
  182. package/modules/mega-menu-footer/mega-menu-footer.prototype.js +41 -0
  183. package/modules/mega-menu-footer/mega-menu-footer.twig +19 -0
  184. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.prototype.js +20 -0
  185. package/modules/mega-menu-footer-subscribe/mega-menu-footer-subscribe.twig +4 -0
  186. package/modules/mega-menu-item/mega-menu-item.prototype.js +23 -0
  187. package/modules/mega-menu-item/mega-menu-item.twig +13 -0
  188. package/modules/more-stories-button/more-stories-button.profile.js +12 -0
  189. package/modules/more-stories-button/more-stories-button.prototype.js +29 -0
  190. package/modules/more-stories-button/more-stories-button.twig +13 -0
  191. package/modules/newsletter/newsletter.prototype.js +46 -0
  192. package/modules/newsletter/newsletter.twig +21 -0
  193. package/modules/newsletter-cta/newsletter-cta.prototype.js +21 -0
  194. package/modules/newsletter-cta/newsletter-cta.twig +22 -0
  195. package/modules/newswire/newswire.prototype.js +46 -0
  196. package/modules/newswire/newswire.twig +16 -0
  197. package/modules/page-404/page-404.prototype.js +44 -0
  198. package/modules/page-404/page-404.twig +32 -0
  199. package/modules/paragraph/paragraph.narrow.js +8 -0
  200. package/modules/paragraph/paragraph.prototype.js +8 -0
  201. package/modules/paragraph/paragraph.twig +3 -0
  202. package/modules/pmc-footer/pmc-footer.prototype.js +26 -24
  203. package/modules/pmc-footer/pmc-footer.twig +11 -9
  204. package/modules/post-content-image/post-content-image.prototype.js +14 -0
  205. package/modules/post-content-image/post-content-image.twig +3 -0
  206. package/modules/production-credits/production-credits.prototype.js +5 -0
  207. package/modules/production-credits/production-credits.twig +4 -0
  208. package/modules/profile-blurb/profile-blurb.card.js +28 -0
  209. package/modules/profile-blurb/profile-blurb.prototype.js +45 -0
  210. package/modules/profile-blurb/profile-blurb.twig +37 -0
  211. package/modules/profile-body/profile-body.prototype.js +20 -0
  212. package/modules/profile-body/profile-body.twig +15 -0
  213. package/modules/profile-browse-by/profile-browse-by.prototype.js +29 -0
  214. package/modules/profile-browse-by/profile-browse-by.twig +6 -0
  215. package/modules/profile-card-list/profile-card-list.prototype.js +25 -0
  216. package/modules/profile-card-list/profile-card-list.twig +7 -0
  217. package/modules/profile-filter/profile-filter.prototype.js +26 -0
  218. package/modules/profile-filter/profile-filter.twig +15 -0
  219. package/modules/profile-gallery/profile-gallery.prototype.js +28 -0
  220. package/modules/profile-gallery/profile-gallery.twig +13 -0
  221. package/modules/profile-header/profile-header.prototype.js +29 -0
  222. package/modules/profile-header/profile-header.twig +27 -0
  223. package/modules/profile-highlights/profile-highlights.prototype.js +22 -0
  224. package/modules/profile-highlights/profile-highlights.twig +17 -0
  225. package/modules/profile-landing-header/profile-landing-header.prototype.js +17 -0
  226. package/modules/profile-landing-header/profile-landing-header.twig +12 -0
  227. package/modules/profile-landing-river/profile-landing-river.prototype.js +21 -0
  228. package/modules/profile-landing-river/profile-landing-river.twig +13 -0
  229. package/modules/profile-related-stories/profile-related-stories.prototype.js +33 -0
  230. package/modules/profile-related-stories/profile-related-stories.twig +9 -0
  231. package/modules/pullquote/pullquote.prototype.js +8 -0
  232. package/modules/pullquote/pullquote.twig +3 -0
  233. package/modules/read-next/read-next.prototype.js +20 -0
  234. package/modules/read-next/read-next.twig +4 -0
  235. package/modules/search-form/search-form.prototype.js +8 -0
  236. package/modules/search-form/search-form.twig +11 -0
  237. package/modules/secondary-stories/secondary-stories.prototype.js +119 -0
  238. package/modules/secondary-stories/secondary-stories.twig +22 -0
  239. package/modules/separator/separator.prototype.js +4 -0
  240. package/modules/separator/separator.thick.js +7 -0
  241. package/modules/separator/separator.twig +1 -0
  242. package/modules/separator/separator.wide-thick.js +7 -0
  243. package/modules/separator/separator.wide.js +7 -0
  244. package/modules/social-share/social-share.prototype.js +43 -0
  245. package/modules/social-share/social-share.twig +30 -0
  246. package/modules/special-coverage/special-coverage.prototype.js +47 -0
  247. package/modules/special-coverage/special-coverage.twig +29 -0
  248. package/modules/story/story.borders.js +8 -0
  249. package/modules/story/story.center-vertical-borders.js +7 -0
  250. package/modules/story/story.center-vertical.js +11 -0
  251. package/modules/story/story.prototype.js +43 -0
  252. package/modules/story/story.right-borders.js +9 -0
  253. package/modules/story/story.right.js +14 -0
  254. package/modules/story/story.story-arc.js +9 -0
  255. package/modules/story/story.twig +88 -0
  256. package/modules/story/story.vertical-borders.js +7 -0
  257. package/modules/story/story.vertical.js +11 -0
  258. package/modules/story-arc-stories/story-arc-stories.prototype.js +21 -0
  259. package/modules/story-arc-stories/story-arc-stories.twig +14 -0
  260. package/modules/story-featured-quote/story-featured-quote.prototype.js +28 -0
  261. package/modules/story-featured-quote/story-featured-quote.twig +27 -0
  262. package/modules/story-grid/story-grid.prototype.js +24 -0
  263. package/modules/story-grid/story-grid.river.js +15 -0
  264. package/modules/story-grid/story-grid.twig +17 -0
  265. package/modules/sub-header/sub-header.prototype.js +8 -0
  266. package/modules/sub-header/sub-header.twig +7 -0
  267. package/modules/top-stories/top-stories.prototype.js +41 -0
  268. package/modules/top-stories/top-stories.twig +12 -0
  269. package/modules/top-stories/top-stories.xl.js +14 -0
  270. package/modules/vlanding-playlist/README.md +1 -0
  271. package/modules/vlanding-playlist/vlanding-playlist.prototype.js +34 -0
  272. package/modules/vlanding-playlist/vlanding-playlist.twig +20 -0
  273. package/modules/vlanding-video-card/README.md +1 -0
  274. package/modules/vlanding-video-card/vlanding-video-card.prototype.js +25 -0
  275. package/modules/vlanding-video-card/vlanding-video-card.twig +56 -0
  276. package/modules/vlanding-video-showcase/README.md +12 -0
  277. package/modules/vlanding-video-showcase/vlanding-video-showcase.prototype.js +68 -0
  278. package/modules/vlanding-video-showcase/vlanding-video-showcase.twig +46 -0
  279. package/objects/o-account-menu/o-account-menu.prototype.js +35 -0
  280. package/objects/o-account-menu/o-account-menu.twig +25 -0
  281. package/objects/o-author/o-author.prototype.js +13 -0
  282. package/objects/o-author/o-author.twig +13 -0
  283. package/objects/o-card/README.md +1 -0
  284. package/objects/o-card/o-card.prototype.js +25 -0
  285. package/objects/o-card/o-card.twig +75 -0
  286. package/objects/o-card-list/README.md +3 -0
  287. package/objects/o-card-list/o-card-list.prototype.js +13 -0
  288. package/objects/o-card-list/o-card-list.twig +7 -0
  289. package/objects/o-checkbox-input-list/o-checkbox-input-list.prototype.js +16 -0
  290. package/objects/o-checkbox-input-list/o-checkbox-input-list.twig +15 -0
  291. package/objects/o-collection-item/o-collection-item.floated.js +8 -0
  292. package/objects/o-collection-item/o-collection-item.prototype.js +11 -0
  293. package/objects/o-collection-item/o-collection-item.twig +5 -0
  294. package/objects/o-email-capture-form/README.md +11 -0
  295. package/objects/o-email-capture-form/o-email-capture-form.minimal.js +15 -0
  296. package/objects/o-email-capture-form/o-email-capture-form.prototype.js +17 -0
  297. package/objects/o-email-capture-form/o-email-capture-form.twig +16 -0
  298. package/objects/o-figure/README.md +17 -0
  299. package/objects/o-figure/o-figure.prototype.js +15 -7
  300. package/objects/o-figure/o-figure.twig +22 -45
  301. package/objects/o-header/o-header.prototype.js +12 -10
  302. package/objects/o-header/o-header.twig +5 -1
  303. package/objects/o-header-buttons/o-header-buttons.column.js +10 -0
  304. package/objects/o-header-buttons/o-header-buttons.prototype.js +41 -0
  305. package/objects/o-header-buttons/o-header-buttons.twig +42 -0
  306. package/objects/o-icon-button/README.md +5 -0
  307. package/objects/o-icon-button/o-icon-button.prototype.js +21 -0
  308. package/objects/o-icon-button/o-icon-button.search.js +9 -0
  309. package/objects/o-icon-button/o-icon-button.twig +29 -0
  310. package/objects/o-indicator/README.md +1 -0
  311. package/objects/o-indicator/o-indicator.photos.js +12 -0
  312. package/objects/o-indicator/o-indicator.prototype.js +8 -0
  313. package/objects/o-indicator/o-indicator.twig +9 -0
  314. package/objects/o-input-group/o-input-group.prototype.js +11 -0
  315. package/objects/o-input-group/o-input-group.twig +5 -0
  316. package/objects/o-nav/README.md +2 -2
  317. package/objects/o-nav/o-nav.horizontal.js +6 -6
  318. package/objects/o-nav/o-nav.prototype.js +17 -13
  319. package/objects/o-nav/o-nav.twig +29 -3
  320. package/objects/o-select-nav/o-select-nav.prototype.js +17 -0
  321. package/objects/o-select-nav/o-select-nav.twig +9 -0
  322. package/objects/o-social-list/o-social-list.prototype.js +21 -31
  323. package/objects/o-social-list/o-social-list.twig +10 -2
  324. package/objects/o-span-group/README.md +1 -0
  325. package/objects/o-span-group/o-span-group.prototype.js +11 -0
  326. package/objects/o-span-group/o-span-group.twig +5 -0
  327. package/objects/o-sponsored-by/o-sponsored-by.prototype.js +9 -10
  328. package/objects/o-sponsored-by/o-sponsored-by.twig +2 -2
  329. package/objects/o-story-arc-item/o-story-arc-item.prototype.js +29 -0
  330. package/objects/o-story-arc-item/o-story-arc-item.twig +9 -0
  331. package/objects/o-sub-header/o-sub-header.prototype.js +39 -0
  332. package/objects/o-sub-header/o-sub-header.twig +9 -0
  333. package/objects/o-tease/o-tease.prototype.js +24 -20
  334. package/objects/o-tease/o-tease.twig +7 -3
  335. package/objects/o-tease-list/o-tease-list.prototype.js +12 -24
  336. package/objects/o-tease-list/o-tease-list.twig +5 -1
  337. package/package.json +6 -9
  338. package/pattern.html +61 -9
  339. package/style-guide/colors.html +33 -0
  340. package/style-guide/fonts.html +22 -0
  341. package/style-guide/index.html +14 -0
  342. package/components/c-button/c-button.scss +0 -33
  343. package/components/c-tagline/c-tagline.json +0 -4
  344. package/components/c-tagline/c-tagline.scss +0 -19
  345. package/objects/o-figure/o-figure.scss +0 -46
  346. package/objects/o-tease/o-tease.scss +0 -30
  347. package/scratch-pad.css +0 -3
@@ -1,22 +1,26 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const c_lazy_image = clonedeep( require( '../../components/c-lazy-image/c-lazy-image.prototype' ) );
4
+ const c_title = clonedeep( require( '../../components/c-title/c-title.prototype' ) );
5
+ const c_tagline = clonedeep( require( '../../components/c-tagline/c-tagline.prototype' ) );
6
+ const c_heading = clonedeep( require( '../../components/c-heading/c-heading.prototype' ) );
7
+
8
+ c_title.c_title_url = false;
9
+
10
+ c_heading.c_heading_url = false;
11
+
12
+ c_lazy_image.c_lazy_image_link_url = false;
13
+ c_lazy_image.c_lazy_image_crop_class = 'lrv-a-crop-3x2';
14
+ c_lazy_image.c_lazy_image_alt_attr = 'Post tease thumbnail image';
15
+
1
16
  module.exports = {
2
- "o_tease_url": "#",
3
- "o_tease_primary_classes": "",
4
- "o_tease_secondary_classes": "",
5
- "c_heading": {
6
- "c_heading_text": "Breaking News",
7
- "c_heading_classes": "pmc-u-font-family-balto pmc-u-font-size-20 pmc-u-font-weight-bold u-font-style-italic"
8
- },
9
- "c_title": {
10
- "c_title_text": "here is title text from o-tease.json"
11
- },
12
- "c_tagline": {
13
- "c_tagline_classes": "",
14
- "c_tagline_markup": "here is title text from o-tease.json"
15
- },
16
- "o_figure": {
17
- "o_figure_crop_class": "pmc-u-crop-2x3",
18
- "o_figure_alt_attr": "Thumbnail image",
19
- "o_figure_image_url": "https://picsum.photos/100/100",
20
- "o_figure_caption_text": "Here in o-tease"
21
- }
17
+ o_tease_url: '#',
18
+ o_tease_classes: 'lrv-u-flex lrv-u-align-items-center',
19
+ o_tease_link_classes: 'lrv-u-display-contents',
20
+ o_tease_primary_classes: 'lrv-u-flex-grow-1',
21
+ o_tease_secondary_classes: 'lrv-u-flex-shrink-0 lrv-u-width-30p',
22
+ c_heading: c_heading,
23
+ c_title: c_title,
24
+ c_tagline: c_tagline,
25
+ c_lazy_image: c_lazy_image
22
26
  };
@@ -5,9 +5,13 @@
5
5
  {% endif %}
6
6
 
7
7
  {% if o_tease_url %}
8
- <a href="{{ o_tease_url }}" class="u-display-contents {{ o_tease_url_classes }}">
8
+ <a href="{{ o_tease_url }}" class="{{ o_tease_link_classes }}">
9
9
  {% endif %}
10
10
  <div class="o-tease__primary {{ o_tease_primary_classes }}">
11
+ {% if c_span %}
12
+ {% include "@larva/components/c-span/c-span.twig" with c_span %}
13
+ {% endif %}
14
+
11
15
  {% if c_heading %}
12
16
  {% include "@larva/components/c-heading/c-heading.twig" with c_heading %}
13
17
  {% endif %}
@@ -29,9 +33,9 @@
29
33
  {% endif %}
30
34
  </div>
31
35
 
32
- {% if o_figure %}
36
+ {% if c_lazy_image %}
33
37
  <div class="o-tease__secondary {{ o_tease_secondary_classes }}">
34
- {% include "@larva/objects/o-figure/o-figure.twig" with o_figure %}
38
+ {% include "@larva/components/c-lazy-image/c-lazy-image.twig" with c_lazy_image %}
35
39
  </div>
36
40
  {% endif %}
37
41
 
@@ -1,26 +1,14 @@
1
+ const clonedeep = require( 'lodash.clonedeep' );
2
+
3
+ const o_tease = clonedeep( require( '../o-tease/o-tease.prototype' ) );
4
+
1
5
  module.exports = {
2
- "o_tease_list_classes": "pmc-a-unstyle-list",
3
- "o_tease_list_items": [
4
- {
5
- "c_title": {
6
- "c_title_text": "Story list item 1"
7
- },
8
- "o_figure": {
9
- "o_figure_crop_class": "pmc-a-crop-16x9",
10
- "o_figure_alt_attr": "Thumbnail image",
11
- "o_figure_image_url": "https://picsum.photos/200/300"
12
- }
13
- },
14
- {
15
- "c_title": {
16
- "c_title_text": "Story list item 2"
17
- },
18
- "o_figure": {
19
- "o_figure_crop_class": "pmc-a-crop-16x9",
20
- "o_figure_permalink_url": "https://notlaura.com",
21
- "o_figure_alt_attr": "Thumbnail image",
22
- "o_figure_image_url": "https://picsum.photos/300/300"
23
- }
24
- }
6
+ o_tease_list_classes: 'lrv-a-unstyle-list',
7
+ o_tease_list_labelledby_attr: '',
8
+ o_tease_list_item_classes: '',
9
+ o_tease_list_items: [
10
+ o_tease,
11
+ o_tease,
12
+ o_tease
25
13
  ]
26
- }
14
+ };
@@ -1,4 +1,8 @@
1
- <ul class="o-tease-list {{ modifier_class }} {{ o_tease_list_classes }}">
1
+ <ul class="o-tease-list {{ modifier_class }} {{ o_tease_list_classes }}"
2
+ {% if o_tease_list_labelledby_attr %}
3
+ aria-labelledby="{{ o_tease_list_labelledby_attr }}"
4
+ {% endif %}
5
+ >
2
6
  {% for item in o_tease_list_items %}
3
7
  <li class="o-tease-list__item {{ o_tease_list_item_classes }}">
4
8
  {% include "@larva/objects/o-tease/o-tease.twig" with item %}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@penskemediacorp/larva-patterns",
3
- "version": "1.7.0-alpha.0",
3
+ "version": "1.7.2",
4
4
  "description": "Larva markup patterns.",
5
5
  "author": "laras126 <laras126@gmail.com>",
6
6
  "homepage": "https://github.com/Penske-Media-Corp/pmc-larva/tree/master/packages/patterns#readme",
@@ -20,13 +20,10 @@
20
20
  "url": "https://github.com/Penske-Media-Corp/pmc-larva/issues"
21
21
  },
22
22
  "dependencies": {
23
- "@penskemediacorp/larva": "^1.7.0-alpha.0",
24
- "@penskemediacorp/larva-css": "^1.7.0-alpha.0",
25
- "@penskemediacorp/larva-js": "^1.7.0-alpha.0",
26
- "@penskemediacorp/larva-svg": "^1.7.0-alpha.0"
23
+ "@penskemediacorp/larva-css": "^1.7.2",
24
+ "@penskemediacorp/larva-js": "^1.7.1",
25
+ "@penskemediacorp/larva-svg": "^1.4.0",
26
+ "lodash.clonedeep": "^4.5.0"
27
27
  },
28
- "devDependencies": {
29
- "stylelint": "^10.1.0"
30
- },
31
- "gitHead": "316e0dfc58c0dae2674a686b547c1a4e992ef323"
28
+ "gitHead": "282a59529a11489ab454027627c313ed2fb30853"
32
29
  }
package/pattern.html CHANGED
@@ -1,16 +1,68 @@
1
1
  {% extends "base.html" %}
2
2
 
3
3
  {% block content %}
4
- <div class="pmc-u-display-none">
5
- {{ sprite_data|raw }}
6
- </div>
7
- <div class="pmc-u-background-grey-light">
8
- <h1 class="pmc-u-font-family-basic pmc-u-padding-a-1 pmc-u-margin-a-00">{{ source ~ ' ' ~ type ~ ': ' ~ name }}</h1>
9
- </div>
4
+ {% if 'components' == type or 'modules' == type or 'objects' == type %}
5
+ {% set ext = '.twig' %}
6
+ {% else %}
7
+ {% set ext = '.html' %}
8
+ {% endif %}
9
+
10
+ {% set path = type ~"/" ~ name ~ "/" ~ name ~ ext %}
11
+
12
+ <header class="lrv-u-background-color-grey-light lrv-u-padding-a-1 js-LarvaUiToggle-panel">
13
+ <h1 class="lrv-u-font-family-basic lrv-u-margin-a-00">{{ source ~ ' ' ~ type ~ ': ' }}<code>{{ name }}{{ variant ? '.' ~ variant }}</code></h1>
14
+ <div class="lrv-u-flex lrv-u-align-items-center lrv-a-space-children-horizontal lrv-a-space-children--1">
15
+ <h2>Available Variants</h2>
16
+ {% for item in variants %}
17
+ {% set slug = item == 'prototype' ? '' : item %}
18
+ {% set link = "/" ~ source ~ "/" ~ type ~ "/" ~ name ~ "/" ~ slug %}
19
+ {% set current_class = variant == item ? 'lrv-u-background-color-brand-primary lrv-u-color-white lrv-u-color-white:hover' : '' %}
20
+
21
+ <a href="{{ link }}" class="lrv-u-padding-a-050 {{ current_class }}">{{ item }}</a>
22
+ {% endfor %}
23
+ </div>
24
+ </header>
25
+
26
+ {% if data.error %}
27
+ <div class="lrv-a-wrapper">
28
+ <h2 style="color: red;">
29
+ {{ data.message|raw }}
30
+ </h2>
31
+ <code>{{ data.error.message }}</code>
32
+ <pre>
33
+ {{ data.error.stack }}
34
+ </pre>
35
+ </div>
36
+ {% else %}
37
+ {% include path with data %}
38
+ {% endif %}
39
+
40
+ <div class="lrv-u-background-color-grey-light lrv-a-grid lrv-u-font-size-12 lrv-u-border-t-1 lrv-u-border-color-grey lrv-u-padding-a-2 js-LarvaUiToggle-panel">
41
+ <details>
42
+ <summary class="lrv-u-font-size-24 lrv-u-cursor-pointer"><code>{{ name }}</code> README</summary>
43
+ <div class="lrv-u-padding-a-1 lrv-u-background-color-white lrv-u-font-size-16">
44
+ {{ source( "@" ~ source ~ "/" ~ type ~"/" ~ name ~ "/" ~ 'README.md', true )|markdown|raw }}
45
+ </div>
46
+ </details>
47
+ <details>
48
+ {% if type == 'one-offs' %}
49
+ <summary class="lrv-u-font-size-24 lrv-u-cursor-pointer"><code>{{ name }}</code> HTML <small class="lrv-u-font-size-16">Dummy HTML for development.</small></summary>
50
+ {% else %}
51
+ <summary class="lrv-u-font-size-24 lrv-u-cursor-pointer"><code>{{ name }}</code> Twig <small class="lrv-u-font-size-16">The markup file.</small></summary>
52
+ {% endif %}
53
+
54
+ <pre class="lrv-a-wrapper language-twig"><code>{{ source( path )|escape }}</code></pre>
55
+ </details>
56
+
57
+ {% if type != 'algorithms' %}
58
+ <details>
59
+ <summary class="lrv-u-font-size-24 lrv-u-cursor-pointer"><code>{{ name }}{{ variant ? '.' ~ variant }}</code> JSON <small class="lrv-u-font-size-16">The data object for this pattern.</small></summary>
60
+ <pre class="lrv-a-wrapper language-json"><code>{{ json_pretty|raw }}</code></pre>
61
+ </details>
62
+ {% endif %}
10
63
 
11
- {% include "@" ~ source ~ "/" ~ type ~"/" ~ name ~ "/" ~ name ~ ".twig" with data %}
64
+ {% if type == 'algorithms' %}
12
65
 
13
- <div class="pmc-u-background-grey-light pmc-a-grid pmc-u-font-size-12 pmc-u-border-t-1 pmc-u-border-color-grey pmc-u-padding-a-2">
14
- <pre class="pmc-a-wrapper language-json"><code>{{ json_pretty|raw }}</code></pre>
66
+ {% endif %}
15
67
  </div>
16
68
  {% endblock %}
@@ -0,0 +1,33 @@
1
+ <section>
2
+ <h2 style="background-color: whitesmoke;" class="lrv-u-padding-a-1 lrv-u-margin-b-2">Text Colors</h2>
3
+ <div class="lrv-a-grid lrv-a-cols3 lrv-a-cols4@tablet lrv-u-margin-tb-1">
4
+ {% for class in colors.color %}
5
+ <div class="lrv-u-flex lrv-u-flex-direction-column">
6
+ <strong class="lrv-u-width-100 {{ class }}">Here is some text</strong>
7
+ <p><code>.{{ class }}</code></p>
8
+ </div>
9
+ {% endfor %}
10
+ </div>
11
+ </section>
12
+ <section>
13
+ <h2 style="background-color: whitesmoke;" class="lrv-u-padding-a-1 lrv-u-margin-b-2">Border Colors</h2>
14
+ <div class="lrv-a-grid lrv-a-cols3 lrv-a-cols4@tablet lrv-u-margin-tb-1">
15
+ {% for class in colors['border-color'] %}
16
+ <div class="lrv-u-flex lrv-u-flex-direction-column">
17
+ <div class="lrv-u-width-100 lrv-u-padding-a-025 lrv-u-border-a-3 {{ class }}"></div>
18
+ <p><code>.{{ class }}</code></p>
19
+ </div>
20
+ {% endfor %}
21
+ </div>
22
+ </section>
23
+ <section>
24
+ <h2 style="background-color: whitesmoke;" class="lrv-u-padding-a-1 lrv-u-margin-b-2">Background Colors</h2>
25
+ <div class="lrv-a-grid lrv-a-cols3 lrv-u-margin-tb-1">
26
+ {% for class in colors['background-color'] %}
27
+ <div class="lrv-u-flex lrv-u-flex-direction-column">
28
+ <div class="lrv-u-width-100 lrv-u-border-a-1 lrv-u-padding-a-1 {{ class }}"></div>
29
+ <p><code>.{{ class }}</code></p>
30
+ </div>
31
+ {% endfor %}
32
+ </div>
33
+ </section>
@@ -0,0 +1,22 @@
1
+ {% if not font_styles %}
2
+ <section class="lrv-a-wrapper lrv-u-width-50p lrv-u-color-white lrv-u-margin-tb-2 lrv-u-padding-a-1 lrv-u-background-color-grey-darkest">
3
+ {% set url = 'https://' ~ brand ~ '.larva.pmcdev.io/project/__tests__/style-guide' %}
4
+ <h2>This brand does not have typography tokens yet.</h2>
5
+ <p>Visit this documentation to learn how to set them up in Larva, and in the mean time, the brand's typography styles may be available at the legacy URL:</p>
6
+ <a href="{{url}}">{{url}}</a></p>
7
+ </section>
8
+
9
+ {% endif %}
10
+
11
+ {% for key, sizes in font_styles %}
12
+ <div class="lrv-u-border-t-1 lrv-u-padding-b-2">
13
+ <h2 class="lrv-u-padding-a-1" style="background-color: lemonchiffon;">{{ key }}</h2>
14
+
15
+ {% for class in sizes %}
16
+ <div class="lrv-u-border-b-1 lrv-u-border-color-grey lrv-u-margin-t-1">
17
+ <code>.{{class}}</code>
18
+ <p class="{{ class }}">Each of us knows a little, together we know a lot.</p>
19
+ </div>
20
+ {% endfor %}
21
+ </div>
22
+ {% endfor %}
@@ -0,0 +1,14 @@
1
+ {% extends "base.html" %}
2
+
3
+ {% block content %}
4
+ <div class="lrv-a-wrapper">
5
+ <header class="lrv-u-margin-tb-1">
6
+ <h1>Style Guide for <code class="lrv-u-background-color-grey-dark lrv-u-border-radius-5 lrv-u-padding-lr-050 lrv-u-padding-tb-025 lrv-u-color-white">{{brand}}</code></h1>
7
+ <p>This style guide is generated from design tokens. The correct way to set up and customize the style guide is outlined in <a href="https://confluence.pmcdev.io/x/TgmeAw"><u>this Confluence Page</u></a>.</p>
8
+ </header>
9
+ {% include "style-guide/fonts.html" %}
10
+ {% include "style-guide/colors.html" %}
11
+ {% block elements %}
12
+ {% endblock elements %}
13
+ </div>
14
+ {% endblock content %}
@@ -1,33 +0,0 @@
1
- // Button
2
- //
3
- // .c-button--block - Used on previous next, etc.
4
- // .c-button--plain - Plain button.
5
- //
6
- // Markup: c-button.twig
7
- //
8
- // Style Guide: Components.Button
9
-
10
- @import '~@setup';
11
-
12
- .c-button {
13
- @include _button-base( $color: $color-red-31, $color-hover: $color-red-18 );
14
- }
15
-
16
- .c-button--block {
17
- background-color: $color-red-31;
18
- box-shadow: $shadow-light;
19
- color: $color-white;
20
- border: none;
21
- border-radius: 0;
22
- transition: box-shadow $transition-button;
23
-
24
- &:hover {
25
- color: $color-white;
26
- box-shadow: $shadow-dark;
27
- }
28
- }
29
-
30
- .c-button--plain {
31
- border: none;
32
- border-radius: 0;
33
- }
@@ -1,4 +0,0 @@
1
- {
2
- "c_tagline_classes": "",
3
- "c_tagline_text": "Here is a pretty small amount of text for the tagline. It is a very flexible components, and is really just a single line of text."
4
- }
@@ -1,19 +0,0 @@
1
- // Tagline
2
- //
3
- // Tagline supports both escaped text data as `c_tagline_text` and markup from `wp_kses_post` as `c_tagline_markup`.
4
- //
5
- // Markup: c-tagline.twig
6
- //
7
- // Style Guide: Components.Tagline
8
-
9
- @import '~@setup';
10
-
11
- .c-tagline,
12
- .c-tagline > p {
13
- margin-top: 0;
14
- margin-bottom: $spacer-050;
15
- }
16
-
17
- .c-tagline--a-content__link a {
18
- @include a-content__link( inherit );
19
- }
@@ -1,46 +0,0 @@
1
- // Figure
2
- //
3
- // This pattern should be applied to containers of `img` elements that use the .u-crop
4
- // pattern. It will assume the width of it's parent and supports an optional cropping class,
5
- // link wrapper, and a caption.
6
- //
7
- // .o-figure--circle - Should be used in conjunction with pmc-u-crop-1x1 for the crop class.
8
- //
9
- // Markup: o-figure.twig
10
- //
11
- // Style guide: Components.Figure
12
-
13
- @import '../../../node_modules/@penskemediacorp/larva-scss/src/setup.scss';
14
-
15
- .o-figure {
16
- width: 100%;
17
- display: block;
18
- }
19
-
20
- .o-figure--circle {
21
- border-radius: 50%;
22
- overflow: hidden;
23
- }
24
-
25
- .o-figure--embedded {
26
- width: auto;
27
- }
28
-
29
- .o-figure__link {
30
- @include pmc-unstyle-link;
31
- }
32
-
33
- .o-figure__image {
34
- width: 100%;
35
- height: auto;
36
- display: block;
37
- background-color: map-get( $semantic-color-list, grey-light );
38
- transition: opacity $transition-thumbnail-hover;
39
-
40
- // Prevent small movement when opacity changes on hover.
41
- transform: translate3d( 0px, 0px, 0px ); // stylelint-disable-line unit-blacklist
42
- }
43
-
44
- .o-figure__link:hover .o-figure__image {
45
- opacity: 0.75;
46
- }
@@ -1,30 +0,0 @@
1
- // Tease
2
- //
3
- // The tease is a side by side image with a title and additional, optional lines of text beneath.
4
- //
5
- // .o-tease--flipped - Order of primary and secondary are reversed.
6
- //
7
- // Markup: o-tease.twig
8
- //
9
- // Style guide: Objects.Tease
10
-
11
- @import '@setup';
12
-
13
- .o-tease {
14
- display: flex;
15
- align-items: center;
16
- flex-direction: row-reverse;
17
- }
18
-
19
- .o-tease--flipped {
20
- flex-direction: row;
21
- }
22
-
23
- .o-tease__primary {
24
- flex-grow: 1;
25
- }
26
-
27
- .o-tease__secondary {
28
- width: 30%;
29
- flex-shrink: 0;
30
- }
package/scratch-pad.css DELETED
@@ -1,3 +0,0 @@
1
- body {
2
-
3
- }