@quintype/arrow 3.15.1-perf.4 → 3.15.1-perf.8

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 (613) hide show
  1. package/cjs/index.js +14589 -0
  2. package/esm/components/Atoms/AdPlaceholder/ads.m.css +13 -0
  3. package/esm/components/Atoms/AdPlaceholder/index.js +28 -0
  4. package/esm/components/Atoms/Author/README.md +19 -0
  5. package/esm/components/Atoms/Author/author.m.css +65 -0
  6. package/esm/components/Atoms/Author/index.js +109 -0
  7. package/esm/components/Atoms/Author/stories.js +28 -0
  8. package/esm/components/Atoms/AuthorCard/README.md +47 -0
  9. package/esm/components/Atoms/AuthorCard/author-card.m.css +174 -0
  10. package/esm/components/Atoms/AuthorCard/author-card.test.js +93 -0
  11. package/esm/components/Atoms/AuthorCard/index.js +133 -0
  12. package/esm/components/Atoms/AuthorCard/stories.js +68 -0
  13. package/esm/components/Atoms/AuthorImage/README.md +31 -0
  14. package/esm/components/Atoms/AuthorImage/author-image.m.css +53 -0
  15. package/esm/components/Atoms/AuthorImage/index.js +69 -0
  16. package/esm/components/Atoms/AuthorImage/stories.js +26 -0
  17. package/esm/components/Atoms/AuthorWithTimestamp/README.md +12 -0
  18. package/esm/components/Atoms/AuthorWithTimestamp/author-with-timestamp.m.css +42 -0
  19. package/esm/components/Atoms/AuthorWithTimestamp/index.js +95 -0
  20. package/esm/components/Atoms/AuthorWithTimestamp/stories.js +22 -0
  21. package/esm/components/Atoms/BulletPoint/README.md +9 -0
  22. package/esm/components/Atoms/BulletPoint/bullet-point.m.css +14 -0
  23. package/esm/components/Atoms/BulletPoint/index.js +27 -0
  24. package/esm/components/Atoms/BulletPoint/stories.js +9 -0
  25. package/esm/components/Atoms/CaptionAttribution/README.md +15 -0
  26. package/esm/components/Atoms/CaptionAttribution/caption-attribution.m.css +40 -0
  27. package/esm/components/Atoms/CaptionAttribution/caption-attribution.test.js +50 -0
  28. package/esm/components/Atoms/CaptionAttribution/index.js +66 -0
  29. package/esm/components/Atoms/CaptionAttribution/stories.js +47 -0
  30. package/esm/components/Atoms/CollectionName/README.md +11 -0
  31. package/esm/components/Atoms/CollectionName/collection-name.m.css +94 -0
  32. package/esm/components/Atoms/CollectionName/index.js +152 -0
  33. package/esm/components/Atoms/CollectionName/stories.js +41 -0
  34. package/esm/components/Atoms/Divider/__snapshots__/divider.test.js.snap +18 -0
  35. package/esm/components/Atoms/Divider/divider.m.css +6 -0
  36. package/esm/components/Atoms/Divider/divider.test.js +9 -0
  37. package/esm/components/Atoms/Divider/index.js +34 -0
  38. package/esm/components/Atoms/Dot/dot.js +39 -0
  39. package/esm/components/Atoms/Dot/dot.m.css +6 -0
  40. package/esm/components/Atoms/ExtendedLoadMore/README.md +9 -0
  41. package/esm/components/Atoms/ExtendedLoadMore/__snapshots__/extended-load-more.test.js.snap +11 -0
  42. package/esm/components/Atoms/ExtendedLoadMore/extended-load-more.test.js +14 -0
  43. package/esm/components/Atoms/ExtendedLoadMore/index.js +183 -0
  44. package/esm/components/Atoms/FallbackImage/fallback.m.css +33 -0
  45. package/esm/components/Atoms/FallbackImage/index.js +29 -0
  46. package/esm/components/Atoms/Headline/README.md +7 -0
  47. package/esm/components/Atoms/Headline/headline.m.css +26 -0
  48. package/esm/components/Atoms/Headline/index.js +97 -0
  49. package/esm/components/Atoms/Headline/stories.js +39 -0
  50. package/esm/components/Atoms/HeroImage/README.md +13 -0
  51. package/esm/components/Atoms/HeroImage/hero-image.m.css +72 -0
  52. package/esm/components/Atoms/HeroImage/index.js +175 -0
  53. package/esm/components/Atoms/HeroImage/stories.js +23 -0
  54. package/esm/components/Atoms/Hyperlink/hyperlink.m.css +10 -0
  55. package/esm/components/Atoms/Hyperlink/index.js +20 -0
  56. package/esm/components/Atoms/LoadMoreTarget/index.js +24 -0
  57. package/esm/components/Atoms/Loadmore/README.md +0 -0
  58. package/esm/components/Atoms/Loadmore/__snapshots__/load-more.test.js.snap +25 -0
  59. package/esm/components/Atoms/Loadmore/index.js +61 -0
  60. package/esm/components/Atoms/Loadmore/load-more.m.css +23 -0
  61. package/esm/components/Atoms/Loadmore/load-more.test.js +26 -0
  62. package/esm/components/Atoms/Loadmore/stories.js +17 -0
  63. package/esm/components/Atoms/MagazineCoverImage/README.md +21 -0
  64. package/esm/components/Atoms/MagazineCoverImage/index.js +58 -0
  65. package/esm/components/Atoms/MagazineCoverImage/magazine-cover-image.m.css +24 -0
  66. package/esm/components/Atoms/MagazineCoverImage/stories.js +22 -0
  67. package/esm/components/Atoms/PremiumStoryIcon/index.js +54 -0
  68. package/esm/components/Atoms/PublishDetail/README.md +15 -0
  69. package/esm/components/Atoms/PublishDetail/index.js +104 -0
  70. package/esm/components/Atoms/PublishDetail/publish-details.m.css +47 -0
  71. package/esm/components/Atoms/PublishDetail/publish-details.test.js +38 -0
  72. package/esm/components/Atoms/PublishDetail/stories.js +20 -0
  73. package/esm/components/Atoms/ReadTime/README.md +13 -0
  74. package/esm/components/Atoms/ReadTime/index.js +46 -0
  75. package/esm/components/Atoms/ReadTime/read-time.m.css +25 -0
  76. package/esm/components/Atoms/ReadTime/read-time.test.js +29 -0
  77. package/esm/components/Atoms/ReadTime/stories.js +15 -0
  78. package/esm/components/Atoms/ScrollSnap/SliderArrow/index.js +64 -0
  79. package/esm/components/Atoms/ScrollSnap/SliderArrow/slider-arrow.m.css +45 -0
  80. package/esm/components/Atoms/ScrollSnap/SliderIndicator/index.js +53 -0
  81. package/esm/components/Atoms/ScrollSnap/SliderIndicator/slider-indicator.m.css +71 -0
  82. package/esm/components/Atoms/ScrollSnap/index.js +165 -0
  83. package/esm/components/Atoms/ScrollSnap/scroll-snap.m.css +27 -0
  84. package/esm/components/Atoms/SectionTag/README.md +11 -0
  85. package/esm/components/Atoms/SectionTag/index.js +79 -0
  86. package/esm/components/Atoms/SectionTag/section.m.css +53 -0
  87. package/esm/components/Atoms/SectionTag/stories.js +22 -0
  88. package/esm/components/Atoms/SocialSharePopup/README.md +25 -0
  89. package/esm/components/Atoms/SocialSharePopup/__snapshots__/social-share-popup.test.js.snap +653 -0
  90. package/esm/components/Atoms/SocialSharePopup/index.js +100 -0
  91. package/esm/components/Atoms/SocialSharePopup/social-share-popup.m.css +109 -0
  92. package/esm/components/Atoms/SocialSharePopup/social-share-popup.test.js +87 -0
  93. package/esm/components/Atoms/SocialSharePopup/stories.js +18 -0
  94. package/esm/components/Atoms/StoryElements/AlsoRead/README.md +49 -0
  95. package/esm/components/Atoms/StoryElements/AlsoRead/also-read.m.css +135 -0
  96. package/esm/components/Atoms/StoryElements/AlsoRead/also-read.test.js +97 -0
  97. package/esm/components/Atoms/StoryElements/AlsoRead/index.js +156 -0
  98. package/esm/components/Atoms/StoryElements/AlsoRead/stories.js +47 -0
  99. package/esm/components/Atoms/StoryElements/Attachment/README.md +21 -0
  100. package/esm/components/Atoms/StoryElements/Attachment/__snapshots__/attachment.test.js.snap +47 -0
  101. package/esm/components/Atoms/StoryElements/Attachment/attachment.m.css +125 -0
  102. package/esm/components/Atoms/StoryElements/Attachment/attachment.test.js +66 -0
  103. package/esm/components/Atoms/StoryElements/Attachment/index.js +86 -0
  104. package/esm/components/Atoms/StoryElements/Attachment/stories.js +62 -0
  105. package/esm/components/Atoms/StoryElements/BigFact/README.md +9 -0
  106. package/esm/components/Atoms/StoryElements/BigFact/big-fact.m.css +41 -0
  107. package/esm/components/Atoms/StoryElements/BigFact/big-fact.test.js +28 -0
  108. package/esm/components/Atoms/StoryElements/BigFact/index.js +56 -0
  109. package/esm/components/Atoms/StoryElements/BigFact/stories.js +11 -0
  110. package/esm/components/Atoms/StoryElements/BlockQuote/README.md +49 -0
  111. package/esm/components/Atoms/StoryElements/BlockQuote/Svg/curve.js +32 -0
  112. package/esm/components/Atoms/StoryElements/BlockQuote/Svg/edge.js +32 -0
  113. package/esm/components/Atoms/StoryElements/BlockQuote/Svg/icon.m.css +4 -0
  114. package/esm/components/Atoms/StoryElements/BlockQuote/block-quote.m.css +161 -0
  115. package/esm/components/Atoms/StoryElements/BlockQuote/block-quote.test.js +71 -0
  116. package/esm/components/Atoms/StoryElements/BlockQuote/index.js +154 -0
  117. package/esm/components/Atoms/StoryElements/BlockQuote/stories.js +42 -0
  118. package/esm/components/Atoms/StoryElements/Blurb/README.md +43 -0
  119. package/esm/components/Atoms/StoryElements/Blurb/blurb.m.css +55 -0
  120. package/esm/components/Atoms/StoryElements/Blurb/blurb.test.js +76 -0
  121. package/esm/components/Atoms/StoryElements/Blurb/index.js +96 -0
  122. package/esm/components/Atoms/StoryElements/Blurb/stories.js +38 -0
  123. package/esm/components/Atoms/StoryElements/Image/README.md +13 -0
  124. package/esm/components/Atoms/StoryElements/Image/image.m.css +21 -0
  125. package/esm/components/Atoms/StoryElements/Image/image.test.js +19 -0
  126. package/esm/components/Atoms/StoryElements/Image/index.js +87 -0
  127. package/esm/components/Atoms/StoryElements/Image/stories.js +28 -0
  128. package/esm/components/Atoms/StoryElements/ImageSlideshow/README.md +13 -0
  129. package/esm/components/Atoms/StoryElements/ImageSlideshow/image-slideshow.m.css +49 -0
  130. package/esm/components/Atoms/StoryElements/ImageSlideshow/index.js +82 -0
  131. package/esm/components/Atoms/StoryElements/ImageSlideshow/stories.js +31 -0
  132. package/esm/components/Atoms/StoryElements/QuestionAnswer/README.md +56 -0
  133. package/esm/components/Atoms/StoryElements/QuestionAnswer/index.js +176 -0
  134. package/esm/components/Atoms/StoryElements/QuestionAnswer/question-answer.m.css +106 -0
  135. package/esm/components/Atoms/StoryElements/QuestionAnswer/question-answer.test.js +130 -0
  136. package/esm/components/Atoms/StoryElements/QuestionAnswer/stories.js +102 -0
  137. package/esm/components/Atoms/StoryElements/Quote/README.md +41 -0
  138. package/esm/components/Atoms/StoryElements/Quote/index.js +87 -0
  139. package/esm/components/Atoms/StoryElements/Quote/quote.m.css +111 -0
  140. package/esm/components/Atoms/StoryElements/Quote/quote.test.js +61 -0
  141. package/esm/components/Atoms/StoryElements/Quote/stories.js +39 -0
  142. package/esm/components/Atoms/StoryElements/Reference/README.md +9 -0
  143. package/esm/components/Atoms/StoryElements/Reference/index.js +80 -0
  144. package/esm/components/Atoms/StoryElements/Reference/reference.m.css +42 -0
  145. package/esm/components/Atoms/StoryElements/Reference/reference.test.js +38 -0
  146. package/esm/components/Atoms/StoryElements/Reference/stories.js +16 -0
  147. package/esm/components/Atoms/StoryElements/StoryElement/README.md +10 -0
  148. package/esm/components/Atoms/StoryElements/StoryElement/index.js +30 -0
  149. package/esm/components/Atoms/StoryElements/StoryElement/stories.js +17 -0
  150. package/esm/components/Atoms/StoryElements/StoryElement/storyelement.test.js +14 -0
  151. package/esm/components/Atoms/StoryElements/Summary/README.md +56 -0
  152. package/esm/components/Atoms/StoryElements/Summary/index.js +98 -0
  153. package/esm/components/Atoms/StoryElements/Summary/stories.js +41 -0
  154. package/esm/components/Atoms/StoryElements/Summary/summary.m.css +121 -0
  155. package/esm/components/Atoms/StoryElements/Summary/summary.test.js +83 -0
  156. package/esm/components/Atoms/StoryElements/Text/README.md +32 -0
  157. package/esm/components/Atoms/StoryElements/Text/index.js +74 -0
  158. package/esm/components/Atoms/StoryElements/Text/stories.js +56 -0
  159. package/esm/components/Atoms/StoryElements/Text/text.m.css +78 -0
  160. package/esm/components/Atoms/StoryElements/Text/text.test.js +70 -0
  161. package/esm/components/Atoms/StoryElements/Video/README.md +9 -0
  162. package/esm/components/Atoms/StoryElements/Video/index.js +37 -0
  163. package/esm/components/Atoms/StoryElements/Video/stories.js +29 -0
  164. package/esm/components/Atoms/StoryElements/Video/video.m.css +89 -0
  165. package/esm/components/Atoms/StoryElements/Video/video.test.js +14 -0
  166. package/esm/components/Atoms/StoryElements/imageGallery/README.md +18 -0
  167. package/esm/components/Atoms/StoryElements/imageGallery/image-gallery.m.css +52 -0
  168. package/esm/components/Atoms/StoryElements/imageGallery/image-gallery.test.js +17 -0
  169. package/esm/components/Atoms/StoryElements/imageGallery/index.js +112 -0
  170. package/esm/components/Atoms/StoryElements/imageGallery/stories.js +22 -0
  171. package/esm/components/Atoms/StoryElements/withElementWrapper.js +21 -0
  172. package/esm/components/Atoms/StoryElements/withElementWrapper.test.js +49 -0
  173. package/esm/components/Atoms/StoryHeadline/index.js +57 -0
  174. package/esm/components/Atoms/StoryHeadline/story-headline.m.css +36 -0
  175. package/esm/components/Atoms/StoryTags/README.md +9 -0
  176. package/esm/components/Atoms/StoryTags/index.js +47 -0
  177. package/esm/components/Atoms/StoryTags/stories.js +23 -0
  178. package/esm/components/Atoms/StoryTags/story-tags.test.js +16 -0
  179. package/esm/components/Atoms/StoryTags/tags.m.css +34 -0
  180. package/esm/components/Atoms/Subheadline/README.md +17 -0
  181. package/esm/components/Atoms/Subheadline/index.js +52 -0
  182. package/esm/components/Atoms/Subheadline/stories.js +21 -0
  183. package/esm/components/Atoms/Subheadline/subheadline.m.css +17 -0
  184. package/esm/components/Atoms/TimeStamp/README.md +9 -0
  185. package/esm/components/Atoms/TimeStamp/index.js +39 -0
  186. package/esm/components/Atoms/TimeStamp/stories.js +11 -0
  187. package/esm/components/Atoms/TimeStamp/timestamp.m.css +22 -0
  188. package/esm/components/Fixture/config.json +2703 -0
  189. package/esm/components/Fixture/dummy-collection.js +2547 -0
  190. package/esm/components/Fixture/dummyStory.js +2089 -0
  191. package/esm/components/Fixture/index.js +433 -0
  192. package/esm/components/Fixture/slot-config.js +26 -0
  193. package/esm/components/Molecules/FullScreenImages/fullscreenimages.scss +56 -0
  194. package/esm/components/Molecules/FullScreenImages/index.js +119 -0
  195. package/esm/components/Molecules/KeyEvents/README.md +21 -0
  196. package/esm/components/Molecules/KeyEvents/index.js +152 -0
  197. package/esm/components/Molecules/KeyEvents/key-events.m.css +89 -0
  198. package/esm/components/Molecules/KeyEvents/stories.js +25 -0
  199. package/esm/components/Molecules/PageIntroductionCard/README.md +25 -0
  200. package/esm/components/Molecules/PageIntroductionCard/index.js +77 -0
  201. package/esm/components/Molecules/PageIntroductionCard/page-intro-card.m.css +61 -0
  202. package/esm/components/Molecules/PageIntroductionCard/stories.js +17 -0
  203. package/esm/components/Molecules/PortraitStoryCard/README.md +10 -0
  204. package/esm/components/Molecules/PortraitStoryCard/index.js +52 -0
  205. package/esm/components/Molecules/PortraitStoryCard/portrait-story-card.m.css +38 -0
  206. package/esm/components/Molecules/PortraitStoryCard/stories.js +24 -0
  207. package/esm/components/Molecules/SliderHorizontalCard/README.md +14 -0
  208. package/esm/components/Molecules/SliderHorizontalCard/index.js +69 -0
  209. package/esm/components/Molecules/SliderHorizontalCard/slider-horizontal-card.m.css +42 -0
  210. package/esm/components/Molecules/SliderHorizontalCard/stories.js +27 -0
  211. package/esm/components/Molecules/SocialShareTemplate/README.md +118 -0
  212. package/esm/components/Molecules/SocialShareTemplate/__snapshots__/social-share-template.test.js.snap +738 -0
  213. package/esm/components/Molecules/SocialShareTemplate/index.js +164 -0
  214. package/esm/components/Molecules/SocialShareTemplate/social-share-data.js +90 -0
  215. package/esm/components/Molecules/SocialShareTemplate/social-share-template.m.css +174 -0
  216. package/esm/components/Molecules/SocialShareTemplate/social-share-template.test.js +108 -0
  217. package/esm/components/Molecules/SocialShareTemplate/stories.js +38 -0
  218. package/esm/components/Molecules/StoryCard/README.md +75 -0
  219. package/esm/components/Molecules/StoryCard/READMEBGIMAGE.md +25 -0
  220. package/esm/components/Molecules/StoryCard/READMEBORDER.md +61 -0
  221. package/esm/components/Molecules/StoryCard/index.js +200 -0
  222. package/esm/components/Molecules/StoryCard/stories.js +274 -0
  223. package/esm/components/Molecules/StoryCard/storycard.m.css +158 -0
  224. package/esm/components/Molecules/StoryCardWithBulletPoint/README.md +9 -0
  225. package/esm/components/Molecules/StoryCardWithBulletPoint/index.js +43 -0
  226. package/esm/components/Molecules/StoryCardWithBulletPoint/stories.js +28 -0
  227. package/esm/components/Molecules/StoryCardWithBulletPoint/story-card-with-bullet-point.m.css +7 -0
  228. package/esm/components/Molecules/StoryElementCard/README.md +9 -0
  229. package/esm/components/Molecules/StoryElementCard/index.js +494 -0
  230. package/esm/components/Molecules/StoryElementCard/stories.js +25 -0
  231. package/esm/components/Molecules/StoryElementCard/story-element-card.m.css +78 -0
  232. package/esm/components/Molecules/StorycardContent/README.md +34 -0
  233. package/esm/components/Molecules/StorycardContent/index.js +86 -0
  234. package/esm/components/Molecules/StorycardContent/stories.js +45 -0
  235. package/esm/components/Molecules/StorycardContent/storycardContent.m.css +21 -0
  236. package/esm/components/Rows/AlternateCollectionFilter/README.md +38 -0
  237. package/esm/components/Rows/AlternateCollectionFilter/alternate-collection-filter.m.css +254 -0
  238. package/esm/components/Rows/AlternateCollectionFilter/index.js +288 -0
  239. package/esm/components/Rows/AlternateCollectionFilter/stories.js +68 -0
  240. package/esm/components/Rows/AsideCollection/README.md +27 -0
  241. package/esm/components/Rows/AsideCollection/aside-collection.m.css +103 -0
  242. package/esm/components/Rows/AsideCollection/aside-collection.test.js +32 -0
  243. package/esm/components/Rows/AsideCollection/index.js +253 -0
  244. package/esm/components/Rows/AsideCollection/stories.js +48 -0
  245. package/esm/components/Rows/AstrologyCollection/README.md +40 -0
  246. package/esm/components/Rows/AstrologyCollection/astrology-collection.m.css +165 -0
  247. package/esm/components/Rows/AstrologyCollection/index.js +272 -0
  248. package/esm/components/Rows/AstrologyCollection/stories.js +61 -0
  249. package/esm/components/Rows/AuthorIntroductionCard/README.md +43 -0
  250. package/esm/components/Rows/AuthorIntroductionCard/author-intro.m.css +278 -0
  251. package/esm/components/Rows/AuthorIntroductionCard/author-intro.test.js +148 -0
  252. package/esm/components/Rows/AuthorIntroductionCard/index.js +157 -0
  253. package/esm/components/Rows/AuthorIntroductionCard/stories.js +46 -0
  254. package/esm/components/Rows/AuthorsList/README.md +24 -0
  255. package/esm/components/Rows/AuthorsList/author-list.test.js +66 -0
  256. package/esm/components/Rows/AuthorsList/authors-list.m.css +22 -0
  257. package/esm/components/Rows/AuthorsList/index.js +64 -0
  258. package/esm/components/Rows/AuthorsList/stories.js +62 -0
  259. package/esm/components/Rows/CollectionFilter/README.md +39 -0
  260. package/esm/components/Rows/CollectionFilter/collection-filter.m.css +213 -0
  261. package/esm/components/Rows/CollectionFilter/index.js +366 -0
  262. package/esm/components/Rows/CollectionFilter/stories.js +78 -0
  263. package/esm/components/Rows/ElevenStories/11-stories.m.css +85 -0
  264. package/esm/components/Rows/ElevenStories/README.md +39 -0
  265. package/esm/components/Rows/ElevenStories/index.js +418 -0
  266. package/esm/components/Rows/ElevenStories/stories.js +71 -0
  267. package/esm/components/Rows/FourColFiveStories/README.md +37 -0
  268. package/esm/components/Rows/FourColFiveStories/four-col-five-stories.m.css +112 -0
  269. package/{atoms/ExtendedLoadMore/index-b5754c5d.js → esm/components/Rows/FourColFiveStories/index.js} +54 -70
  270. package/esm/components/Rows/FourColFiveStories/stories.js +67 -0
  271. package/esm/components/Rows/FourColGrid/README.md +39 -0
  272. package/esm/components/Rows/FourColGrid/four-col.m.css +50 -0
  273. package/{atoms/ExtendedLoadMore/index-37a9ccff.js → esm/components/Rows/FourColGrid/index.js} +50 -65
  274. package/esm/components/Rows/FourColGrid/stories.js +68 -0
  275. package/esm/components/Rows/FourColPortraitStories/README.md +38 -0
  276. package/esm/components/Rows/FourColPortraitStories/four-col-portrait-stories.m.css +45 -0
  277. package/esm/components/Rows/FourColPortraitStories/index.js +153 -0
  278. package/esm/components/Rows/FourColPortraitStories/stories.js +68 -0
  279. package/esm/components/Rows/FourColSixteenStories/README.md +35 -0
  280. package/esm/components/Rows/FourColSixteenStories/four-col-sixteen-stories.m.css +141 -0
  281. package/esm/components/Rows/FourColSixteenStories/index.js +157 -0
  282. package/esm/components/Rows/FourColSixteenStories/stories.js +43 -0
  283. package/esm/components/Rows/FourColTwelveStory/README.md +39 -0
  284. package/esm/components/Rows/FourColTwelveStory/four-col-twelve-story.m.css +71 -0
  285. package/esm/components/Rows/FourColTwelveStory/index.js +219 -0
  286. package/esm/components/Rows/FourColTwelveStory/stories.js +107 -0
  287. package/esm/components/Rows/FourStorySlider/README.md +45 -0
  288. package/esm/components/Rows/FourStorySlider/four-story-slider.m.css +78 -0
  289. package/esm/components/Rows/FourStorySlider/index.js +145 -0
  290. package/esm/components/Rows/FourStorySlider/stories.js +125 -0
  291. package/esm/components/Rows/FourStorySliderPortrait/README.md +45 -0
  292. package/esm/components/Rows/FourStorySliderPortrait/four-story-slider-portrait.m.css +221 -0
  293. package/esm/components/Rows/FourStorySliderPortrait/index.js +148 -0
  294. package/esm/components/Rows/FourStorySliderPortrait/stories.js +125 -0
  295. package/esm/components/Rows/FourTabbedBigStorySlider/README.md +39 -0
  296. package/esm/components/Rows/FourTabbedBigStorySlider/four-tabbed-big-story-slider.m.css +265 -0
  297. package/esm/components/Rows/FourTabbedBigStorySlider/index.js +221 -0
  298. package/esm/components/Rows/FourTabbedBigStorySlider/stories.js +59 -0
  299. package/esm/components/Rows/FullScreenSlider/README.md +46 -0
  300. package/esm/components/Rows/FullScreenSlider/full-screen-slider.m.css +155 -0
  301. package/esm/components/Rows/FullScreenSlider/index.js +140 -0
  302. package/esm/components/Rows/FullScreenSlider/stories.js +113 -0
  303. package/esm/components/Rows/HalfScreenSlider/README.md +43 -0
  304. package/esm/components/Rows/HalfScreenSlider/half-screen-slider.m.css +80 -0
  305. package/esm/components/Rows/HalfScreenSlider/index.js +124 -0
  306. package/esm/components/Rows/HalfScreenSlider/stories.js +118 -0
  307. package/esm/components/Rows/ListComponent/README.md +48 -0
  308. package/esm/components/Rows/ListComponent/index.js +176 -0
  309. package/esm/components/Rows/ListComponent/list-component.m.css +65 -0
  310. package/esm/components/Rows/ListComponent/stories.js +65 -0
  311. package/esm/components/Rows/Listicles/README.md +32 -0
  312. package/esm/components/Rows/Listicles/index.js +240 -0
  313. package/esm/components/Rows/Listicles/listicles.m.css +149 -0
  314. package/esm/components/Rows/Listicles/stories.js +53 -0
  315. package/esm/components/Rows/MagazineEditions/README.md +21 -0
  316. package/esm/components/Rows/MagazineEditions/index.js +123 -0
  317. package/esm/components/Rows/MagazineEditions/magazine-editions.m.css +50 -0
  318. package/esm/components/Rows/MagazineEditions/magazine-editions.test.js +30 -0
  319. package/esm/components/Rows/MagazineEditions/stories.js +41 -0
  320. package/esm/components/Rows/MagazineHeaderCard/README.md +21 -0
  321. package/esm/components/Rows/MagazineHeaderCard/index.js +117 -0
  322. package/esm/components/Rows/MagazineHeaderCard/magazine-cards.m.css +106 -0
  323. package/esm/components/Rows/MagazineHeaderCard/stories.js +34 -0
  324. package/esm/components/Rows/MagazineWidget/README.md +21 -0
  325. package/esm/components/Rows/MagazineWidget/index.js +177 -0
  326. package/esm/components/Rows/MagazineWidget/stories.js +40 -0
  327. package/esm/components/Rows/OneColStoryList/README.md +48 -0
  328. package/{atoms/ExtendedLoadMore/index-bbaf526e.js → esm/components/Rows/OneColStoryList/index.js} +69 -80
  329. package/esm/components/Rows/OneColStoryList/one-col-story-list.m.css +81 -0
  330. package/esm/components/Rows/OneColStoryList/stories.js +78 -0
  331. package/esm/components/Rows/OpinionCollection/README.md +36 -0
  332. package/esm/components/Rows/OpinionCollection/index.js +205 -0
  333. package/esm/components/Rows/OpinionCollection/opinion-collection.m.css +226 -0
  334. package/esm/components/Rows/OpinionCollection/stories.js +92 -0
  335. package/esm/components/Rows/SixColSixStories/README.md +37 -0
  336. package/{atoms/ExtendedLoadMore/index-cfb262ef.js → esm/components/Rows/SixColSixStories/index.js} +56 -69
  337. package/esm/components/Rows/SixColSixStories/six-col-six-stories.m.css +75 -0
  338. package/esm/components/Rows/SixColSixStories/stories.js +74 -0
  339. package/esm/components/Rows/StoryTemplates/ListicleStoryTemplates/README.md +19 -0
  340. package/esm/components/Rows/StoryTemplates/ListicleStoryTemplates/__snapshots__/listicle-story.test.js.snap +841 -0
  341. package/esm/components/Rows/StoryTemplates/ListicleStoryTemplates/index.js +330 -0
  342. package/esm/components/Rows/StoryTemplates/ListicleStoryTemplates/listicle-story.m.css +249 -0
  343. package/esm/components/Rows/StoryTemplates/ListicleStoryTemplates/listicle-story.test.js +46 -0
  344. package/esm/components/Rows/StoryTemplates/ListicleStoryTemplates/stories.js +119 -0
  345. package/esm/components/Rows/StoryTemplates/LiveBlogStoryTemplates/README.md +25 -0
  346. package/esm/components/Rows/StoryTemplates/LiveBlogStoryTemplates/index.js +97 -0
  347. package/esm/components/Rows/StoryTemplates/LiveBlogStoryTemplates/live-blog.m.css +326 -0
  348. package/esm/components/Rows/StoryTemplates/LiveBlogStoryTemplates/stories.js +118 -0
  349. package/esm/components/Rows/StoryTemplates/LiveBlogStoryTemplates/templates.js +418 -0
  350. package/esm/components/Rows/StoryTemplates/PhotoStoryTemplates/index.js +294 -0
  351. package/esm/components/Rows/StoryTemplates/PhotoStoryTemplates/photo-story.test.js +163 -0
  352. package/esm/components/Rows/StoryTemplates/PhotoStoryTemplates/photo.m.css +175 -0
  353. package/esm/components/Rows/StoryTemplates/PhotoStoryTemplates/stories.js +124 -0
  354. package/esm/components/Rows/StoryTemplates/TextStoryTemplates/README.md +49 -0
  355. package/esm/components/Rows/StoryTemplates/TextStoryTemplates/index.js +100 -0
  356. package/esm/components/Rows/StoryTemplates/TextStoryTemplates/stories.js +124 -0
  357. package/esm/components/Rows/StoryTemplates/TextStoryTemplates/templates.js +285 -0
  358. package/esm/components/Rows/StoryTemplates/TextStoryTemplates/text-story.m.css +449 -0
  359. package/esm/components/Rows/StoryTemplates/TextStoryTemplates/text-story.test.js +242 -0
  360. package/esm/components/Rows/StoryTemplates/VideoStoryTemplates/README.md +31 -0
  361. package/esm/components/Rows/StoryTemplates/VideoStoryTemplates/index.js +239 -0
  362. package/esm/components/Rows/StoryTemplates/VideoStoryTemplates/stories.js +214 -0
  363. package/esm/components/Rows/StoryTemplates/VideoStoryTemplates/video-story.m.css +195 -0
  364. package/esm/components/Rows/TagIntroductionCard/README.md +11 -0
  365. package/esm/components/Rows/TagIntroductionCard/index.js +45 -0
  366. package/esm/components/Rows/TagIntroductionCard/stories.js +20 -0
  367. package/esm/components/Rows/TagIntroductionCard/tag-intro-card.module.css +25 -0
  368. package/esm/components/Rows/ThreeColFlexStories/README.md +38 -0
  369. package/{atoms/ExtendedLoadMore/index-57dd4870.js → esm/components/Rows/ThreeColFlexStories/index.js} +70 -82
  370. package/esm/components/Rows/ThreeColFlexStories/stories.js +74 -0
  371. package/esm/components/Rows/ThreeColFlexStories/three-col-flex-stories.m.css +60 -0
  372. package/esm/components/Rows/ThreeColFourteenStory/README.md +28 -0
  373. package/esm/components/Rows/ThreeColFourteenStory/index.js +154 -0
  374. package/esm/components/Rows/ThreeColFourteenStory/stories.js +65 -0
  375. package/esm/components/Rows/ThreeColFourteenStory/three-col-fourteen-story.m.css +51 -0
  376. package/esm/components/Rows/ThreeColGrid/README.md +36 -0
  377. package/{atoms/ExtendedLoadMore/index-446679c8.js → esm/components/Rows/ThreeColGrid/index.js} +54 -69
  378. package/esm/components/Rows/ThreeColGrid/stories.js +78 -0
  379. package/esm/components/Rows/ThreeColGrid/three-col.m.css +43 -0
  380. package/esm/components/Rows/ThreeColSevenStory/README.md +36 -0
  381. package/esm/components/Rows/ThreeColSevenStory/index.js +201 -0
  382. package/esm/components/Rows/ThreeColSevenStory/stories.js +74 -0
  383. package/esm/components/Rows/ThreeColSevenStory/three-col-seven-story.m.css +44 -0
  384. package/esm/components/Rows/ThreeColSixStories/README.md +40 -0
  385. package/esm/components/Rows/ThreeColSixStories/index.js +183 -0
  386. package/esm/components/Rows/ThreeColSixStories/stories.js +74 -0
  387. package/esm/components/Rows/ThreeColSixStories/three-col-six-stories.m.css +32 -0
  388. package/esm/components/Rows/ThreeColTwelveStories/README.md +41 -0
  389. package/esm/components/Rows/ThreeColTwelveStories/index.js +165 -0
  390. package/esm/components/Rows/ThreeColTwelveStories/stories.js +53 -0
  391. package/esm/components/Rows/ThreeColTwelveStories/three-col-twelve-stories.m.css +83 -0
  392. package/esm/components/Rows/TwoColFourStory/README.md +33 -0
  393. package/esm/components/Rows/TwoColFourStory/index.js +174 -0
  394. package/esm/components/Rows/TwoColFourStory/stories.js +63 -0
  395. package/esm/components/Rows/TwoColFourStory/two-col-four-story.m.css +64 -0
  396. package/esm/components/Rows/TwoColFourStoryHighlight/README.md +35 -0
  397. package/esm/components/Rows/TwoColFourStoryHighlight/index.js +164 -0
  398. package/esm/components/Rows/TwoColFourStoryHighlight/stories.js +50 -0
  399. package/esm/components/Rows/TwoColFourStoryHighlight/two-col-four-story-highlight.m.css +116 -0
  400. package/esm/components/Rows/TwoColSevenStories/README.md +37 -0
  401. package/esm/components/Rows/TwoColSevenStories/index.js +193 -0
  402. package/esm/components/Rows/TwoColSevenStories/stories.js +102 -0
  403. package/esm/components/Rows/TwoColSevenStories/two-col-seven-stories.m.css +175 -0
  404. package/esm/components/Rows/TwoColSixStories/README.md +36 -0
  405. package/esm/components/Rows/TwoColSixStories/index.js +185 -0
  406. package/esm/components/Rows/TwoColSixStories/stories.js +67 -0
  407. package/esm/components/Rows/TwoColSixStories/two-col-six-stories.m.css +135 -0
  408. package/esm/components/Rows/TwoColTenStoriesSidebar/README.md +34 -0
  409. package/esm/components/Rows/TwoColTenStoriesSidebar/index.js +191 -0
  410. package/esm/components/Rows/TwoColTenStoriesSidebar/stories.js +53 -0
  411. package/esm/components/Rows/TwoColTenStoriesSidebar/two-col-ten-stories-sidebar.m.css +52 -0
  412. package/esm/components/Rows/TwoColThreeStory/README.md +40 -0
  413. package/esm/components/Rows/TwoColThreeStory/index.js +146 -0
  414. package/esm/components/Rows/TwoColThreeStory/stories.js +63 -0
  415. package/esm/components/Rows/TwoColThreeStory/two-col-three-story.m.css +36 -0
  416. package/esm/components/SharedContext.js +17 -0
  417. package/esm/components/Svgs/Loading/loading.js +140 -0
  418. package/esm/components/Svgs/Loading/loading.m.css +5 -0
  419. package/esm/components/Svgs/SocialIcons/facebook.js +18 -0
  420. package/esm/components/Svgs/SocialIcons/instagram.js +33 -0
  421. package/esm/components/Svgs/SocialIcons/linkedin.js +18 -0
  422. package/esm/components/Svgs/SocialIcons/pinterest.js +12 -0
  423. package/esm/components/Svgs/SocialIcons/twitter.js +18 -0
  424. package/esm/components/Svgs/SocialIcons/whatsapp.js +19 -0
  425. package/esm/components/Svgs/SocialIcons/youtube.js +19 -0
  426. package/esm/components/Svgs/caret-right.svg +3 -0
  427. package/esm/components/Svgs/clock-icon.js +19 -0
  428. package/esm/components/Svgs/close-icon.js +22 -0
  429. package/esm/components/Svgs/crown.js +40 -0
  430. package/esm/components/Svgs/fallbackImage.js +45 -0
  431. package/esm/components/Svgs/hyperlink.js +22 -0
  432. package/esm/components/Svgs/key.js +39 -0
  433. package/esm/components/Svgs/left-arrow.js +24 -0
  434. package/esm/components/Svgs/liveicon.js +16 -0
  435. package/esm/components/Svgs/lock.js +40 -0
  436. package/esm/components/Svgs/right-arrow.js +24 -0
  437. package/esm/components/Svgs/share-icon.js +19 -0
  438. package/esm/components/Svgs/star.js +34 -0
  439. package/esm/components/Svgs/user-fallback-icon.js +22 -0
  440. package/esm/components/Typography/README.md +7 -0
  441. package/esm/components/Typography/index.js +33 -0
  442. package/esm/components/Typography/stories.js +15 -0
  443. package/esm/components/Typography/style.m.css +11 -0
  444. package/esm/entry-points.js +291 -0
  445. package/esm/guide/stories.js +22 -0
  446. package/esm/hydration-component/index.js +41 -0
  447. package/esm/hydration-component/useNearScreen.js +71 -0
  448. package/esm/index.js +88 -0
  449. package/esm/rows.js +40 -0
  450. package/esm/stylesheets/mixins.scss +27 -0
  451. package/esm/stylesheets/viewports.m.css +3 -0
  452. package/esm/utils/testing-utils.js +8 -0
  453. package/esm/utils/utils.js +363 -0
  454. package/esm/utils/utils.test.js +46 -0
  455. package/package.json +1 -1
  456. package/atoms/Author/index.js +0 -170
  457. package/atoms/Author/styles.arrow.css +0 -1
  458. package/atoms/AuthorWithTime/index.js +0 -514
  459. package/atoms/AuthorWithTime/styles.arrow.css +0 -1
  460. package/atoms/CollectionName/index.js +0 -255
  461. package/atoms/CollectionName/styles.arrow.css +0 -1
  462. package/atoms/ExtendedLoadMore/index-0f809dd9.js +0 -254
  463. package/atoms/ExtendedLoadMore/index-142f015c.js +0 -476
  464. package/atoms/ExtendedLoadMore/index-44f97338.js +0 -300
  465. package/atoms/ExtendedLoadMore/index-66dd4dbd.js +0 -215
  466. package/atoms/ExtendedLoadMore/index-8462c597.js +0 -363
  467. package/atoms/ExtendedLoadMore/index-93cb06d1.js +0 -1016
  468. package/atoms/ExtendedLoadMore/index-afd44863.js +0 -95
  469. package/atoms/ExtendedLoadMore/index.js +0 -20
  470. package/atoms/ExtendedLoadMore/styles.arrow.css +0 -1
  471. package/atoms/Headline/index.js +0 -379
  472. package/atoms/Headline/styles.arrow.css +0 -1
  473. package/atoms/HeroImage/index.js +0 -336
  474. package/atoms/HeroImage/styles.arrow.css +0 -1
  475. package/atoms/LoadmoreButton/index.js +0 -175
  476. package/atoms/LoadmoreButton/styles.arrow.css +0 -1
  477. package/atoms/ScrollSnap/index.js +0 -379
  478. package/atoms/ScrollSnap/styles.arrow.css +0 -1
  479. package/atoms/SectionTag/index.js +0 -140
  480. package/atoms/SectionTag/styles.arrow.css +0 -1
  481. package/atoms/Subheadline/index.js +0 -120
  482. package/atoms/Subheadline/styles.arrow.css +0 -1
  483. package/atoms/TimeStamp/index.js +0 -221
  484. package/atoms/TimeStamp/styles.arrow.css +0 -1
  485. package/molecules/KeyEvents/index.js +0 -457
  486. package/molecules/KeyEvents/styles.arrow.css +0 -1
  487. package/molecules/PageIntroductionCard/index.js +0 -248
  488. package/molecules/PageIntroductionCard/styles.arrow.css +0 -1
  489. package/molecules/SocialShareTemplate/index.js +0 -506
  490. package/molecules/SocialShareTemplate/styles.arrow.css +0 -1
  491. package/molecules/StoryCard/index.js +0 -1430
  492. package/molecules/StoryCard/styles.arrow.css +0 -1
  493. package/molecules/StoryElementCard/index.js +0 -3091
  494. package/molecules/StoryElementCard/styles.arrow.css +0 -1
  495. package/molecules/StorycardContent/index.js +0 -976
  496. package/molecules/StorycardContent/styles.arrow.css +0 -1
  497. package/rows/AlternateCollectionFilter/index.js +0 -2189
  498. package/rows/AlternateCollectionFilter/styles.arrow.css +0 -1
  499. package/rows/AsideCollection/index.js +0 -2135
  500. package/rows/AsideCollection/styles.arrow.css +0 -1
  501. package/rows/AstrologyCollection/index.js +0 -2106
  502. package/rows/AstrologyCollection/styles.arrow.css +0 -1
  503. package/rows/AuthorIntroductionCard/index.js +0 -813
  504. package/rows/AuthorIntroductionCard/styles.arrow.css +0 -1
  505. package/rows/AuthorsList/index.js +0 -996
  506. package/rows/AuthorsList/styles.arrow.css +0 -1
  507. package/rows/CollectionFilter/index.js +0 -2279
  508. package/rows/CollectionFilter/styles.arrow.css +0 -1
  509. package/rows/ElevenStories/index.js +0 -2118
  510. package/rows/ElevenStories/styles.arrow.css +0 -1
  511. package/rows/FourColFiveStories/index.js +0 -1861
  512. package/rows/FourColFiveStories/styles.arrow.css +0 -1
  513. package/rows/FourColGrid/index.js +0 -2083
  514. package/rows/FourColGrid/styles.arrow.css +0 -1
  515. package/rows/FourColPortraitStories/index.js +0 -2116
  516. package/rows/FourColPortraitStories/styles.arrow.css +0 -1
  517. package/rows/FourColSixteenStories/index.js +0 -1849
  518. package/rows/FourColSixteenStories/styles.arrow.css +0 -1
  519. package/rows/FourColTwelveStories/index.js +0 -1822
  520. package/rows/FourColTwelveStories/styles.arrow.css +0 -1
  521. package/rows/FourStorySlider/index.js +0 -2223
  522. package/rows/FourStorySlider/styles.arrow.css +0 -1
  523. package/rows/FourStorySliderPortrait/index.js +0 -2226
  524. package/rows/FourStorySliderPortrait/styles.arrow.css +0 -1
  525. package/rows/FourTabbedBigStorySlider/index.js +0 -1985
  526. package/rows/FourTabbedBigStorySlider/styles.arrow.css +0 -1
  527. package/rows/FullScreenSlider/index.js +0 -2141
  528. package/rows/FullScreenSlider/styles.arrow.css +0 -1
  529. package/rows/HalfScreenSlider/index.js +0 -1994
  530. package/rows/HalfScreenSlider/styles.arrow.css +0 -1
  531. package/rows/ListComponent/index.js +0 -1942
  532. package/rows/ListComponent/styles.arrow.css +0 -1
  533. package/rows/Listicles/index.js +0 -945
  534. package/rows/Listicles/styles.arrow.css +0 -1
  535. package/rows/MagazineEditions/index.js +0 -690
  536. package/rows/MagazineEditions/styles.arrow.css +0 -1
  537. package/rows/MagazineHeaderCard/index.js +0 -684
  538. package/rows/MagazineHeaderCard/styles.arrow.css +0 -1
  539. package/rows/MagazineWidget/index.js +0 -1994
  540. package/rows/MagazineWidget/styles.arrow.css +0 -1
  541. package/rows/OneColStoryList/index.js +0 -2169
  542. package/rows/OneColStoryList/styles.arrow.css +0 -1
  543. package/rows/OpinionCollection/index.js +0 -1545
  544. package/rows/OpinionCollection/styles.arrow.css +0 -1
  545. package/rows/SixColSixStories/index.js +0 -2014
  546. package/rows/SixColSixStories/styles.arrow.css +0 -1
  547. package/rows/StoryCollection/index.js +0 -2135
  548. package/rows/StoryCollection/styles.arrow.css +0 -1
  549. package/rows/TagIntroductionCard/index.js +0 -103
  550. package/rows/TagIntroductionCard/styles.arrow.css +0 -1
  551. package/rows/ThreeColFlexStories/index.js +0 -2074
  552. package/rows/ThreeColFlexStories/styles.arrow.css +0 -1
  553. package/rows/ThreeColFourteenStories/index.js +0 -1770
  554. package/rows/ThreeColFourteenStories/styles.arrow.css +0 -1
  555. package/rows/ThreeColGrid/index.js +0 -2104
  556. package/rows/ThreeColGrid/styles.arrow.css +0 -1
  557. package/rows/ThreeColSevenStory/index.js +0 -1982
  558. package/rows/ThreeColSevenStory/styles.arrow.css +0 -1
  559. package/rows/ThreeColSixStories/index.js +0 -1965
  560. package/rows/ThreeColSixStories/styles.arrow.css +0 -1
  561. package/rows/ThreeColTwelveStories/index.js +0 -1854
  562. package/rows/ThreeColTwelveStories/styles.arrow.css +0 -1
  563. package/rows/TwoColFourStories/index.js +0 -1943
  564. package/rows/TwoColFourStories/styles.arrow.css +0 -1
  565. package/rows/TwoColFourStoryHighlight/index.js +0 -1930
  566. package/rows/TwoColFourStoryHighlight/styles.arrow.css +0 -1
  567. package/rows/TwoColSevenStories/index.js +0 -1970
  568. package/rows/TwoColSevenStories/styles.arrow.css +0 -1
  569. package/rows/TwoColSixStories/index.js +0 -1963
  570. package/rows/TwoColSixStories/styles.arrow.css +0 -1
  571. package/rows/TwoColTenStoriesSidebar/index.js +0 -2029
  572. package/rows/TwoColTenStoriesSidebar/styles.arrow.css +0 -1
  573. package/rows/TwoColThreeStories/index.js +0 -1916
  574. package/rows/TwoColThreeStories/styles.arrow.css +0 -1
  575. package/story-elements/AlsoRead/index.js +0 -320
  576. package/story-elements/AlsoRead/styles.arrow.css +0 -1
  577. package/story-elements/Attachment/index.js +0 -167
  578. package/story-elements/Attachment/styles.arrow.css +0 -1
  579. package/story-elements/BigFact/index.js +0 -137
  580. package/story-elements/BigFact/styles.arrow.css +0 -1
  581. package/story-elements/BlockQuote/index.js +0 -304
  582. package/story-elements/BlockQuote/styles.arrow.css +0 -1
  583. package/story-elements/Blurb/index.js +0 -189
  584. package/story-elements/Blurb/styles.arrow.css +0 -1
  585. package/story-elements/Image/index.js +0 -529
  586. package/story-elements/Image/styles.arrow.css +0 -1
  587. package/story-elements/ImageGallery/index.js +0 -462
  588. package/story-elements/ImageGallery/styles.arrow.css +0 -1
  589. package/story-elements/ImageSlideshow/index.js +0 -773
  590. package/story-elements/ImageSlideshow/styles.arrow.css +0 -1
  591. package/story-elements/QuestionAnswer/index.js +0 -267
  592. package/story-elements/QuestionAnswer/styles.arrow.css +0 -1
  593. package/story-elements/Quote/index.js +0 -166
  594. package/story-elements/Quote/styles.arrow.css +0 -1
  595. package/story-elements/Reference/index.js +0 -160
  596. package/story-elements/Reference/styles.arrow.css +0 -1
  597. package/story-elements/StoryElement/index.js +0 -75
  598. package/story-elements/Summary/index.js +0 -190
  599. package/story-elements/Summary/styles.arrow.css +0 -1
  600. package/story-elements/Text/index.js +0 -165
  601. package/story-elements/Text/styles.arrow.css +0 -1
  602. package/story-elements/Video/index.js +0 -81
  603. package/story-elements/Video/styles.arrow.css +0 -1
  604. package/story-templates/ListicleStoryTemplate/index.js +0 -5586
  605. package/story-templates/ListicleStoryTemplate/styles.arrow.css +0 -1
  606. package/story-templates/LiveBlogStoryTemplate/index.js +0 -5762
  607. package/story-templates/LiveBlogStoryTemplate/styles.arrow.css +0 -1
  608. package/story-templates/PhotoStoryTemplate/index.js +0 -5564
  609. package/story-templates/PhotoStoryTemplate/styles.arrow.css +0 -1
  610. package/story-templates/TextStoryTemplate/index.js +0 -5637
  611. package/story-templates/TextStoryTemplate/styles.arrow.css +0 -1
  612. package/story-templates/VideoStoryTemplate/index.js +0 -5496
  613. package/story-templates/VideoStoryTemplate/styles.arrow.css +0 -1
