@quintype/arrow 3.15.1-perf.1 → 3.15.1-perf.10

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 (609) hide show
  1. package/components/Atoms/AdPlaceholder/ads.m.css +13 -0
  2. package/components/Atoms/AdPlaceholder/index.js +28 -0
  3. package/components/Atoms/Author/README.md +19 -0
  4. package/components/Atoms/Author/author.m.css +65 -0
  5. package/components/Atoms/Author/index.js +109 -0
  6. package/components/Atoms/Author/stories.js +28 -0
  7. package/components/Atoms/AuthorCard/README.md +47 -0
  8. package/components/Atoms/AuthorCard/author-card.m.css +174 -0
  9. package/components/Atoms/AuthorCard/author-card.test.js +93 -0
  10. package/components/Atoms/AuthorCard/index.js +133 -0
  11. package/components/Atoms/AuthorCard/stories.js +68 -0
  12. package/components/Atoms/AuthorImage/README.md +31 -0
  13. package/components/Atoms/AuthorImage/author-image.m.css +53 -0
  14. package/components/Atoms/AuthorImage/index.js +69 -0
  15. package/components/Atoms/AuthorImage/stories.js +26 -0
  16. package/components/Atoms/AuthorWithTimestamp/README.md +12 -0
  17. package/components/Atoms/AuthorWithTimestamp/author-with-timestamp.m.css +42 -0
  18. package/components/Atoms/AuthorWithTimestamp/index.js +95 -0
  19. package/components/Atoms/AuthorWithTimestamp/stories.js +22 -0
  20. package/components/Atoms/BulletPoint/README.md +9 -0
  21. package/components/Atoms/BulletPoint/bullet-point.m.css +14 -0
  22. package/components/Atoms/BulletPoint/index.js +27 -0
  23. package/components/Atoms/BulletPoint/stories.js +9 -0
  24. package/components/Atoms/CaptionAttribution/README.md +15 -0
  25. package/components/Atoms/CaptionAttribution/caption-attribution.m.css +40 -0
  26. package/components/Atoms/CaptionAttribution/caption-attribution.test.js +50 -0
  27. package/components/Atoms/CaptionAttribution/index.js +66 -0
  28. package/components/Atoms/CaptionAttribution/stories.js +47 -0
  29. package/components/Atoms/CollectionName/README.md +11 -0
  30. package/components/Atoms/CollectionName/collection-name.m.css +94 -0
  31. package/components/Atoms/CollectionName/index.js +152 -0
  32. package/components/Atoms/CollectionName/stories.js +41 -0
  33. package/components/Atoms/Divider/__snapshots__/divider.test.js.snap +18 -0
  34. package/components/Atoms/Divider/divider.m.css +6 -0
  35. package/components/Atoms/Divider/divider.test.js +9 -0
  36. package/components/Atoms/Divider/index.js +34 -0
  37. package/components/Atoms/Dot/dot.js +39 -0
  38. package/components/Atoms/Dot/dot.m.css +6 -0
  39. package/components/Atoms/ExtendedLoadMore/README.md +9 -0
  40. package/components/Atoms/ExtendedLoadMore/__snapshots__/extended-load-more.test.js.snap +11 -0
  41. package/components/Atoms/ExtendedLoadMore/extended-load-more.test.js +14 -0
  42. package/components/Atoms/ExtendedLoadMore/index.js +183 -0
  43. package/components/Atoms/FallbackImage/fallback.m.css +33 -0
  44. package/components/Atoms/FallbackImage/index.js +29 -0
  45. package/components/Atoms/Headline/README.md +7 -0
  46. package/components/Atoms/Headline/headline.m.css +26 -0
  47. package/components/Atoms/Headline/index.js +97 -0
  48. package/components/Atoms/Headline/stories.js +39 -0
  49. package/components/Atoms/HeroImage/README.md +13 -0
  50. package/components/Atoms/HeroImage/hero-image.m.css +72 -0
  51. package/components/Atoms/HeroImage/index.js +175 -0
  52. package/components/Atoms/HeroImage/stories.js +23 -0
  53. package/components/Atoms/Hyperlink/hyperlink.m.css +10 -0
  54. package/components/Atoms/Hyperlink/index.js +20 -0
  55. package/components/Atoms/LoadMoreTarget/index.js +24 -0
  56. package/components/Atoms/Loadmore/README.md +0 -0
  57. package/components/Atoms/Loadmore/__snapshots__/load-more.test.js.snap +25 -0
  58. package/components/Atoms/Loadmore/index.js +61 -0
  59. package/components/Atoms/Loadmore/load-more.m.css +23 -0
  60. package/components/Atoms/Loadmore/load-more.test.js +26 -0
  61. package/components/Atoms/Loadmore/stories.js +17 -0
  62. package/components/Atoms/MagazineCoverImage/README.md +21 -0
  63. package/components/Atoms/MagazineCoverImage/index.js +58 -0
  64. package/components/Atoms/MagazineCoverImage/magazine-cover-image.m.css +24 -0
  65. package/components/Atoms/MagazineCoverImage/stories.js +22 -0
  66. package/components/Atoms/PremiumStoryIcon/index.js +54 -0
  67. package/components/Atoms/PublishDetail/README.md +15 -0
  68. package/components/Atoms/PublishDetail/index.js +104 -0
  69. package/components/Atoms/PublishDetail/publish-details.m.css +47 -0
  70. package/components/Atoms/PublishDetail/publish-details.test.js +38 -0
  71. package/components/Atoms/PublishDetail/stories.js +20 -0
  72. package/components/Atoms/ReadTime/README.md +13 -0
  73. package/components/Atoms/ReadTime/index.js +46 -0
  74. package/components/Atoms/ReadTime/read-time.m.css +25 -0
  75. package/components/Atoms/ReadTime/read-time.test.js +29 -0
  76. package/components/Atoms/ReadTime/stories.js +15 -0
  77. package/components/Atoms/ScrollSnap/SliderArrow/index.js +64 -0
  78. package/components/Atoms/ScrollSnap/SliderArrow/slider-arrow.m.css +45 -0
  79. package/components/Atoms/ScrollSnap/SliderIndicator/index.js +53 -0
  80. package/components/Atoms/ScrollSnap/SliderIndicator/slider-indicator.m.css +71 -0
  81. package/components/Atoms/ScrollSnap/index.js +165 -0
  82. package/components/Atoms/ScrollSnap/scroll-snap.m.css +27 -0
  83. package/components/Atoms/SectionTag/README.md +11 -0
  84. package/components/Atoms/SectionTag/index.js +79 -0
  85. package/components/Atoms/SectionTag/section.m.css +53 -0
  86. package/components/Atoms/SectionTag/stories.js +22 -0
  87. package/components/Atoms/SocialSharePopup/README.md +25 -0
  88. package/components/Atoms/SocialSharePopup/__snapshots__/social-share-popup.test.js.snap +653 -0
  89. package/components/Atoms/SocialSharePopup/index.js +100 -0
  90. package/components/Atoms/SocialSharePopup/social-share-popup.m.css +109 -0
  91. package/components/Atoms/SocialSharePopup/social-share-popup.test.js +87 -0
  92. package/components/Atoms/SocialSharePopup/stories.js +18 -0
  93. package/components/Atoms/StoryElements/AlsoRead/README.md +49 -0
  94. package/components/Atoms/StoryElements/AlsoRead/also-read.m.css +135 -0
  95. package/components/Atoms/StoryElements/AlsoRead/also-read.test.js +97 -0
  96. package/components/Atoms/StoryElements/AlsoRead/index.js +156 -0
  97. package/components/Atoms/StoryElements/AlsoRead/stories.js +47 -0
  98. package/components/Atoms/StoryElements/Attachment/README.md +21 -0
  99. package/components/Atoms/StoryElements/Attachment/__snapshots__/attachment.test.js.snap +47 -0
  100. package/components/Atoms/StoryElements/Attachment/attachment.m.css +125 -0
  101. package/components/Atoms/StoryElements/Attachment/attachment.test.js +66 -0
  102. package/components/Atoms/StoryElements/Attachment/index.js +86 -0
  103. package/components/Atoms/StoryElements/Attachment/stories.js +62 -0
  104. package/components/Atoms/StoryElements/BigFact/README.md +9 -0
  105. package/components/Atoms/StoryElements/BigFact/big-fact.m.css +41 -0
  106. package/components/Atoms/StoryElements/BigFact/big-fact.test.js +28 -0
  107. package/components/Atoms/StoryElements/BigFact/index.js +56 -0
  108. package/components/Atoms/StoryElements/BigFact/stories.js +11 -0
  109. package/components/Atoms/StoryElements/BlockQuote/README.md +49 -0
  110. package/components/Atoms/StoryElements/BlockQuote/Svg/curve.js +32 -0
  111. package/components/Atoms/StoryElements/BlockQuote/Svg/edge.js +32 -0
  112. package/components/Atoms/StoryElements/BlockQuote/Svg/icon.m.css +4 -0
  113. package/components/Atoms/StoryElements/BlockQuote/block-quote.m.css +161 -0
  114. package/components/Atoms/StoryElements/BlockQuote/block-quote.test.js +71 -0
  115. package/components/Atoms/StoryElements/BlockQuote/index.js +154 -0
  116. package/components/Atoms/StoryElements/BlockQuote/stories.js +42 -0
  117. package/components/Atoms/StoryElements/Blurb/README.md +43 -0
  118. package/components/Atoms/StoryElements/Blurb/blurb.m.css +55 -0
  119. package/components/Atoms/StoryElements/Blurb/blurb.test.js +76 -0
  120. package/components/Atoms/StoryElements/Blurb/index.js +96 -0
  121. package/components/Atoms/StoryElements/Blurb/stories.js +38 -0
  122. package/components/Atoms/StoryElements/Image/README.md +13 -0
  123. package/components/Atoms/StoryElements/Image/image.m.css +21 -0
  124. package/components/Atoms/StoryElements/Image/image.test.js +19 -0
  125. package/components/Atoms/StoryElements/Image/index.js +87 -0
  126. package/components/Atoms/StoryElements/Image/stories.js +28 -0
  127. package/components/Atoms/StoryElements/ImageSlideshow/README.md +13 -0
  128. package/components/Atoms/StoryElements/ImageSlideshow/image-slideshow.m.css +49 -0
  129. package/components/Atoms/StoryElements/ImageSlideshow/index.js +82 -0
  130. package/components/Atoms/StoryElements/ImageSlideshow/stories.js +31 -0
  131. package/components/Atoms/StoryElements/QuestionAnswer/README.md +56 -0
  132. package/components/Atoms/StoryElements/QuestionAnswer/index.js +176 -0
  133. package/components/Atoms/StoryElements/QuestionAnswer/question-answer.m.css +106 -0
  134. package/components/Atoms/StoryElements/QuestionAnswer/question-answer.test.js +130 -0
  135. package/components/Atoms/StoryElements/QuestionAnswer/stories.js +102 -0
  136. package/components/Atoms/StoryElements/Quote/README.md +41 -0
  137. package/components/Atoms/StoryElements/Quote/index.js +87 -0
  138. package/components/Atoms/StoryElements/Quote/quote.m.css +111 -0
  139. package/components/Atoms/StoryElements/Quote/quote.test.js +61 -0
  140. package/components/Atoms/StoryElements/Quote/stories.js +39 -0
  141. package/components/Atoms/StoryElements/Reference/README.md +9 -0
  142. package/components/Atoms/StoryElements/Reference/index.js +80 -0
  143. package/components/Atoms/StoryElements/Reference/reference.m.css +42 -0
  144. package/components/Atoms/StoryElements/Reference/reference.test.js +38 -0
  145. package/components/Atoms/StoryElements/Reference/stories.js +16 -0
  146. package/components/Atoms/StoryElements/StoryElement/README.md +10 -0
  147. package/components/Atoms/StoryElements/StoryElement/index.js +30 -0
  148. package/components/Atoms/StoryElements/StoryElement/stories.js +17 -0
  149. package/components/Atoms/StoryElements/StoryElement/storyelement.test.js +14 -0
  150. package/components/Atoms/StoryElements/Summary/README.md +56 -0
  151. package/components/Atoms/StoryElements/Summary/index.js +98 -0
  152. package/components/Atoms/StoryElements/Summary/stories.js +41 -0
  153. package/components/Atoms/StoryElements/Summary/summary.m.css +121 -0
  154. package/components/Atoms/StoryElements/Summary/summary.test.js +83 -0
  155. package/components/Atoms/StoryElements/Text/README.md +32 -0
  156. package/components/Atoms/StoryElements/Text/index.js +74 -0
  157. package/components/Atoms/StoryElements/Text/stories.js +56 -0
  158. package/components/Atoms/StoryElements/Text/text.m.css +78 -0
  159. package/components/Atoms/StoryElements/Text/text.test.js +70 -0
  160. package/components/Atoms/StoryElements/Video/README.md +9 -0
  161. package/components/Atoms/StoryElements/Video/index.js +37 -0
  162. package/components/Atoms/StoryElements/Video/stories.js +29 -0
  163. package/components/Atoms/StoryElements/Video/video.m.css +89 -0
  164. package/components/Atoms/StoryElements/Video/video.test.js +14 -0
  165. package/components/Atoms/StoryElements/imageGallery/README.md +18 -0
  166. package/components/Atoms/StoryElements/imageGallery/image-gallery.m.css +52 -0
  167. package/components/Atoms/StoryElements/imageGallery/image-gallery.test.js +17 -0
  168. package/components/Atoms/StoryElements/imageGallery/index.js +112 -0
  169. package/components/Atoms/StoryElements/imageGallery/stories.js +22 -0
  170. package/components/Atoms/StoryElements/withElementWrapper.js +21 -0
  171. package/components/Atoms/StoryElements/withElementWrapper.test.js +49 -0
  172. package/components/Atoms/StoryHeadline/index.js +57 -0
  173. package/components/Atoms/StoryHeadline/story-headline.m.css +36 -0
  174. package/components/Atoms/StoryTags/README.md +9 -0
  175. package/components/Atoms/StoryTags/index.js +47 -0
  176. package/components/Atoms/StoryTags/stories.js +23 -0
  177. package/components/Atoms/StoryTags/story-tags.test.js +16 -0
  178. package/components/Atoms/StoryTags/tags.m.css +34 -0
  179. package/components/Atoms/Subheadline/README.md +17 -0
  180. package/components/Atoms/Subheadline/index.js +52 -0
  181. package/components/Atoms/Subheadline/stories.js +21 -0
  182. package/components/Atoms/Subheadline/subheadline.m.css +17 -0
  183. package/components/Atoms/TimeStamp/README.md +9 -0
  184. package/components/Atoms/TimeStamp/index.js +39 -0
  185. package/components/Atoms/TimeStamp/stories.js +11 -0
  186. package/components/Atoms/TimeStamp/timestamp.m.css +22 -0
  187. package/components/Fixture/config.json +2703 -0
  188. package/components/Fixture/dummy-collection.js +2547 -0
  189. package/components/Fixture/dummyStory.js +2089 -0
  190. package/components/Fixture/index.js +433 -0
  191. package/components/Fixture/slot-config.js +26 -0
  192. package/components/Molecules/FullScreenImages/fullscreenimages.scss +56 -0
  193. package/components/Molecules/FullScreenImages/index.js +119 -0
  194. package/components/Molecules/KeyEvents/README.md +21 -0
  195. package/components/Molecules/KeyEvents/index.js +152 -0
  196. package/components/Molecules/KeyEvents/key-events.m.css +89 -0
  197. package/components/Molecules/KeyEvents/stories.js +25 -0
  198. package/components/Molecules/PageIntroductionCard/README.md +25 -0
  199. package/components/Molecules/PageIntroductionCard/index.js +77 -0
  200. package/components/Molecules/PageIntroductionCard/page-intro-card.m.css +61 -0
  201. package/components/Molecules/PageIntroductionCard/stories.js +17 -0
  202. package/components/Molecules/PortraitStoryCard/README.md +10 -0
  203. package/components/Molecules/PortraitStoryCard/index.js +52 -0
  204. package/components/Molecules/PortraitStoryCard/portrait-story-card.m.css +38 -0
  205. package/components/Molecules/PortraitStoryCard/stories.js +24 -0
  206. package/components/Molecules/SliderHorizontalCard/README.md +14 -0
  207. package/components/Molecules/SliderHorizontalCard/index.js +69 -0
  208. package/components/Molecules/SliderHorizontalCard/slider-horizontal-card.m.css +42 -0
  209. package/components/Molecules/SliderHorizontalCard/stories.js +27 -0
  210. package/components/Molecules/SocialShareTemplate/README.md +118 -0
  211. package/components/Molecules/SocialShareTemplate/__snapshots__/social-share-template.test.js.snap +738 -0
  212. package/components/Molecules/SocialShareTemplate/index.js +164 -0
  213. package/components/Molecules/SocialShareTemplate/social-share-data.js +90 -0
  214. package/components/Molecules/SocialShareTemplate/social-share-template.m.css +174 -0
  215. package/components/Molecules/SocialShareTemplate/social-share-template.test.js +108 -0
  216. package/components/Molecules/SocialShareTemplate/stories.js +38 -0
  217. package/components/Molecules/StoryCard/README.md +75 -0
  218. package/components/Molecules/StoryCard/READMEBGIMAGE.md +25 -0
  219. package/components/Molecules/StoryCard/READMEBORDER.md +61 -0
  220. package/{atoms/ExtendedLoadMore/index-6f8c780e.js → components/Molecules/StoryCard/index.js} +15 -58
  221. package/components/Molecules/StoryCard/stories.js +274 -0
  222. package/components/Molecules/StoryCard/storycard.m.css +158 -0
  223. package/components/Molecules/StoryCardWithBulletPoint/README.md +9 -0
  224. package/components/Molecules/StoryCardWithBulletPoint/index.js +43 -0
  225. package/components/Molecules/StoryCardWithBulletPoint/stories.js +28 -0
  226. package/components/Molecules/StoryCardWithBulletPoint/story-card-with-bullet-point.m.css +7 -0
  227. package/components/Molecules/StoryElementCard/README.md +9 -0
  228. package/components/Molecules/StoryElementCard/index.js +494 -0
  229. package/components/Molecules/StoryElementCard/stories.js +25 -0
  230. package/components/Molecules/StoryElementCard/story-element-card.m.css +78 -0
  231. package/components/Molecules/StorycardContent/README.md +34 -0
  232. package/{atoms/ExtendedLoadMore/index-f6e578e3.js → components/Molecules/StorycardContent/index.js} +10 -10
  233. package/components/Molecules/StorycardContent/stories.js +45 -0
  234. package/components/Molecules/StorycardContent/storycardContent.m.css +21 -0
  235. package/components/Rows/AlternateCollectionFilter/README.md +38 -0
  236. package/components/Rows/AlternateCollectionFilter/alternate-collection-filter.m.css +254 -0
  237. package/components/Rows/AlternateCollectionFilter/index.js +288 -0
  238. package/components/Rows/AlternateCollectionFilter/stories.js +68 -0
  239. package/components/Rows/AsideCollection/README.md +27 -0
  240. package/components/Rows/AsideCollection/aside-collection.m.css +103 -0
  241. package/components/Rows/AsideCollection/aside-collection.test.js +32 -0
  242. package/components/Rows/AsideCollection/index.js +253 -0
  243. package/components/Rows/AsideCollection/stories.js +48 -0
  244. package/components/Rows/AstrologyCollection/README.md +40 -0
  245. package/components/Rows/AstrologyCollection/astrology-collection.m.css +165 -0
  246. package/components/Rows/AstrologyCollection/index.js +272 -0
  247. package/components/Rows/AstrologyCollection/stories.js +61 -0
  248. package/components/Rows/AuthorIntroductionCard/README.md +43 -0
  249. package/components/Rows/AuthorIntroductionCard/author-intro.m.css +278 -0
  250. package/components/Rows/AuthorIntroductionCard/author-intro.test.js +148 -0
  251. package/components/Rows/AuthorIntroductionCard/index.js +157 -0
  252. package/components/Rows/AuthorIntroductionCard/stories.js +46 -0
  253. package/components/Rows/AuthorsList/README.md +24 -0
  254. package/components/Rows/AuthorsList/author-list.test.js +66 -0
  255. package/components/Rows/AuthorsList/authors-list.m.css +22 -0
  256. package/components/Rows/AuthorsList/index.js +64 -0
  257. package/components/Rows/AuthorsList/stories.js +62 -0
  258. package/components/Rows/CollectionFilter/README.md +39 -0
  259. package/components/Rows/CollectionFilter/collection-filter.m.css +213 -0
  260. package/components/Rows/CollectionFilter/index.js +366 -0
  261. package/components/Rows/CollectionFilter/stories.js +78 -0
  262. package/components/Rows/ElevenStories/11-stories.m.css +85 -0
  263. package/components/Rows/ElevenStories/README.md +39 -0
  264. package/components/Rows/ElevenStories/index.js +418 -0
  265. package/components/Rows/ElevenStories/stories.js +71 -0
  266. package/components/Rows/FourColFiveStories/README.md +37 -0
  267. package/components/Rows/FourColFiveStories/four-col-five-stories.m.css +112 -0
  268. package/{atoms/ExtendedLoadMore/index-5a7900ba.js → components/Rows/FourColFiveStories/index.js} +20 -22
  269. package/components/Rows/FourColFiveStories/stories.js +67 -0
  270. package/components/Rows/FourColGrid/README.md +39 -0
  271. package/components/Rows/FourColGrid/four-col.m.css +50 -0
  272. package/{atoms/ExtendedLoadMore/index-2d713010.js → components/Rows/FourColGrid/index.js} +19 -18
  273. package/components/Rows/FourColGrid/stories.js +68 -0
  274. package/components/Rows/FourColPortraitStories/README.md +38 -0
  275. package/components/Rows/FourColPortraitStories/four-col-portrait-stories.m.css +45 -0
  276. package/{atoms/ExtendedLoadMore/index-7eb05b3d.js → components/Rows/FourColPortraitStories/index.js} +16 -62
  277. package/components/Rows/FourColPortraitStories/stories.js +68 -0
  278. package/components/Rows/FourColSixteenStories/README.md +35 -0
  279. package/components/Rows/FourColSixteenStories/four-col-sixteen-stories.m.css +141 -0
  280. package/components/Rows/FourColSixteenStories/index.js +157 -0
  281. package/components/Rows/FourColSixteenStories/stories.js +43 -0
  282. package/components/Rows/FourColTwelveStory/README.md +39 -0
  283. package/components/Rows/FourColTwelveStory/four-col-twelve-story.m.css +71 -0
  284. package/components/Rows/FourColTwelveStory/index.js +219 -0
  285. package/components/Rows/FourColTwelveStory/stories.js +107 -0
  286. package/components/Rows/FourStorySlider/README.md +45 -0
  287. package/components/Rows/FourStorySlider/four-story-slider.m.css +78 -0
  288. package/components/Rows/FourStorySlider/index.js +145 -0
  289. package/components/Rows/FourStorySlider/stories.js +125 -0
  290. package/components/Rows/FourStorySliderPortrait/README.md +45 -0
  291. package/components/Rows/FourStorySliderPortrait/four-story-slider-portrait.m.css +221 -0
  292. package/components/Rows/FourStorySliderPortrait/index.js +148 -0
  293. package/components/Rows/FourStorySliderPortrait/stories.js +125 -0
  294. package/components/Rows/FourTabbedBigStorySlider/README.md +39 -0
  295. package/components/Rows/FourTabbedBigStorySlider/four-tabbed-big-story-slider.m.css +265 -0
  296. package/components/Rows/FourTabbedBigStorySlider/index.js +221 -0
  297. package/components/Rows/FourTabbedBigStorySlider/stories.js +59 -0
  298. package/components/Rows/FullScreenSlider/README.md +46 -0
  299. package/components/Rows/FullScreenSlider/full-screen-slider.m.css +155 -0
  300. package/components/Rows/FullScreenSlider/index.js +140 -0
  301. package/components/Rows/FullScreenSlider/stories.js +113 -0
  302. package/components/Rows/HalfScreenSlider/README.md +43 -0
  303. package/components/Rows/HalfScreenSlider/half-screen-slider.m.css +80 -0
  304. package/components/Rows/HalfScreenSlider/index.js +124 -0
  305. package/components/Rows/HalfScreenSlider/stories.js +118 -0
  306. package/components/Rows/ListComponent/README.md +48 -0
  307. package/components/Rows/ListComponent/index.js +176 -0
  308. package/components/Rows/ListComponent/list-component.m.css +65 -0
  309. package/components/Rows/ListComponent/stories.js +65 -0
  310. package/components/Rows/Listicles/README.md +32 -0
  311. package/components/Rows/Listicles/index.js +240 -0
  312. package/components/Rows/Listicles/listicles.m.css +149 -0
  313. package/components/Rows/Listicles/stories.js +53 -0
  314. package/components/Rows/MagazineEditions/README.md +21 -0
  315. package/components/Rows/MagazineEditions/index.js +123 -0
  316. package/components/Rows/MagazineEditions/magazine-editions.m.css +50 -0
  317. package/components/Rows/MagazineEditions/magazine-editions.test.js +30 -0
  318. package/components/Rows/MagazineEditions/stories.js +41 -0
  319. package/components/Rows/MagazineHeaderCard/README.md +21 -0
  320. package/components/Rows/MagazineHeaderCard/index.js +117 -0
  321. package/components/Rows/MagazineHeaderCard/magazine-cards.m.css +106 -0
  322. package/components/Rows/MagazineHeaderCard/stories.js +34 -0
  323. package/components/Rows/MagazineWidget/README.md +21 -0
  324. package/components/Rows/MagazineWidget/index.js +177 -0
  325. package/components/Rows/MagazineWidget/stories.js +40 -0
  326. package/components/Rows/OneColStoryList/README.md +48 -0
  327. package/{atoms/ExtendedLoadMore/index-4191a84c.js → components/Rows/OneColStoryList/index.js} +23 -18
  328. package/components/Rows/OneColStoryList/one-col-story-list.m.css +81 -0
  329. package/components/Rows/OneColStoryList/stories.js +78 -0
  330. package/components/Rows/OpinionCollection/README.md +36 -0
  331. package/{atoms/ExtendedLoadMore/index-6daa674c.js → components/Rows/OpinionCollection/index.js} +25 -102
  332. package/components/Rows/OpinionCollection/opinion-collection.m.css +226 -0
  333. package/components/Rows/OpinionCollection/stories.js +92 -0
  334. package/components/Rows/SixColSixStories/README.md +37 -0
  335. package/{atoms/ExtendedLoadMore/index-99af722e.js → components/Rows/SixColSixStories/index.js} +22 -18
  336. package/components/Rows/SixColSixStories/six-col-six-stories.m.css +75 -0
  337. package/components/Rows/SixColSixStories/stories.js +74 -0
  338. package/components/Rows/StoryTemplates/ListicleStoryTemplates/README.md +19 -0
  339. package/components/Rows/StoryTemplates/ListicleStoryTemplates/__snapshots__/listicle-story.test.js.snap +841 -0
  340. package/components/Rows/StoryTemplates/ListicleStoryTemplates/index.js +330 -0
  341. package/components/Rows/StoryTemplates/ListicleStoryTemplates/listicle-story.m.css +249 -0
  342. package/components/Rows/StoryTemplates/ListicleStoryTemplates/listicle-story.test.js +46 -0
  343. package/components/Rows/StoryTemplates/ListicleStoryTemplates/stories.js +119 -0
  344. package/components/Rows/StoryTemplates/LiveBlogStoryTemplates/README.md +25 -0
  345. package/components/Rows/StoryTemplates/LiveBlogStoryTemplates/index.js +97 -0
  346. package/components/Rows/StoryTemplates/LiveBlogStoryTemplates/live-blog.m.css +326 -0
  347. package/components/Rows/StoryTemplates/LiveBlogStoryTemplates/stories.js +118 -0
  348. package/components/Rows/StoryTemplates/LiveBlogStoryTemplates/templates.js +418 -0
  349. package/components/Rows/StoryTemplates/PhotoStoryTemplates/index.js +294 -0
  350. package/components/Rows/StoryTemplates/PhotoStoryTemplates/photo-story.test.js +163 -0
  351. package/components/Rows/StoryTemplates/PhotoStoryTemplates/photo.m.css +175 -0
  352. package/components/Rows/StoryTemplates/PhotoStoryTemplates/stories.js +124 -0
  353. package/components/Rows/StoryTemplates/TextStoryTemplates/README.md +49 -0
  354. package/components/Rows/StoryTemplates/TextStoryTemplates/index.js +100 -0
  355. package/components/Rows/StoryTemplates/TextStoryTemplates/stories.js +124 -0
  356. package/components/Rows/StoryTemplates/TextStoryTemplates/templates.js +285 -0
  357. package/components/Rows/StoryTemplates/TextStoryTemplates/text-story.m.css +449 -0
  358. package/components/Rows/StoryTemplates/TextStoryTemplates/text-story.test.js +242 -0
  359. package/components/Rows/StoryTemplates/VideoStoryTemplates/README.md +31 -0
  360. package/components/Rows/StoryTemplates/VideoStoryTemplates/index.js +239 -0
  361. package/components/Rows/StoryTemplates/VideoStoryTemplates/stories.js +214 -0
  362. package/components/Rows/StoryTemplates/VideoStoryTemplates/video-story.m.css +195 -0
  363. package/components/Rows/TagIntroductionCard/README.md +11 -0
  364. package/components/Rows/TagIntroductionCard/index.js +45 -0
  365. package/components/Rows/TagIntroductionCard/stories.js +20 -0
  366. package/components/Rows/TagIntroductionCard/tag-intro-card.module.css +25 -0
  367. package/components/Rows/ThreeColFlexStories/README.md +38 -0
  368. package/{atoms/ExtendedLoadMore/index-c8f346d0.js → components/Rows/ThreeColFlexStories/index.js} +21 -17
  369. package/components/Rows/ThreeColFlexStories/stories.js +74 -0
  370. package/components/Rows/ThreeColFlexStories/three-col-flex-stories.m.css +60 -0
  371. package/components/Rows/ThreeColFourteenStory/README.md +28 -0
  372. package/components/Rows/ThreeColFourteenStory/index.js +154 -0
  373. package/components/Rows/ThreeColFourteenStory/stories.js +65 -0
  374. package/components/Rows/ThreeColFourteenStory/three-col-fourteen-story.m.css +51 -0
  375. package/components/Rows/ThreeColGrid/README.md +36 -0
  376. package/{atoms/ExtendedLoadMore/index-8345922c.js → components/Rows/ThreeColGrid/index.js} +21 -20
  377. package/components/Rows/ThreeColGrid/stories.js +78 -0
  378. package/components/Rows/ThreeColGrid/three-col.m.css +43 -0
  379. package/components/Rows/ThreeColSevenStory/README.md +36 -0
  380. package/components/Rows/ThreeColSevenStory/index.js +201 -0
  381. package/components/Rows/ThreeColSevenStory/stories.js +74 -0
  382. package/components/Rows/ThreeColSevenStory/three-col-seven-story.m.css +44 -0
  383. package/components/Rows/ThreeColSixStories/README.md +40 -0
  384. package/components/Rows/ThreeColSixStories/index.js +183 -0
  385. package/components/Rows/ThreeColSixStories/stories.js +74 -0
  386. package/components/Rows/ThreeColSixStories/three-col-six-stories.m.css +32 -0
  387. package/components/Rows/ThreeColTwelveStories/README.md +41 -0
  388. package/components/Rows/ThreeColTwelveStories/index.js +165 -0
  389. package/components/Rows/ThreeColTwelveStories/stories.js +53 -0
  390. package/components/Rows/ThreeColTwelveStories/three-col-twelve-stories.m.css +83 -0
  391. package/components/Rows/TwoColFourStory/README.md +33 -0
  392. package/components/Rows/TwoColFourStory/index.js +174 -0
  393. package/components/Rows/TwoColFourStory/stories.js +63 -0
  394. package/components/Rows/TwoColFourStory/two-col-four-story.m.css +64 -0
  395. package/components/Rows/TwoColFourStoryHighlight/README.md +35 -0
  396. package/components/Rows/TwoColFourStoryHighlight/index.js +164 -0
  397. package/components/Rows/TwoColFourStoryHighlight/stories.js +50 -0
  398. package/components/Rows/TwoColFourStoryHighlight/two-col-four-story-highlight.m.css +116 -0
  399. package/components/Rows/TwoColSevenStories/README.md +37 -0
  400. package/components/Rows/TwoColSevenStories/index.js +193 -0
  401. package/components/Rows/TwoColSevenStories/stories.js +102 -0
  402. package/components/Rows/TwoColSevenStories/two-col-seven-stories.m.css +175 -0
  403. package/components/Rows/TwoColSixStories/README.md +36 -0
  404. package/components/Rows/TwoColSixStories/index.js +185 -0
  405. package/components/Rows/TwoColSixStories/stories.js +67 -0
  406. package/components/Rows/TwoColSixStories/two-col-six-stories.m.css +135 -0
  407. package/components/Rows/TwoColTenStoriesSidebar/README.md +34 -0
  408. package/components/Rows/TwoColTenStoriesSidebar/index.js +191 -0
  409. package/components/Rows/TwoColTenStoriesSidebar/stories.js +53 -0
  410. package/components/Rows/TwoColTenStoriesSidebar/two-col-ten-stories-sidebar.m.css +52 -0
  411. package/components/Rows/TwoColThreeStory/README.md +40 -0
  412. package/components/Rows/TwoColThreeStory/index.js +146 -0
  413. package/components/Rows/TwoColThreeStory/stories.js +63 -0
  414. package/components/Rows/TwoColThreeStory/two-col-three-story.m.css +36 -0
  415. package/components/SharedContext.js +17 -0
  416. package/components/Svgs/Loading/loading.js +140 -0
  417. package/components/Svgs/Loading/loading.m.css +5 -0
  418. package/components/Svgs/SocialIcons/facebook.js +18 -0
  419. package/components/Svgs/SocialIcons/instagram.js +33 -0
  420. package/components/Svgs/SocialIcons/linkedin.js +18 -0
  421. package/components/Svgs/SocialIcons/pinterest.js +12 -0
  422. package/components/Svgs/SocialIcons/twitter.js +18 -0
  423. package/components/Svgs/SocialIcons/whatsapp.js +19 -0
  424. package/components/Svgs/SocialIcons/youtube.js +19 -0
  425. package/components/Svgs/caret-right.svg +3 -0
  426. package/components/Svgs/clock-icon.js +19 -0
  427. package/components/Svgs/close-icon.js +22 -0
  428. package/components/Svgs/crown.js +40 -0
  429. package/components/Svgs/fallbackImage.js +45 -0
  430. package/components/Svgs/hyperlink.js +22 -0
  431. package/components/Svgs/key.js +39 -0
  432. package/components/Svgs/left-arrow.js +24 -0
  433. package/components/Svgs/liveicon.js +16 -0
  434. package/components/Svgs/lock.js +40 -0
  435. package/components/Svgs/right-arrow.js +24 -0
  436. package/components/Svgs/share-icon.js +19 -0
  437. package/components/Svgs/star.js +34 -0
  438. package/components/Svgs/user-fallback-icon.js +22 -0
  439. package/components/Typography/README.md +7 -0
  440. package/components/Typography/index.js +33 -0
  441. package/components/Typography/stories.js +15 -0
  442. package/components/Typography/style.m.css +11 -0
  443. package/entry-points.js +359 -0
  444. package/guide/stories.js +22 -0
  445. package/hydration-component/index.js +41 -0
  446. package/hydration-component/useNearScreen.js +71 -0
  447. package/index.js +88 -0
  448. package/package.json +1 -1
  449. package/rows.js +40 -0
  450. package/stylesheets/mixins.scss +27 -0
  451. package/stylesheets/react-image-lightbox-styles.css +344 -0
  452. package/stylesheets/viewports.m.css +3 -0
  453. package/utils/testing-utils.js +8 -0
  454. package/utils/utils.js +363 -0
  455. package/utils/utils.test.js +46 -0
  456. package/atoms/Author/index.js +0 -2250
  457. package/atoms/Author/styles.arrow.css +0 -1
  458. package/atoms/AuthorWithTime/index.js +0 -2954
  459. package/atoms/AuthorWithTime/styles.arrow.css +0 -1
  460. package/atoms/CollectionName/index.js +0 -2334
  461. package/atoms/CollectionName/styles.arrow.css +0 -1
  462. package/atoms/ExtendedLoadMore/index-6cb56d1a.js +0 -350
  463. package/atoms/ExtendedLoadMore/index-aa8b8ab8.js +0 -990
  464. package/atoms/ExtendedLoadMore/index-e39b3ca8.js +0 -3023
  465. package/atoms/ExtendedLoadMore/index.js +0 -5
  466. package/atoms/ExtendedLoadMore/styles.arrow.css +0 -1
  467. package/atoms/Headline/index.js +0 -2459
  468. package/atoms/Headline/styles.arrow.css +0 -1
  469. package/atoms/HeroImage/index.js +0 -2475
  470. package/atoms/HeroImage/styles.arrow.css +0 -1
  471. package/atoms/LoadmoreButton/index.js +0 -2268
  472. package/atoms/LoadmoreButton/styles.arrow.css +0 -1
  473. package/atoms/ScrollSnap/index.js +0 -2531
  474. package/atoms/ScrollSnap/styles.arrow.css +0 -1
  475. package/atoms/SectionTag/index.js +0 -2220
  476. package/atoms/SectionTag/styles.arrow.css +0 -1
  477. package/atoms/Subheadline/index.js +0 -2200
  478. package/atoms/Subheadline/styles.arrow.css +0 -1
  479. package/atoms/TimeStamp/index.js +0 -2661
  480. package/atoms/TimeStamp/styles.arrow.css +0 -1
  481. package/molecules/KeyEvents/index.js +0 -2968
  482. package/molecules/KeyEvents/styles.arrow.css +0 -1
  483. package/molecules/PageIntroductionCard/index.js +0 -2676
  484. package/molecules/PageIntroductionCard/styles.arrow.css +0 -1
  485. package/molecules/SocialShareTemplate/index.js +0 -3093
  486. package/molecules/SocialShareTemplate/styles.arrow.css +0 -1
  487. package/molecules/StoryCard/index.js +0 -3938
  488. package/molecules/StoryCard/styles.arrow.css +0 -1
  489. package/molecules/StoryElementCard/index.js +0 -5832
  490. package/molecules/StoryElementCard/styles.arrow.css +0 -1
  491. package/molecules/StorycardContent/index.js +0 -3416
  492. package/molecules/StorycardContent/styles.arrow.css +0 -1
  493. package/rows/AlternateCollectionFilter/index.js +0 -4744
  494. package/rows/AlternateCollectionFilter/styles.arrow.css +0 -1
  495. package/rows/AsideCollection/index.js +0 -4690
  496. package/rows/AsideCollection/styles.arrow.css +0 -1
  497. package/rows/AstrologyCollection/index.js +0 -4661
  498. package/rows/AstrologyCollection/styles.arrow.css +0 -1
  499. package/rows/AuthorIntroductionCard/index.js +0 -3520
  500. package/rows/AuthorIntroductionCard/styles.arrow.css +0 -1
  501. package/rows/AuthorsList/index.js +0 -3715
  502. package/rows/AuthorsList/styles.arrow.css +0 -1
  503. package/rows/CollectionFilter/index.js +0 -4834
  504. package/rows/CollectionFilter/styles.arrow.css +0 -1
  505. package/rows/ElevenStories/index.js +0 -4638
  506. package/rows/ElevenStories/styles.arrow.css +0 -1
  507. package/rows/FourColFiveStories/index.js +0 -4359
  508. package/rows/FourColFiveStories/styles.arrow.css +0 -1
  509. package/rows/FourColGrid/index.js +0 -4584
  510. package/rows/FourColGrid/styles.arrow.css +0 -1
  511. package/rows/FourColPortraitStories/index.js +0 -4617
  512. package/rows/FourColPortraitStories/styles.arrow.css +0 -1
  513. package/rows/FourColSixteenStories/index.js +0 -4375
  514. package/rows/FourColSixteenStories/styles.arrow.css +0 -1
  515. package/rows/FourColTwelveStories/index.js +0 -4335
  516. package/rows/FourColTwelveStories/styles.arrow.css +0 -1
  517. package/rows/FourStorySlider/index.js +0 -4743
  518. package/rows/FourStorySlider/styles.arrow.css +0 -1
  519. package/rows/FourStorySliderPortrait/index.js +0 -4746
  520. package/rows/FourStorySliderPortrait/styles.arrow.css +0 -1
  521. package/rows/FourTabbedBigStorySlider/index.js +0 -4505
  522. package/rows/FourTabbedBigStorySlider/styles.arrow.css +0 -1
  523. package/rows/FullScreenSlider/index.js +0 -4661
  524. package/rows/FullScreenSlider/styles.arrow.css +0 -1
  525. package/rows/HalfScreenSlider/index.js +0 -4514
  526. package/rows/HalfScreenSlider/styles.arrow.css +0 -1
  527. package/rows/ListComponent/index.js +0 -4462
  528. package/rows/ListComponent/styles.arrow.css +0 -1
  529. package/rows/Listicles/index.js +0 -3131
  530. package/rows/Listicles/styles.arrow.css +0 -1
  531. package/rows/MagazineEditions/index.js +0 -3142
  532. package/rows/MagazineEditions/styles.arrow.css +0 -1
  533. package/rows/MagazineHeaderCard/index.js +0 -3136
  534. package/rows/MagazineHeaderCard/styles.arrow.css +0 -1
  535. package/rows/MagazineWidget/index.js +0 -4514
  536. package/rows/MagazineWidget/styles.arrow.css +0 -1
  537. package/rows/OneColStoryList/index.js +0 -4670
  538. package/rows/OneColStoryList/styles.arrow.css +0 -1
  539. package/rows/OpinionCollection/index.js +0 -4037
  540. package/rows/OpinionCollection/styles.arrow.css +0 -1
  541. package/rows/SixColSixStories/index.js +0 -4515
  542. package/rows/SixColSixStories/styles.arrow.css +0 -1
  543. package/rows/StoryCollection/index.js +0 -4690
  544. package/rows/StoryCollection/styles.arrow.css +0 -1
  545. package/rows/TagIntroductionCard/index.js +0 -1901
  546. package/rows/TagIntroductionCard/styles.arrow.css +0 -1
  547. package/rows/ThreeColFlexStories/index.js +0 -4575
  548. package/rows/ThreeColFlexStories/styles.arrow.css +0 -1
  549. package/rows/ThreeColFourteenStories/index.js +0 -4283
  550. package/rows/ThreeColFourteenStories/styles.arrow.css +0 -1
  551. package/rows/ThreeColGrid/index.js +0 -4605
  552. package/rows/ThreeColGrid/styles.arrow.css +0 -1
  553. package/rows/ThreeColSevenStory/index.js +0 -4502
  554. package/rows/ThreeColSevenStory/styles.arrow.css +0 -1
  555. package/rows/ThreeColSixStories/index.js +0 -4485
  556. package/rows/ThreeColSixStories/styles.arrow.css +0 -1
  557. package/rows/ThreeColTwelveStories/index.js +0 -4380
  558. package/rows/ThreeColTwelveStories/styles.arrow.css +0 -1
  559. package/rows/TwoColFourStories/index.js +0 -4463
  560. package/rows/TwoColFourStories/styles.arrow.css +0 -1
  561. package/rows/TwoColFourStoryHighlight/index.js +0 -4456
  562. package/rows/TwoColFourStoryHighlight/styles.arrow.css +0 -1
  563. package/rows/TwoColSevenStories/index.js +0 -4490
  564. package/rows/TwoColSevenStories/styles.arrow.css +0 -1
  565. package/rows/TwoColSixStories/index.js +0 -4489
  566. package/rows/TwoColSixStories/styles.arrow.css +0 -1
  567. package/rows/TwoColTenStoriesSidebar/index.js +0 -4549
  568. package/rows/TwoColTenStoriesSidebar/styles.arrow.css +0 -1
  569. package/rows/TwoColThreeStories/index.js +0 -4436
  570. package/rows/TwoColThreeStories/styles.arrow.css +0 -1
  571. package/story-elements/AlsoRead/index.js +0 -2457
  572. package/story-elements/AlsoRead/styles.arrow.css +0 -1
  573. package/story-elements/Attachment/index.js +0 -2013
  574. package/story-elements/Attachment/styles.arrow.css +0 -1
  575. package/story-elements/BigFact/index.js +0 -1983
  576. package/story-elements/BigFact/styles.arrow.css +0 -1
  577. package/story-elements/BlockQuote/index.js +0 -2431
  578. package/story-elements/BlockQuote/styles.arrow.css +0 -1
  579. package/story-elements/Blurb/index.js +0 -2094
  580. package/story-elements/Blurb/styles.arrow.css +0 -1
  581. package/story-elements/Image/index.js +0 -2711
  582. package/story-elements/Image/styles.arrow.css +0 -1
  583. package/story-elements/ImageGallery/index.js +0 -2644
  584. package/story-elements/ImageGallery/styles.arrow.css +0 -1
  585. package/story-elements/ImageSlideshow/index.js +0 -2955
  586. package/story-elements/ImageSlideshow/styles.arrow.css +0 -1
  587. package/story-elements/QuestionAnswer/index.js +0 -2395
  588. package/story-elements/QuestionAnswer/styles.arrow.css +0 -1
  589. package/story-elements/Quote/index.js +0 -2012
  590. package/story-elements/Quote/styles.arrow.css +0 -1
  591. package/story-elements/Reference/index.js +0 -2006
  592. package/story-elements/Reference/styles.arrow.css +0 -1
  593. package/story-elements/StoryElement/index.js +0 -1779
  594. package/story-elements/Summary/index.js +0 -2036
  595. package/story-elements/Summary/styles.arrow.css +0 -1
  596. package/story-elements/Text/index.js +0 -2293
  597. package/story-elements/Text/styles.arrow.css +0 -1
  598. package/story-elements/Video/index.js +0 -1785
  599. package/story-elements/Video/styles.arrow.css +0 -1
  600. package/story-templates/ListicleStoryTemplate/index.js +0 -8442
  601. package/story-templates/ListicleStoryTemplate/styles.arrow.css +0 -1
  602. package/story-templates/LiveBlogStoryTemplate/index.js +0 -8618
  603. package/story-templates/LiveBlogStoryTemplate/styles.arrow.css +0 -1
  604. package/story-templates/PhotoStoryTemplate/index.js +0 -8420
  605. package/story-templates/PhotoStoryTemplate/styles.arrow.css +0 -1
  606. package/story-templates/TextStoryTemplate/index.js +0 -8493
  607. package/story-templates/TextStoryTemplate/styles.arrow.css +0 -1
  608. package/story-templates/VideoStoryTemplate/index.js +0 -8352
  609. package/story-templates/VideoStoryTemplate/styles.arrow.css +0 -1