@@ -1,3091 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _extends = require('@babel/runtime/helpers/extends');
6
- var _getClassName = require('babel-plugin-react-css-modules/dist/browser/getClassName');
7
- var React = require('react');
8
- var lodash = require('lodash');
9
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
10
- var PropTypes = require('prop-types');
11
- require('@babel/runtime/helpers/asyncToGenerator');
12
- var _typeof = require('@babel/runtime/helpers/typeof');
13
- require('@babel/runtime/regenerator');
14
- require('react-timeago');
15
- require('date-fns-tz');
16
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
17
- var components = require('@quintype/components');
18
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
19
- var reactRedux = require('react-redux');
20
-
21
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
-
23
- function _interopNamespace(e) {
24
- if (e && e.__esModule) return e;
25
- var n = Object.create(null);
26
- if (e) {
27
- Object.keys(e).forEach(function (k) {
28
- if (k !== 'default') {
29
- var d = Object.getOwnPropertyDescriptor(e, k);
30
- Object.defineProperty(n, k, d.get ? d : {
31
- enumerable: true,
32
- get: function () { return e[k]; }
33
- });
34
- }
35
- });
36
- }
37
- n["default"] = e;
38
- return Object.freeze(n);
39
- }
40
-
41
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
42
- var _getClassName__default = /*#__PURE__*/_interopDefaultLegacy(_getClassName);
43
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
44
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
45
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
46
- var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
47
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
48
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
49
-
50
- var _excluded$e = ["element", "render"];
51
- var withElementWrapper = function withElementWrapper(StoryElement) {
52
- return function (props) {
53
- var element = props.element,
54
- render = props.render,
55
- restProps = _objectWithoutProperties__default["default"](props, _excluded$e);
56
-
57
- if (!element) return null;
58
- if (render && typeof render === "function") return render(props);
59
- return /*#__PURE__*/React__default["default"].createElement(StoryElement, _extends__default["default"]({}, restProps, {
60
- element: element
61
- }));
62
- };
63
- };
64
- withElementWrapper.propTypes = {
65
- StoryElement: PropTypes__default["default"].element
66
- };
67
-
68
- var hexToRGB = function hexToRGB(hex) {
69
- var r = parseInt(hex.slice(1, 3), 16);
70
- var g = parseInt(hex.slice(3, 5), 16);
71
- var b = parseInt(hex.slice(5, 7), 16);
72
- return {
73
- r: r,
74
- g: g,
75
- b: b
76
- };
77
- };
78
- var getLuminanceOfColor = function getLuminanceOfColor(hex) {
79
- var _hexToRGB = hexToRGB(hex),
80
- r = _hexToRGB.r,
81
- g = _hexToRGB.g,
82
- b = _hexToRGB.b;
83
-
84
- return r * 0.299 + g * 0.587 + b * 0.114;
85
- };
86
- var rgbToHex = function rgbToHex() {
87
- var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "rgba(255, 255, 255, 0)";
88
- var rgba = color.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);
89
- return rgba && rgba.length === 4 ? "#" + ("0" + parseInt(rgba[1], 10).toString(16)).slice(-2) + ("0" + parseInt(rgba[2], 10).toString(16)).slice(-2) + ("0" + parseInt(rgba[3], 10).toString(16)).slice(-2) : color;
90
- };
91
- var clientWidths = {
92
- mobile: 767,
93
- tablet: 1024
94
- };
95
- var clientWidth = function clientWidth(device) {
96
- var foundDeviceWidth = lodash.get(clientWidths, device);
97
-
98
- if (foundDeviceWidth) {
99
- return lodash.get(global, "document.documentElement.clientWidth") <= foundDeviceWidth;
100
- }
101
-
102
- return false;
103
- };
104
- var getTextColor = function getTextColor() {
105
- var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "rgb(255,255,255)";
106
- var isRegexCheck = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(theme);
107
- var getHexValue = !isRegexCheck ? rgbToHex(theme) : theme;
108
- var textColor = getLuminanceOfColor(getHexValue) < 155 ? "light" : "dark";
109
- return textColor;
110
- };
111
-
112
- var updateContentLinks = function updateContentLinks(content) {
113
- var updatedContent = content;
114
- var anchorTagsList = content.match(/(<a).*?(>)/g);
115
- anchorTagsList && anchorTagsList.forEach(function (anchorTag) {
116
- var isTargetPresent = /target=/g.test(anchorTag);
117
-
118
- if (!isTargetPresent) {
119
- updatedContent = updatedContent.replace(anchorTag, "<a aria-label='content' target='_blank'".concat(anchorTag.substring(2)));
120
- }
121
- });
122
- return updatedContent;
123
- };
124
- var isEmpty = function isEmpty(value) {
125
- return value == null || // From standard.js: Always use === - but value == null is allowed to check null || undefined
126
- _typeof__default["default"](value) === "object" && Object.entries(value).length === 0 && value.constructor === Object || typeof value === "string" && value.trim().length === 0;
127
- };
128
- var shapeConfig = PropTypes__default["default"].shape({
129
- "sketches-host": PropTypes__default["default"].string,
130
- "cdn-name": PropTypes__default["default"].string,
131
- "cdn-image": PropTypes__default["default"].string
132
- });
133
- var shapeStory = PropTypes__default["default"].shape({
134
- headline: PropTypes__default["default"].string,
135
- "last-published-at": PropTypes__default["default"].number,
136
- subheadline: PropTypes__default["default"].string
137
- });
138
- var facebookMobileVideoResizeFix = function facebookMobileVideoResizeFix() {
139
- if (typeof window !== "undefined" && window.matchMedia && window.matchMedia("(max-width: 767px)").matches) {
140
- var applyFixAfterTime = 3000;
141
- var aspectRatioAdjustmentFactor = 0.7;
142
- setTimeout(function () {
143
- document.querySelectorAll(".story-element-jsembed.story-element-jsembed-facebook-post span").forEach(function (element) {
144
- if (!element.classList.contains("fixed-mobile-fb-video")) {
145
- element.style.height = "".concat(Math.ceil(element.offsetHeight * aspectRatioAdjustmentFactor), "px");
146
- element.classList.add("fixed-mobile-fb-video");
147
- }
148
- });
149
- }, applyFixAfterTime);
150
- }
151
- };
152
-
153
- var StateContext = /*#__PURE__*/React.createContext(); // eslint-disable-next-line react/display-name
154
- var useStateValue = function useStateValue() {
155
- return React.useContext(StateContext);
156
- };
157
-
158
- var _excluded$d = ["element", "opts", "css", "story", "config"];
159
- var _styleModuleImportMap$g = {
160
- "./text.m.css": {
161
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
162
- "mobile": "768px",
163
- "promotionalMessage": "text-m_promotionalMessage__CUsPM",
164
- "textElement": "text-m_textElement__e3QEt",
165
- "dark": "text-m_dark__1TC18",
166
- "light": "text-m_light__2cRe8"
167
- }
168
- };
169
-
170
- var TextBase = function TextBase(_ref) {
171
- var _ref$element = _ref.element,
172
- element = _ref$element === void 0 ? {} : _ref$element,
173
- _ref$opts = _ref.opts,
174
- opts = _ref$opts === void 0 ? {} : _ref$opts,
175
- _ref$css = _ref.css,
176
- css = _ref$css === void 0 ? {} : _ref$css;
177
- _ref.story;
178
- _ref.config;
179
- var restProps = _objectWithoutProperties__default["default"](_ref, _excluded$d);
180
-
181
- var content = element.text;
182
- if (!content) return null;
183
- var configData = useStateValue() || {};
184
- var textInvertColor = getTextColor(configData.theme);
185
- var textColor = css.textColor;
186
- var _opts$isExternalLink = opts.isExternalLink,
187
- isExternalLink = _opts$isExternalLink === void 0 ? true : _opts$isExternalLink;
188
- var text = isExternalLink && updateContentLinks(content) || content;
189
- var isPromotionalMessage = lodash.get(element, ["metadata", "promotional-message"], false);
190
- var updatedStyle = isPromotionalMessage ? "promotionalMessage" : "textElement";
191
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
192
- style: !isPromotionalMessage ? {
193
- color: textColor
194
- } : {},
195
- "data-test-id": isPromotionalMessage ? "promotional-message" : "text",
196
- dangerouslySetInnerHTML: {
197
- __html: text
198
- },
199
- id: "text-element"
200
- }, restProps, {
201
- className: "arrow-component arr--text-element " + _getClassName__default["default"]("".concat(updatedStyle, " ").concat(textInvertColor), _styleModuleImportMap$g) + (" " + (restProps ? restProps.className || "" : ""))
202
- }));
203
- };
204
-
205
- TextBase.propTypes = {
206
- element: PropTypes__default["default"].shape({
207
- text: PropTypes__default["default"].string
208
- }),
209
- opts: PropTypes__default["default"].shape({
210
- isExternalLink: PropTypes__default["default"].bool
211
- }),
212
- css: PropTypes__default["default"].shape({
213
- hyperlinkColor: PropTypes__default["default"].string,
214
- textColor: PropTypes__default["default"].string
215
- }),
216
- story: shapeStory,
217
- config: shapeConfig
218
- };
219
- var Text = withElementWrapper(TextBase);
220
-
221
- var _excluded$c = ["element", "template", "opts", "css", "story", "config", "render"];
222
- var _styleModuleImportMap$f = {
223
- "./blurb.m.css": {
224
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
225
- "mobile": "768px",
226
- "blurb": "blurb-m_blurb__3pXi5",
227
- "blurb-default": "blurb-m_blurb-default__JR86y",
228
- "blurb-withBorder": "blurb-m_blurb-withBorder__SjW--",
229
- "dark": "blurb-m_dark__1eErz",
230
- "light": "blurb-m_light__OBWiH"
231
- }
232
- };
233
-
234
- var BlurbBase = function BlurbBase(_ref) {
235
- var element = _ref.element,
236
- _ref$template = _ref.template,
237
- template = _ref$template === void 0 ? "" : _ref$template,
238
- _ref$opts = _ref.opts,
239
- opts = _ref$opts === void 0 ? {} : _ref$opts,
240
- _ref$css = _ref.css,
241
- css = _ref$css === void 0 ? {} : _ref$css;
242
- _ref.story;
243
- _ref.config;
244
- _ref.render;
245
- var restProps = _objectWithoutProperties__default["default"](_ref, _excluded$c);
246
-
247
- var content = element.text;
248
- var borderColor = css.borderColor;
249
- var initBorderDirection = template === "withBorder" ? {
250
- border: "solid 2px ".concat(borderColor)
251
- } : {
252
- borderLeft: "solid 2px ".concat(borderColor)
253
- };
254
-
255
- var _useState = React.useState(initBorderDirection),
256
- _useState2 = _slicedToArray__default["default"](_useState, 2),
257
- borderDirection = _useState2[0],
258
- setBorderDirection = _useState2[1];
259
-
260
- if (!content) return null;
261
- React.useEffect(function () {
262
- var htmlElement = document.getElementsByTagName("HTML");
263
-
264
- if (htmlElement && htmlElement.length) {
265
- if (htmlElement[0].dir.toLowerCase() === "rtl" && template !== "withBorder") {
266
- setBorderDirection({
267
- borderRight: "solid 2px ".concat(borderColor)
268
- });
269
- }
270
- }
271
- }, []);
272
- var _opts$isExternalLink = opts.isExternalLink,
273
- isExternalLink = _opts$isExternalLink === void 0 ? true : _opts$isExternalLink;
274
- var text = isExternalLink && updateContentLinks(content) || content;
275
- var templateStyle = template ? "blurb-".concat(template) : "blurb";
276
- var configData = useStateValue() || {};
277
- var textInvertColor = getTextColor(configData.theme);
278
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
279
- "data-test-id": "blurb",
280
- style: borderColor && borderDirection,
281
- dangerouslySetInnerHTML: {
282
- __html: text
283
- }
284
- }, restProps, {
285
- className: "arrow-component arr-custom-style arr--blurb-element " + _getClassName__default["default"]("".concat(templateStyle, " ").concat(textInvertColor), _styleModuleImportMap$f) + (" " + (restProps ? restProps.className || "" : ""))
286
- }));
287
- };
288
-
289
- BlurbBase.propTypes = {
290
- element: PropTypes__default["default"].shape({
291
- text: PropTypes__default["default"].string
292
- }),
293
-
294
- /** templates can be either default or withBorder */
295
- template: PropTypes__default["default"].string,
296
- opts: PropTypes__default["default"].shape({
297
- isExternalLink: PropTypes__default["default"].bool
298
- }),
299
- story: shapeStory,
300
- config: shapeConfig,
301
- render: PropTypes__default["default"].func,
302
- css: PropTypes__default["default"].object
303
- };
304
- var Blurb = withElementWrapper(BlurbBase);
305
-
306
- var _excluded$b = ["element", "template", "opts", "css", "story", "config", "render"];
307
- var _styleModuleImportMap$e = {
308
- "./summary.m.css": {
309
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
310
- "mobile": "768px",
311
- "headline": "summary-m_headline__30sie",
312
- "summary": "summary-m_summary__3-CnO",
313
- "content": "summary-m_content__37n8C",
314
- "summary-header": "summary-m_summary-header__UKVHi",
315
- "summary-border": "summary-m_summary-border__M9hrr",
316
- "dark": "summary-m_dark__1ZuzR",
317
- "light": "summary-m_light__2SYiC",
318
- "heading-wrapper": "summary-m_heading-wrapper__23S51",
319
- "content-border": "summary-m_content-border__3ilmJ"
320
- }
321
- };
322
-
323
- var SummaryBase = function SummaryBase(_ref) {
324
- var element = _ref.element,
325
- _ref$template = _ref.template,
326
- template = _ref$template === void 0 ? "" : _ref$template,
327
- _ref$opts = _ref.opts,
328
- opts = _ref$opts === void 0 ? {} : _ref$opts,
329
- _ref$css = _ref.css,
330
- css = _ref$css === void 0 ? {} : _ref$css;
331
- _ref.story;
332
- _ref.config;
333
- _ref.render;
334
- var restProps = _objectWithoutProperties__default["default"](_ref, _excluded$b);
335
-
336
- var configData = useStateValue() || {};
337
- var textInvertColor = getTextColor(configData.theme);
338
- var content = element.text;
339
- if (!content) return null;
340
- var headerBgColor = css.headerBgColor;
341
- var _opts$isExternalLink = opts.isExternalLink,
342
- isExternalLink = _opts$isExternalLink === void 0 ? true : _opts$isExternalLink,
343
- _opts$headline = opts.headline,
344
- headline = _opts$headline === void 0 ? "Summary" : _opts$headline,
345
- _opts$hideHeadline = opts.hideHeadline,
346
- hideHeadline = _opts$hideHeadline === void 0 ? false : _opts$hideHeadline;
347
- var text = isExternalLink && updateContentLinks(content) || content;
348
- var supportedTemplates = ["header", "border"];
349
- var templateStyle = supportedTemplates.includes(template) ? "summary-".concat(template) : "summary";
350
- var contentBorder = hideHeadline ? "content-border" : "";
351
- var renderTemplate = template === "header" || template === "border";
352
- var updateHeaderColor = renderTemplate ? "".concat(headerBgColor) : "";
353
- var textColor = renderTemplate ? getTextColor(headerBgColor) : "";
354
- var updateContentColor = template === "header" ? "" : textInvertColor;
355
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
356
- "data-test-id": "summary"
357
- }, restProps, {
358
- className: "arrow-component arr--summary-element arr-custom-style " + _getClassName__default["default"](templateStyle, _styleModuleImportMap$e) + (" " + (restProps ? restProps.className || "" : ""))
359
- }), !hideHeadline && /*#__PURE__*/React__default["default"].createElement("div", {
360
- "data-test-id": "summary-headline",
361
- className: _getClassName__default["default"]("heading-wrapper ".concat(textInvertColor), _styleModuleImportMap$e)
362
- }, /*#__PURE__*/React__default["default"].createElement("div", {
363
- style: {
364
- backgroundColor: updateHeaderColor
365
- },
366
- className: _getClassName__default["default"]("headline ".concat(textColor, " ").concat(textInvertColor), _styleModuleImportMap$e)
367
- }, headline)), /*#__PURE__*/React__default["default"].createElement("div", {
368
- dangerouslySetInnerHTML: {
369
- __html: text
370
- },
371
- className: _getClassName__default["default"]("content ".concat(contentBorder, " ").concat(updateContentColor, " ").concat(textInvertColor), _styleModuleImportMap$e)
372
- }));
373
- };
374
-
375
- SummaryBase.propTypes = {
376
- element: PropTypes__default["default"].shape({
377
- text: PropTypes__default["default"].string
378
- }),
379
- template: PropTypes__default["default"].string,
380
- opts: PropTypes__default["default"].shape({
381
- isExternalLink: PropTypes__default["default"].bool,
382
- headline: PropTypes__default["default"].string,
383
- hideHeadline: PropTypes__default["default"].bool
384
- }),
385
- story: shapeStory,
386
- config: shapeConfig,
387
- render: PropTypes__default["default"].func,
388
- css: PropTypes__default["default"].shape({
389
- headerBgColor: PropTypes__default["default"].string
390
- })
391
- };
392
- var Summary = withElementWrapper(SummaryBase);
393
-
394
- var CurveIcon = function CurveIcon(_ref) {
395
- var width = _ref.width,
396
- height = _ref.height,
397
- color = _ref.color,
398
- opacity = _ref.opacity;
399
- var lightColor = color === "light" && "#ffffff";
400
- var darkColor = color === "dark" && "#0d0d0d";
401
- return /*#__PURE__*/React__default["default"].createElement("div", {
402
- className: "icon-m_curve-wrapper__3-sLV",
403
- style: {
404
- fill: "".concat(lightColor || darkColor || color)
405
- }
406
- }, /*#__PURE__*/React__default["default"].createElement("svg", {
407
- xmlns: "http://www.w3.org/2000/svg",
408
- width: width,
409
- height: height,
410
- viewBox: "0 0 64 64"
411
- }, /*#__PURE__*/React__default["default"].createElement("path", {
412
- fill: "inherit",
413
- opacity: opacity,
414
- d: "M61 44.702c0 3.465-1.13 6.214-3.39 8.248-2.261 2.033-5.125 3.05-8.59 3.05-4.07 0-7.423-1.356-10.06-4.067-2.638-2.712-3.956-6.704-3.956-11.976 0-4.971.716-9.227 2.147-12.767 1.432-3.54 3.165-6.553 5.2-9.039 2.034-2.485 4.144-4.481 6.33-5.988 2.184-1.506 4.106-2.56 5.763-3.163l5.652 7.909c-3.316 1.657-5.99 3.879-8.025 6.666-2.035 2.786-3.052 6.289-3.052 10.507.603-.15 1.432-.226 2.487-.226 3.014 0 5.35 1.054 7.007 3.163C60.171 39.13 61 41.69 61 44.702zm-33.004 0c0 3.465-1.13 6.214-3.39 8.248-2.261 2.033-5.125 3.05-8.59 3.05-4.07 0-7.423-1.356-10.06-4.067C3.319 49.22 2 45.229 2 39.957c0-4.971.716-9.227 2.148-12.767 1.431-3.54 3.164-6.553 5.199-9.039 2.034-2.485 4.144-4.481 6.33-5.988C17.86 10.657 19.782 9.603 21.44 9l5.651 7.909c-3.316 1.657-5.99 3.879-8.025 6.666-2.034 2.786-3.052 6.289-3.052 10.507.603-.15 1.432-.226 2.487-.226 3.014 0 5.35 1.054 7.008 3.163 1.657 2.11 2.486 4.67 2.486 7.683z"
415
- })));
416
- };
417
- CurveIcon.propTypes = {
418
- width: PropTypes__default["default"].string,
419
- height: PropTypes__default["default"].string,
420
- color: PropTypes__default["default"].string,
421
- opacity: PropTypes__default["default"].string
422
- };
423
-
424
- var EdgeIcon = function EdgeIcon(_ref) {
425
- var width = _ref.width,
426
- height = _ref.height,
427
- color = _ref.color,
428
- opacity = _ref.opacity;
429
- var lightColor = color === "light" && "#ffffff";
430
- var darkColor = color === "dark" && "#0d0d0d";
431
- return /*#__PURE__*/React__default["default"].createElement("div", {
432
- className: "icon-m_edge-wrapper__xUOdp",
433
- style: {
434
- fill: "".concat(lightColor || darkColor || color)
435
- }
436
- }, /*#__PURE__*/React__default["default"].createElement("svg", {
437
- xmlns: "http://www.w3.org/2000/svg",
438
- width: width,
439
- height: height,
440
- viewBox: "0 0 64 64"
441
- }, /*#__PURE__*/React__default["default"].createElement("path", {
442
- fill: "inherit",
443
- opacity: opacity,
444
- d: "M16.858 29.836v4.727H28V60H4V29.836c0-9.6 2.606-16.727 7.746-21.187C15.3 5.564 19.8 4 25.122 4v13.627c-2.888 0-8.264 0-8.264 12.209zm40.264-12.21V4c-5.32 0-9.82 1.564-13.376 4.65C38.606 13.108 36 20.236 36 29.835V60h24V34.563H48.857v-4.727c0-12.21 5.377-12.21 8.265-12.21z"
445
- })));
446
- };
447
- EdgeIcon.propTypes = {
448
- width: PropTypes__default["default"].string,
449
- height: PropTypes__default["default"].string,
450
- color: PropTypes__default["default"].string,
451
- opacity: PropTypes__default["default"].string
452
- };
453
-
454
- var _excluded$a = ["element", "template", "css", "story", "config", "render"];
455
- var _styleModuleImportMap$d = {
456
- "./block-quote.m.css": {
457
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
458
- "mobile": "768px",
459
- "blockquote-withBackground": "block-quote-m_blockquote-withBackground__1yW-u",
460
- "icon": "block-quote-m_icon__m-EIZ",
461
- "icon-border": "block-quote-m_icon-border__2xQQY",
462
- "blockquote": "block-quote-m_blockquote__HPVh0",
463
- "blockquote-default": "block-quote-m_blockquote-default__fZ8a1",
464
- "blockquote-withBorder": "block-quote-m_blockquote-withBorder__1GVQL",
465
- "border": "block-quote-m_border__1ZTPR",
466
- "content": "block-quote-m_content__xpMqX",
467
- "wrapper": "block-quote-m_wrapper__2KEhw",
468
- "attribution": "block-quote-m_attribution__2m4s2",
469
- "quote-wrapper": "block-quote-m_quote-wrapper__83bEy",
470
- "dark": "block-quote-m_dark__HaZuG",
471
- "light": "block-quote-m_light__1QrNc"
472
- }
473
- };
474
-
475
- var SelectionOfIcon = function SelectionOfIcon(iconType, template, blockQuoteColor, quoteColor) {
476
- var isMobile = clientWidth("mobile");
477
- var dimension = isMobile ? "48px" : "64px";
478
-
479
- if (template === "withBackground") {
480
- if (iconType === "edgeIcon") {
481
- return /*#__PURE__*/React__default["default"].createElement(EdgeIcon, {
482
- width: dimension,
483
- height: dimension,
484
- color: quoteColor,
485
- opacity: ".4"
486
- });
487
- }
488
-
489
- return /*#__PURE__*/React__default["default"].createElement(CurveIcon, {
490
- width: dimension,
491
- height: dimension,
492
- color: quoteColor,
493
- opacity: ".4"
494
- });
495
- }
496
-
497
- if (template !== "withBackground") {
498
- if (iconType === "edgeIcon") {
499
- return /*#__PURE__*/React__default["default"].createElement(EdgeIcon, {
500
- width: dimension,
501
- height: dimension,
502
- color: blockQuoteColor
503
- });
504
- }
505
-
506
- return /*#__PURE__*/React__default["default"].createElement(CurveIcon, {
507
- width: dimension,
508
- height: dimension,
509
- color: blockQuoteColor
510
- });
511
- }
512
- };
513
-
514
- var BlockQuoteBase = function BlockQuoteBase(_ref) {
515
- var element = _ref.element,
516
- template = _ref.template,
517
- _ref$css = _ref.css,
518
- css = _ref$css === void 0 ? {} : _ref$css;
519
- _ref.story;
520
- _ref.config;
521
- _ref.render;
522
- var restProps = _objectWithoutProperties__default["default"](_ref, _excluded$a);
523
-
524
- var _get = lodash.get(element, ["metadata"]),
525
- content = _get.content,
526
- attribution = _get.attribution;
527
-
528
- if (!content) return null;
529
- var blockQuoteColor = css.blockQuoteColor,
530
- backgroundShade = css.backgroundShade,
531
- iconType = css.iconType;
532
- var templateStyle = template ? "blockquote-".concat(template) : "blockquote";
533
- var isBackground = template === "withBackground";
534
- var textColor = isBackground ? getTextColor(backgroundShade) : "";
535
- var theme = isBackground && backgroundShade ? {
536
- backgroundColor: backgroundShade
537
- } : {};
538
- var configData = useStateValue() || {};
539
- var textInvertColor = getTextColor(isBackground ? theme.backgroundColor : configData.theme);
540
-
541
- var updateStructure = function updateStructure() {
542
- return template === "withBorder" ? /*#__PURE__*/React__default["default"].createElement("div", {
543
- className: "block-quote-m_icon-border__2xQQY"
544
- }, /*#__PURE__*/React__default["default"].createElement("div", {
545
- className: "block-quote-m_icon__m-EIZ"
546
- }, SelectionOfIcon(iconType, template, blockQuoteColor, textColor)), /*#__PURE__*/React__default["default"].createElement("div", {
547
- className: "block-quote-m_border__1ZTPR",
548
- style: blockQuoteColor && {
549
- backgroundColor: blockQuoteColor
550
- }
551
- })) : /*#__PURE__*/React__default["default"].createElement("div", {
552
- className: "block-quote-m_icon__m-EIZ"
553
- }, SelectionOfIcon(iconType, template, blockQuoteColor, textColor));
554
- };
555
-
556
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
557
- "data-test-id": "blockquote",
558
- style: theme
559
- }, restProps, {
560
- className: "arrow-component arr--block-quote " + _getClassName__default["default"]("".concat(templateStyle, " ").concat(textColor), _styleModuleImportMap$d) + (" " + (restProps ? restProps.className || "" : ""))
561
- }), /*#__PURE__*/React__default["default"].createElement("div", {
562
- className: "block-quote-m_quote-wrapper__83bEy"
563
- }, updateStructure(), /*#__PURE__*/React__default["default"].createElement("div", {
564
- className: "block-quote-m_wrapper__2KEhw",
565
- style: blockQuoteColor && {
566
- borderColor: blockQuoteColor
567
- }
568
- }, /*#__PURE__*/React__default["default"].createElement("div", {
569
- dangerouslySetInnerHTML: {
570
- __html: content
571
- },
572
- className: _getClassName__default["default"]("content ".concat(textInvertColor), _styleModuleImportMap$d)
573
- }), /*#__PURE__*/React__default["default"].createElement("div", {
574
- dangerouslySetInnerHTML: {
575
- __html: attribution
576
- },
577
- className: _getClassName__default["default"]("attribution ".concat(textInvertColor), _styleModuleImportMap$d)
578
- }))));
579
- };
580
- BlockQuoteBase.propTypes = {
581
- element: PropTypes__default["default"].shape({
582
- metadata: PropTypes__default["default"].shape({
583
- content: PropTypes__default["default"].string,
584
- attribution: PropTypes__default["default"].string
585
- })
586
- }),
587
- template: PropTypes__default["default"].string,
588
- story: shapeStory,
589
- config: shapeConfig,
590
- render: PropTypes__default["default"].func,
591
- css: PropTypes__default["default"].object
592
- };
593
- var BlockQuote = withElementWrapper(BlockQuoteBase);
594
-
595
- var _excluded$9 = ["element", "story", "config"];
596
- var _styleModuleImportMap$c = {
597
- "./big-fact.m.css": {
598
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
599
- "mobile": "768px",
600
- "bigfact-element": "big-fact-m_bigfact-element__3uAwv",
601
- "light": "big-fact-m_light__ha49M",
602
- "content": "big-fact-m_content__1u2Ul",
603
- "attribution": "big-fact-m_attribution__3XK_P",
604
- "dark": "big-fact-m_dark__7a_KC"
605
- }
606
- };
607
-
608
- var BigFactBase = function BigFactBase(_ref) {
609
- var element = _ref.element;
610
- _ref.story;
611
- _ref.config;
612
- var restProps = _objectWithoutProperties__default["default"](_ref, _excluded$9);
613
-
614
- var configData = useStateValue() || {};
615
- var textInvertColor = getTextColor(configData.theme);
616
- var _element$metadata = element.metadata,
617
- content = _element$metadata.content,
618
- attribution = _element$metadata.attribution;
619
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
620
- "data-test-id": "bigfact"
621
- }, restProps, {
622
- className: "arrow-component arr--bigfact-element " + _getClassName__default["default"]("bigfact-element ".concat(textInvertColor), _styleModuleImportMap$c) + (" " + (restProps ? restProps.className || "" : ""))
623
- }), /*#__PURE__*/React__default["default"].createElement("div", {
624
- className: "big-fact-m_content__1u2Ul"
625
- }, content), /*#__PURE__*/React__default["default"].createElement("div", {
626
- "data-test-id": "attribution",
627
- className: _getClassName__default["default"]("attribution ".concat(textInvertColor), _styleModuleImportMap$c)
628
- }, attribution));
629
- };
630
-
631
- BigFactBase.propTypes = {
632
- element: PropTypes__default["default"].shape({
633
- metadata: PropTypes__default["default"].shape({
634
- content: PropTypes__default["default"].string,
635
- attribution: PropTypes__default["default"].string
636
- })
637
- }),
638
- story: PropTypes__default["default"].object,
639
- config: PropTypes__default["default"].object
640
- };
641
- var BigFact = withElementWrapper(BigFactBase);
642
-
643
- var ImageFallbackIcon = function ImageFallbackIcon(_ref) {
644
- var _ref$width = _ref.width,
645
- width = _ref$width === void 0 ? 40 : _ref$width,
646
- _ref$height = _ref.height,
647
- height = _ref$height === void 0 ? 30 : _ref$height,
648
- _ref$iconColor = _ref.iconColor,
649
- iconColor = _ref$iconColor === void 0 ? "#99B0CB" : _ref$iconColor;
650
- return /*#__PURE__*/React__default["default"].createElement("svg", {
651
- width: width,
652
- height: height,
653
- viewBox: "0 0 102 76",
654
- version: "1.1"
655
- }, /*#__PURE__*/React__default["default"].createElement("g", {
656
- id: "demo-home-copy",
657
- stroke: "none",
658
- strokeWidth: "1",
659
- fill: "none",
660
- fillRule: "evenodd",
661
- transform: "translate(-377.000000, -314.000000)"
662
- }, /*#__PURE__*/React__default["default"].createElement("g", {
663
- id: "Group-13",
664
- transform: "translate(377.000000, 314.000000)"
665
- }, /*#__PURE__*/React__default["default"].createElement("path", {
666
- d: "M43.2,49.7 L62.2,19.2 L87.2,59.4 L17,59.4 L32.8,39.4 L43.2,49.7 Z M29.9,28.6 C25.8683213,28.6 22.6,25.3316787 22.6,21.3 C22.6,17.2683213 25.8683213,14 29.9,14 C33.9316787,14 37.2,17.2683213 37.2,21.3 C37.2,25.3316787 33.9316787,28.6 29.9,28.6 Z",
667
- id: "Combined-Shape",
668
- fill: iconColor,
669
- fillRule: "nonzero"
670
- }), /*#__PURE__*/React__default["default"].createElement("rect", {
671
- id: "Rectangle-19",
672
- stroke: iconColor,
673
- strokeWidth: "3",
674
- x: "1.5",
675
- y: "1.5",
676
- width: "99",
677
- height: "73",
678
- rx: "3"
679
- }))));
680
- };
681
- ImageFallbackIcon.propTypes = {
682
- width: PropTypes__default["default"].object,
683
- height: PropTypes__default["default"].object,
684
- iconColor: PropTypes__default["default"].object
685
- };
686
-
687
- var imageFallback = function imageFallback() {
688
- return /*#__PURE__*/React__default["default"].createElement("div", {
689
- className: "arr--fallback-image fallback-m_image__1GYCJ fallback-m_image-position__3KddP"
690
- }, /*#__PURE__*/React__default["default"].createElement("figure", {
691
- className: "arr--fallback-svg fallback-m_fallback-svg__tK9fL"
692
- }, /*#__PURE__*/React__default["default"].createElement(ImageFallbackIcon, null)));
693
- };
694
-
695
- var FallbackImage = function FallbackImage(_ref) {
696
- var slug = _ref.slug;
697
-
698
- if (slug) {
699
- return /*#__PURE__*/React__default["default"].createElement(components.Link, {
700
- href: slug,
701
- "aria-label": "image-fallback"
702
- }, imageFallback());
703
- } else {
704
- return imageFallback();
705
- }
706
- };
707
- FallbackImage.propTypes = {
708
- slug: PropTypes__default["default"].string
709
- };
710
-
711
- var _excluded$8 = ["story", "element", "template", "opts", "css", "config", "render"];
712
- var _styleModuleImportMap$b = {
713
- "./also-read.m.css": {
714
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
715
- "mobile": "768px",
716
- "card-image": "also-read-m_card-image__3CwAv",
717
- "default-text": "also-read-m_default-text__hp2dp",
718
- "alsoread-textLeftAlign": "also-read-m_alsoread-textLeftAlign__S0Dxe",
719
- "alsoread-imageRightAlign": "also-read-m_alsoread-imageRightAlign__1bsF3",
720
- "headline": "also-read-m_headline__VzF-c",
721
- "alsoread-default": "also-read-m_alsoread-default__3cYER",
722
- "card-image-wrapper": "also-read-m_card-image-wrapper__3GFzu",
723
- "image": "also-read-m_image__2jdRP",
724
- "content-wrapper": "also-read-m_content-wrapper__26AZX",
725
- "alsoread": "also-read-m_alsoread__1crOV",
726
- "dark": "also-read-m_dark__1pUib",
727
- "light": "also-read-m_light__bTCze"
728
- }
729
- };
730
-
731
- var DisplayImage = function DisplayImage(_ref) {
732
- var story = _ref.story,
733
- linkedImage = _ref.linkedImage,
734
- template = _ref.template,
735
- isRightAlign = _ref.isRightAlign;
736
- var isLeftAlign = template === "textLeftAlign";
737
- var isMobile = clientWidth("mobile");
738
- var rightAlignAspectRatio = isRightAlign && isMobile ? [4, 3] : [16, 9];
739
- var imageAspectRatio = isLeftAlign ? [16, 9] : rightAlignAspectRatio;
740
- var alternateText = story["hero-image-caption"] || story["headline"];
741
- return /*#__PURE__*/React__default["default"].createElement("div", {
742
- className: "also-read-m_card-image-wrapper__3GFzu"
743
- }, !isEmpty(linkedImage) ? /*#__PURE__*/React__default["default"].createElement("figure", {
744
- className: "also-read-m_card-image__3CwAv"
745
- }, /*#__PURE__*/React__default["default"].createElement(components.LazyLoadImages, null, /*#__PURE__*/React__default["default"].createElement(components.ResponsiveImage, {
746
- slug: linkedImage,
747
- "aspect-ratio": imageAspectRatio,
748
- defaultWidth: 480,
749
- widths: [250, 480, 640],
750
- imgParams: {
751
- auto: ["format", "compress"]
752
- },
753
- alt: alternateText
754
- }))) : /*#__PURE__*/React__default["default"].createElement("div", {
755
- className: "arr--fallback-also-read also-read-m_image__2jdRP"
756
- }, /*#__PURE__*/React__default["default"].createElement(FallbackImage, null)));
757
- };
758
-
759
- DisplayImage.propTypes = {
760
- story: PropTypes__default["default"].shape({
761
- "hero-image-caption": PropTypes__default["default"].string,
762
- headline: PropTypes__default["default"].string
763
- }),
764
- linkedImage: PropTypes__default["default"].string,
765
- template: PropTypes__default["default"].string,
766
- isRightAlign: PropTypes__default["default"].bool
767
- };
768
-
769
- var AlsoReadBase = function AlsoReadBase(_ref2) {
770
- var _ref2$story = _ref2.story,
771
- story = _ref2$story === void 0 ? {} : _ref2$story,
772
- element = _ref2.element,
773
- _ref2$template = _ref2.template,
774
- template = _ref2$template === void 0 ? "" : _ref2$template,
775
- _ref2$opts = _ref2.opts,
776
- opts = _ref2$opts === void 0 ? {} : _ref2$opts,
777
- _ref2$css = _ref2.css,
778
- css = _ref2$css === void 0 ? {} : _ref2$css;
779
- _ref2.config;
780
- _ref2.render;
781
- var restProps = _objectWithoutProperties__default["default"](_ref2, _excluded$8);
782
-
783
- var content = element.text;
784
- if (!content) return null;
785
- var linkedStories = lodash.get(story, ["linked-stories"], {});
786
- var linkedStoryId = lodash.get(element, ["metadata", "linked-story-id"]);
787
- var linkedStorySlug = lodash.get(linkedStories, [linkedStoryId, "url"]);
788
- var linkedImage = lodash.get(linkedStories, [linkedStoryId, "hero-image-s3-key"], "");
789
- var storyUrl = linkedStorySlug && linkedStorySlug;
790
- var configData = useStateValue() || {};
791
- var textInvertColor = getTextColor(configData.theme);
792
- var _opts$title = opts.title,
793
- title = _opts$title === void 0 ? "" : _opts$title;
794
- var textColor = css.textColor;
795
- var displayTitle = title || "Also Read";
796
- var isDefault = template === "" || template === "default";
797
- var isRightAlign = template === "imageRightAlign";
798
- var templateStyle = template ? "alsoread-".concat(template) : "alsoread-default";
799
- return /*#__PURE__*/React__default["default"].createElement(components.Link, _extends__default["default"]({
800
- "data-test-id": "also-read",
801
- href: storyUrl,
802
- "aria-label": "also-read"
803
- }, restProps, {
804
- className: "arrow-component arr--also-read-element " + _getClassName__default["default"](templateStyle, _styleModuleImportMap$b) + (" " + (restProps ? restProps.className || "" : ""))
805
- }), !isDefault && /*#__PURE__*/React__default["default"].createElement("div", {
806
- className: _getClassName__default["default"]("default-text ".concat(textInvertColor), _styleModuleImportMap$b)
807
- }, displayTitle), isDefault && /*#__PURE__*/React__default["default"].createElement(DisplayImage, {
808
- story: story,
809
- linkedImage: linkedImage,
810
- template: template,
811
- isRightAlign: isRightAlign
812
- }), /*#__PURE__*/React__default["default"].createElement("div", {
813
- className: "also-read-m_content-wrapper__26AZX"
814
- }, /*#__PURE__*/React__default["default"].createElement("div", {
815
- className: "also-read-m_headline__VzF-c",
816
- style: textColor ? {
817
- color: textColor
818
- } : {
819
- color: textInvertColor
820
- },
821
- dangerouslySetInnerHTML: {
822
- __html: content
823
- }
824
- }), isRightAlign && /*#__PURE__*/React__default["default"].createElement(DisplayImage, {
825
- story: story,
826
- linkedImage: linkedImage,
827
- template: template
828
- })));
829
- };
830
-
831
- AlsoReadBase.propTypes = {
832
- /** template can be default, textLeftAlign or imageRightAlign */
833
- template: PropTypes__default["default"].string,
834
- story: PropTypes__default["default"].shape({
835
- "linked-stories": PropTypes__default["default"].object
836
- }),
837
- element: PropTypes__default["default"].shape({
838
- text: PropTypes__default["default"].string,
839
- metadata: PropTypes__default["default"].shape({
840
- linkedStoryId: PropTypes__default["default"].shape({
841
- url: PropTypes__default["default"].string,
842
- "hero-image-s3-key": PropTypes__default["default"].string
843
- })
844
- })
845
- }),
846
- opts: PropTypes__default["default"].shape({
847
- title: PropTypes__default["default"].string
848
- }),
849
- config: shapeConfig,
850
- render: PropTypes__default["default"].func,
851
- css: PropTypes__default["default"].object
852
- };
853
- var AlsoRead = withElementWrapper(AlsoReadBase);
854
-
855
- var Loading = function Loading(_ref) {
856
- _ref.width;
857
- _ref.height;
858
- _ref.iconColor;
859
- return /*#__PURE__*/React__default["default"].createElement("div", {
860
- className: "loading-m_loading-indicator__2Dlst"
861
- }, /*#__PURE__*/React__default["default"].createElement("svg", {
862
- width: "40",
863
- height: "40",
864
- xmlns: "http://www.w3.org/2000/svg",
865
- viewBox: "0 0 100 100",
866
- preserveAspectRatio: "xMidYMid"
867
- }, /*#__PURE__*/React__default["default"].createElement("circle", {
868
- cx: "84",
869
- cy: "50",
870
- r: "0",
871
- fill: "currentColor"
872
- }, /*#__PURE__*/React__default["default"].createElement("animate", {
873
- attributeName: "r",
874
- values: "10;0;0;0;0",
875
- keyTimes: "0;0.25;0.5;0.75;1",
876
- keySplines: "0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1",
877
- calcMode: "spline",
878
- dur: "2s",
879
- repeatCount: "indefinite",
880
- begin: "0s"
881
- }), /*#__PURE__*/React__default["default"].createElement("animate", {
882
- attributeName: "cx",
883
- values: "84;84;84;84;84",
884
- keyTimes: "0;0.25;0.5;0.75;1",
885
- keySplines: "0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1",
886
- calcMode: "spline",
887
- dur: "2s",
888
- repeatCount: "indefinite",
889
- begin: "0s"
890
- })), /*#__PURE__*/React__default["default"].createElement("circle", {
891
- cx: "84",
892
- cy: "50",
893
- r: ".709",
894
- fill: "currentColor"
895
- }, /*#__PURE__*/React__default["default"].createElement("animate", {
896
- attributeName: "r",
897
- values: "0;10;10;10;0",
898
- keyTimes: "0;0.25;0.5;0.75;1",
899
- keySplines: "0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1",
900
- calcMode: "spline",
901
- dur: "2s",
902
- repeatCount: "indefinite",
903
- begin: "-1s"
904
- }), /*#__PURE__*/React__default["default"].createElement("animate", {
905
- attributeName: "cx",
906
- values: "16;16;50;84;84",
907
- keyTimes: "0;0.25;0.5;0.75;1",
908
- keySplines: "0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1",
909
- calcMode: "spline",
910
- dur: "2s",
911
- repeatCount: "indefinite",
912
- begin: "-1s"
913
- })), /*#__PURE__*/React__default["default"].createElement("circle", {
914
- cx: "81.59",
915
- cy: "50",
916
- r: "10",
917
- fill: "currentColor"
918
- }, /*#__PURE__*/React__default["default"].createElement("animate", {
919
- attributeName: "r",
920
- values: "0;10;10;10;0",
921
- keyTimes: "0;0.25;0.5;0.75;1",
922
- keySplines: "0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1",
923
- calcMode: "spline",
924
- dur: "2s",
925
- repeatCount: "indefinite",
926
- begin: "-0.5s"
927
- }), /*#__PURE__*/React__default["default"].createElement("animate", {
928
- attributeName: "cx",
929
- values: "16;16;50;84;84",
930
- keyTimes: "0;0.25;0.5;0.75;1",
931
- keySplines: "0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1",
932
- calcMode: "spline",
933
- dur: "2s",
934
- repeatCount: "indefinite",
935
- begin: "-0.5s"
936
- })), /*#__PURE__*/React__default["default"].createElement("circle", {
937
- cx: "47.59",
938
- cy: "50",
939
- r: "10",
940
- fill: "currentColor"
941
- }, /*#__PURE__*/React__default["default"].createElement("animate", {
942
- attributeName: "r",
943
- values: "0;10;10;10;0",
944
- keyTimes: "0;0.25;0.5;0.75;1",
945
- keySplines: "0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1",
946
- calcMode: "spline",
947
- dur: "2s",
948
- repeatCount: "indefinite",
949
- begin: "0s"
950
- }), /*#__PURE__*/React__default["default"].createElement("animate", {
951
- attributeName: "cx",
952
- values: "16;16;50;84;84",
953
- keyTimes: "0;0.25;0.5;0.75;1",
954
- keySplines: "0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1",
955
- calcMode: "spline",
956
- dur: "2s",
957
- repeatCount: "indefinite",
958
- begin: "0s"
959
- })), /*#__PURE__*/React__default["default"].createElement("circle", {
960
- cx: "16",
961
- cy: "50",
962
- r: "9.291",
963
- fill: "currentColor"
964
- }, /*#__PURE__*/React__default["default"].createElement("animate", {
965
- attributeName: "r",
966
- values: "0;0;10;10;10",
967
- keyTimes: "0;0.25;0.5;0.75;1",
968
- keySplines: "0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1",
969
- calcMode: "spline",
970
- dur: "2s",
971
- repeatCount: "indefinite",
972
- begin: "0s"
973
- }), /*#__PURE__*/React__default["default"].createElement("animate", {
974
- attributeName: "cx",
975
- values: "16;16;16;50;84",
976
- keyTimes: "0;0.25;0.5;0.75;1",
977
- keySplines: "0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1",
978
- calcMode: "spline",
979
- dur: "2s",
980
- repeatCount: "indefinite",
981
- begin: "0s"
982
- }))));
983
- };
984
- Loading.propTypes = {
985
- width: PropTypes__default["default"].object,
986
- height: PropTypes__default["default"].object,
987
- iconColor: PropTypes__default["default"].object
988
- };
989
-
990
- var HyperLinkIcon = function HyperLinkIcon() {
991
- return /*#__PURE__*/React__default["default"].createElement("svg", {
992
- xmlns: "http://www.w3.org/2000/svg",
993
- width: "36",
994
- height: "28"
995
- }, /*#__PURE__*/React__default["default"].createElement("g", {
996
- fill: "none",
997
- fillRule: "evenodd"
998
- }, /*#__PURE__*/React__default["default"].createElement("rect", {
999
- width: "36",
1000
- height: "28",
1001
- fill: "#3D6FCF",
1002
- rx: "4"
1003
- }), /*#__PURE__*/React__default["default"].createElement("path", {
1004
- stroke: "#FFF",
1005
- strokeLinecap: "round",
1006
- strokeLinejoin: "round",
1007
- strokeWidth: "2",
1008
- d: "M22 14.667v4c0 .736-.597 1.333-1.333 1.333h-7.334A1.333 1.333 0 0112 18.667v-7.334c0-.736.597-1.333 1.333-1.333h4M20 8h4v4m-7.333 3.333L24 8"
1009
- })));
1010
- };
1011
-
1012
- var HyperLink = function HyperLink(_ref) {
1013
- var _ref$hyperLink = _ref.hyperLink,
1014
- hyperLink = _ref$hyperLink === void 0 ? "" : _ref$hyperLink;
1015
- if (!hyperLink) return null;
1016
- return /*#__PURE__*/React__default["default"].createElement(components.Link, {
1017
- href: hyperLink,
1018
- "aria-label": "hyperlink-button",
1019
- className: "arr--hyperlink-button hyperlink-m_hyperlink-button__1CqWx",
1020
- target: "_blank",
1021
- rel: "noopener noreferrer"
1022
- }, /*#__PURE__*/React__default["default"].createElement(HyperLinkIcon, null));
1023
- };
1024
- HyperLink.propTypes = {
1025
- hyperLink: PropTypes__default["default"].string
1026
- };
1027
-
1028
- 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; }
1029
-
1030
- 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__default["default"](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; }
1031
- var Lightbox = /*#__PURE__*/React.lazy(function () {
1032
- return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('react-image-lightbox')); });
1033
- });
1034
- var FullScreenImages = function FullScreenImages(_ref) {
1035
- var _ref$imageSlug = _ref.imageSlug,
1036
- imageSlug = _ref$imageSlug === void 0 ? "" : _ref$imageSlug,
1037
- template = _ref.template,
1038
- _ref$element = _ref.element,
1039
- element = _ref$element === void 0 ? {} : _ref$element,
1040
- props = _ref.props;
1041
- var cdnImage = reactRedux.useSelector(function (state) {
1042
- return lodash.get(state, ["qt", "config", "cdn-image"]);
1043
- });
1044
-
1045
- var _useState = React.useState(0),
1046
- _useState2 = _slicedToArray__default["default"](_useState, 2),
1047
- photoIndex = _useState2[0],
1048
- handleImage = _useState2[1];
1049
-
1050
- var _useState3 = React.useState(false),
1051
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
1052
- isOpen = _useState4[0],
1053
- handleOpen = _useState4[1];
1054
-
1055
- var deviceWidth = lodash.get(global, ["innerWidth"], 0);
1056
- var hyperlinks = lodash.get(element, ["story-elements"], []).map(function (image) {
1057
- return image.hyperlink;
1058
- });
1059
- var imageUrlList = [];
1060
-
1061
- if (!imageSlug) {
1062
- imageUrlList = lodash.get(element, ["story-elements"], []).map(function (image) {
1063
- return "//".concat(cdnImage, "/").concat(image["image-s3-key"], "?w=").concat(deviceWidth);
1064
- });
1065
- }
1066
-
1067
- var onClickHandler = function onClickHandler(index) {
1068
- handleOpen(true);
1069
- handleImage(index);
1070
- };
1071
-
1072
- var onClickKey = imageSlug ? "onClick" : "onClickHandler";
1073
- var imageUrlListLength = imageUrlList.length;
1074
-
1075
- var onMoveNext = function onMoveNext(imageUrlListLength) {
1076
- var next = (photoIndex + 1) % imageUrlListLength;
1077
- handleImage(next);
1078
- };
1079
-
1080
- var onMovePrev = function onMovePrev(imageUrlListLength) {
1081
- var prev = (photoIndex + imageUrlListLength - 1) % imageUrlListLength;
1082
- handleImage(prev);
1083
- };
1084
-
1085
- var onClose = function onClose() {
1086
- handleImage(0);
1087
- handleOpen(false);
1088
- };
1089
-
1090
- var getHyperLink = function getHyperLink() {
1091
- if (element.hyperlink || hyperlinks[photoIndex]) {
1092
- return /*#__PURE__*/React__default["default"].createElement(HyperLink, {
1093
- hyperLink: element.hyperlink || hyperlinks[photoIndex]
1094
- });
1095
- }
1096
-
1097
- return null;
1098
- };
1099
-
1100
- var lightboxProps = imageSlug ? {
1101
- mainSrc: "//".concat(cdnImage, "/").concat(imageSlug, "?w=").concat(deviceWidth),
1102
- toolbarButtons: [getHyperLink()]
1103
- } : {
1104
- mainSrc: imageUrlList[photoIndex],
1105
- nextSrc: imageUrlList[(photoIndex + 1) % imageUrlListLength],
1106
- prevSrc: imageUrlList[(photoIndex + imageUrlListLength - 1) % imageUrlListLength],
1107
- onMoveNextRequest: function onMoveNextRequest() {
1108
- return onMoveNext(imageUrlListLength);
1109
- },
1110
- onMovePrevRequest: function onMovePrevRequest() {
1111
- return onMovePrev(imageUrlListLength);
1112
- },
1113
- toolbarButtons: [getHyperLink()]
1114
- };
1115
-
1116
- var LoadingScreen = function LoadingScreen() {
1117
- return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(Loading, null));
1118
- };
1119
-
1120
- return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(template, _objectSpread(_defineProperty__default["default"]({}, onClickKey, onClickHandler), props)), isOpen ? /*#__PURE__*/React__default["default"].createElement(React.Suspense, {
1121
- fallback: /*#__PURE__*/React__default["default"].createElement(LoadingScreen, null)
1122
- }, /*#__PURE__*/React__default["default"].createElement(Lightbox, _extends__default["default"]({
1123
- wrapperClassName: "arr--image-lightbox",
1124
- onCloseRequest: onClose
1125
- }, lightboxProps))) : null);
1126
- };
1127
- FullScreenImages.propTypes = {
1128
- imageSlug: PropTypes__default["default"].string,
1129
- template: PropTypes__default["default"].func,
1130
- element: PropTypes__default["default"].shape({
1131
- "story-elements": PropTypes__default["default"].array
1132
- }),
1133
- props: PropTypes__default["default"].object
1134
- };
1135
-
1136
- var _styleModuleImportMap$a = {
1137
- "./caption-attribution.m.css": {
1138
- "viewports": "\"../../../../assets/stylesheets/viewports.m.css\"",
1139
- "mobile": "768px",
1140
- "caption": "caption-attribution-m_caption__BM5NN",
1141
- "wrapper": "caption-attribution-m_wrapper__oHBX7",
1142
- "dark": "caption-attribution-m_dark__uER8u",
1143
- "attribution": "caption-attribution-m_attribution__279W9",
1144
- "light": "caption-attribution-m_light__19OWp"
1145
- }
1146
- };
1147
- var CaptionAttribution = function CaptionAttribution(_ref) {
1148
- var story = _ref.story,
1149
- element = _ref.element;
1150
- _ref.config;
1151
- if (!(story || element)) return null;
1152
- var configData = useStateValue() || {};
1153
- var textColor = getTextColor(configData.theme);
1154
-
1155
- var _ref2 = story || {},
1156
- _ref2$heroImageCapt = _ref2["hero-image-caption"],
1157
- heroImageCaption = _ref2$heroImageCapt === void 0 ? "" : _ref2$heroImageCapt,
1158
- _ref2$heroImageAttr = _ref2["hero-image-attribution"],
1159
- heroImageAttribution = _ref2$heroImageAttr === void 0 ? "" : _ref2$heroImageAttr;
1160
-
1161
- var _ref3 = element || {},
1162
- _ref3$title = _ref3.title,
1163
- title = _ref3$title === void 0 ? "" : _ref3$title,
1164
- _ref3$imageAttributi = _ref3["image-attribution"],
1165
- imageAttribution = _ref3$imageAttributi === void 0 ? "" : _ref3$imageAttributi;
1166
-
1167
- var caption = heroImageCaption || title;
1168
- var attribution = heroImageAttribution || imageAttribution;
1169
- var updateStyle = caption ? "wrapper" : "";
1170
- return /*#__PURE__*/React__default["default"].createElement("div", {
1171
- "data-test-id": "caption",
1172
- className: "arr--caption-attribution " + _getClassName__default["default"]("caption ".concat(textColor), _styleModuleImportMap$a)
1173
- }, /*#__PURE__*/React__default["default"].createElement("span", {
1174
- dangerouslySetInnerHTML: {
1175
- __html: caption
1176
- }
1177
- }), attribution && /*#__PURE__*/React__default["default"].createElement("span", {
1178
- "data-test-id": "attribution",
1179
- dangerouslySetInnerHTML: {
1180
- __html: attribution
1181
- },
1182
- className: _getClassName__default["default"]("attribution ".concat(textColor, " ").concat(updateStyle), _styleModuleImportMap$a)
1183
- }));
1184
- };
1185
- CaptionAttribution.propTypes = {
1186
- config: PropTypes__default["default"].shape({
1187
- theme: PropTypes__default["default"].string
1188
- }),
1189
- story: shapeStory,
1190
- element: PropTypes__default["default"].shape({
1191
- "image-attribution": PropTypes__default["default"].string,
1192
- title: PropTypes__default["default"].string
1193
- })
1194
- };
1195
-
1196
- var _excluded$7 = ["element", "opts", "story", "config", "caption"];
1197
-
1198
- var ImageBase = function ImageBase(_ref) {
1199
- var element = _ref.element,
1200
- _ref$opts = _ref.opts,
1201
- opts = _ref$opts === void 0 ? {} : _ref$opts,
1202
- _ref$story = _ref.story,
1203
- story = _ref$story === void 0 ? {} : _ref$story;
1204
- _ref.config;
1205
- var _ref$caption = _ref.caption,
1206
- caption = _ref$caption === void 0 ? true : _ref$caption,
1207
- restProps = _objectWithoutProperties__default["default"](_ref, _excluded$7);
1208
-
1209
- if (!element) return null;
1210
- var configData = useStateValue() || {};
1211
-
1212
- var ImageTemplate = function ImageTemplate(_ref2) {
1213
- var _onClick = _ref2.onClick;
1214
- return /*#__PURE__*/React__default["default"].createElement("div", {
1215
- className: "image-m_image-template__3s9OA"
1216
- }, /*#__PURE__*/React__default["default"].createElement("figure", {
1217
- className: "image-m_element__KVuzX",
1218
- onClick: function onClick() {
1219
- return _onClick();
1220
- }
1221
- }, /*#__PURE__*/React__default["default"].createElement(components.ResponsiveImage, {
1222
- slug: element["image-s3-key"],
1223
- metadata: element["image-metadata"],
1224
- alt: element["title"],
1225
- aspectRatio: null,
1226
- defaultWidth: 640,
1227
- widths: opts.imageWidths || [360, 640, 1200],
1228
- imgParams: {
1229
- auto: ["format", "compress"]
1230
- }
1231
- })), element["hyperlink"] && /*#__PURE__*/React__default["default"].createElement(HyperLink, {
1232
- hyperLink: element["hyperlink"]
1233
- }));
1234
- };
1235
-
1236
- ImageTemplate.propTypes = {
1237
- onClick: PropTypes__default["default"].func
1238
- };
1239
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
1240
- className: "arrow-component arr--image-element"
1241
- }, restProps, {
1242
- "data-test-id": "image-element"
1243
- }), /*#__PURE__*/React__default["default"].createElement(FullScreenImages, {
1244
- template: ImageTemplate,
1245
- element: element,
1246
- imageSlug: element["image-s3-key"],
1247
- story: story
1248
- }), caption && /*#__PURE__*/React__default["default"].createElement(CaptionAttribution, {
1249
- element: element,
1250
- config: configData
1251
- }));
1252
- };
1253
-
1254
- ImageBase.propTypes = {
1255
- element: PropTypes__default["default"].shape({
1256
- "image-s3-key": PropTypes__default["default"].string,
1257
- "image-metadata": PropTypes__default["default"].object,
1258
- "image-attribution": PropTypes__default["default"].string,
1259
- title: PropTypes__default["default"].string,
1260
- hyperlink: PropTypes__default["default"].string
1261
- }),
1262
- caption: PropTypes__default["default"].bool,
1263
- opts: PropTypes__default["default"].shape({
1264
- imageWidths: PropTypes__default["default"].array
1265
- }),
1266
- story: shapeStory,
1267
- config: shapeConfig
1268
- };
1269
- var Image = withElementWrapper(ImageBase);
1270
-
1271
- var _excluded$6 = ["element", "template", "css", "story", "config", "opts", "render"];
1272
- var _styleModuleImportMap$9 = {
1273
- "./question-answer.m.css": {
1274
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
1275
- "mobile": "768px",
1276
- "qa-withAuthorImage": "question-answer-m_qa-withAuthorImage__1JB3N",
1277
- "a-element": "question-answer-m_a-element__BTxfl",
1278
- "qa-default": "question-answer-m_qa-default__2fGK3",
1279
- "q-element": "question-answer-m_q-element__1ZA5d",
1280
- "dark": "question-answer-m_dark__O4Mnm",
1281
- "hidden": "question-answer-m_hidden__K0n4n",
1282
- "curveIcon": "question-answer-m_curveIcon__64641",
1283
- "edgeIcon": "question-answer-m_edgeIcon__3js6c",
1284
- "labelAttribution": "question-answer-m_labelAttribution__Rq-v3",
1285
- "light": "question-answer-m_light__3Iqv4",
1286
- "content": "question-answer-m_content__16Ng7"
1287
- }
1288
- };
1289
-
1290
- var supportedTemplates = function supportedTemplates(type, element) {
1291
- switch (type) {
1292
- case "q-and-a":
1293
- var _get = lodash.get(element, ["metadata"]),
1294
- qaQuestion = _get.question,
1295
- qaAnswer = _get.answer;
1296
-
1297
- var qaQuestionAttribution = lodash.get(element, ["metadata", "interviewer", "avatar-url"]);
1298
- var qaAnswerAttribution = lodash.get(element, ["metadata", "interviewee", "avatar-url"]);
1299
- return {
1300
- question: qaQuestion,
1301
- answer: qaAnswer,
1302
- questionAttribution: qaQuestionAttribution,
1303
- answerAttribution: qaAnswerAttribution
1304
- };
1305
-
1306
- case "question":
1307
- var qQuestion = lodash.get(element, ["text"]);
1308
- var qAttribution = lodash.get(element, ["metadata", "interviewer", "avatar-url"]);
1309
- return {
1310
- question: qQuestion,
1311
- questionAttribution: qAttribution
1312
- };
1313
-
1314
- case "answer":
1315
- var aAnswer = lodash.get(element, ["text"]);
1316
- var aAttribution = lodash.get(element, ["metadata", "interviewee", "avatar-url"]);
1317
- return {
1318
- answer: aAnswer,
1319
- answerAttribution: aAttribution
1320
- };
1321
- }
1322
- };
1323
-
1324
- var QuestionAnswerBase = function QuestionAnswerBase(_ref) {
1325
- var element = _ref.element,
1326
- template = _ref.template,
1327
- _ref$css = _ref.css,
1328
- css = _ref$css === void 0 ? {} : _ref$css;
1329
- _ref.story;
1330
- _ref.config;
1331
- var _ref$opts = _ref.opts,
1332
- opts = _ref$opts === void 0 ? {} : _ref$opts;
1333
- _ref.render;
1334
- var restProps = _objectWithoutProperties__default["default"](_ref, _excluded$6);
1335
-
1336
- var configData = useStateValue() || {};
1337
- var textInvertColor = getTextColor(configData.theme);
1338
- if (!element) return null;
1339
- var type = opts.type,
1340
- defaultIconType = opts.defaultIconType,
1341
- _opts$isExternalLink = opts.isExternalLink,
1342
- isExternalLink = _opts$isExternalLink === void 0 ? true : _opts$isExternalLink;
1343
- var iconColor = css.iconColor;
1344
-
1345
- var _supportedTemplates = supportedTemplates(type, element),
1346
- question = _supportedTemplates.question,
1347
- answer = _supportedTemplates.answer,
1348
- questionAttribution = _supportedTemplates.questionAttribution,
1349
- answerAttribution = _supportedTemplates.answerAttribution;
1350
-
1351
- var theme = getTextColor(iconColor);
1352
- var questionData = question && (isExternalLink && updateContentLinks(question) || question);
1353
- var answerData = answer && (isExternalLink && updateContentLinks(answer) || answer);
1354
- var isAuthorImageTemplate = template === "withAuthorImage";
1355
- var templateStyle = isAuthorImageTemplate ? "qa-withAuthorImage" : "qa-default";
1356
- var iconType = defaultIconType === "curve" ? "curveIcon" : "edgeIcon";
1357
- var supportQuestionElement = isAuthorImageTemplate ? questionAttribution && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
1358
- className: "question-answer-m_labelAttribution__Rq-v3"
1359
- }, /*#__PURE__*/React__default["default"].createElement("img", {
1360
- src: questionAttribution,
1361
- loading: "lazy"
1362
- })), /*#__PURE__*/React__default["default"].createElement("span", {
1363
- className: "question-answer-m_hidden__K0n4n"
1364
- })) : /*#__PURE__*/React__default["default"].createElement("div", {
1365
- "data-test-id": iconType,
1366
- style: {
1367
- backgroundColor: iconColor
1368
- },
1369
- className: _getClassName__default["default"]("".concat(iconType, " ").concat(theme), _styleModuleImportMap$9)
1370
- }, "Q"); // EMPTY SPAN FOR EXTRA SPACE
1371
-
1372
- var supportAnswerElement = isAuthorImageTemplate ? answerAttribution && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
1373
- className: "question-answer-m_labelAttribution__Rq-v3"
1374
- }, /*#__PURE__*/React__default["default"].createElement("img", {
1375
- src: answerAttribution,
1376
- loading: "lazy"
1377
- })), /*#__PURE__*/React__default["default"].createElement("span", {
1378
- className: "question-answer-m_hidden__K0n4n"
1379
- })) : /*#__PURE__*/React__default["default"].createElement("div", {
1380
- "data-test-id": iconType,
1381
- style: {
1382
- backgroundColor: iconColor
1383
- },
1384
- className: _getClassName__default["default"]("".concat(iconType, " ").concat(theme), _styleModuleImportMap$9)
1385
- }, "A");
1386
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
1387
- "data-test-id": "question-answer"
1388
- }, restProps, {
1389
- className: "arrow-component arr-custom-style arr--qa-element " + _getClassName__default["default"](templateStyle, _styleModuleImportMap$9) + (" " + (restProps ? restProps.className || "" : ""))
1390
- }), type !== "answer" && /*#__PURE__*/React__default["default"].createElement("div", {
1391
- className: "question-answer-m_q-element__1ZA5d",
1392
- "data-test-id": "question"
1393
- }, supportQuestionElement, /*#__PURE__*/React__default["default"].createElement("div", {
1394
- dangerouslySetInnerHTML: {
1395
- __html: questionData
1396
- },
1397
- className: _getClassName__default["default"]("content ".concat(textInvertColor), _styleModuleImportMap$9)
1398
- })), type !== "question" && /*#__PURE__*/React__default["default"].createElement("div", {
1399
- className: "question-answer-m_a-element__BTxfl",
1400
- "data-test-id": "answer"
1401
- }, supportAnswerElement, /*#__PURE__*/React__default["default"].createElement("div", {
1402
- dangerouslySetInnerHTML: {
1403
- __html: answerData
1404
- },
1405
- className: _getClassName__default["default"]("content ".concat(textInvertColor), _styleModuleImportMap$9)
1406
- })));
1407
- };
1408
-
1409
- QuestionAnswerBase.propTypes = {
1410
- element: PropTypes__default["default"].shape({
1411
- metadata: PropTypes__default["default"].shape({
1412
- interviewer: PropTypes__default["default"].shape({
1413
- "avatar-url": PropTypes__default["default"].string
1414
- }),
1415
- interviewee: PropTypes__default["default"].shape({
1416
- "avatar-url": PropTypes__default["default"].string
1417
- }),
1418
- question: PropTypes__default["default"].string,
1419
- answer: PropTypes__default["default"].string
1420
- }),
1421
- text: PropTypes__default["default"].string
1422
- }),
1423
- opts: PropTypes__default["default"].shape({
1424
- type: PropTypes__default["default"].string,
1425
- defaultIconType: PropTypes__default["default"].string,
1426
- isExternalLink: PropTypes__default["default"].bool
1427
- }),
1428
- template: PropTypes__default["default"].string,
1429
- css: PropTypes__default["default"].object,
1430
- config: shapeConfig,
1431
- story: shapeStory,
1432
- render: PropTypes__default["default"].func
1433
- };
1434
- var QuestionAnswer = withElementWrapper(QuestionAnswerBase);
1435
-
1436
- var _excluded$5 = ["element", "template", "opts", "story", "config"];
1437
- var _styleModuleImportMap$8 = {
1438
- "./image-gallery.m.css": {
1439
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
1440
- "mobile": "768px",
1441
- "image-gallery": "image-gallery-m_image-gallery__1Q7if",
1442
- "image": "image-gallery-m_image__3qwSJ",
1443
- "template-2": "image-gallery-m_template-2__2pjmE",
1444
- "left-images": "image-gallery-m_left-images__34gjv",
1445
- "hyperlink-gallery-image": "image-gallery-m_hyperlink-gallery-image__2qgDp"
1446
- }
1447
- };
1448
-
1449
- var ImageGalleryBase = function ImageGalleryBase(_ref) {
1450
- var element = _ref.element,
1451
- _ref$template = _ref.template,
1452
- template = _ref$template === void 0 ? "" : _ref$template;
1453
- _ref.opts;
1454
- _ref.story;
1455
- _ref.config;
1456
- var restProps = _objectWithoutProperties__default["default"](_ref, _excluded$5);
1457
-
1458
- if (!element) return null;
1459
- var isMobile = clientWidth("mobile");
1460
- var imageArr = element["story-elements"];
1461
- var imageBaseOnTemp = template === "template-2" && imageArr.length;
1462
- var renderImageDesktop = imageBaseOnTemp > 6 ? imageArr.slice(0, 6) : imageArr;
1463
- var renderMobile = imageBaseOnTemp > 4 ? imageArr.slice(0, 4) : imageArr;
1464
- var renderImage = isMobile ? renderMobile : renderImageDesktop;
1465
- var classes = template === "template-2" ? "template-2" : "";
1466
-
1467
- var hyperlinkClass = function hyperlinkClass(hyperlink) {
1468
- return hyperlink ? "hyperlink-gallery-image" : "";
1469
- };
1470
-
1471
- var ImageGalleryImagesTemplate = function ImageGalleryImagesTemplate(_ref2) {
1472
- var onClickHandler = _ref2.onClickHandler;
1473
- var images = renderImage.map(function (image, index) {
1474
- return /*#__PURE__*/React__default["default"].createElement("div", {
1475
- key: index,
1476
- className: _getClassName__default["default"](hyperlinkClass(image["hyperlink"]), _styleModuleImportMap$8)
1477
- }, /*#__PURE__*/React__default["default"].createElement("figure", {
1478
- key: index,
1479
- "data-text-id": "image-".concat(index),
1480
- onClick: function onClick() {
1481
- return onClickHandler && onClickHandler(index);
1482
- },
1483
- className: _getClassName__default["default"]("image ".concat(classes), _styleModuleImportMap$8)
1484
- }, /*#__PURE__*/React__default["default"].createElement(components.ResponsiveImage, {
1485
- slug: image["image-s3-key"],
1486
- metadata: image["image-metadata"],
1487
- alt: image["title"],
1488
- aspectRatio: [1, 1],
1489
- defaultWidth: 640,
1490
- imgParams: {
1491
- auto: ["format", "compress"]
1492
- }
1493
- })), image["hyperlink"] && /*#__PURE__*/React__default["default"].createElement(HyperLink, {
1494
- hyperLink: image["hyperlink"]
1495
- }));
1496
- });
1497
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
1498
- className: " arrow-component arr--image-element image-gallery-m_image-gallery__1Q7if" + (" " + (restProps ? restProps.className || "" : ""))
1499
- }, restProps, {
1500
- "data-test-id": "image-gallery"
1501
- }), images);
1502
- };
1503
-
1504
- ImageGalleryImagesTemplate.propTypes = {
1505
- onClickHandler: PropTypes__default["default"].func
1506
- };
1507
- return /*#__PURE__*/React__default["default"].createElement(FullScreenImages, {
1508
- template: ImageGalleryImagesTemplate,
1509
- element: element
1510
- });
1511
- };
1512
-
1513
- ImageGalleryBase.propTypes = {
1514
- element: PropTypes__default["default"].shape({
1515
- "story-elements": PropTypes__default["default"].array
1516
- }),
1517
- opts: PropTypes__default["default"].shape({
1518
- imageWidths: PropTypes__default["default"].array
1519
- }),
1520
- story: shapeStory,
1521
- config: shapeConfig,
1522
- template: PropTypes__default["default"].string
1523
- };
1524
- var ImageGallery = withElementWrapper(ImageGalleryBase);
1525
-
1526
- var _excluded$4 = ["element", "story", "config"];
1527
-
1528
- var StoryElementBase = function StoryElementBase(_ref) {
1529
- var element = _ref.element;
1530
- _ref.story;
1531
- _ref.config;
1532
- var restProps = _objectWithoutProperties__default["default"](_ref, _excluded$4);
1533
-
1534
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({}, restProps, {
1535
- "data-test-id": "story-elements"
1536
- }), /*#__PURE__*/React__default["default"].createElement(components.StoryElement, {
1537
- element: element
1538
- }));
1539
- };
1540
-
1541
- var StoryElement = withElementWrapper(StoryElementBase);
1542
- StoryElementBase.propTypes = {
1543
- element: PropTypes__default["default"].object,
1544
- story: shapeStory,
1545
- config: shapeConfig
1546
- };
1547
-
1548
- var _excluded$3 = ["element", "story", "config", "loadIframeOnClick"];
1549
-
1550
- var Videobase = function Videobase(_ref) {
1551
- var element = _ref.element;
1552
- _ref.story;
1553
- _ref.config;
1554
- var _ref$loadIframeOnClic = _ref.loadIframeOnClick,
1555
- loadIframeOnClick = _ref$loadIframeOnClic === void 0 ? false : _ref$loadIframeOnClic,
1556
- restProps = _objectWithoutProperties__default["default"](_ref, _excluded$3);
1557
-
1558
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
1559
- className: "video-m_container__MYuWI" + (" " + (restProps ? restProps.className || "" : ""))
1560
- }, restProps, {
1561
- "data-test-id": "video"
1562
- }), /*#__PURE__*/React__default["default"].createElement(components.StoryElement, {
1563
- element: element,
1564
- loadIframeOnClick: loadIframeOnClick
1565
- }));
1566
- };
1567
-
1568
- Videobase.propTypes = {
1569
- element: PropTypes__default["default"].object,
1570
- story: shapeStory,
1571
- config: shapeConfig,
1572
- loadIframeOnClick: PropTypes__default["default"].bool
1573
- };
1574
- var Video = withElementWrapper(Videobase);
1575
-
1576
- var _excluded$2 = ["element", "template", "css", "story", "config", "render"];
1577
- var _styleModuleImportMap$7 = {
1578
- "./quote.m.css": {
1579
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
1580
- "mobile": "768px",
1581
- "quote": "quote-m_quote__13tTt",
1582
- "text": "quote-m_text__2hXSE",
1583
- "quote-borderNone": "quote-m_quote-borderNone__2EuoK",
1584
- "quote-borderTopSmall": "quote-m_quote-borderTopSmall__2DN-3",
1585
- "quote-borderLeft": "quote-m_quote-borderLeft__3QaAY",
1586
- "dark": "quote-m_dark__1migZ",
1587
- "light": "quote-m_light__30NnM",
1588
- "attribution": "quote-m_attribution__20Y6O",
1589
- "line": "quote-m_line__3gtoE"
1590
- }
1591
- };
1592
-
1593
- var QuoteBase = function QuoteBase(_ref) {
1594
- var element = _ref.element,
1595
- _ref$template = _ref.template,
1596
- template = _ref$template === void 0 ? "" : _ref$template,
1597
- _ref$css = _ref.css,
1598
- css = _ref$css === void 0 ? {} : _ref$css;
1599
- _ref.story;
1600
- _ref.config;
1601
- _ref.render;
1602
- var restProps = _objectWithoutProperties__default["default"](_ref, _excluded$2);
1603
-
1604
- var configData = useStateValue() || {};
1605
- var textInvertColor = getTextColor(configData.theme);
1606
- var _element$metadata = element.metadata,
1607
- content = _element$metadata.content,
1608
- attribution = _element$metadata.attribution;
1609
- if (!content) return null;
1610
- var borderColor = css.borderColor;
1611
- var updateBorderColor = template === "borderLeft" && "4px solid ".concat(borderColor);
1612
- var templateStyle = template ? "quote-".concat(template) : "quote";
1613
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
1614
- "data-test-id": "quote"
1615
- }, restProps, {
1616
- className: "arrow-component arr--quote-element " + _getClassName__default["default"](templateStyle, _styleModuleImportMap$7) + (" " + (restProps ? restProps.className || "" : ""))
1617
- }), template === "borderTopSmall" && /*#__PURE__*/React__default["default"].createElement("div", {
1618
- className: "quote-m_line__3gtoE",
1619
- style: borderColor && {
1620
- backgroundColor: borderColor
1621
- }
1622
- }), /*#__PURE__*/React__default["default"].createElement("p", {
1623
- style: borderColor && {
1624
- borderLeft: updateBorderColor
1625
- },
1626
- dangerouslySetInnerHTML: {
1627
- __html: content
1628
- },
1629
- className: _getClassName__default["default"]("text ".concat(textInvertColor), _styleModuleImportMap$7)
1630
- }), /*#__PURE__*/React__default["default"].createElement("p", {
1631
- "data-test-id": "quote-attribution",
1632
- className: _getClassName__default["default"]("attribution ".concat(textInvertColor), _styleModuleImportMap$7)
1633
- }, attribution));
1634
- };
1635
-
1636
- QuoteBase.propTypes = {
1637
- element: PropTypes__default["default"].shape({
1638
- metadata: PropTypes__default["default"].shape({
1639
- content: PropTypes__default["default"].string,
1640
- attribution: PropTypes__default["default"].string
1641
- })
1642
- }),
1643
-
1644
- /** template can be default, borderTopSmall and borderLeft */
1645
- template: PropTypes__default["default"].string,
1646
- story: shapeStory,
1647
- config: shapeConfig,
1648
- render: PropTypes__default["default"].func,
1649
- css: PropTypes__default["default"].object
1650
- };
1651
- var Quote = withElementWrapper(QuoteBase);
1652
-
1653
- var _excluded$1 = ["element", "config", "opts"];
1654
- var _styleModuleImportMap$6 = {
1655
- "./reference.m.css": {
1656
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
1657
- "mobile": "768px",
1658
- "tablet": "992px",
1659
- "wrapper": "reference-m_wrapper__1C4Ot",
1660
- "name": "reference-m_name__24IwG",
1661
- "description": "reference-m_description__2x3Io",
1662
- "dark": "reference-m_dark__3Zlnx",
1663
- "light": "reference-m_light__1B8Ud"
1664
- }
1665
- };
1666
-
1667
- var ReferenceBase = function ReferenceBase(_ref) {
1668
- var element = _ref.element;
1669
- _ref.config;
1670
- var _ref$opts = _ref.opts,
1671
- opts = _ref$opts === void 0 ? {} : _ref$opts,
1672
- restProps = _objectWithoutProperties__default["default"](_ref, _excluded$1);
1673
-
1674
- if (!element) return null;
1675
- var configData = useStateValue() || {};
1676
- var textInvertColor = getTextColor(configData.theme);
1677
- var eleArr = element["story-elements"] && element["story-elements"].map(function (ref) {
1678
- return ref.metadata;
1679
- });
1680
- var _opts$showHeadline = opts.showHeadline,
1681
- showHeadline = _opts$showHeadline === void 0 ? true : _opts$showHeadline,
1682
- headlineText = opts.headlineText;
1683
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
1684
- className: "arrow-component arr--reference-element"
1685
- }, restProps), eleArr && eleArr.map(function (metadata, index) {
1686
- var _metadata$name = metadata.name,
1687
- name = _metadata$name === void 0 ? "" : _metadata$name,
1688
- _metadata$description = metadata.description,
1689
- description = _metadata$description === void 0 ? "" : _metadata$description,
1690
- url = metadata.url;
1691
- return /*#__PURE__*/React__default["default"].createElement("div", {
1692
- key: index,
1693
- className: _getClassName__default["default"]("wrapper ".concat(textInvertColor), _styleModuleImportMap$6)
1694
- }, /*#__PURE__*/React__default["default"].createElement(components.Link, {
1695
- href: url,
1696
- "aria-label": "reference-headline"
1697
- }, showHeadline && /*#__PURE__*/React__default["default"].createElement("div", {
1698
- className: "reference-m_name__24IwG",
1699
- "data-test-id": "ref-headline"
1700
- }, headlineText || name), /*#__PURE__*/React__default["default"].createElement("div", {
1701
- className: "reference-m_description__2x3Io"
1702
- }, description)));
1703
- }));
1704
- };
1705
-
1706
- ReferenceBase.propTypes = {
1707
- element: PropTypes__default["default"].shape({
1708
- "story-elements": PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
1709
- metadata: PropTypes__default["default"].shape({
1710
- name: PropTypes__default["default"].string,
1711
- description: PropTypes__default["default"].string,
1712
- url: PropTypes__default["default"].string
1713
- })
1714
- }))
1715
- }),
1716
- opts: PropTypes__default["default"].shape({
1717
- hideHeadline: PropTypes__default["default"].bool
1718
- }),
1719
- config: shapeConfig
1720
- };
1721
- var Reference = withElementWrapper(ReferenceBase);
1722
-
1723
- var _excluded = ["element", "render"];
1724
- var _styleModuleImportMap$5 = {
1725
- "./attachment.m.css": {
1726
- "viewports": "\"../../../../../assets/stylesheets/viewports.m.css\"",
1727
- "mobile": "768px",
1728
- "tablet": "992px",
1729
- "headline": "attachment-m_headline__kP7Hs",
1730
- "button-wrapper": "attachment-m_button-wrapper__2fajK",
1731
- "file-name": "attachment-m_file-name__1LU9q",
1732
- "dark": "attachment-m_dark__3ixF7",
1733
- "light": "attachment-m_light__1kcpj",
1734
- "pdf": "attachment-m_pdf__3i_bR",
1735
- "doc": "attachment-m_doc__6vUVo attachment-m_pdf__3i_bR",
1736
- "wrapper": "attachment-m_wrapper__3gMwN",
1737
- "content-wrapper": "attachment-m_content-wrapper__3Yu0B"
1738
- }
1739
- };
1740
-
1741
- var AttachmentBase = function AttachmentBase(_ref) {
1742
- var _ref$element = _ref.element,
1743
- element = _ref$element === void 0 ? {} : _ref$element;
1744
- _ref.render;
1745
- var restProps = _objectWithoutProperties__default["default"](_ref, _excluded);
1746
-
1747
- var fileName = element["file-name"],
1748
- url = element.url,
1749
- contentType = element["content-type"];
1750
- if (!contentType || !url) return null;
1751
- var attachmentType = {
1752
- PDF: "application/pdf"
1753
- };
1754
- var isPdf = contentType === attachmentType.PDF;
1755
- var configData = useStateValue() || {};
1756
- var textColor = getTextColor(configData.theme);
1757
- var defaultName = isPdf ? "Attached PDF" : "Attached DOC";
1758
- var defaultFileName = fileName || defaultName;
1759
- return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
1760
- "data-test-id": "attachment"
1761
- }, restProps, {
1762
- className: "arrow-component arr--attachment-element " + _getClassName__default["default"](textColor, _styleModuleImportMap$5) + (" " + (restProps ? restProps.className || "" : ""))
1763
- }), /*#__PURE__*/React__default["default"].createElement("div", {
1764
- className: "attachment-m_headline__kP7Hs"
1765
- }, "Attachment"), /*#__PURE__*/React__default["default"].createElement("div", {
1766
- className: "attachment-m_wrapper__3gMwN"
1767
- }, isPdf ? /*#__PURE__*/React__default["default"].createElement("div", {
1768
- "data-test-id": "pdf",
1769
- className: "attachment-m_pdf__3i_bR"
1770
- }, "PDF") : /*#__PURE__*/React__default["default"].createElement("div", {
1771
- "data-test-id": "doc",
1772
- className: "attachment-m_doc__6vUVo attachment-m_pdf__3i_bR"
1773
- }, "DOC"), /*#__PURE__*/React__default["default"].createElement("div", {
1774
- className: "attachment-m_content-wrapper__3Yu0B"
1775
- }, /*#__PURE__*/React__default["default"].createElement("div", {
1776
- className: "attachment-m_file-name__1LU9q",
1777
- dangerouslySetInnerHTML: {
1778
- __html: defaultFileName
1779
- }
1780
- }), /*#__PURE__*/React__default["default"].createElement(components.Link, {
1781
- className: "attachment-m_button-wrapper__2fajK",
1782
- href: url,
1783
- target: "_blank",
1784
- rel: "noopener noreferrer",
1785
- download: true,
1786
- "aria-label": "button"
1787
- }, isPdf ? "Preview" : "Download"))));
1788
- };
1789
-
1790
- AttachmentBase.propTypes = {
1791
- element: PropTypes__default["default"].shape({
1792
- url: PropTypes__default["default"].string,
1793
- fileName: PropTypes__default["default"].string,
1794
- contentType: PropTypes__default["default"].string
1795
- }),
1796
- render: PropTypes__default["default"].func
1797
- };
1798
- var Attachment = withElementWrapper(AttachmentBase);
1799
-
1800
- var Twitter = function Twitter(_ref) {
1801
- var _ref$color = _ref.color,
1802
- color = _ref$color === void 0 ? "#1CB7EB" : _ref$color;
1803
- return /*#__PURE__*/React__default["default"].createElement("svg", {
1804
- xmlns: "http://www.w3.org/2000/svg",
1805
- width: "24",
1806
- height: "24",
1807
- viewBox: "0 0 24 24"
1808
- }, /*#__PURE__*/React__default["default"].createElement("path", {
1809
- fill: color,
1810
- d: "M19.137 8.594c.023.094.035.246.035.457 0 1.687-.41 3.316-1.23 4.887-.844 1.664-2.028 2.988-3.551 3.972-1.664 1.102-3.575 1.652-5.73 1.652-2.063 0-3.95-.55-5.661-1.652.258.024.55.035.879.035 1.71 0 3.246-.527 4.605-1.582-.82 0-1.54-.24-2.162-.72a3.673 3.673 0 01-1.283-1.811c.234.023.457.035.668.035.328 0 .656-.035.984-.105a3.724 3.724 0 01-2.109-1.301 3.542 3.542 0 01-.844-2.32v-.07a3.493 3.493 0 001.653.492 4.097 4.097 0 01-1.196-1.336 3.557 3.557 0 01-.457-1.776c0-.644.176-1.26.528-1.845a10.188 10.188 0 003.357 2.742 10.222 10.222 0 004.236 1.125 5.122 5.122 0 01-.07-.844c0-.656.164-1.272.492-1.846a3.615 3.615 0 011.336-1.353 3.568 3.568 0 011.828-.492c.54 0 1.037.105 1.494.316.457.21.862.492 1.213.844a7.479 7.479 0 002.356-.88c-.281.868-.82 1.548-1.617 2.04A7.926 7.926 0 0021 6.66a8.132 8.132 0 01-1.863 1.934z"
1811
- }));
1812
- };
1813
- Twitter.propTypes = {
1814
- color: PropTypes__default["default"].string
1815
- };
1816
-
1817
- var Facebook = function Facebook(_ref) {
1818
- var _ref$color = _ref.color,
1819
- color = _ref$color === void 0 ? "#3B5998" : _ref$color;
1820
- return /*#__PURE__*/React__default["default"].createElement("svg", {
1821
- xmlns: "http://www.w3.org/2000/svg",
1822
- width: "24",
1823
- height: "24",
1824
- viewBox: "0 0 24 24"
1825
- }, /*#__PURE__*/React__default["default"].createElement("path", {
1826
- fill: color,
1827
- d: "M9.906 20v-7.156H7.5V10h2.406V7.75c0-1.187.334-2.11 1-2.766.667-.656 1.552-.984 2.656-.984.896 0 1.625.042 2.188.125v2.531h-1.5c-.563 0-.948.125-1.156.375-.167.209-.25.542-.25 1V10H15.5l-.375 2.844h-2.281V20H9.906z"
1828
- }));
1829
- };
1830
- Facebook.propTypes = {
1831
- color: PropTypes__default["default"].string
1832
- };
1833
-
1834
- var LinkedIn = function LinkedIn(_ref) {
1835
- var _ref$color = _ref.color,
1836
- color = _ref$color === void 0 ? "#0077B5" : _ref$color;
1837
- return /*#__PURE__*/React__default["default"].createElement("svg", {
1838
- xmlns: "http://www.w3.org/2000/svg",
1839
- width: "24",
1840
- height: "24",
1841
- viewBox: "0 0 24 24"
1842
- }, /*#__PURE__*/React__default["default"].createElement("path", {
1843
- fill: color,
1844
- d: "M6.71 19H3.26V7.904h3.45V19zM5.005 6.383a1.926 1.926 0 01-1.41-.594A1.923 1.923 0 013 4.38c0-.544.198-1.014.594-1.41a1.926 1.926 0 011.41-.594c.544 0 1.014.198 1.41.594.396.396.594.866.594 1.41 0 .544-.198 1.014-.594 1.41a1.926 1.926 0 01-1.41.594zM19.625 19h-3.451v-5.418c0-.89-.074-1.534-.223-1.93-.272-.668-.804-1.002-1.596-1.002-.791 0-1.348.297-1.67.891-.247.445-.37 1.1-.37 1.967V19H8.9V7.904h3.303v1.522h.037c.248-.495.643-.903 1.188-1.225.593-.396 1.286-.594 2.078-.594 1.608 0 2.734.508 3.377 1.522.495.816.742 2.078.742 3.785V19z"
1845
- }));
1846
- };
1847
- LinkedIn.propTypes = {
1848
- color: PropTypes__default["default"].string
1849
- };
1850
-
1851
- var WhatsApp = function WhatsApp(_ref) {
1852
- var _ref$color = _ref.color,
1853
- color = _ref$color === void 0 ? "#4AC959" : _ref$color;
1854
- return /*#__PURE__*/React__default["default"].createElement("svg", {
1855
- xmlns: "http://www.w3.org/2000/svg",
1856
- width: "24",
1857
- height: "24",
1858
- viewBox: "0 0 24 24"
1859
- }, /*#__PURE__*/React__default["default"].createElement("path", {
1860
- fill: color,
1861
- fillRule: "evenodd",
1862
- d: "M18.404 5.505a9.457 9.457 0 012.02 2.96 8.587 8.587 0 01.715 3.449 8.665 8.665 0 01-1.245 4.53 9.282 9.282 0 01-3.347 3.307 8.894 8.894 0 01-4.552 1.225 8.835 8.835 0 01-4.327-1.102l-4.817 1.265 1.307-4.694a8.775 8.775 0 01-1.225-4.531 8.77 8.77 0 011.225-4.531 9.17 9.17 0 013.306-3.307 8.781 8.781 0 014.531-1.224c1.198 0 2.347.23 3.45.693a9.515 9.515 0 012.959 1.96zm-6.409 13.96c1.36 0 2.626-.34 3.797-1.02a7.75 7.75 0 002.796-2.756 7.202 7.202 0 001.04-3.775c0-.98-.203-1.933-.612-2.858a8.088 8.088 0 00-1.694-2.47 7.565 7.565 0 00-2.449-1.653 7.405 7.405 0 00-2.878-.571c-1.36 0-2.62.34-3.776 1.02a7.646 7.646 0 00-2.755 2.756 7.316 7.316 0 00-1.02 3.776c0 1.442.394 2.775 1.183 4l.164.286-.776 2.775 2.857-.734.286.163a7.275 7.275 0 003.837 1.061zm4.123-5.674l.123.082c.19.082.299.15.326.204.027.054.034.19.02.408a2.11 2.11 0 01-.163.674c-.095.231-.313.462-.653.694-.34.231-.633.36-.878.388-.38.054-.748.054-1.102 0-.408-.082-.952-.273-1.632-.572-1.388-.599-2.654-1.714-3.797-3.347l-.081-.082c-.6-.843-.898-1.62-.898-2.327 0-.707.244-1.32.734-1.837l.041-.04c.19-.19.395-.286.612-.286h.49c.11 0 .198.02.266.061.068.041.129.143.183.306l.694 1.674c.082.163.095.3.041.408a2.832 2.832 0 01-.53.735.917.917 0 00-.205.265c-.027.068 0 .143.082.225.38.707.83 1.265 1.347 1.673.381.3.952.64 1.714 1.02.218.11.381.096.49-.04.354-.408.599-.707.735-.898.054-.109.123-.163.204-.163.082 0 .177.013.286.04.218.082.735.327 1.551.735z"
1863
- }));
1864
- };
1865
- WhatsApp.propTypes = {
1866
- color: PropTypes__default["default"].string
1867
- };
1868
-
1869
- var getSocialIcons = function getSocialIcons(color, iconType) {
1870
- switch (iconType) {
1871
- case "plain-color-svg":
1872
- return {
1873
- facebook: /*#__PURE__*/React__default["default"].createElement(Facebook, {
1874
- key: iconType
1875
- }),
1876
- twitter: /*#__PURE__*/React__default["default"].createElement(Twitter, {
1877
- key: iconType
1878
- }),
1879
- linkedin: /*#__PURE__*/React__default["default"].createElement(LinkedIn, {
1880
- key: iconType
1881
- }),
1882
- whatsapp: /*#__PURE__*/React__default["default"].createElement(WhatsApp, {
1883
- key: iconType
1884
- })
1885
- };
1886
-
1887
- default:
1888
- return {
1889
- facebook: /*#__PURE__*/React__default["default"].createElement(Facebook, {
1890
- color: color,
1891
- key: iconType
1892
- }),
1893
- twitter: /*#__PURE__*/React__default["default"].createElement(Twitter, {
1894
- color: color,
1895
- key: iconType
1896
- }),
1897
- linkedin: /*#__PURE__*/React__default["default"].createElement(LinkedIn, {
1898
- color: color,
1899
- key: iconType
1900
- }),
1901
- whatsapp: /*#__PURE__*/React__default["default"].createElement(WhatsApp, {
1902
- color: color,
1903
- key: iconType
1904
- })
1905
- };
1906
- }
1907
- };
1908
-
1909
- var socialShareData = function socialShareData(_ref) {
1910
- var fbUrl = _ref.fbUrl,
1911
- twitterUrl = _ref.twitterUrl,
1912
- linkedinUrl = _ref.linkedinUrl,
1913
- whatsappUrl = _ref.whatsappUrl,
1914
- iconColor = _ref.iconColor,
1915
- _ref$iconType = _ref.iconType,
1916
- iconType = _ref$iconType === void 0 ? "plain-svg" : _ref$iconType;
1917
- var socialIcons = getSocialIcons(iconColor, iconType);
1918
-
1919
- var getOptions = function getOptions() {
1920
- return [{
1921
- name: "facebook",
1922
- url: fbUrl,
1923
- icon: socialIcons["facebook"],
1924
- text: "Facebook",
1925
- bgColor: "#4e71a8",
1926
- alt: "fb icon"
1927
- }, {
1928
- name: "twitter",
1929
- url: twitterUrl,
1930
- icon: socialIcons["twitter"],
1931
- text: "Twitter",
1932
- bgColor: "#1db7eb",
1933
- alt: "twitter icon"
1934
- }, {
1935
- name: "linkedin",
1936
- url: linkedinUrl,
1937
- icon: socialIcons["linkedin"],
1938
- text: "LinkedIn",
1939
- bgColor: "#0077B5",
1940
- alt: "linkedin icon"
1941
- }, {
1942
- name: "whatsapp",
1943
- url: whatsappUrl,
1944
- icon: socialIcons["whatsapp"],
1945
- text: "Whatsapp",
1946
- bgColor: "#25d366",
1947
- alt: "whatsapp share"
1948
- }];
1949
- };
1950
-
1951
- return getOptions();
1952
- };
1953
-
1954
- var CloseIcon = function CloseIcon(_ref) {
1955
- var _ref$color = _ref.color,
1956
- color = _ref$color === void 0 ? "#333" : _ref$color;
1957
- return /*#__PURE__*/React__default["default"].createElement("svg", {
1958
- xmlns: "http://www.w3.org/2000/svg",
1959
- width: "24",
1960
- height: "24",
1961
- viewBox: "0 0 24 24"
1962
- }, /*#__PURE__*/React__default["default"].createElement("g", {
1963
- fill: "none",
1964
- stroke: color,
1965
- strokeLinecap: "square",
1966
- strokeWidth: "2"
1967
- }, /*#__PURE__*/React__default["default"].createElement("path", {
1968
- d: "M16.95 6.914l-9.9 9.9M16.95 17.107l-9.9-9.9"
1969
- })));
1970
- };
1971
- CloseIcon.propTypes = {
1972
- color: PropTypes__default["default"].string
1973
- };
1974
-
1975
- var _styleModuleImportMap$4 = {
1976
- "./social-share-popup.m.css": {
1977
- "share-popup-wrapper": "social-share-popup-m_share-popup-wrapper__GEJqD",
1978
- "light": "social-share-popup-m_light__gQmxf",
1979
- "dark": "social-share-popup-m_dark__26Igp",
1980
- "share-popup": "social-share-popup-m_share-popup__QRt3l social-share-popup-m_share-popup-wrapper__GEJqD",
1981
- "social-wrapper": "social-share-popup-m_social-wrapper__1lPzr",
1982
- "social-icon-wrapper": "social-share-popup-m_social-icon-wrapper__36jyV",
1983
- "wrapper": "social-share-popup-m_wrapper__3Ytce",
1984
- "top-bar": "social-share-popup-m_top-bar__174Um",
1985
- "share-text": "social-share-popup-m_share-text__19E-F",
1986
- "close": "social-share-popup-m_close__3k-Hj",
1987
- "social-icon": "social-share-popup-m_social-icon__2a4nT",
1988
- "social-text": "social-share-popup-m_social-text__1QPXb"
1989
- }
1990
- };
1991
-
1992
- var popupSocialShareItem = function popupSocialShareItem(url, icon, text, index) {
1993
- return url ? /*#__PURE__*/React__default["default"].createElement("li", {
1994
- className: "social-share-popup-m_social-icon-wrapper__36jyV",
1995
- "data-testid": text,
1996
- key: "popup-item-".concat(index)
1997
- }, /*#__PURE__*/React__default["default"].createElement("a", {
1998
- href: url,
1999
- target: "_blank",
2000
- rel: "noopener noreferrer",
2001
- className: "social-share-popup-m_social-wrapper__1lPzr",
2002
- "aria-label": "social-icon"
2003
- }, icon, /*#__PURE__*/React__default["default"].createElement("span", {
2004
- className: "social-share-popup-m_social-text__1QPXb"
2005
- }, text))) : null;
2006
- };
2007
-
2008
- var SocialSharePopup = function SocialSharePopup(_ref) {
2009
- var _ref$fbUrl = _ref.fbUrl,
2010
- fbUrl = _ref$fbUrl === void 0 ? "" : _ref$fbUrl,
2011
- _ref$twitterUrl = _ref.twitterUrl,
2012
- twitterUrl = _ref$twitterUrl === void 0 ? "" : _ref$twitterUrl,
2013
- _ref$linkedinUrl = _ref.linkedinUrl,
2014
- linkedinUrl = _ref$linkedinUrl === void 0 ? "" : _ref$linkedinUrl,
2015
- _ref$whatsappUrl = _ref.whatsappUrl,
2016
- whatsappUrl = _ref$whatsappUrl === void 0 ? "" : _ref$whatsappUrl,
2017
- theme = _ref.theme,
2018
- _ref$closePopup = _ref.closePopup,
2019
- closePopup = _ref$closePopup === void 0 ? "" : _ref$closePopup,
2020
- _ref$iconType = _ref.iconType,
2021
- iconType = _ref$iconType === void 0 ? "plain-color-svg" : _ref$iconType;
2022
- var textColor = getTextColor(theme);
2023
- var iconColor = textColor === "dark" ? "#000000" : "#ffffff";
2024
- var options = {
2025
- fbUrl: fbUrl,
2026
- twitterUrl: twitterUrl,
2027
- linkedinUrl: linkedinUrl,
2028
- whatsappUrl: whatsappUrl,
2029
- iconColor: iconColor,
2030
- iconType: iconType
2031
- };
2032
- var popupItemsList = socialShareData(options);
2033
- return /*#__PURE__*/React__default["default"].createElement("div", {
2034
- className: _getClassName__default["default"]("share-popup-wrapper ".concat(textColor), _styleModuleImportMap$4)
2035
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2036
- className: "social-share-popup-m_share-popup__QRt3l social-share-popup-m_share-popup-wrapper__GEJqD"
2037
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2038
- className: "social-share-popup-m_top-bar__174Um"
2039
- }, /*#__PURE__*/React__default["default"].createElement("span", {
2040
- className: "social-share-popup-m_share-text__19E-F"
2041
- }, "Share via"), /*#__PURE__*/React__default["default"].createElement("span", {
2042
- className: "social-share-popup-m_close__3k-Hj",
2043
- onClick: closePopup
2044
- }, /*#__PURE__*/React__default["default"].createElement(CloseIcon, {
2045
- color: iconColor
2046
- }))), /*#__PURE__*/React__default["default"].createElement("ul", {
2047
- className: "social-share-popup-m_wrapper__3Ytce"
2048
- }, popupItemsList.map(function (_ref2, index) {
2049
- var url = _ref2.url,
2050
- icon = _ref2.icon,
2051
- text = _ref2.text,
2052
- bgColor = _ref2.bgColor;
2053
- _ref2.alt;
2054
- return popupSocialShareItem(url, icon, text, bgColor);
2055
- }))));
2056
- };
2057
- SocialSharePopup.propTypes = {
2058
- fbUrl: PropTypes__default["default"].string,
2059
- twitterUrl: PropTypes__default["default"].string,
2060
- linkedinUrl: PropTypes__default["default"].string,
2061
- whatsappUrl: PropTypes__default["default"].string,
2062
- grey: PropTypes__default["default"].string,
2063
- primaryColor: PropTypes__default["default"].string,
2064
- closePopup: PropTypes__default["default"].bool,
2065
- theme: PropTypes__default["default"].string,
2066
- iconType: PropTypes__default["default"].string
2067
- };
2068
-
2069
- var ShareIcon = function ShareIcon(_ref) {
2070
- var _ref$color = _ref.color,
2071
- color = _ref$color === void 0 ? "#0D0D0D" : _ref$color;
2072
- return /*#__PURE__*/React__default["default"].createElement("svg", {
2073
- xmlns: "http://www.w3.org/2000/svg",
2074
- width: "24",
2075
- height: "24",
2076
- viewBox: "0 0 24 24"
2077
- }, /*#__PURE__*/React__default["default"].createElement("path", {
2078
- fill: color,
2079
- fillRule: "evenodd",
2080
- d: "M15.843 3.189c-1.478 0-2.689 1.239-2.689 2.75 0 .293.046.58.13.846L8.844 9.31a2.638 2.638 0 00-1.687-.621c-1.477 0-2.688 1.238-2.688 2.75 0 1.51 1.21 2.75 2.688 2.75.638 0 1.224-.231 1.687-.615l4.446 2.525a2.778 2.778 0 00-.136.84c0 1.51 1.211 2.75 2.689 2.75 1.477 0 2.688-1.24 2.688-2.75 0-1.512-1.21-2.75-2.688-2.75-.742 0-1.419.317-1.907.82l-4.323-2.46a2.763 2.763 0 000-2.221l4.317-2.459c.488.506 1.168.82 1.913.82 1.477 0 2.688-1.239 2.688-2.75s-1.21-2.75-2.688-2.75z"
2081
- }));
2082
- };
2083
- ShareIcon.propTypes = {
2084
- color: PropTypes__default["default"].string
2085
- };
2086
-
2087
- var _styleModuleImportMap$3 = {
2088
- "./social-share-template.m.css": {
2089
- "desktop-view": "social-share-template-m_desktop-view__3TmkO",
2090
- "tablet-view": "social-share-template-m_tablet-view__kATzi",
2091
- "wrapper": "social-share-template-m_wrapper__1wXin",
2092
- "horizontal": "social-share-template-m_horizontal__1c9Kt",
2093
- "vertical": "social-share-template-m_vertical__VU5JY",
2094
- "light": "social-share-template-m_light__3-V_k",
2095
- "dark": "social-share-template-m_dark__1lmTM",
2096
- "icon": "social-share-template-m_icon__1Mnu5",
2097
- "open": "social-share-template-m_open__3xObA",
2098
- "popup-wrapper": "social-share-template-m_popup-wrapper__1Zv3e",
2099
- "popup-open": "social-share-template-m_popup-open__21UNo",
2100
- "overlay": "social-share-template-m_overlay__1nBp-",
2101
- "tablet-view-popup": "social-share-template-m_tablet-view-popup__1hXU9"
2102
- }
2103
- };
2104
-
2105
- var ShareItem = function ShareItem(_ref) {
2106
- var name = _ref.name,
2107
- url = _ref.url,
2108
- icon = _ref.icon,
2109
- dataTestId = _ref.dataTestId;
2110
- return url ? /*#__PURE__*/React__default["default"].createElement("li", {
2111
- "data-testid": dataTestId,
2112
- className: "social-share-template-m_icon__1Mnu5"
2113
- }, /*#__PURE__*/React__default["default"].createElement("a", {
2114
- href: url,
2115
- target: "_blank",
2116
- rel: "noopener noreferrer",
2117
- "data-share-icon": name,
2118
- "aria-label": "share-icon"
2119
- }, icon)) : null;
2120
- };
2121
-
2122
- ShareItem.propTypes = {
2123
- name: PropTypes__default["default"].string,
2124
- url: PropTypes__default["default"].string,
2125
- icon: PropTypes__default["default"].node,
2126
- dataTestId: PropTypes__default["default"].string
2127
- };
2128
-
2129
- function getActionIcon(open, color) {
2130
- if (!open) return /*#__PURE__*/React__default["default"].createElement(ShareIcon, {
2131
- color: color
2132
- });
2133
- return /*#__PURE__*/React__default["default"].createElement(CloseIcon, {
2134
- color: color
2135
- });
2136
- }
2137
-
2138
- var SocialShareTemplate = function SocialShareTemplate(props) {
2139
- var _props$fbUrl = props.fbUrl,
2140
- fbUrl = _props$fbUrl === void 0 ? "" : _props$fbUrl,
2141
- _props$twitterUrl = props.twitterUrl,
2142
- twitterUrl = _props$twitterUrl === void 0 ? "" : _props$twitterUrl,
2143
- _props$linkedinUrl = props.linkedinUrl,
2144
- linkedinUrl = _props$linkedinUrl === void 0 ? "" : _props$linkedinUrl,
2145
- _props$whatsappUrl = props.whatsappUrl,
2146
- whatsappUrl = _props$whatsappUrl === void 0 ? "" : _props$whatsappUrl,
2147
- _props$vertical = props.vertical,
2148
- vertical = _props$vertical === void 0 ? false : _props$vertical,
2149
- theme = props.theme,
2150
- _props$iconType = props.iconType,
2151
- iconType = _props$iconType === void 0 ? "plain-color-svg" : _props$iconType,
2152
- _props$open = props.open,
2153
- open = _props$open === void 0 ? false : _props$open;
2154
- if (!fbUrl && !twitterUrl && !linkedinUrl && !whatsappUrl) return null;
2155
- var iconShade = getTextColor(theme);
2156
- var iconColor = iconShade === "dark" ? "#000000" : "#ffffff";
2157
- var options = {
2158
- fbUrl: fbUrl,
2159
- twitterUrl: twitterUrl,
2160
- linkedinUrl: linkedinUrl,
2161
- whatsappUrl: whatsappUrl,
2162
- iconColor: iconColor,
2163
- iconType: iconType
2164
- };
2165
- var iconsList = socialShareData(options);
2166
-
2167
- var _useState = React.useState(open),
2168
- _useState2 = _slicedToArray__default["default"](_useState, 2),
2169
- isOpen = _useState2[0],
2170
- setIsOpen = _useState2[1];
2171
-
2172
- var verticalShare = vertical ? "vertical" : "horizontal";
2173
- React.useEffect(function () {
2174
- return setIsOpen(open);
2175
- }, [open]);
2176
-
2177
- var shareIcon = function shareIcon() {
2178
- return /*#__PURE__*/React__default["default"].createElement("li", {
2179
- className: "social-share-template-m_icon__1Mnu5",
2180
- key: "horizontal-0"
2181
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2182
- onClick: clickHandler
2183
- }, getActionIcon(isOpen, iconColor)));
2184
- };
2185
-
2186
- var clickHandler = function clickHandler() {
2187
- setIsOpen(!isOpen);
2188
- };
2189
-
2190
- var popUpWrapper = function popUpWrapper() {
2191
- return /*#__PURE__*/React__default["default"].createElement("div", {
2192
- className: "social-share-template-m_tablet-view__kATzi"
2193
- }, !isOpen && /*#__PURE__*/React__default["default"].createElement("ul", {
2194
- className: _getClassName__default["default"]("wrapper ".concat(isOpen ? "open" : ""), _styleModuleImportMap$3)
2195
- }, shareIcon()), isOpen && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
2196
- className: "social-share-template-m_overlay__1nBp-",
2197
- onClick: clickHandler
2198
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2199
- className: "arr--popup " + _getClassName__default["default"]("popup-wrapper ".concat(isOpen ? "popup-open" : ""), _styleModuleImportMap$3)
2200
- }, /*#__PURE__*/React__default["default"].createElement(SocialSharePopup, {
2201
- fbUrl: fbUrl,
2202
- twitterUrl: twitterUrl,
2203
- linkedinUrl: linkedinUrl,
2204
- whatsappUrl: whatsappUrl,
2205
- iconType: iconType,
2206
- theme: theme,
2207
- closePopup: function closePopup() {
2208
- setIsOpen(false);
2209
- }
2210
- })))));
2211
- };
2212
-
2213
- var popupStyle = !isOpen && vertical ? "tablet-view-popup" : "";
2214
- return /*#__PURE__*/React__default["default"].createElement("div", {
2215
- "data-test-id": verticalShare,
2216
- className: "arr--share " + _getClassName__default["default"]("".concat(iconShade, " ").concat(verticalShare, " ").concat(popupStyle), _styleModuleImportMap$3)
2217
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2218
- className: "social-share-template-m_desktop-view__3TmkO"
2219
- }, /*#__PURE__*/React__default["default"].createElement("ul", {
2220
- "data-test-id": lodash.camelCase(iconType),
2221
- className: "desktop-share-wrapper " + _getClassName__default["default"]("wrapper ".concat(isOpen ? "open" : ""), _styleModuleImportMap$3)
2222
- }, shareIcon(), iconsList.map(function (iconData, index) {
2223
- return /*#__PURE__*/React__default["default"].createElement(ShareItem, _extends__default["default"]({}, iconData, {
2224
- key: iconData.name,
2225
- dataTestId: "card-share-".concat(index)
2226
- }));
2227
- }))), popUpWrapper());
2228
- };
2229
- SocialShareTemplate.propTypes = {
2230
- fbUrl: PropTypes__default["default"].string,
2231
- twitterUrl: PropTypes__default["default"].string,
2232
- linkedinUrl: PropTypes__default["default"].string,
2233
- whatsappUrl: PropTypes__default["default"].string,
2234
- vertical: PropTypes__default["default"].bool,
2235
- theme: PropTypes__default["default"].string,
2236
- iconType: PropTypes__default["default"].string,
2237
- open: PropTypes__default["default"]["boolean"]
2238
- };
2239
-
2240
- var LeftArrow = function LeftArrow(_ref) {
2241
- var _ref$color = _ref.color,
2242
- color = _ref$color === void 0 ? "#333" : _ref$color;
2243
- return /*#__PURE__*/React__default["default"].createElement("svg", {
2244
- xmlns: "http://www.w3.org/2000/svg",
2245
- width: "16",
2246
- height: "16",
2247
- viewBox: "0 0 10 16"
2248
- }, /*#__PURE__*/React__default["default"].createElement("g", {
2249
- fill: "none",
2250
- fillRule: "nonzero"
2251
- }, /*#__PURE__*/React__default["default"].createElement("path", {
2252
- d: "M17 20H-7V-4h24z",
2253
- opacity: ".384"
2254
- }), /*#__PURE__*/React__default["default"].createElement("path", {
2255
- stroke: color,
2256
- d: "M9 16L1 8l8-8"
2257
- })));
2258
- };
2259
- LeftArrow.propTypes = {
2260
- color: PropTypes__default["default"].string
2261
- };
2262
-
2263
- var RightArrow = function RightArrow(_ref) {
2264
- var _ref$color = _ref.color,
2265
- color = _ref$color === void 0 ? "#333" : _ref$color;
2266
- return /*#__PURE__*/React__default["default"].createElement("svg", {
2267
- xmlns: "http://www.w3.org/2000/svg",
2268
- width: "16",
2269
- height: "16",
2270
- viewBox: "0 0 10 16"
2271
- }, /*#__PURE__*/React__default["default"].createElement("g", {
2272
- fill: "none",
2273
- fillRule: "nonzero"
2274
- }, /*#__PURE__*/React__default["default"].createElement("path", {
2275
- d: "M-7-4h24v24H-7z",
2276
- opacity: ".384"
2277
- }), /*#__PURE__*/React__default["default"].createElement("path", {
2278
- stroke: color,
2279
- d: "M1 0l8 8-8 8"
2280
- })));
2281
- };
2282
- RightArrow.propTypes = {
2283
- color: PropTypes__default["default"].string
2284
- };
2285
-
2286
- var _styleModuleImportMap$2 = {
2287
- "./slider-arrow.m.css": {
2288
- "arrow": "slider-arrow-m_arrow__1eBUU",
2289
- "left-arrow-dark": "slider-arrow-m_left-arrow-dark__3mTJS",
2290
- "right-arrow-dark": "slider-arrow-m_right-arrow-dark__3hWZe",
2291
- "left-arrow-light": "slider-arrow-m_left-arrow-light__2ipUK",
2292
- "right-arrow-light": "slider-arrow-m_right-arrow-light__3omMU",
2293
- "left-arrow-ltr": "slider-arrow-m_left-arrow-ltr__1ngNF",
2294
- "right-arrow-ltr": "slider-arrow-m_right-arrow-ltr__2svWX",
2295
- "left-arrow-rtl": "slider-arrow-m_left-arrow-rtl__2ynyn",
2296
- "right-arrow-rtl": "slider-arrow-m_right-arrow-rtl__1GjPz"
2297
- }
2298
- };
2299
- var SliderArrow = function SliderArrow(_ref) {
2300
- var selectedIndex = _ref.selectedIndex,
2301
- previousClick = _ref.previousClick,
2302
- nextClick = _ref.nextClick,
2303
- noOfItems = _ref.noOfItems,
2304
- perView = _ref.perView,
2305
- languageDirection = _ref.languageDirection;
2306
-
2307
- if (noOfItems < 1) {
2308
- return null;
2309
- }
2310
-
2311
- var config = useStateValue() || {};
2312
- var textColor = getTextColor(config.theme);
2313
-
2314
- var rightArrowView = function rightArrowView() {
2315
- if (selectedIndex >= noOfItems - perView) return false;
2316
- return true;
2317
- };
2318
-
2319
- var getLeftArrowClassName = languageDirection === "rtl" ? "left-arrow-rtl" : "left-arrow-ltr";
2320
- var getRightArrowClassName = languageDirection === "rtl" ? "right-arrow-rtl" : "right-arrow-ltr";
2321
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, selectedIndex !== 0 ? /*#__PURE__*/React__default["default"].createElement("button", {
2322
- onClick: previousClick,
2323
- className: ("left-arrow ".concat(getLeftArrowClassName) ? "left-arrow ".concat(getLeftArrowClassName) + " " : "") + _getClassName__default["default"]("arrow left-arrow-".concat(textColor, " ").concat(getLeftArrowClassName), _styleModuleImportMap$2)
2324
- }, /*#__PURE__*/React__default["default"].createElement(LeftArrow, {
2325
- color: textColor === "dark" ? "#fff" : "#333"
2326
- })) : null, selectedIndex < noOfItems - 1 && rightArrowView() ? /*#__PURE__*/React__default["default"].createElement("button", {
2327
- onClick: nextClick,
2328
- className: ("right-arrow ".concat(getRightArrowClassName) ? "right-arrow ".concat(getRightArrowClassName) + " " : "") + _getClassName__default["default"]("arrow right-arrow-".concat(textColor, " ").concat(getRightArrowClassName), _styleModuleImportMap$2)
2329
- }, /*#__PURE__*/React__default["default"].createElement(RightArrow, {
2330
- color: textColor === "dark" ? "#fff" : "#333"
2331
- })) : null);
2332
- };
2333
- SliderArrow.propTypes = {
2334
- noOfItems: PropTypes.number,
2335
- perView: PropTypes.number,
2336
- slideIndicator: PropTypes.string,
2337
- previousClick: PropTypes.func,
2338
- nextClick: PropTypes.func,
2339
- selectedIndex: PropTypes.number,
2340
- languageDirection: PropTypes.string
2341
- };
2342
-
2343
- var _styleModuleImportMap$1 = {
2344
- "./slider-indicator.m.css": {
2345
- "indicators": "slider-indicator-m_indicators__3MNXc",
2346
- "indicator": "slider-indicator-m_indicator__gTv3x",
2347
- "indicator-button": "slider-indicator-m_indicator-button__1e82r",
2348
- "indicator-dots": "slider-indicator-m_indicator-dots__2TR3H",
2349
- "indicator-dots-dark": "slider-indicator-m_indicator-dots-dark__sGrev",
2350
- "indicator-dots-light": "slider-indicator-m_indicator-dots-light__2nPn-",
2351
- "indicator-dashes": "slider-indicator-m_indicator-dashes__DyNCE",
2352
- "indicator-dashes-dark": "slider-indicator-m_indicator-dashes-dark__VrqJI",
2353
- "indicator-dashes-light": "slider-indicator-m_indicator-dashes-light__34ESx"
2354
- }
2355
- };
2356
- var SliderIndicator = function SliderIndicator(_ref) {
2357
- var indicatorItems = _ref.indicatorItems,
2358
- indicatorClick = _ref.indicatorClick,
2359
- selectedIndex = _ref.selectedIndex,
2360
- indicatorType = _ref.indicatorType;
2361
-
2362
- if (indicatorItems.length < 1) {
2363
- return null;
2364
- }
2365
-
2366
- var config = useStateValue() || {};
2367
- var textColor = getTextColor(config.theme);
2368
- return /*#__PURE__*/React__default["default"].createElement("ul", {
2369
- className: "slider-indicators slider-indicator-m_indicators__3MNXc"
2370
- }, indicatorItems.map(function (_, index) {
2371
- return /*#__PURE__*/React__default["default"].createElement("li", {
2372
- key: "slider-".concat(index),
2373
- className: "indicator slider-indicator-m_indicator__gTv3x",
2374
- onClick: function onClick(e) {
2375
- return indicatorClick(e, index);
2376
- }
2377
- }, /*#__PURE__*/React__default["default"].createElement("button", {
2378
- "aria-pressed": selectedIndex === index ? "true" : "false",
2379
- className: ("indicator-button indicator-".concat(indicatorType) ? "indicator-button indicator-".concat(indicatorType) + " " : "") + _getClassName__default["default"]("indicator-button indicator-".concat(indicatorType, " indicator-").concat(indicatorType, "-").concat(textColor), _styleModuleImportMap$1)
2380
- }));
2381
- }));
2382
- };
2383
- SliderIndicator.propTypes = {
2384
- indicatorItems: PropTypes.array,
2385
- perView: PropTypes.number,
2386
- indicatorType: PropTypes.string,
2387
- indicatorClick: PropTypes.func,
2388
- selectedIndex: PropTypes.number
2389
- };
2390
-
2391
- var smoothScroll = function smoothScroll(node, topOrLeft, horizontal) {
2392
- var _node$scrollTo;
2393
-
2394
- node.scrollTo((_node$scrollTo = {}, _defineProperty__default["default"](_node$scrollTo, horizontal ? "left" : "top", topOrLeft), _defineProperty__default["default"](_node$scrollTo, "behavior", "smooth"), _node$scrollTo));
2395
- };
2396
-
2397
- var updateItemSelection = function updateItemSelection(index, languageDirection, scroller, noOfItems) {
2398
- var getScrollValue = Math.floor(scroller.current.scrollWidth * (index / noOfItems));
2399
- var scrollValue = languageDirection === "rtl" ? getScrollValue * -1 : getScrollValue;
2400
- smoothScroll(scroller.current, scrollValue, true);
2401
- };
2402
-
2403
- var setIndicatorValue = function setIndicatorValue(func, ms) {
2404
- var timeout;
2405
- return function () {
2406
- clearTimeout(timeout);
2407
- timeout = setTimeout(function () {
2408
- timeout = null;
2409
- func();
2410
- }, ms);
2411
- };
2412
- };
2413
-
2414
- var ScrollSnap = function ScrollSnap(_ref) {
2415
- var children = _ref.children,
2416
- isArrow = _ref.isArrow,
2417
- interval = _ref.interval,
2418
- isInfinite = _ref.isInfinite,
2419
- pauseOnHover = _ref.pauseOnHover,
2420
- perView = _ref.perView,
2421
- slideIndicator = _ref.slideIndicator;
2422
-
2423
- var _useState = React.useState(0),
2424
- _useState2 = _slicedToArray__default["default"](_useState, 2),
2425
- selectedIndex = _useState2[0],
2426
- setSelectedIndex = _useState2[1];
2427
-
2428
- var _useState3 = React.useState(false),
2429
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
2430
- autoScroll = _useState4[0],
2431
- setAutoScroll = _useState4[1];
2432
-
2433
- var languageDirection = reactRedux.useSelector(function (state) {
2434
- return lodash.get(state, ["qt", "config", "language", "direction"], "ltr");
2435
- });
2436
- var noOfItems = children ? children.length : 0;
2437
- var scroller = React.useRef(null);
2438
- var numberOfIndicatorsToShow = children.length - (perView - 1);
2439
- var indicatorItems = children.slice(0, numberOfIndicatorsToShow);
2440
- React.useEffect(function () {
2441
- if (scroller.current) {
2442
- scroller.current.addEventListener("scroll", setIndicatorValue(function () {
2443
- var value = Math.round(scroller.current.scrollLeft / scroller.current.scrollWidth * noOfItems);
2444
- setSelectedIndex(Math.abs(value));
2445
- }, 150)); // For Default Selection if selectedIndex is not 0 then manually select it
2446
-
2447
- if (selectedIndex !== 0) {
2448
- updateItemSelection(selectedIndex);
2449
- }
2450
- }
2451
-
2452
- return function () {
2453
- scroller.current.removeEventListener("scroll", setIndicatorValue);
2454
- };
2455
- }, []); // Infinite scroll
2456
-
2457
- React.useEffect(function () {
2458
- if (isInfinite && !autoScroll) {
2459
- var timer = setInterval(function () {
2460
- infiniteScroll();
2461
- }, interval);
2462
- return function () {
2463
- clearInterval(timer);
2464
- };
2465
- }
2466
- }, [isInfinite, autoScroll]);
2467
-
2468
- var infiniteScroll = function infiniteScroll() {
2469
- setSelectedIndex(function (value) {
2470
- var newIndex = value === noOfItems - perView ? 0 : value + 1;
2471
- updateItemSelection(newIndex, languageDirection, scroller, noOfItems);
2472
- return newIndex;
2473
- });
2474
- };
2475
-
2476
- var pauseAutoPlay = function pauseAutoPlay() {
2477
- pauseOnHover && setAutoScroll(!autoScroll);
2478
- };
2479
-
2480
- var indicatorClick = function indicatorClick(e, newIndex) {
2481
- e.preventDefault();
2482
- e.stopPropagation();
2483
- setSelectedIndex(newIndex);
2484
- updateItemSelection(newIndex, languageDirection, scroller, noOfItems);
2485
- };
2486
-
2487
- var nextClick = function nextClick(e) {
2488
- e.preventDefault();
2489
- e.stopPropagation();
2490
-
2491
- if (selectedIndex < noOfItems) {
2492
- var newIndex = selectedIndex + 1;
2493
- setSelectedIndex(newIndex);
2494
- updateItemSelection(newIndex, languageDirection, scroller, noOfItems);
2495
- }
2496
- };
2497
-
2498
- var previousClick = function previousClick(e) {
2499
- e.preventDefault();
2500
- e.stopPropagation();
2501
- var newIndex = selectedIndex - 1;
2502
- setSelectedIndex(newIndex);
2503
- updateItemSelection(newIndex, languageDirection, scroller, noOfItems);
2504
- };
2505
-
2506
- return /*#__PURE__*/React__default["default"].createElement("div", {
2507
- className: "scroll-snap-container"
2508
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2509
- className: "scroll-snap-wrapper scroll-snap-m_wrapper__1Rz9v",
2510
- onMouseEnter: pauseAutoPlay,
2511
- onMouseLeave: pauseAutoPlay
2512
- }, /*#__PURE__*/React__default["default"].createElement("div", {
2513
- ref: scroller,
2514
- className: "scroll-snap-carousel scroll-snap-m_carousel__2m3cg"
2515
- }, children), isArrow && /*#__PURE__*/React__default["default"].createElement(SliderArrow, {
2516
- noOfItems: noOfItems,
2517
- perView: perView,
2518
- previousClick: previousClick,
2519
- nextClick: nextClick,
2520
- selectedIndex: selectedIndex,
2521
- languageDirection: languageDirection
2522
- })), children.length > perView && slideIndicator !== "none" && /*#__PURE__*/React__default["default"].createElement(SliderIndicator, {
2523
- indicatorItems: indicatorItems,
2524
- indicatorClick: indicatorClick,
2525
- selectedIndex: selectedIndex,
2526
- indicatorType: slideIndicator
2527
- }));
2528
- };
2529
- ScrollSnap.defaultProps = {
2530
- isArrow: true,
2531
- isInfinite: false,
2532
- interval: 4000,
2533
- pauseOnHover: true,
2534
- perView: 1,
2535
- slideIndicator: "dots"
2536
- };
2537
- ScrollSnap.propTypes = {
2538
- children: PropTypes.array.isRequired,
2539
- isArrow: PropTypes.bool,
2540
- isInfinite: PropTypes.bool,
2541
- interval: PropTypes.number,
2542
- pauseOnHover: PropTypes.bool,
2543
- perView: PropTypes.number,
2544
- slideIndicator: PropTypes.string
2545
- };
2546
-
2547
- var ImageSlideshowBase = function ImageSlideshowBase(props) {
2548
- if (!props.element) return null;
2549
-
2550
- var Slide = function Slide(image, index, onClickHandler) {
2551
- var id = image.id,
2552
- imageS3Key = image["image-s3-key"],
2553
- metadata = image.metadata,
2554
- title = image.title,
2555
- _image$hyperlink = image.hyperlink,
2556
- hyperlink = _image$hyperlink === void 0 ? "" : _image$hyperlink;
2557
- return /*#__PURE__*/React__default["default"].createElement("div", {
2558
- className: "image-slideshow-m_slide__3URCC",
2559
- key: id
2560
- }, /*#__PURE__*/React__default["default"].createElement("figure", {
2561
- key: id,
2562
- className: "image-slideshow-m_image-container__2VTEK",
2563
- onClick: function onClick() {
2564
- return onClickHandler(index);
2565
- }
2566
- }, /*#__PURE__*/React__default["default"].createElement(components.LazyLoadImages, {
2567
- margin: "0px"
2568
- }, /*#__PURE__*/React__default["default"].createElement(components.ResponsiveImage, {
2569
- slug: imageS3Key,
2570
- metadata: metadata,
2571
- "aspect-ratio": [16, 9],
2572
- defaultWidth: 480,
2573
- widths: [250, 480, 640],
2574
- imgParams: {
2575
- auto: ["format", "compress"]
2576
- },
2577
- className: "image-slideshow-m_image__1p1fO",
2578
- alt: title
2579
- }))), hyperlink && /*#__PURE__*/React__default["default"].createElement(HyperLink, {
2580
- hyperLink: hyperlink
2581
- }), /*#__PURE__*/React__default["default"].createElement("p", {
2582
- className: "image-slideshow-m_caption__mWpmc",
2583
- dangerouslySetInnerHTML: {
2584
- __html: title
2585
- }
2586
- }));
2587
- };
2588
-
2589
- var ImageSlideshowTemplate = function ImageSlideshowTemplate(_ref) {
2590
- var onClickHandler = _ref.onClickHandler;
2591
- var storyElements = lodash.get(props, ["element", "story-elements"], []);
2592
- return /*#__PURE__*/React__default["default"].createElement("div", {
2593
- className: "arr--image-slideshow-element image-slideshow-m_slideshow__3jRFX",
2594
- "data-test-id": "image-slideshow"
2595
- }, /*#__PURE__*/React__default["default"].createElement(ScrollSnap, {
2596
- slideIndicator: "none"
2597
- }, storyElements.map(function (image, index) {
2598
- return Slide(image, index, onClickHandler);
2599
- })));
2600
- };
2601
-
2602
- ImageSlideshowTemplate.propTypes = {
2603
- onClickHandler: PropTypes__default["default"].func
2604
- };
2605
- return /*#__PURE__*/React__default["default"].createElement(FullScreenImages, {
2606
- template: ImageSlideshowTemplate,
2607
- element: props.element
2608
- });
2609
- };
2610
-
2611
- ImageSlideshowBase.propTypes = {
2612
- element: PropTypes__default["default"].shape({
2613
- "story-elements": PropTypes__default["default"].array
2614
- }),
2615
- story: shapeStory
2616
- };
2617
- var ImageSlideshow = withElementWrapper(ImageSlideshowBase);
2618
-
2619
- var _styleModuleImportMap = {
2620
- "./story-element-card.m.css": {
2621
- "element-container": "story-element-card-m_element-container__1ZeJL",
2622
- "live-blog": "story-element-card-m_live-blog__JSpmI",
2623
- "image-share": "story-element-card-m_image-share__2V7dB",
2624
- "story-card": "story-element-card-m_story-card__H2VYl",
2625
- "table": "story-element-card-m_table__34F2c",
2626
- "dark": "story-element-card-m_dark__1AX15",
2627
- "light": "story-element-card-m_light__3T2uA"
2628
- }
2629
- };
2630
-
2631
- var getElementType = function getElementType(element) {
2632
- return element["subtype"] || element["type"] || "";
2633
- };
2634
-
2635
- var getElement = function getElement(story, element) {
2636
- var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2637
- var AdComponent = arguments.length > 3 ? arguments[3] : undefined;
2638
- var WidgetComp = arguments.length > 4 ? arguments[4] : undefined;
2639
- var index = arguments.length > 5 ? arguments[5] : undefined;
2640
- var cardId = arguments.length > 6 ? arguments[6] : undefined;
2641
- var _config$text = config.text,
2642
- text = _config$text === void 0 ? {} : _config$text,
2643
- _config$summary = config.summary,
2644
- summary = _config$summary === void 0 ? {} : _config$summary,
2645
- _config$blurb = config.blurb,
2646
- blurb = _config$blurb === void 0 ? {} : _config$blurb,
2647
- _config$blockquote = config.blockquote,
2648
- blockquote = _config$blockquote === void 0 ? {} : _config$blockquote,
2649
- _config$quote = config.quote,
2650
- quote = _config$quote === void 0 ? {} : _config$quote,
2651
- _config$alsoRead = config["also-read"],
2652
- alsoRead = _config$alsoRead === void 0 ? {} : _config$alsoRead,
2653
- _config$qAndA = config["q-and-a"],
2654
- qaElement = _config$qAndA === void 0 ? {} : _config$qAndA,
2655
- _config$question = config.question,
2656
- questionElement = _config$question === void 0 ? {} : _config$question,
2657
- _config$answer = config.answer,
2658
- answerElement = _config$answer === void 0 ? {} : _config$answer,
2659
- _config$references = config.references,
2660
- references = _config$references === void 0 ? {} : _config$references;
2661
- var elementType = getElementType(element);
2662
-
2663
- if (elementType === "image-gallery") {
2664
- elementType = element.metadata["type"];
2665
- }
2666
-
2667
- var storyElementId = lodash.get(element, ["id"]);
2668
-
2669
- switch (elementType) {
2670
- case "ad":
2671
- return /*#__PURE__*/React__default["default"].createElement(AdComponent, _extends__default["default"]({}, element, {
2672
- id: "ad-".concat(index, "_").concat(cardId)
2673
- }));
2674
-
2675
- case "widget":
2676
- return /*#__PURE__*/React__default["default"].createElement(WidgetComp, {
2677
- widgetCode: element.config.customCode,
2678
- id: "widget-".concat(index, "_").concat(cardId)
2679
- });
2680
-
2681
- case "text":
2682
- case "cta":
2683
- var _text$css = text.css;
2684
- _text$css = _text$css === void 0 ? {} : _text$css;
2685
- var _text$css$textColor = _text$css.textColor,
2686
- textElementColor = _text$css$textColor === void 0 ? "#000" : _text$css$textColor,
2687
- _text$css$hyperlinkCo = _text$css.hyperlinkColor,
2688
- hyperlinkColor = _text$css$hyperlinkCo === void 0 ? "#2f81cd" : _text$css$hyperlinkCo;
2689
- return /*#__PURE__*/React__default["default"].createElement(Text, {
2690
- element: element,
2691
- css: {
2692
- textColor: textElementColor,
2693
- hyperlinkColor: hyperlinkColor
2694
- }
2695
- });
2696
-
2697
- case "summary":
2698
- var _summary$template = summary.template,
2699
- summaryTemplate = _summary$template === void 0 ? "" : _summary$template,
2700
- _summary$css = summary.css;
2701
- _summary$css = _summary$css === void 0 ? {} : _summary$css;
2702
- var _summary$css$headerBg = _summary$css.headerBgColor,
2703
- headerBgColor = _summary$css$headerBg === void 0 ? "" : _summary$css$headerBg,
2704
- _summary$opts = summary.opts;
2705
- _summary$opts = _summary$opts === void 0 ? {} : _summary$opts;
2706
- var _summary$opts$headlin = _summary$opts.headline,
2707
- headline = _summary$opts$headlin === void 0 ? "" : _summary$opts$headlin,
2708
- _summary$opts$hideHea = _summary$opts.hideHeadline,
2709
- hideHeadline = _summary$opts$hideHea === void 0 ? false : _summary$opts$hideHea;
2710
- return /*#__PURE__*/React__default["default"].createElement(Summary, {
2711
- element: element,
2712
- template: summaryTemplate,
2713
- opts: {
2714
- headline: headline || "Summary",
2715
- hideHeadline: hideHeadline
2716
- },
2717
- css: {
2718
- headerBgColor: headerBgColor || ""
2719
- }
2720
- });
2721
-
2722
- case "blurb":
2723
- var _blurb$template = blurb.template,
2724
- blurbTemplate = _blurb$template === void 0 ? "default" : _blurb$template,
2725
- _blurb$css = blurb.css;
2726
- _blurb$css = _blurb$css === void 0 ? {} : _blurb$css;
2727
- var _blurb$css$borderColo = _blurb$css.borderColor,
2728
- borderColor = _blurb$css$borderColo === void 0 ? "#2f81cd" : _blurb$css$borderColo;
2729
- return /*#__PURE__*/React__default["default"].createElement(Blurb, {
2730
- element: element,
2731
- template: blurbTemplate,
2732
- css: {
2733
- borderColor: borderColor
2734
- }
2735
- });
2736
-
2737
- case "blockquote":
2738
- var _blockquote$template = blockquote.template,
2739
- blockQuoteTemplate = _blockquote$template === void 0 ? "default" : _blockquote$template,
2740
- _blockquote$css = blockquote.css;
2741
- _blockquote$css = _blockquote$css === void 0 ? {} : _blockquote$css;
2742
- var _blockquote$css$iconT = _blockquote$css.iconType,
2743
- iconType = _blockquote$css$iconT === void 0 ? "edgeIcon" : _blockquote$css$iconT,
2744
- _blockquote$css$block = _blockquote$css.blockQuoteColor,
2745
- blockQuoteColor = _blockquote$css$block === void 0 ? "#2f81cd" : _blockquote$css$block,
2746
- _blockquote$css$backg = _blockquote$css.backgroundShade,
2747
- backgroundShade = _blockquote$css$backg === void 0 ? "" : _blockquote$css$backg;
2748
- return /*#__PURE__*/React__default["default"].createElement(BlockQuote, {
2749
- element: element,
2750
- template: blockQuoteTemplate,
2751
- css: {
2752
- iconType: iconType,
2753
- blockQuoteColor: blockQuoteColor,
2754
- backgroundShade: backgroundShade
2755
- }
2756
- });
2757
-
2758
- case "quote":
2759
- var _quote$template = quote.template,
2760
- quoteTemplate = _quote$template === void 0 ? "borderNone" : _quote$template,
2761
- _quote$css = quote.css;
2762
- _quote$css = _quote$css === void 0 ? {} : _quote$css;
2763
- var _quote$css$borderColo = _quote$css.borderColor,
2764
- quoteBorderColor = _quote$css$borderColo === void 0 ? "#2f81cd" : _quote$css$borderColo;
2765
- return /*#__PURE__*/React__default["default"].createElement(Quote, {
2766
- element: element,
2767
- template: quoteTemplate,
2768
- css: {
2769
- borderColor: quoteBorderColor
2770
- }
2771
- });
2772
-
2773
- case "bigfact":
2774
- return /*#__PURE__*/React__default["default"].createElement(BigFact, {
2775
- element: element
2776
- });
2777
-
2778
- case "also-read":
2779
- var _alsoRead$template = alsoRead.template,
2780
- alsoReadTemplate = _alsoRead$template === void 0 ? "default" : _alsoRead$template,
2781
- _alsoRead$css = alsoRead.css;
2782
- _alsoRead$css = _alsoRead$css === void 0 ? {} : _alsoRead$css;
2783
- var _alsoRead$css$textCol = _alsoRead$css.textColor,
2784
- textColor = _alsoRead$css$textCol === void 0 ? "#000" : _alsoRead$css$textCol,
2785
- _alsoRead$opts = alsoRead.opts;
2786
- _alsoRead$opts = _alsoRead$opts === void 0 ? {} : _alsoRead$opts;
2787
- var _alsoRead$opts$title = _alsoRead$opts.title,
2788
- title = _alsoRead$opts$title === void 0 ? "" : _alsoRead$opts$title;
2789
- return /*#__PURE__*/React__default["default"].createElement(AlsoRead, {
2790
- story: story,
2791
- element: element,
2792
- template: alsoReadTemplate,
2793
- css: {
2794
- textColor: textColor
2795
- },
2796
- opts: {
2797
- title: title
2798
- }
2799
- });
2800
-
2801
- case "image":
2802
- return /*#__PURE__*/React__default["default"].createElement(Image, {
2803
- element: element
2804
- });
2805
-
2806
- case "q-and-a":
2807
- var _qaElement$template = qaElement.template,
2808
- qaTemplate = _qaElement$template === void 0 ? "default" : _qaElement$template,
2809
- _qaElement$css = qaElement.css;
2810
- _qaElement$css = _qaElement$css === void 0 ? {} : _qaElement$css;
2811
- var _qaElement$css$iconCo = _qaElement$css.iconColor,
2812
- iconColor = _qaElement$css$iconCo === void 0 ? "" : _qaElement$css$iconCo,
2813
- _qaElement$opts = qaElement.opts;
2814
- _qaElement$opts = _qaElement$opts === void 0 ? {} : _qaElement$opts;
2815
- var _qaElement$opts$defau = _qaElement$opts.defaultIconType,
2816
- defaultIconType = _qaElement$opts$defau === void 0 ? "edge" : _qaElement$opts$defau;
2817
- return /*#__PURE__*/React__default["default"].createElement(QuestionAnswer, {
2818
- element: element,
2819
- opts: {
2820
- type: "q-and-a",
2821
- defaultIconType: defaultIconType
2822
- },
2823
- template: qaTemplate,
2824
- css: {
2825
- iconColor: iconColor
2826
- }
2827
- });
2828
-
2829
- case "question":
2830
- var _questionElement$temp = questionElement.template,
2831
- questionTemplate = _questionElement$temp === void 0 ? "default" : _questionElement$temp,
2832
- _questionElement$css = questionElement.css;
2833
- _questionElement$css = _questionElement$css === void 0 ? {} : _questionElement$css;
2834
- var _questionElement$css$ = _questionElement$css.questionIconColor,
2835
- questionIconColor = _questionElement$css$ === void 0 ? "" : _questionElement$css$,
2836
- _questionElement$opts = questionElement.opts;
2837
- _questionElement$opts = _questionElement$opts === void 0 ? {} : _questionElement$opts;
2838
- var _questionElement$opts2 = _questionElement$opts.defaultQuestionIconType,
2839
- defaultQuestionIconType = _questionElement$opts2 === void 0 ? "edge" : _questionElement$opts2;
2840
- return /*#__PURE__*/React__default["default"].createElement(QuestionAnswer, {
2841
- element: element,
2842
- opts: {
2843
- type: "question",
2844
- defaultIconType: defaultQuestionIconType
2845
- },
2846
- template: questionTemplate,
2847
- css: {
2848
- iconColor: questionIconColor
2849
- }
2850
- });
2851
-
2852
- case "answer":
2853
- var _answerElement$templa = answerElement.template,
2854
- answerTemplate = _answerElement$templa === void 0 ? "default" : _answerElement$templa,
2855
- _answerElement$css = answerElement.css;
2856
- _answerElement$css = _answerElement$css === void 0 ? {} : _answerElement$css;
2857
- var _answerElement$css$an = _answerElement$css.answerIconColor,
2858
- answerIconColor = _answerElement$css$an === void 0 ? "" : _answerElement$css$an,
2859
- _answerElement$opts = answerElement.opts;
2860
- _answerElement$opts = _answerElement$opts === void 0 ? {} : _answerElement$opts;
2861
- var _answerElement$opts$d = _answerElement$opts.defaultAnswerIconType,
2862
- defaultAnswerIconType = _answerElement$opts$d === void 0 ? "edge" : _answerElement$opts$d;
2863
- return /*#__PURE__*/React__default["default"].createElement(QuestionAnswer, {
2864
- element: element,
2865
- opts: {
2866
- type: "answer",
2867
- defaultIconType: defaultAnswerIconType
2868
- },
2869
- template: answerTemplate,
2870
- css: {
2871
- iconColor: answerIconColor
2872
- }
2873
- });
2874
-
2875
- case "gallery":
2876
- return /*#__PURE__*/React__default["default"].createElement("div", {
2877
- className: "content-style",
2878
- id: "image-gallery-".concat(storyElementId)
2879
- }, /*#__PURE__*/React__default["default"].createElement(ImageGallery, {
2880
- element: element
2881
- }));
2882
-
2883
- case "slideshow":
2884
- return /*#__PURE__*/React__default["default"].createElement("div", {
2885
- className: "content-style",
2886
- id: "image-slideshow-".concat(storyElementId)
2887
- }, /*#__PURE__*/React__default["default"].createElement(ImageSlideshow, {
2888
- element: element
2889
- }));
2890
-
2891
- case "youtube-video":
2892
- case "dailymotion-video":
2893
- return /*#__PURE__*/React__default["default"].createElement("div", {
2894
- className: "content-style",
2895
- id: "video-".concat(storyElementId)
2896
- }, /*#__PURE__*/React__default["default"].createElement(Video, {
2897
- element: element,
2898
- story: story,
2899
- loadIframeOnClick: true
2900
- }));
2901
-
2902
- case "attachment":
2903
- return /*#__PURE__*/React__default["default"].createElement(Attachment, {
2904
- element: element
2905
- });
2906
-
2907
- case "tweet":
2908
- case "jsembed":
2909
- return /*#__PURE__*/React__default["default"].createElement("div", {
2910
- className: "content-style",
2911
- id: "jsembed-".concat(storyElementId)
2912
- }, /*#__PURE__*/React__default["default"].createElement(StoryElement, {
2913
- element: element
2914
- }));
2915
-
2916
- case "references":
2917
- var _references$opts = references.opts;
2918
- _references$opts = _references$opts === void 0 ? {} : _references$opts;
2919
- var _references$opts$show = _references$opts.showHeadline,
2920
- showHeadline = _references$opts$show === void 0 ? true : _references$opts$show,
2921
- _references$opts$head = _references$opts.headlineText,
2922
- headlineText = _references$opts$head === void 0 ? "" : _references$opts$head;
2923
- return /*#__PURE__*/React__default["default"].createElement(Reference, {
2924
- element: element,
2925
- opts: {
2926
- showHeadline: showHeadline,
2927
- headlineText: headlineText
2928
- }
2929
- });
2930
-
2931
- default:
2932
- return /*#__PURE__*/React__default["default"].createElement("div", {
2933
- className: "content-style",
2934
- id: "element-".concat(storyElementId)
2935
- }, /*#__PURE__*/React__default["default"].createElement(StoryElement, {
2936
- element: element,
2937
- story: story
2938
- }));
2939
- }
2940
- };
2941
-
2942
- var MainImageWrapper = function MainImageWrapper(_ref) {
2943
- var imageElement = _ref.imageElement,
2944
- story = _ref.story;
2945
- _ref.children;
2946
- var config = _ref.config,
2947
- card = _ref.card;
2948
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
2949
- style: {
2950
- backgroundColor: config.theme
2951
- }
2952
- }, /*#__PURE__*/React__default["default"].createElement(Image, {
2953
- element: imageElement,
2954
- caption: false
2955
- }), /*#__PURE__*/React__default["default"].createElement("div", {
2956
- className: "story-element-card-m_image-share__2V7dB"
2957
- }, /*#__PURE__*/React__default["default"].createElement(CaptionAttribution, {
2958
- element: imageElement,
2959
- config: config
2960
- }), /*#__PURE__*/React__default["default"].createElement(components.SocialShare, {
2961
- template: SocialShareTemplate,
2962
- title: story.headline,
2963
- theme: config.theme,
2964
- fullUrl: encodeURI("".concat(lodash.get(story, ["url"], ""), "?cardId=").concat(lodash.get(card, ["id"], -1)))
2965
- }))));
2966
- };
2967
-
2968
- MainImageWrapper.propTypes = {
2969
- story: PropTypes__default["default"].object,
2970
- imageElement: PropTypes__default["default"].object,
2971
- config: PropTypes__default["default"].object,
2972
- children: PropTypes__default["default"].node,
2973
- card: PropTypes__default["default"].shape({
2974
- id: PropTypes__default["default"].string
2975
- })
2976
- };
2977
- var StoryElementCard = function StoryElementCard(_ref2) {
2978
- var story = _ref2.story,
2979
- card = _ref2.card,
2980
- _ref2$heroVideoElemen = _ref2.heroVideoElementId,
2981
- heroVideoElementId = _ref2$heroVideoElemen === void 0 ? -1 : _ref2$heroVideoElemen,
2982
- config = _ref2.config,
2983
- isLive = _ref2.isLive,
2984
- theme = _ref2.theme,
2985
- adComponent = _ref2.adComponent,
2986
- widgetComp = _ref2.widgetComp;
2987
- var textColor = getTextColor(theme);
2988
- var isLiveBlog = isLive ? "live-blog" : "";
2989
- var shouldRunFBMobileVideoFix = true;
2990
- return /*#__PURE__*/React__default["default"].createElement("div", {
2991
- className: "arr--story-page-card-wrapper"
2992
- }, lodash.get(card, ["story-elements"], []).map(function (element, index) {
2993
- if (element.id === heroVideoElementId) return false;
2994
-
2995
- if (element.subtype && element.subtype === "facebook-post" && shouldRunFBMobileVideoFix) {
2996
- facebookMobileVideoResizeFix();
2997
- shouldRunFBMobileVideoFix = false;
2998
- }
2999
-
3000
- var tableStyle = element && element.subtype === "table" ? "table" : "";
3001
- var cardId = lodash.get(card, ["id"], "");
3002
- return /*#__PURE__*/React__default["default"].createElement("div", {
3003
- key: element.id,
3004
- className: "arr--element-container " + _getClassName__default["default"]("element-container ".concat(isLiveBlog, " ").concat(tableStyle, " ").concat(textColor), _styleModuleImportMap)
3005
- }, getElement(story, element, config, adComponent, widgetComp, index, cardId));
3006
- }));
3007
- };
3008
- StoryElementCard.propTypes = {
3009
- story: PropTypes__default["default"].object,
3010
- card: PropTypes__default["default"].array,
3011
- heroVideoElementId: PropTypes__default["default"].number,
3012
- config: PropTypes__default["default"].object,
3013
- isLive: PropTypes__default["default"].bool,
3014
- theme: PropTypes__default["default"].string,
3015
- adComponent: PropTypes__default["default"].func,
3016
- widgetComp: PropTypes__default["default"].func
3017
- };
3018
- var PhotoStoryElement = function PhotoStoryElement(_ref3) {
3019
- var _ref3$card = _ref3.card,
3020
- card = _ref3$card === void 0 ? {} : _ref3$card,
3021
- config = _ref3.config,
3022
- story = _ref3.story,
3023
- adComponent = _ref3.adComponent,
3024
- widgetComp = _ref3.widgetComp;
3025
- var shouldRunFBMobileVideoFix = true;
3026
- return /*#__PURE__*/React__default["default"].createElement("div", {
3027
- className: "story-element-card-m_story-card__H2VYl"
3028
- }, lodash.get(card, ["story-elements"], []).map(function (element, index) {
3029
- var cardId = lodash.get(card, ["id"], "");
3030
-
3031
- if (element.type === "image") {
3032
- return /*#__PURE__*/React__default["default"].createElement(MainImageWrapper, {
3033
- imageElement: element,
3034
- story: story,
3035
- config: config,
3036
- card: card
3037
- });
3038
- } else {
3039
- if (element.subtype && element.subtype === "facebook-post" && shouldRunFBMobileVideoFix) {
3040
- facebookMobileVideoResizeFix();
3041
- shouldRunFBMobileVideoFix = false;
3042
- }
3043
-
3044
- return /*#__PURE__*/React__default["default"].createElement("div", {
3045
- className: "story-element-card-m_element-container__1ZeJL",
3046
- key: index
3047
- }, getElement(story, element, config, adComponent, widgetComp, index, cardId));
3048
- }
3049
- }));
3050
- };
3051
- PhotoStoryElement.propTypes = {
3052
- story: PropTypes__default["default"].object,
3053
- card: PropTypes__default["default"].object,
3054
- config: PropTypes__default["default"].object,
3055
- adComponent: PropTypes__default["default"].func,
3056
- widgetComp: PropTypes__default["default"].func
3057
- };
3058
- var SlotAfterStory = function SlotAfterStory(_ref4) {
3059
- var _ref4$id = _ref4.id,
3060
- id = _ref4$id === void 0 ? "" : _ref4$id,
3061
- _ref4$element = _ref4.element,
3062
- element = _ref4$element === void 0 ? {} : _ref4$element,
3063
- AdComponent = _ref4.AdComponent,
3064
- WidgetComp = _ref4.WidgetComp;
3065
-
3066
- switch (element.type) {
3067
- case "ad":
3068
- return /*#__PURE__*/React__default["default"].createElement(AdComponent, _extends__default["default"]({}, element, {
3069
- id: "ad-after-story-".concat(id)
3070
- }));
3071
-
3072
- case "widget":
3073
- return /*#__PURE__*/React__default["default"].createElement(WidgetComp, {
3074
- widgetCode: element.config.customCode,
3075
- id: "widget-after-story-".concat(id)
3076
- });
3077
-
3078
- default:
3079
- return null;
3080
- }
3081
- };
3082
- SlotAfterStory.propTypes = {
3083
- id: PropTypes__default["default"].string,
3084
- element: PropTypes__default["default"].object,
3085
- AdComponent: PropTypes__default["default"].func,
3086
- WidgetComp: PropTypes__default["default"].func
3087
- };
3088
-
3089
- exports.PhotoStoryElement = PhotoStoryElement;
3090
- exports.SlotAfterStory = SlotAfterStory;
3091
- exports.StoryElementCard = StoryElementCard;