@@ -1,990 +0,0 @@
1
- import { a as get_1, g as getTextColor, _ as _getClassName, e as getStoryUrl, f as isExternalStory, h as getTimeStamp, j as formatter, k as getSlug, r as rgbToHex, d as clientWidth, b as generateNavigateSlug, c as _slicedToArray } from './index-e39b3ca8.js';
2
- import React, { useContext, createContext, useState, useEffect, useRef } from 'react';
3
- import PropTypes, { PropTypes as PropTypes$1 } from 'prop-types';
4
- import { Link, ResponsiveImage, LinkBase } from '@quintype/components';
5
- import { connect } from 'react-redux';
6
- import ReactDOM from 'react-dom';
7
-
8
- var StateContext = /*#__PURE__*/createContext(); // eslint-disable-next-line react/display-name
9
-
10
- var StateProvider = function StateProvider(RowComponent) {
11
- return function (props) {
12
- return (
13
- /*#__PURE__*/
14
- // eslint-disable-next-line react/prop-types
15
- React.createElement(StateContext.Provider, {
16
- value: props.config
17
- }, /*#__PURE__*/React.createElement(RowComponent, props))
18
- );
19
- };
20
- };
21
- var useStateValue = function useStateValue() {
22
- return useContext(StateContext);
23
- };
24
-
25
- var CrownIcon = function CrownIcon(_ref) {
26
- var height = _ref.height,
27
- width = _ref.width,
28
- _ref$color = _ref.color,
29
- color = _ref$color === void 0 ? "#D8D8D8" : _ref$color,
30
- positionTop = _ref.positionTop;
31
- return /*#__PURE__*/React.createElement("svg", {
32
- xmlns: "http://www.w3.org/2000/svg",
33
- width: width,
34
- height: height,
35
- viewBox: "0 0 40 40",
36
- style: {
37
- position: "relative",
38
- top: positionTop
39
- }
40
- }, /*#__PURE__*/React.createElement("g", {
41
- fill: "none",
42
- fillRule: "evenodd",
43
- stroke: "none",
44
- strokeWidth: "1"
45
- }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", {
46
- transform: "translate(8 8)"
47
- }, /*#__PURE__*/React.createElement("path", {
48
- d: "M0 0H24V24H0z"
49
- }), /*#__PURE__*/React.createElement("g", {
50
- fill: color,
51
- fillRule: "nonzero",
52
- transform: "translate(0 2)"
53
- }, /*#__PURE__*/React.createElement("path", {
54
- d: "M21.043 19.553c0-.743-.601-1.344-1.344-1.344h-15.4a1.343 1.343 0 100 2.688h15.4c.743 0 1.344-.603 1.344-1.344zM1.598 8.673c.022 0 .042 0 .064-.003l2.131 7.713h16.411l2.132-7.713c.022 0 .041.003.063.003a1.599 1.599 0 10-1.52-1.108L17.025 9.82 12.882 2.95a1.599 1.599 0 10-1.765 0L6.976 9.82 3.121 7.565a1.599 1.599 0 10-1.523 1.107z"
55
- }))))));
56
- };
57
- CrownIcon.propTypes = {
58
- height: PropTypes.string,
59
- width: PropTypes.string,
60
- color: PropTypes.string,
61
- positionTop: PropTypes.string
62
- };
63
-
64
- var KeyIcon = function KeyIcon(_ref) {
65
- var height = _ref.height,
66
- width = _ref.width,
67
- _ref$color = _ref.color,
68
- color = _ref$color === void 0 ? "#D5D5D5" : _ref$color,
69
- positionTop = _ref.positionTop;
70
- return /*#__PURE__*/React.createElement("svg", {
71
- xmlns: "http://www.w3.org/2000/svg",
72
- width: width,
73
- height: height,
74
- viewBox: "0 0 40 40",
75
- style: {
76
- position: "relative",
77
- top: positionTop
78
- }
79
- }, /*#__PURE__*/React.createElement("g", {
80
- fill: "none",
81
- fillRule: "evenodd",
82
- stroke: "none",
83
- strokeWidth: "1"
84
- }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", {
85
- transform: "translate(8 8)"
86
- }, /*#__PURE__*/React.createElement("path", {
87
- d: "M0 0H24V24H0z"
88
- }), /*#__PURE__*/React.createElement("path", {
89
- fill: color,
90
- fillRule: "nonzero",
91
- d: "M12.71 4.364A6.54 6.54 0 000 6.545a6.54 6.54 0 0012.71 2.182h4.745v4.364h4.363V8.727H24V4.364H12.71zM6.544 8.727a2.181 2.181 0 110-4.362 2.181 2.181 0 010 4.362z",
92
- transform: "translate(0 5)"
93
- })))));
94
- };
95
- KeyIcon.propTypes = {
96
- height: PropTypes.string,
97
- width: PropTypes.string,
98
- color: PropTypes.string,
99
- positionTop: PropTypes.string
100
- };
101
-
102
- var LockIcon = function LockIcon(_ref) {
103
- var height = _ref.height,
104
- width = _ref.width,
105
- _ref$color = _ref.color,
106
- color = _ref$color === void 0 ? "#D5D5D5" : _ref$color,
107
- positionTop = _ref.positionTop;
108
- return /*#__PURE__*/React.createElement("svg", {
109
- xmlns: "http://www.w3.org/2000/svg",
110
- width: width,
111
- height: height,
112
- viewBox: "0 0 40 40",
113
- style: {
114
- position: "relative",
115
- top: positionTop
116
- }
117
- }, /*#__PURE__*/React.createElement("g", {
118
- fill: "none",
119
- fillRule: "evenodd",
120
- stroke: "none",
121
- strokeWidth: "1"
122
- }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", {
123
- transform: "translate(8 8)"
124
- }, /*#__PURE__*/React.createElement("path", {
125
- d: "M0 0H24V24H0z"
126
- }), /*#__PURE__*/React.createElement("g", {
127
- fill: color,
128
- fillRule: "nonzero",
129
- transform: "translate(3)"
130
- }, /*#__PURE__*/React.createElement("path", {
131
- d: "M15.692 9h-.747V6c0-3.31-2.681-6-5.978-6C5.67 0 2.989 2.69 2.989 6v3h-.747A2.249 2.249 0 000 11.25v10.5A2.249 2.249 0 002.242 24h13.45a2.249 2.249 0 002.242-2.25v-10.5A2.249 2.249 0 0015.692 9zM4.982 6c0-2.206 1.787-4 3.985-4s3.985 1.794 3.985 4v3h-7.97V6z"
132
- }))))));
133
- };
134
- LockIcon.propTypes = {
135
- height: PropTypes.string,
136
- width: PropTypes.string,
137
- color: PropTypes.string,
138
- positionTop: PropTypes.string
139
- };
140
-
141
- var StarIcon = function StarIcon(_ref) {
142
- var width = _ref.width,
143
- height = _ref.height,
144
- _ref$color = _ref.color,
145
- color = _ref$color === void 0 ? "#D5D5D5" : _ref$color,
146
- _ref$positionTop = _ref.positionTop,
147
- positionTop = _ref$positionTop === void 0 ? "" : _ref$positionTop;
148
- return /*#__PURE__*/React.createElement("svg", {
149
- xmlns: "http://www.w3.org/2000/svg",
150
- width: width,
151
- height: height,
152
- viewBox: "0 0 40 40",
153
- style: {
154
- position: "relative",
155
- top: positionTop
156
- }
157
- }, /*#__PURE__*/React.createElement("g", {
158
- fill: "none",
159
- fillRule: "evenodd",
160
- stroke: "none",
161
- strokeWidth: "1"
162
- }, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
163
- fill: color,
164
- d: "M20 26L12.946577 29.7082039 14.2936609 21.854102 8.5873218 16.2917961 16.4732885 15.145898 20 8 23.5267115 15.145898 31.4126782 16.2917961 25.7063391 21.854102 27.053423 29.7082039z"
165
- }))));
166
- };
167
- StarIcon.propTypes = {
168
- height: PropTypes.string,
169
- width: PropTypes.string,
170
- color: PropTypes.string,
171
- positionTop: PropTypes.string
172
- };
173
-
174
- var PremiumStoryIcon = function PremiumStoryIcon(_ref) {
175
- var width = _ref.width,
176
- height = _ref.height,
177
- color = _ref.color,
178
- iconType = _ref.iconType,
179
- positionTop = _ref.positionTop;
180
-
181
- switch (iconType) {
182
- case "crown":
183
- return /*#__PURE__*/React.createElement(CrownIcon, {
184
- width: width,
185
- height: height,
186
- color: color,
187
- positionTop: positionTop
188
- });
189
-
190
- case "lock":
191
- return /*#__PURE__*/React.createElement(LockIcon, {
192
- width: width,
193
- height: height,
194
- color: color,
195
- positionTop: positionTop
196
- });
197
-
198
- case "key":
199
- return /*#__PURE__*/React.createElement(KeyIcon, {
200
- width: width,
201
- height: height,
202
- color: color,
203
- positionTop: positionTop
204
- });
205
-
206
- default:
207
- return /*#__PURE__*/React.createElement(StarIcon, {
208
- width: width,
209
- height: height,
210
- color: color,
211
- positionTop: positionTop
212
- });
213
- }
214
- };
215
- PremiumStoryIcon.propTypes = {
216
- width: PropTypes.string,
217
- height: PropTypes.string,
218
- color: PropTypes.string,
219
- iconType: PropTypes.string,
220
- positionTop: PropTypes.string
221
- };
222
-
223
- function LiveIcon() {
224
- return /*#__PURE__*/React.createElement("svg", {
225
- className: "live-icon",
226
- xmlns: "http://www.w3.org/2000/svg",
227
- width: "25",
228
- height: "24",
229
- viewBox: "0 0 25 24"
230
- }, /*#__PURE__*/React.createElement("path", {
231
- fill: "#ff5858",
232
- d: "M12 18a6 6 0 110-12 6 6 0 010 12zm0 2.5a8.5 8.5 0 110-17 8.5 8.5 0 010 17zm0-1a7.5 7.5 0 100-15 7.5 7.5 0 000 15z"
233
- }));
234
- }
235
-
236
- var _styleModuleImportMap$8 = {
237
- "./headline.m.css": {
238
- "wrapper": "headline-m_wrapper__3nUmh",
239
- "headline": "headline-m_headline__3_NhV",
240
- "dark": "headline-m_dark__en3hW",
241
- "light": "headline-m_light__3lKJB"
242
- }
243
- };
244
- var Headline = function Headline(_ref) {
245
- var story = _ref.story,
246
- headerLevel = _ref.headerLevel,
247
- _ref$premiumStoryIcon = _ref.premiumStoryIconConfig,
248
- premiumStoryIconConfig = _ref$premiumStoryIcon === void 0 ? {} : _ref$premiumStoryIcon,
249
- isLink = _ref.isLink;
250
- var configData = useStateValue() || {};
251
- var _premiumStoryIconConf = premiumStoryIconConfig.iconColor,
252
- iconColor = _premiumStoryIconConf === void 0 ? "#F7B500" : _premiumStoryIconConf,
253
- _premiumStoryIconConf2 = premiumStoryIconConfig.iconStyle,
254
- iconStyle = _premiumStoryIconConf2 === void 0 ? "star" : _premiumStoryIconConf2,
255
- _premiumStoryIconConf3 = premiumStoryIconConfig.enablePremiumStoryIcon,
256
- enablePremiumStoryIcon = _premiumStoryIconConf3 === void 0 ? false : _premiumStoryIconConf3,
257
- _premiumStoryIconConf4 = premiumStoryIconConfig.showLiveIcon,
258
- showLiveIcon = _premiumStoryIconConf4 === void 0 ? false : _premiumStoryIconConf4;
259
- var alternateHeadline = get_1(story, ["alternative", "home", "default", "headline"]);
260
- var premiumStory = enablePremiumStoryIcon && get_1(story, ["access"]) === "subscription";
261
- var headline = alternateHeadline || story.headline;
262
- var HeaderTag = "h" + headerLevel;
263
-
264
- var positionHeadline = function positionHeadline() {
265
- switch (parseInt(headerLevel)) {
266
- case 1:
267
- return "-2px";
268
-
269
- case 2:
270
- return "2px";
271
-
272
- case 3:
273
- return "4px";
274
-
275
- case 4:
276
- return "5px";
277
-
278
- default:
279
- return "6px";
280
- }
281
- };
282
-
283
- var textColor = getTextColor(configData.theme);
284
- var wrapperClass = premiumStory ? "wrapper" : "";
285
- var iconSize = "24px";
286
- var enableLiveIcon = showLiveIcon && story["story-template"] === "live-blog" && !get_1(story, ["metadata", "is-closed"], false);
287
- return /*#__PURE__*/React.createElement("div", {
288
- "data-test-id": "headline",
289
- className: "arrow-component arr--headline " + _getClassName(wrapperClass, _styleModuleImportMap$8)
290
- }, premiumStory && /*#__PURE__*/React.createElement(PremiumStoryIcon, {
291
- width: iconSize,
292
- height: iconSize,
293
- color: iconColor,
294
- iconType: iconStyle,
295
- positionTop: positionHeadline()
296
- }), isLink ? /*#__PURE__*/React.createElement(Link, {
297
- href: getStoryUrl(story, "/".concat(story.slug)),
298
- externalLink: isExternalStory(story),
299
- "aria-label": "headline"
300
- }, /*#__PURE__*/React.createElement(HeaderTag, {
301
- className: _getClassName("headline ".concat(textColor), _styleModuleImportMap$8)
302
- }, enableLiveIcon && /*#__PURE__*/React.createElement(LiveIcon, null), headline)) : /*#__PURE__*/React.createElement(HeaderTag, {
303
- className: _getClassName("headline ".concat(textColor), _styleModuleImportMap$8)
304
- }, enableLiveIcon && /*#__PURE__*/React.createElement(LiveIcon, null), headline));
305
- };
306
- Headline.propTypes = {
307
- /** The Story Object from the API response */
308
- story: PropTypes.object.isRequired,
309
-
310
- /** Header tags ranging h1-h6, where h[headerLevel] */
311
- headerLevel: PropTypes.string,
312
- premiumStoryIconConfig: PropTypes.shape({
313
- iconColor: PropTypes.string,
314
- iconType: PropTypes.string,
315
- enablePremiumStoryIcon: PropTypes.bool
316
- }),
317
- isLink: PropTypes.bool
318
- };
319
- Headline.defaultProps = {
320
- headerLevel: "6",
321
- isLink: true
322
- };
323
-
324
- var _styleModuleImportMap$7 = {
325
- "./timestamp.m.css": {
326
- "time": "timestamp-m_time__2v46i",
327
- "time-wrapper": "timestamp-m_time-wrapper__3O2lM",
328
- "bottom-fix": "timestamp-m_bottom-fix__1Zh8r",
329
- "dark": "timestamp-m_dark__2lk9E",
330
- "light": "timestamp-m_light__2QlrI"
331
- }
332
- };
333
- var TimeStamp = function TimeStamp(_ref) {
334
- var story = _ref.story,
335
- isBottom = _ref.isBottom,
336
- _ref$config = _ref.config,
337
- config = _ref$config === void 0 ? {} : _ref$config;
338
- var configState = useStateValue() || {};
339
- var isTime = get_1(config, ["showTime"], get_1(configState, ["showTime"], true));
340
- var time = story["last-published-at"] || story["first-published-at"];
341
- var isBottomClasses = isBottom ? "bottom-fix" : "";
342
- var textColor = getTextColor(configState.theme);
343
- return /*#__PURE__*/React.createElement(React.Fragment, null, isTime && /*#__PURE__*/React.createElement("div", {
344
- "data-test-id": "publish-time",
345
- className: "time arr--publish-time " + _getClassName("time ".concat(textColor, " ").concat(isBottomClasses), _styleModuleImportMap$7)
346
- }, /*#__PURE__*/React.createElement("div", {
347
- className: "timestamp-m_time-wrapper__3O2lM"
348
- }, getTimeStamp(time, formatter, config))));
349
- };
350
- TimeStamp.propTypes = {
351
- /** The Story Object from the API response */
352
- story: PropTypes.object,
353
- isBottom: PropTypes.bool,
354
- config: PropTypes.object
355
- };
356
-
357
- var _styleModuleImportMap$6 = {
358
- "./author.m.css": {
359
- "author": "author-m_author__WRuLm",
360
- "author-image": "author-m_author-image__3q2oc",
361
- "author-name": "author-m_author-name__3WP-O",
362
- "bottom-fix": "author-m_bottom-fix__223TT",
363
- "prefix": "author-m_prefix__YSInK",
364
- "rtl-image": "author-m_rtl-image__2nglD",
365
- "ltr-image": "author-m_ltr-image__3bc0L",
366
- "dark": "author-m_dark__2TTlp",
367
- "light": "author-m_light__3y8_x"
368
- }
369
- };
370
-
371
- var AuthorBase = function AuthorBase(_ref) {
372
- var story = _ref.story,
373
- hideAuthorImage = _ref.hideAuthorImage,
374
- isBottom = _ref.isBottom,
375
- _ref$prefix = _ref.prefix,
376
- prefix = _ref$prefix === void 0 ? "" : _ref$prefix,
377
- _ref$config = _ref.config,
378
- config = _ref$config === void 0 ? {} : _ref$config;
379
- var configData = useStateValue() || {};
380
- var isAuthor = get_1(configData, ["showAuthor"], true);
381
-
382
- var _get = get_1(story, ["authors", "0"], ""),
383
- avatarUrl = _get["avatar-url"],
384
- avatarS3Key = _get["avatar-s3-key"],
385
- authorName = _get.name,
386
- slug = _get.slug;
387
-
388
- var isBottomClasses = isBottom ? "bottom-fix" : "";
389
- var textColor = getTextColor(configData.theme);
390
- var mountAt = get_1(config, ["mountAt"], "");
391
-
392
- var authorImage = function authorImage(dir) {
393
- if (!avatarUrl && !avatarS3Key) {
394
- return null;
395
- }
396
-
397
- return /*#__PURE__*/React.createElement("div", {
398
- "data-test-id": "author-image",
399
- className: _getClassName("author-image ".concat(dir, "-image"), _styleModuleImportMap$6)
400
- }, /*#__PURE__*/React.createElement("figure", null, avatarS3Key ? /*#__PURE__*/React.createElement(ResponsiveImage, {
401
- slug: avatarS3Key,
402
- "aspect-ratio": [1, 1],
403
- defaultWidth: 400,
404
- imgParams: {
405
- auto: ["format", "compress"]
406
- },
407
- alt: authorName
408
- }) : /*#__PURE__*/React.createElement("img", {
409
- src: avatarUrl
410
- })));
411
- };
412
-
413
- var isPrefix = function isPrefix(dir) {
414
- if (prefix) {
415
- return /*#__PURE__*/React.createElement("div", {
416
- className: "arr-author-prefix " + _getClassName("prefix ".concat(textColor), _styleModuleImportMap$6)
417
- }, prefix);
418
- }
419
-
420
- return !hideAuthorImage && authorImage(dir);
421
- };
422
-
423
- return /*#__PURE__*/React.createElement(React.Fragment, null, isAuthor && /*#__PURE__*/React.createElement(Link, {
424
- href: "".concat(mountAt, "/author/") + slug,
425
- "aria-label": "author-name",
426
- className: "author-name arr-author-name arrow-component " + _getClassName("author ".concat(isBottomClasses), _styleModuleImportMap$6)
427
- }, isPrefix("ltr"), /*#__PURE__*/React.createElement("div", {
428
- "data-test-id": "author-name",
429
- className: "author-name " + _getClassName("author-name ".concat(textColor), _styleModuleImportMap$6)
430
- }, authorName || story["author-name"]), !prefix && isPrefix("rtl")));
431
- };
432
-
433
- function mapStateToProps$1(state) {
434
- return {
435
- config: get_1(state, ["qt", "config"], {})
436
- };
437
- }
438
-
439
- var Author = connect(mapStateToProps$1)(AuthorBase);
440
- AuthorBase.propTypes = {
441
- /** The Story Object from the API response */
442
- story: PropTypes.object.isRequired,
443
-
444
- /** Hide Author Avatar Image */
445
- hideAuthorImage: PropTypes.bool,
446
- // fix Author bottom of the storyCard
447
- isBottom: PropTypes.bool,
448
- // fix prefix before the author name
449
- prefix: PropTypes.string,
450
- config: PropTypes.object
451
- };
452
- AuthorBase.defaultProps = {
453
- hideAuthorImage: false,
454
- isBottom: false,
455
- prefix: ""
456
- };
457
-
458
- var _styleModuleImportMap$5 = {
459
- "./dot.m.css": {
460
- "dark": "dot-m_dark__1Njxl",
461
- "light": "dot-m_light__27IA3"
462
- }
463
- };
464
- var Dot = function Dot(_ref) {
465
- var _ref$width = _ref.width,
466
- width = _ref$width === void 0 ? "3px" : _ref$width,
467
- _ref$height = _ref.height,
468
- height = _ref$height === void 0 ? "3px" : _ref$height,
469
- _ref$color = _ref.color,
470
- color = _ref$color === void 0 ? "light" : _ref$color;
471
- return /*#__PURE__*/React.createElement("div", {
472
- className: _getClassName(color, _styleModuleImportMap$5)
473
- }, /*#__PURE__*/React.createElement("svg", {
474
- xmlns: "http://www.w3.org/2000/svg",
475
- width: width,
476
- height: height,
477
- viewBox: "0 0 3 3"
478
- }, /*#__PURE__*/React.createElement("circle", {
479
- cx: "87",
480
- cy: "9",
481
- r: "1",
482
- fill: "inherit",
483
- fillRule: "nonzero",
484
- transform: "translate(-86 -8)"
485
- })));
486
- };
487
- Dot.propTypes = {
488
- /** height , width and color of the dot icon */
489
- color: PropTypes.string,
490
- width: PropTypes.string,
491
- height: PropTypes.string
492
- };
493
-
494
- var _styleModuleImportMap$4 = {
495
- "./divider.m.css": {
496
- "dark": "divider-m_dark__26FRi",
497
- "light": "divider-m_light__w-7sy"
498
- }
499
- };
500
- var Divider = function Divider(_ref) {
501
- var _ref$width = _ref.width,
502
- width = _ref$width === void 0 ? "1" : _ref$width,
503
- _ref$height = _ref.height,
504
- height = _ref$height === void 0 ? "10" : _ref$height,
505
- _ref$color = _ref.color,
506
- color = _ref$color === void 0 ? "light" : _ref$color;
507
- return /*#__PURE__*/React.createElement("div", {
508
- className: _getClassName(color, _styleModuleImportMap$4)
509
- }, /*#__PURE__*/React.createElement("svg", {
510
- xmlns: "http://www.w3.org/2000/svg",
511
- width: width,
512
- height: height
513
- }, /*#__PURE__*/React.createElement("path", {
514
- fill: "inherit",
515
- d: "M0 0h1v10H0z"
516
- })));
517
- };
518
- Divider.propTypes = {
519
- /** height , width and color of the dot icon */
520
- color: PropTypes.string,
521
- width: PropTypes.string,
522
- height: PropTypes.string
523
- };
524
-
525
- var _styleModuleImportMap$3 = {
526
- "./read-time.m.css": {
527
- "read-time-wrapper": "read-time-m_read-time-wrapper__3GyC_",
528
- "dot-indicator": "read-time-m_dot-indicator__3Sqh2",
529
- "dark": "read-time-m_dark__3yRaK",
530
- "light": "read-time-m_light__1GAZu"
531
- }
532
- };
533
- var ReadTime = function ReadTime(_ref) {
534
- var story = _ref.story,
535
- _ref$opts = _ref.opts,
536
- opts = _ref$opts === void 0 ? {} : _ref$opts,
537
- _ref$isLightTheme = _ref.isLightTheme,
538
- isLightTheme = _ref$isLightTheme === void 0 ? false : _ref$isLightTheme;
539
- var config = useStateValue() || {};
540
- var showReadTime = get_1(config, ["showReadTime"]) || get_1(opts, ["showReadTime"], true);
541
- var readTime = get_1(story, ["read-time"], 0);
542
- var textColor = isLightTheme ? "light" : getTextColor(config.theme);
543
- if (!showReadTime || !readTime) return null;
544
- var timeToRead = get_1(opts, ["localizedTimeToRead"]) || "min read";
545
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
546
- "data-test-id": "read-time",
547
- className: "arrow-component arr--read-time " + _getClassName("read-time-wrapper ".concat(textColor), _styleModuleImportMap$3)
548
- }, /*#__PURE__*/React.createElement("span", {
549
- className: "read-time-indicator read-time-m_dot-indicator__3Sqh2"
550
- }, /*#__PURE__*/React.createElement(Dot, {
551
- color: textColor
552
- })), /*#__PURE__*/React.createElement("span", null, readTime, " ", timeToRead)));
553
- };
554
- ReadTime.propTypes = {
555
- story: PropTypes.shape({
556
- "read-time": PropTypes.number
557
- }),
558
- opts: PropTypes.shape({
559
- showReadTime: PropTypes.bool
560
- }),
561
- isLightTheme: PropTypes.bool
562
- };
563
-
564
- var _styleModuleImportMap$2 = {
565
- "./author-with-timestamp.m.css": {
566
- "author-time-wrapper": "author-with-timestamp-m_author-time-wrapper__G7_eI",
567
- "author-image": "author-with-timestamp-m_author-image__24xrD",
568
- "dot": "author-with-timestamp-m_dot__1LHXD",
569
- "bottom-fix": "author-with-timestamp-m_bottom-fix__1rWGv",
570
- "dash": "author-with-timestamp-m_dash__2L5XC"
571
- }
572
- };
573
- var AuthorWithTime = function AuthorWithTime(_ref) {
574
- var story = _ref.story,
575
- separator = _ref.separator,
576
- isBottom = _ref.isBottom,
577
- hideAuthorImage = _ref.hideAuthorImage,
578
- prefix = _ref.prefix,
579
- _ref$config = _ref.config,
580
- config = _ref$config === void 0 ? {} : _ref$config,
581
- isLightTheme = _ref.isLightTheme;
582
- var configState = useStateValue() || {};
583
- var isAuthor = get_1(config, ["showAuthor"], get_1(configState, ["showAuthor"], true));
584
- var isTime = get_1(config, ["showTime"], get_1(configState, ["showTime"], true));
585
- var isReadTime = get_1(configState, ["showReadTime"], true);
586
- var isBottomClasses = isBottom ? "bottom-fix" : "";
587
- var seperatorStyle = separator === "dot" ? "dot" : "dash";
588
- var textColor = isLightTheme ? "light" : getTextColor(configState.theme);
589
-
590
- var getSeparator = function getSeparator() {
591
- if (separator === "divider") {
592
- return /*#__PURE__*/React.createElement(Divider, {
593
- color: textColor
594
- });
595
- }
596
-
597
- return /*#__PURE__*/React.createElement(Dot, {
598
- color: textColor
599
- });
600
- };
601
-
602
- var getTimeStamp = function getTimeStamp() {
603
- if (!isTime) return null;
604
- return /*#__PURE__*/React.createElement(React.Fragment, null, isAuthor && /*#__PURE__*/React.createElement("span", {
605
- className: "arr-separator " + _getClassName("".concat(seperatorStyle), _styleModuleImportMap$2)
606
- }, getSeparator()), /*#__PURE__*/React.createElement(TimeStamp, {
607
- story: story,
608
- config: config
609
- }), isReadTime && /*#__PURE__*/React.createElement(ReadTime, {
610
- story: story,
611
- opts: config,
612
- isLightTheme: isLightTheme
613
- }));
614
- };
615
-
616
- return /*#__PURE__*/React.createElement("div", {
617
- className: "arr--author-time " + _getClassName("author-time-wrapper ".concat(isBottomClasses), _styleModuleImportMap$2)
618
- }, isAuthor ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Author, {
619
- story: story,
620
- isBottom: true,
621
- hideAuthorImage: hideAuthorImage,
622
- prefix: prefix
623
- }), getTimeStamp()) : getTimeStamp());
624
- };
625
- AuthorWithTime.propTypes = {
626
- story: PropTypes.object,
627
-
628
- /** Style of separator between the Author & Timestamp */
629
- separator: PropTypes.oneOf(["dot", "divider"]),
630
-
631
- /** hide the author image */
632
- hideAuthorImage: PropTypes.bool,
633
- // fix author and time at the end
634
- isBottom: PropTypes.bool,
635
- // fix prefix before the author name
636
- prefix: PropTypes.string,
637
- config: PropTypes.object,
638
- isLightTheme: PropTypes.bool
639
- };
640
- AuthorWithTime.defaultProps = {
641
- separator: "dot",
642
- isBottom: false,
643
- hideAuthorImage: true,
644
- prefix: "",
645
- isLightTheme: false
646
- };
647
-
648
- var _styleModuleImportMap$1 = {
649
- "./collection-name.m.css": {
650
- "collection": "collection-name-m_collection__JD6sx",
651
- "collection-borderLeft": "collection-name-m_collection-borderLeft__3Dznk",
652
- "border-left": "collection-name-m_border-left__3_pYw",
653
- "collection-borderBottomFull": "collection-name-m_collection-borderBottomFull__Dkq3K",
654
- "collection-borderBottom": "collection-name-m_collection-borderBottom__2rdQM",
655
- "collection-crossLine": "collection-name-m_collection-crossLine__1sIpN",
656
- "border-bottom": "collection-name-m_border-bottom__1MnlV",
657
- "dark": "collection-name-m_dark__nMe5H",
658
- "light": "collection-name-m_light__1vFDN"
659
- }
660
- };
661
- var CollectionNameBase = function CollectionNameBase(_ref) {
662
- var _ref$collectionNameBo = _ref.collectionNameBorderColor,
663
- collectionNameBorderColor = _ref$collectionNameBo === void 0 ? "" : _ref$collectionNameBo,
664
- collection = _ref.collection,
665
- config = _ref.config,
666
- collectionNameTemplate = _ref.collectionNameTemplate,
667
- headerLevel = _ref.headerLevel,
668
- _ref$customCollection = _ref.customCollectionName,
669
- customCollectionName = _ref$customCollection === void 0 ? "" : _ref$customCollection,
670
- _ref$navigate = _ref.navigate,
671
- navigate = _ref$navigate === void 0 ? true : _ref$navigate;
672
- var collectionTitle = useStateValue() || {};
673
- var showRowTitle = get_1(collectionTitle, ["showRowTitle"], true);
674
- var supportedTemplates = ["borderLeft", "borderBottom", "crossLine", "borderBottomFull"];
675
- var templateStyle = supportedTemplates.includes(collectionNameTemplate) ? " collection-".concat(collectionNameTemplate) : "";
676
- var slug = navigate && collection && getSlug(collection, config) || "";
677
- var collectionName = customCollectionName || collection.name || "";
678
- var textColor = getTextColor(collectionTitle.theme);
679
- var HeaderTag = "h" + headerLevel;
680
- var CollectionNameBorderColor = rgbToHex(collectionNameBorderColor);
681
- var borderBottomFullStyle = templateStyle.includes("collection-borderBottomFull") ? "4px solid ".concat(CollectionNameBorderColor) : "";
682
-
683
- var borderBottomStyle = function borderBottomStyle() {
684
- return templateStyle.includes("collection-borderBottom") && !templateStyle.includes("collection-borderBottomFull") ? /*#__PURE__*/React.createElement("div", {
685
- className: "collection-name-m_border-bottom__1MnlV",
686
- style: {
687
- borderBottom: "4px solid ".concat(CollectionNameBorderColor)
688
- }
689
- }) : "";
690
- };
691
-
692
- var isMobile = clientWidth("mobile");
693
-
694
- var getBorderHeight = function getBorderHeight() {
695
- if (isMobile) {
696
- switch (headerLevel) {
697
- case "1":
698
- return "32px";
699
-
700
- case "2":
701
- return "24px";
702
-
703
- case "3":
704
- return "20px";
705
-
706
- case "4":
707
- return "18px";
708
-
709
- case "5":
710
- return "16px";
711
-
712
- case "6":
713
- return "16px";
714
-
715
- default:
716
- return "20px";
717
- }
718
- }
719
-
720
- switch (headerLevel) {
721
- case "1":
722
- return "40px";
723
-
724
- case "2":
725
- return "32px";
726
-
727
- case "3":
728
- return "24px";
729
-
730
- case "4":
731
- return "20px";
732
-
733
- case "5":
734
- return "18px";
735
-
736
- case "6":
737
- return "16px";
738
-
739
- default:
740
- return "24px";
741
- }
742
- };
743
-
744
- return /*#__PURE__*/React.createElement(React.Fragment, null, showRowTitle && collectionName && /*#__PURE__*/React.createElement("div", {
745
- style: {
746
- borderBottom: borderBottomFullStyle
747
- },
748
- "data-test-id": "collection-name",
749
- className: ("arr--collection-name arrow-component ".concat(templateStyle) ? "arr--collection-name arrow-component ".concat(templateStyle) + " " : "") + _getClassName("collection ".concat(textColor, " ").concat(templateStyle), _styleModuleImportMap$1)
750
- }, templateStyle.includes("collection-borderLeft") && /*#__PURE__*/React.createElement("span", {
751
- className: "arr-collection-name-border-left collection-name-m_border-left__3_pYw",
752
- style: {
753
- color: CollectionNameBorderColor,
754
- fontSize: getBorderHeight()
755
- }
756
- }), slug && !slug.includes(undefined) ? /*#__PURE__*/React.createElement(Link, {
757
- href: slug,
758
- "aria-label": "collection-name"
759
- }, /*#__PURE__*/React.createElement(HeaderTag, null, collectionName)) : /*#__PURE__*/React.createElement(HeaderTag, null, collectionName), borderBottomStyle()));
760
- };
761
- CollectionNameBase.propTypes = {
762
- /** Collection name border color */
763
- collectionNameBorderColor: PropTypes$1.string,
764
-
765
- /** The Collection Object from the API response */
766
- collection: PropTypes$1.object,
767
-
768
- /** The publisher config from the API response */
769
- config: PropTypes$1.object,
770
-
771
- /** The style template for the component */
772
- collectionNameTemplate: PropTypes$1.oneOf(["", "borderLeft", "borderBottom", "crossLine", "borderBottomFull"]),
773
-
774
- /** Header tags ranging h1-h6, where h[headerLevel] */
775
- headerLevel: PropTypes$1.string,
776
- customCollectionName: PropTypes$1.string,
777
- navigate: PropTypes$1.bool
778
- };
779
- CollectionNameBase.defaultProps = {
780
- collectionNameTemplate: "",
781
- headerLevel: "3"
782
- };
783
-
784
- function mapStateToProps(state) {
785
- return {
786
- config: get_1(state, ["qt", "config"], {})
787
- };
788
- }
789
-
790
- var CollectionName = connect(mapStateToProps)(CollectionNameBase);
791
-
792
- function _defineProperty(obj, key, value) {
793
- if (key in obj) {
794
- Object.defineProperty(obj, key, {
795
- value: value,
796
- enumerable: true,
797
- configurable: true,
798
- writable: true
799
- });
800
- } else {
801
- obj[key] = value;
802
- }
803
-
804
- return obj;
805
- }
806
-
807
- var _styleModuleImportMap = {
808
- "./load-more.m.css": {
809
- "button": "load-more-m_button__1mmf1",
810
- "default": "load-more-m_default__2_k4V",
811
- "dark": "load-more-m_dark__3dfzb",
812
- "light": "load-more-m_light__ePZQI"
813
- }
814
- };
815
-
816
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
817
-
818
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
819
- var LoadmoreButton = function LoadmoreButton(_ref) {
820
- var _ref$config = _ref.config,
821
- config = _ref$config === void 0 ? {} : _ref$config,
822
- collection = _ref.collection,
823
- _ref$template = _ref.template,
824
- template = _ref$template === void 0 ? "SubsequentLoadCount" : _ref$template,
825
- onClick = _ref.onClick,
826
- navigate = _ref.navigate,
827
- qtConfig = _ref.qtConfig;
828
- var _config$showButton = config.showButton,
829
- showButton = _config$showButton === void 0 ? true : _config$showButton,
830
- _config$buttonText = config.buttonText,
831
- buttonText = _config$buttonText === void 0 ? "Read More" : _config$buttonText,
832
- _config$theme = config.theme,
833
- theme = _config$theme === void 0 ? "" : _config$theme,
834
- _config$customUrlPath = config.customUrlPath,
835
- customUrlPath = _config$customUrlPath === void 0 ? "" : _config$customUrlPath;
836
- if (!showButton) return null;
837
- var textColor = getTextColor(theme);
838
- var slug = customUrlPath ? "/".concat(customUrlPath) : generateNavigateSlug(collection, _objectSpread(_objectSpread({}, qtConfig), config));
839
- return template === "SubsequentLoadCount" ? /*#__PURE__*/React.createElement("div", {
840
- onClick: onClick,
841
- "data-test-id": "load-more",
842
- className: "arr--button " + _getClassName("button ".concat(textColor, " default"), _styleModuleImportMap)
843
- }, buttonText) : /*#__PURE__*/React.createElement(LinkBase, {
844
- href: slug,
845
- navigateTo: navigate,
846
- "data-test-id": "load-more",
847
- "aria-label": "load-more"
848
- }, /*#__PURE__*/React.createElement("div", {
849
- className: "arr--button " + _getClassName("button ".concat(textColor, " default"), _styleModuleImportMap)
850
- }, buttonText));
851
- };
852
- LoadmoreButton.propTypes = {
853
- collection: PropTypes.object,
854
- template: PropTypes.string,
855
- config: PropTypes.object,
856
- onClick: PropTypes.func,
857
- navigate: PropTypes.func,
858
- qtConfig: PropTypes.object
859
- };
860
-
861
- var isClient = typeof window !== "undefined";
862
-
863
- var hasIntersectionObserverSupport = function hasIntersectionObserverSupport() {
864
- return typeof window.IntersectionObserver !== "undefined";
865
- }; // import intersection observer polyfill only if on client
866
- // and if not supported by browser
867
-
868
-
869
- var getIntersectionObserver = function getIntersectionObserver() {
870
- return Promise.resolve(isClient && !hasIntersectionObserverSupport() && import('intersection-observer'));
871
- }; // options for intersection observer in order to improve the effect
872
-
873
-
874
- var intersectionObserverOptions = {
875
- root: null,
876
- // windows viewport will be used
877
- rootMargin: "200px 0px 0px 0px"
878
- };
879
-
880
- var handleIntersect = function handleIntersect(entries, observer) {
881
- entries.filter(function (entry) {
882
- return entry.isIntersecting;
883
- }).forEach(function (entry) {
884
- var target = entry.target;
885
-
886
- target._onIntersect(observer);
887
- });
888
- }; // get observer from the cache or create a new one
889
-
890
-
891
- var getObserver = function getObserver() {
892
- return getIntersectionObserver().then(function (_) {
893
-
894
- if (isClient) {
895
- return new window.IntersectionObserver(handleIntersect, intersectionObserverOptions);
896
- }
897
- });
898
- };
899
-
900
- var useNearScreen = (function (_ref) {
901
- var ref = _ref.ref;
902
-
903
- var _useState = useState(false),
904
- _useState2 = _slicedToArray(_useState, 2),
905
- show = _useState2[0],
906
- setShow = _useState2[1];
907
-
908
- useEffect(function () {
909
- var current = ref.current;
910
- if (!current) return; // get observer async and only when needed
911
-
912
- getObserver().then(function (observer) {
913
- return observer.observe(current);
914
- }); // mutate the current target to add a method to be executed when intersecting
915
-
916
- current._onIntersect = function (observer) {
917
- setShow(true);
918
- observer.unobserve(current);
919
- }; // clean observed element when unmounted
920
-
921
-
922
- return function () {
923
- return current._isSubscribed = false;
924
- };
925
- }, [ref]);
926
- return show;
927
- });
928
-
929
- var EMPTY_HTML = {
930
- __html: ""
931
- };
932
- var isServer = typeof window === "undefined";
933
- var ProgressiveHydration = function ProgressiveHydration(props) {
934
- var children = props.children;
935
- var ref = useRef(null);
936
- var isNearScreen = useNearScreen({
937
- ref: ref
938
- });
939
- useEffect(function () {
940
- var el = ref.current; // CLIENT:
941
- // If we want to force the hydration OR the element is near screen
942
- // then we hydrate the content to get the functionality ready
943
-
944
- if (isNearScreen) {
945
- var action = el.hasChildNodes() ? "hydrate" : "render";
946
- ReactDOM[action](children, el);
947
- }
948
- }, [children, isNearScreen]); // SERVER: Just render the content as usual
949
-
950
- if (isServer) {
951
- return /*#__PURE__*/React.createElement("div", {
952
- ref: ref
953
- }, children);
954
- } // CLIENT: Avoid hydration until we say so
955
-
956
-
957
- return /*#__PURE__*/React.createElement("div", {
958
- ref: ref,
959
- suppressHydrationWarning: true,
960
- dangerouslySetInnerHTML: EMPTY_HTML
961
- });
962
- };
963
- ProgressiveHydration.propTypes = {
964
- children: PropTypes.element
965
- };
966
-
967
- var LoadMoreTarget = function LoadMoreTarget(_ref) {
968
- var collection = _ref.collection,
969
- componentName = _ref.componentName,
970
- offset = _ref.offset,
971
- limit = _ref.limit;
972
- return /*#__PURE__*/React.createElement("div", {
973
- id: "ELM-".concat(collection.id),
974
- "data-collection-slug": collection["slug"],
975
- "data-component-name": componentName,
976
- "data-collection-offset": offset,
977
- "data-collection-limit": limit
978
- });
979
- };
980
- LoadMoreTarget.propTypes = {
981
- collection: PropTypes.shape({
982
- id: PropTypes.string,
983
- slug: PropTypes.string
984
- }),
985
- componentName: PropTypes.string,
986
- offset: PropTypes.number,
987
- limit: PropTypes.number
988
- };
989
-
990
- export { AuthorWithTime as A, CollectionName as C, Headline as H, LoadMoreTarget as L, ProgressiveHydration as P, StateProvider as S, _defineProperty as _, LoadmoreButton as a, Author as b, useStateValue as u };