@quintype/arrow 3.15.1-perf.2 → 3.15.1-perf.5

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 (166) hide show
  1. package/cjs/index.js +14589 -0
  2. package/package.json +1 -1
  3. package/atoms/Author/index.js +0 -2250
  4. package/atoms/Author/styles.arrow.css +0 -1
  5. package/atoms/AuthorWithTime/index.js +0 -2954
  6. package/atoms/AuthorWithTime/styles.arrow.css +0 -1
  7. package/atoms/CollectionName/index.js +0 -2334
  8. package/atoms/CollectionName/styles.arrow.css +0 -1
  9. package/atoms/ExtendedLoadMore/index-0519e570.js +0 -243
  10. package/atoms/ExtendedLoadMore/index-1256e453.js +0 -175
  11. package/atoms/ExtendedLoadMore/index-1e444d20.js +0 -990
  12. package/atoms/ExtendedLoadMore/index-4356ce04.js +0 -282
  13. package/atoms/ExtendedLoadMore/index-81eb3978.js +0 -86
  14. package/atoms/ExtendedLoadMore/index-aba6b278.js +0 -166
  15. package/atoms/ExtendedLoadMore/index-ad3c83c3.js +0 -3023
  16. package/atoms/ExtendedLoadMore/index-beed3a68.js +0 -240
  17. package/atoms/ExtendedLoadMore/index-c2f73d18.js +0 -199
  18. package/atoms/ExtendedLoadMore/index-c61a16dc.js +0 -350
  19. package/atoms/ExtendedLoadMore/index-d0f6c865.js +0 -181
  20. package/atoms/ExtendedLoadMore/index-e4cf9cb7.js +0 -223
  21. package/atoms/ExtendedLoadMore/index-fd651f70.js +0 -175
  22. package/atoms/ExtendedLoadMore/index.js +0 -5
  23. package/atoms/ExtendedLoadMore/styles.arrow.css +0 -1
  24. package/atoms/Headline/index.js +0 -2459
  25. package/atoms/Headline/styles.arrow.css +0 -1
  26. package/atoms/HeroImage/index.js +0 -2475
  27. package/atoms/HeroImage/styles.arrow.css +0 -1
  28. package/atoms/LoadmoreButton/index.js +0 -2268
  29. package/atoms/LoadmoreButton/styles.arrow.css +0 -1
  30. package/atoms/ScrollSnap/index.js +0 -2531
  31. package/atoms/ScrollSnap/styles.arrow.css +0 -1
  32. package/atoms/SectionTag/index.js +0 -2220
  33. package/atoms/SectionTag/styles.arrow.css +0 -1
  34. package/atoms/Subheadline/index.js +0 -2200
  35. package/atoms/Subheadline/styles.arrow.css +0 -1
  36. package/atoms/TimeStamp/index.js +0 -2661
  37. package/atoms/TimeStamp/styles.arrow.css +0 -1
  38. package/molecules/KeyEvents/index.js +0 -2968
  39. package/molecules/KeyEvents/styles.arrow.css +0 -1
  40. package/molecules/PageIntroductionCard/index.js +0 -2676
  41. package/molecules/PageIntroductionCard/styles.arrow.css +0 -1
  42. package/molecules/SocialShareTemplate/index.js +0 -3093
  43. package/molecules/SocialShareTemplate/styles.arrow.css +0 -1
  44. package/molecules/StoryCard/index.js +0 -3938
  45. package/molecules/StoryCard/styles.arrow.css +0 -1
  46. package/molecules/StoryElementCard/index.js +0 -5832
  47. package/molecules/StoryElementCard/styles.arrow.css +0 -1
  48. package/molecules/StorycardContent/index.js +0 -3416
  49. package/molecules/StorycardContent/styles.arrow.css +0 -1
  50. package/rows/AlternateCollectionFilter/index.js +0 -4744
  51. package/rows/AlternateCollectionFilter/styles.arrow.css +0 -1
  52. package/rows/AsideCollection/index.js +0 -4690
  53. package/rows/AsideCollection/styles.arrow.css +0 -1
  54. package/rows/AstrologyCollection/index.js +0 -4661
  55. package/rows/AstrologyCollection/styles.arrow.css +0 -1
  56. package/rows/AuthorIntroductionCard/index.js +0 -3520
  57. package/rows/AuthorIntroductionCard/styles.arrow.css +0 -1
  58. package/rows/AuthorsList/index.js +0 -3715
  59. package/rows/AuthorsList/styles.arrow.css +0 -1
  60. package/rows/CollectionFilter/index.js +0 -4834
  61. package/rows/CollectionFilter/styles.arrow.css +0 -1
  62. package/rows/ElevenStories/index.js +0 -4638
  63. package/rows/ElevenStories/styles.arrow.css +0 -1
  64. package/rows/FourColFiveStories/index.js +0 -4359
  65. package/rows/FourColFiveStories/styles.arrow.css +0 -1
  66. package/rows/FourColGrid/index.js +0 -4584
  67. package/rows/FourColGrid/styles.arrow.css +0 -1
  68. package/rows/FourColPortraitStories/index.js +0 -4617
  69. package/rows/FourColPortraitStories/styles.arrow.css +0 -1
  70. package/rows/FourColSixteenStories/index.js +0 -4375
  71. package/rows/FourColSixteenStories/styles.arrow.css +0 -1
  72. package/rows/FourColTwelveStories/index.js +0 -4335
  73. package/rows/FourColTwelveStories/styles.arrow.css +0 -1
  74. package/rows/FourStorySlider/index.js +0 -4743
  75. package/rows/FourStorySlider/styles.arrow.css +0 -1
  76. package/rows/FourStorySliderPortrait/index.js +0 -4746
  77. package/rows/FourStorySliderPortrait/styles.arrow.css +0 -1
  78. package/rows/FourTabbedBigStorySlider/index.js +0 -4505
  79. package/rows/FourTabbedBigStorySlider/styles.arrow.css +0 -1
  80. package/rows/FullScreenSlider/index.js +0 -4661
  81. package/rows/FullScreenSlider/styles.arrow.css +0 -1
  82. package/rows/HalfScreenSlider/index.js +0 -4514
  83. package/rows/HalfScreenSlider/styles.arrow.css +0 -1
  84. package/rows/ListComponent/index.js +0 -4462
  85. package/rows/ListComponent/styles.arrow.css +0 -1
  86. package/rows/Listicles/index.js +0 -3131
  87. package/rows/Listicles/styles.arrow.css +0 -1
  88. package/rows/MagazineEditions/index.js +0 -3142
  89. package/rows/MagazineEditions/styles.arrow.css +0 -1
  90. package/rows/MagazineHeaderCard/index.js +0 -3136
  91. package/rows/MagazineHeaderCard/styles.arrow.css +0 -1
  92. package/rows/MagazineWidget/index.js +0 -4514
  93. package/rows/MagazineWidget/styles.arrow.css +0 -1
  94. package/rows/OneColStoryList/index.js +0 -4670
  95. package/rows/OneColStoryList/styles.arrow.css +0 -1
  96. package/rows/OpinionCollection/index.js +0 -4037
  97. package/rows/OpinionCollection/styles.arrow.css +0 -1
  98. package/rows/SixColSixStories/index.js +0 -4515
  99. package/rows/SixColSixStories/styles.arrow.css +0 -1
  100. package/rows/StoryCollection/index.js +0 -4690
  101. package/rows/StoryCollection/styles.arrow.css +0 -1
  102. package/rows/TagIntroductionCard/index.js +0 -1901
  103. package/rows/TagIntroductionCard/styles.arrow.css +0 -1
  104. package/rows/ThreeColFlexStories/index.js +0 -4575
  105. package/rows/ThreeColFlexStories/styles.arrow.css +0 -1
  106. package/rows/ThreeColFourteenStories/index.js +0 -4283
  107. package/rows/ThreeColFourteenStories/styles.arrow.css +0 -1
  108. package/rows/ThreeColGrid/index.js +0 -4605
  109. package/rows/ThreeColGrid/styles.arrow.css +0 -1
  110. package/rows/ThreeColSevenStory/index.js +0 -4502
  111. package/rows/ThreeColSevenStory/styles.arrow.css +0 -1
  112. package/rows/ThreeColSixStories/index.js +0 -4485
  113. package/rows/ThreeColSixStories/styles.arrow.css +0 -1
  114. package/rows/ThreeColTwelveStories/index.js +0 -4380
  115. package/rows/ThreeColTwelveStories/styles.arrow.css +0 -1
  116. package/rows/TwoColFourStories/index.js +0 -4463
  117. package/rows/TwoColFourStories/styles.arrow.css +0 -1
  118. package/rows/TwoColFourStoryHighlight/index.js +0 -4456
  119. package/rows/TwoColFourStoryHighlight/styles.arrow.css +0 -1
  120. package/rows/TwoColSevenStories/index.js +0 -4490
  121. package/rows/TwoColSevenStories/styles.arrow.css +0 -1
  122. package/rows/TwoColSixStories/index.js +0 -4489
  123. package/rows/TwoColSixStories/styles.arrow.css +0 -1
  124. package/rows/TwoColTenStoriesSidebar/index.js +0 -4549
  125. package/rows/TwoColTenStoriesSidebar/styles.arrow.css +0 -1
  126. package/rows/TwoColThreeStories/index.js +0 -4436
  127. package/rows/TwoColThreeStories/styles.arrow.css +0 -1
  128. package/story-elements/AlsoRead/index.js +0 -2457
  129. package/story-elements/AlsoRead/styles.arrow.css +0 -1
  130. package/story-elements/Attachment/index.js +0 -2013
  131. package/story-elements/Attachment/styles.arrow.css +0 -1
  132. package/story-elements/BigFact/index.js +0 -1983
  133. package/story-elements/BigFact/styles.arrow.css +0 -1
  134. package/story-elements/BlockQuote/index.js +0 -2431
  135. package/story-elements/BlockQuote/styles.arrow.css +0 -1
  136. package/story-elements/Blurb/index.js +0 -2094
  137. package/story-elements/Blurb/styles.arrow.css +0 -1
  138. package/story-elements/Image/index.js +0 -2711
  139. package/story-elements/Image/styles.arrow.css +0 -1
  140. package/story-elements/ImageGallery/index.js +0 -2644
  141. package/story-elements/ImageGallery/styles.arrow.css +0 -1
  142. package/story-elements/ImageSlideshow/index.js +0 -2955
  143. package/story-elements/ImageSlideshow/styles.arrow.css +0 -1
  144. package/story-elements/QuestionAnswer/index.js +0 -2395
  145. package/story-elements/QuestionAnswer/styles.arrow.css +0 -1
  146. package/story-elements/Quote/index.js +0 -2012
  147. package/story-elements/Quote/styles.arrow.css +0 -1
  148. package/story-elements/Reference/index.js +0 -2006
  149. package/story-elements/Reference/styles.arrow.css +0 -1
  150. package/story-elements/StoryElement/index.js +0 -1779
  151. package/story-elements/Summary/index.js +0 -2036
  152. package/story-elements/Summary/styles.arrow.css +0 -1
  153. package/story-elements/Text/index.js +0 -2293
  154. package/story-elements/Text/styles.arrow.css +0 -1
  155. package/story-elements/Video/index.js +0 -1785
  156. package/story-elements/Video/styles.arrow.css +0 -1
  157. package/story-templates/ListicleStoryTemplate/index.js +0 -8442
  158. package/story-templates/ListicleStoryTemplate/styles.arrow.css +0 -1
  159. package/story-templates/LiveBlogStoryTemplate/index.js +0 -8618
  160. package/story-templates/LiveBlogStoryTemplate/styles.arrow.css +0 -1
  161. package/story-templates/PhotoStoryTemplate/index.js +0 -8420
  162. package/story-templates/PhotoStoryTemplate/styles.arrow.css +0 -1
  163. package/story-templates/TextStoryTemplate/index.js +0 -8493
  164. package/story-templates/TextStoryTemplate/styles.arrow.css +0 -1
  165. package/story-templates/VideoStoryTemplate/index.js +0 -8352
  166. package/story-templates/VideoStoryTemplate/styles.arrow.css +0 -1
@@ -1,350 +0,0 @@
1
- import { a as get_1, c as _slicedToArray, d as clientWidth, _ as _getClassName, e as getStoryUrl, f as isExternalStory, g as getTextColor, r as rgbToHex } from './index-ad3c83c3.js';
2
- import { Link, ResponsiveHeroImage } from '@quintype/components';
3
- import PropTypes from 'prop-types';
4
- import React from 'react';
5
- import { useSelector } from 'react-redux';
6
- import { u as useStateValue } from './index-1e444d20.js';
7
-
8
- var ImageFallbackIcon = function ImageFallbackIcon(_ref) {
9
- var _ref$width = _ref.width,
10
- width = _ref$width === void 0 ? 40 : _ref$width,
11
- _ref$height = _ref.height,
12
- height = _ref$height === void 0 ? 30 : _ref$height,
13
- _ref$iconColor = _ref.iconColor,
14
- iconColor = _ref$iconColor === void 0 ? "#99B0CB" : _ref$iconColor;
15
- return /*#__PURE__*/React.createElement("svg", {
16
- width: width,
17
- height: height,
18
- viewBox: "0 0 102 76",
19
- version: "1.1"
20
- }, /*#__PURE__*/React.createElement("g", {
21
- id: "demo-home-copy",
22
- stroke: "none",
23
- strokeWidth: "1",
24
- fill: "none",
25
- fillRule: "evenodd",
26
- transform: "translate(-377.000000, -314.000000)"
27
- }, /*#__PURE__*/React.createElement("g", {
28
- id: "Group-13",
29
- transform: "translate(377.000000, 314.000000)"
30
- }, /*#__PURE__*/React.createElement("path", {
31
- 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",
32
- id: "Combined-Shape",
33
- fill: iconColor,
34
- fillRule: "nonzero"
35
- }), /*#__PURE__*/React.createElement("rect", {
36
- id: "Rectangle-19",
37
- stroke: iconColor,
38
- strokeWidth: "3",
39
- x: "1.5",
40
- y: "1.5",
41
- width: "99",
42
- height: "73",
43
- rx: "3"
44
- }))));
45
- };
46
- ImageFallbackIcon.propTypes = {
47
- width: PropTypes.object,
48
- height: PropTypes.object,
49
- iconColor: PropTypes.object
50
- };
51
-
52
- var imageFallback = function imageFallback() {
53
- return /*#__PURE__*/React.createElement("div", {
54
- className: "arr--fallback-image fallback-m_image__1GYCJ fallback-m_image-position__3KddP"
55
- }, /*#__PURE__*/React.createElement("figure", {
56
- className: "arr--fallback-svg fallback-m_fallback-svg__tK9fL"
57
- }, /*#__PURE__*/React.createElement(ImageFallbackIcon, null)));
58
- };
59
-
60
- var FallbackImage = function FallbackImage(_ref) {
61
- var slug = _ref.slug;
62
-
63
- if (slug) {
64
- return /*#__PURE__*/React.createElement(Link, {
65
- href: slug,
66
- "aria-label": "image-fallback"
67
- }, imageFallback());
68
- } else {
69
- return imageFallback();
70
- }
71
- };
72
- FallbackImage.propTypes = {
73
- slug: PropTypes.string
74
- };
75
-
76
- var HyperLinkIcon = function HyperLinkIcon() {
77
- return /*#__PURE__*/React.createElement("svg", {
78
- xmlns: "http://www.w3.org/2000/svg",
79
- width: "36",
80
- height: "28"
81
- }, /*#__PURE__*/React.createElement("g", {
82
- fill: "none",
83
- fillRule: "evenodd"
84
- }, /*#__PURE__*/React.createElement("rect", {
85
- width: "36",
86
- height: "28",
87
- fill: "#3D6FCF",
88
- rx: "4"
89
- }), /*#__PURE__*/React.createElement("path", {
90
- stroke: "#FFF",
91
- strokeLinecap: "round",
92
- strokeLinejoin: "round",
93
- strokeWidth: "2",
94
- 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"
95
- })));
96
- };
97
-
98
- var HyperLink = function HyperLink(_ref) {
99
- var _ref$hyperLink = _ref.hyperLink,
100
- hyperLink = _ref$hyperLink === void 0 ? "" : _ref$hyperLink;
101
- if (!hyperLink) return null;
102
- return /*#__PURE__*/React.createElement(Link, {
103
- href: hyperLink,
104
- "aria-label": "hyperlink-button",
105
- className: "arr--hyperlink-button hyperlink-m_hyperlink-button__1CqWx",
106
- target: "_blank",
107
- rel: "noopener noreferrer"
108
- }, /*#__PURE__*/React.createElement(HyperLinkIcon, null));
109
- };
110
- HyperLink.propTypes = {
111
- hyperLink: PropTypes.string
112
- };
113
-
114
- var _styleModuleImportMap$1 = {
115
- "./hero-image.m.css": {
116
- "hero-image": "hero-image-m_hero-image__3lraV",
117
- "right-padding": "hero-image-m_right-padding__1LkCe",
118
- "left-padding": "hero-image-m_left-padding__pYRAj",
119
- "right-padding-mob": "hero-image-m_right-padding-mob__3-uOU",
120
- "placeholder": "hero-image-m_placeholder__1omCm",
121
- "hero-image-mob": "hero-image-m_hero-image-mob__13JJp",
122
- "with-padding": "hero-image-m_with-padding__324G_",
123
- "image": "hero-image-m_image__1mz0U"
124
- }
125
- };
126
- var HeroImage = function HeroImage(_ref) {
127
- var story = _ref.story,
128
- FullBleed = _ref.FullBleed,
129
- aspectRatio = _ref.aspectRatio,
130
- defaultWidth = _ref.defaultWidth,
131
- widths = _ref.widths,
132
- isHorizontal = _ref.isHorizontal,
133
- isHorizontalMobile = _ref.isHorizontalMobile,
134
- isHorizontalWithImageLast = _ref.isHorizontalWithImageLast,
135
- defaultFallback = _ref.defaultFallback,
136
- isStoryPageImage = _ref.isStoryPageImage,
137
- config = _ref.config;
138
-
139
- var _ref2 = useStateValue() || {},
140
- _ref2$fallbackImageUr = _ref2.fallbackImageUrl,
141
- fallbackImageUrl = _ref2$fallbackImageUr === void 0 ? "" : _ref2$fallbackImageUr;
142
-
143
- var _config$StoryTemplate = config.StoryTemplateIcon,
144
- StoryTemplateIcon = _config$StoryTemplate === void 0 ? function () {
145
- return null;
146
- } : _config$StoryTemplate;
147
- var showImagePlaceholder = useSelector(function (state) {
148
- return get_1(state, ["qt", "config", "showPlaceholder"]);
149
- });
150
- var getPlaceholderStyleName = showImagePlaceholder ? "placeholder" : "";
151
- var fullBleed = FullBleed ? "" : "with-padding";
152
- var heroImageClass = "hero-image";
153
- if (isHorizontal) heroImageClass = "right-padding";else if (isHorizontalWithImageLast) heroImageClass = "left-padding";
154
- var heroImageMobClasses = isHorizontalMobile ? "right-padding-mob" : "";
155
-
156
- var getPadding = function getPadding(aspectRatio) {
157
- var _aspectRatio = _slicedToArray(aspectRatio, 2),
158
- height = _aspectRatio[0],
159
- width = _aspectRatio[1];
160
-
161
- if (height > 0 && width > 0) {
162
- var padding = width / height * 100;
163
- return padding;
164
- }
165
-
166
- return 0;
167
- };
168
-
169
- var _aspectRatio2 = _slicedToArray(aspectRatio, 2),
170
- mobileAspectRatio = _aspectRatio2[0],
171
- _aspectRatio2$ = _aspectRatio2[1],
172
- desktopAspectRatio = _aspectRatio2$ === void 0 ? mobileAspectRatio : _aspectRatio2$;
173
-
174
- var isMobile = clientWidth("mobile");
175
- var imageAspectRatio = isMobile ? mobileAspectRatio : desktopAspectRatio;
176
- var imagePadding = isMobile ? getPadding(mobileAspectRatio) : getPadding(desktopAspectRatio);
177
- var slug = get_1(story, ["hero-image-s3-key"]) || get_1(story, ["alternative", "home", "default", "hero-image", "hero-image-s3-key"]);
178
- var hyperLink = get_1(story, ["hero-image-hyperlink"], "");
179
-
180
- var fallbackImage = function fallbackImage() {
181
- if (!slug) {
182
- if (fallbackImageUrl && !isStoryPageImage) {
183
- return /*#__PURE__*/React.createElement("figure", {
184
- style: {
185
- paddingTop: imagePadding + "%"
186
- },
187
- className: "arr--responsive-hero-image " + _getClassName("image ".concat(getPlaceholderStyleName), _styleModuleImportMap$1)
188
- }, /*#__PURE__*/React.createElement("img", {
189
- className: "qt-image",
190
- "data-src": "".concat(fallbackImageUrl),
191
- alt: "image-fallback"
192
- }));
193
- }
194
-
195
- return /*#__PURE__*/React.createElement(React.Fragment, null, defaultFallback ? /*#__PURE__*/React.createElement("div", {
196
- "data-test-id": "arr--fallback-hero-image",
197
- style: {
198
- paddingTop: imagePadding + "%"
199
- },
200
- className: "arr--fallback-hero-image " + _getClassName("image ".concat(getPlaceholderStyleName), _styleModuleImportMap$1)
201
- }, /*#__PURE__*/React.createElement(StoryTemplateIcon, {
202
- storyTemplate: story["story-template"]
203
- }), /*#__PURE__*/React.createElement(FallbackImage, null)) : null);
204
- }
205
-
206
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("figure", {
207
- style: {
208
- paddingTop: imagePadding + "%"
209
- },
210
- className: "arr--responsive-hero-image " + _getClassName("image ".concat(getPlaceholderStyleName), _styleModuleImportMap$1)
211
- }, /*#__PURE__*/React.createElement(StoryTemplateIcon, {
212
- storyTemplate: story["story-template"]
213
- }), /*#__PURE__*/React.createElement(ResponsiveHeroImage, {
214
- story: story,
215
- aspectRatio: imageAspectRatio,
216
- defaultWidth: defaultWidth,
217
- widths: widths,
218
- imgParams: {
219
- auto: ["format", "compress"],
220
- fit: "max"
221
- }
222
- })), isStoryPageImage && hyperLink && /*#__PURE__*/React.createElement(HyperLink, {
223
- hyperLink: hyperLink
224
- }));
225
- };
226
-
227
- return story && (isStoryPageImage ? /*#__PURE__*/React.createElement("div", {
228
- "data-test-id": "arr--hero-image",
229
- className: "arr--hero-image " + _getClassName("".concat(heroImageClass, " ").concat(fullBleed, " ").concat(heroImageMobClasses), _styleModuleImportMap$1)
230
- }, fallbackImage()) : /*#__PURE__*/React.createElement(Link, {
231
- "data-test-id": "arr--hero-image",
232
- href: getStoryUrl(story, "/".concat(story.slug)),
233
- externalLink: isExternalStory(story),
234
- "aria-label": "fallback-hero-image",
235
- className: "arr--hero-image " + _getClassName("".concat(heroImageClass, " ").concat(fullBleed, " ").concat(heroImageMobClasses), _styleModuleImportMap$1)
236
- }, fallbackImage()));
237
- };
238
- HeroImage.propTypes = {
239
- /** The Story Object from the API response */
240
- story: PropTypes.object.isRequired,
241
-
242
- /** Removes the Hero Image padding for the image to bleed over the margin */
243
- FullBleed: PropTypes.bool,
244
-
245
- /** The default width for the image, in case the browser does not support srcset */
246
- defaultWidth: PropTypes.number,
247
-
248
- /** The list of available widths */
249
- widths: PropTypes.array,
250
- // fatch the correct hero image
251
- aspectRatio: PropTypes.array,
252
- // Hints for the browser to choose the best size
253
-
254
- /** This prop is responsible for adding padding-right of the image and remove padding bottom of the image */
255
- isHorizontal: PropTypes.bool,
256
-
257
- /** This prop is responsible for adding padding-bottom in desktop and padding-right in mobile */
258
- isHorizontalMobile: PropTypes.bool,
259
- // this prop is responsive for rendering fallback image on story page
260
- defaultFallback: PropTypes.bool,
261
- isHorizontalWithImageLast: PropTypes.bool,
262
- isStoryPageImage: PropTypes.bool,
263
- config: PropTypes.object
264
- };
265
- HeroImage.defaultProps = {
266
- FullBleed: true,
267
- aspectRatio: [[1, 1], [16, 9]],
268
- defaultWidth: 480,
269
- widths: [250, 480, 640],
270
- isHorizontal: false,
271
- isHorizontalMobile: false,
272
- defaultFallback: true,
273
- isStoryPageImage: false,
274
- isHorizontalWithImageLast: false,
275
- config: {}
276
- };
277
-
278
- var _styleModuleImportMap = {
279
- "./section.m.css": {
280
- "section": "section-m_section__2N4S3",
281
- "section-borderBottomSml": "section-m_section-borderBottomSml__2GNbo",
282
- "border-bottom": "section-m_border-bottom__3cRoD",
283
- "section-borderLeft": "section-m_section-borderLeft__3hKVj",
284
- "border-left": "section-m_border-left__2oUyp",
285
- "section-solid": "section-m_section-solid__1vB1Q",
286
- "dark": "section-m_dark__1r3C4",
287
- "light": "section-m_light__306hW"
288
- }
289
- };
290
- var SectionTag = function SectionTag(_ref) {
291
- var story = _ref.story,
292
- _ref$template = _ref.template,
293
- template = _ref$template === void 0 ? "" : _ref$template,
294
- _ref$borderColor = _ref.borderColor,
295
- borderColor = _ref$borderColor === void 0 ? "" : _ref$borderColor,
296
- isLightTheme = _ref.isLightTheme;
297
- var config = useStateValue() || {};
298
- var isSection = get_1(config, ["showSection"], true);
299
- var templateFromRowContext = get_1(config, ["sectionTagTemplate"]);
300
- var section = get_1(story, ["sections", 0], "");
301
- var supportedTemplates = ["borderBottomSml", "borderLeft", "solid"];
302
- var getUrl = section ? section["section-url"] : "/";
303
- var colorToApplyContrast = template === "solid" || templateFromRowContext === "solid" ? borderColor : config.theme;
304
- var textColor = isLightTheme ? "light" : getTextColor(colorToApplyContrast);
305
- var sectionTagBorderColor = rgbToHex(borderColor);
306
- var templateStyle = supportedTemplates.includes(template) ? "section section-".concat(template) : "section";
307
-
308
- if (templateFromRowContext) {
309
- templateStyle = supportedTemplates.includes(templateFromRowContext) ? "section section-".concat(templateFromRowContext) : "section";
310
- }
311
-
312
- if (!isSection) return null;
313
- return /*#__PURE__*/React.createElement(Link, {
314
- href: getUrl,
315
- className: "arrow-component arr--section-name",
316
- "aria-label": "section-name"
317
- }, /*#__PURE__*/React.createElement("div", {
318
- "data-test-id": "sectionTag",
319
- style: {
320
- backgroundColor: templateStyle.includes("section-solid") ? sectionTagBorderColor : ""
321
- },
322
- className: "section-tag arrow-component " + _getClassName("".concat(textColor, " ").concat(templateStyle), _styleModuleImportMap)
323
- }, templateStyle.includes("section-borderLeft") && /*#__PURE__*/React.createElement("span", {
324
- className: "section-m_border-left__2oUyp",
325
- style: {
326
- color: sectionTagBorderColor
327
- }
328
- }), section["display-name"] || section["name"], /*#__PURE__*/React.createElement("div", {
329
- className: "section-m_border-bottom__3cRoD",
330
- style: {
331
- backgroundColor: "".concat(template === "solid" ? "" : sectionTagBorderColor)
332
- }
333
- })));
334
- };
335
- SectionTag.propTypes = {
336
- /** The Story Object from the API response */
337
- story: PropTypes.object.isRequired,
338
-
339
- /** The style template for section tag */
340
- template: PropTypes.oneOf(["", "borderBottomSml", "borderLeft", "solid"]),
341
- borderColor: PropTypes.string,
342
- solidBorderColor: PropTypes.string,
343
- isLightTheme: PropTypes.bool
344
- };
345
- SectionTag.defaultProps = {
346
- template: "",
347
- isLightTheme: false
348
- };
349
-
350
- export { HeroImage as H, SectionTag as S };
@@ -1,181 +0,0 @@
1
- import { m as _arrayWithHoles, o as _iterableToArray, p as _unsupportedIterableToArray, q as _nonIterableRest, a as get_1, g as getTextColor, r as rgbToHex, l as getSlot, b as generateNavigateSlug, n as navigateTo } from './index-ad3c83c3.js';
2
- import React from 'react';
3
- import PropTypes from 'prop-types';
4
- import { useDispatch, useSelector } from 'react-redux';
5
- import { H as HeroImage } from './index-c61a16dc.js';
6
- import { C as CollectionName, S as StateProvider, L as LoadMoreTarget, P as ProgressiveHydration, a as LoadmoreButton } from './index-1e444d20.js';
7
- import { collectionToStories } from '@quintype/components';
8
- import { S as StorycardContent } from './index-81eb3978.js';
9
- import 'react-timeago';
10
- import 'date-fns-tz';
11
- import 'react-dom';
12
-
13
- function _toArray(arr) {
14
- return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
15
- }
16
-
17
- var loadMore = function loadMore(_ref) {
18
- var isLoading = _ref.isLoading,
19
- renderStories = _ref.renderStories,
20
- getMoreStories = _ref.getMoreStories,
21
- _ref$subsequentLoadCo = _ref.subsequentLoadCount,
22
- subsequentLoadCount = _ref$subsequentLoadCo === void 0 ? 4 : _ref$subsequentLoadCo;
23
- if (isLoading) return;
24
- var limit = subsequentLoadCount;
25
- var offset = renderStories.length + 1;
26
- getMoreStories(offset, limit);
27
- };
28
-
29
- var FourColFiveStoriesBase = function FourColFiveStoriesBase(_ref2) {
30
- var collection = _ref2.collection,
31
- config = _ref2.config,
32
- getMoreStories = _ref2.getMoreStories,
33
- isLoadMoreVisible = _ref2.isLoadMoreVisible,
34
- isLoading = _ref2.isLoading,
35
- isolatedLoadMore = _ref2.isolatedLoadMore,
36
- hideFirstCard = _ref2.hideFirstCard;
37
- var stories = collectionToStories(collection);
38
- if (!stories.length) return null;
39
- var _config$collectionNam = config.collectionNameBorderColor,
40
- collectionNameBorderColor = _config$collectionNam === void 0 ? "" : _config$collectionNam,
41
- _config$theme = config.theme,
42
- theme = _config$theme === void 0 ? "" : _config$theme,
43
- _config$slotConfig = config.slotConfig,
44
- slotConfig = _config$slotConfig === void 0 ? [] : _config$slotConfig,
45
- _config$collectionNam2 = config.collectionNameTemplate,
46
- collectionNameTemplate = _config$collectionNam2 === void 0 ? "" : _config$collectionNam2,
47
- _config$footerButton = config.footerButton,
48
- footerButton = _config$footerButton === void 0 ? "" : _config$footerButton,
49
- _config$borderColor = config.borderColor,
50
- borderColor = _config$borderColor === void 0 ? "" : _config$borderColor,
51
- _config$subsequentLoa = config.subsequentLoadCount,
52
- subsequentLoadCount = _config$subsequentLoa === void 0 ? 4 : _config$subsequentLoa;
53
-
54
- var _get = get_1(slotConfig, [0], {}),
55
- _get$type = _get.type,
56
- type = _get$type === void 0 ? "story" : _get$type,
57
- component = _get.component;
58
-
59
- var textColor = getTextColor(theme);
60
- var sectionTagBorderColor = rgbToHex(borderColor);
61
- var adWidgetSlot = type === "ad" || type === "widget" ? getSlot(type, component) : null;
62
- var dispatch = useDispatch();
63
- var qtConfig = useSelector(function (state) {
64
- return get_1(state, ["qt", "config"], {});
65
- });
66
-
67
- var _ref3 = stories || [],
68
- _ref4 = _toArray(_ref3),
69
- firstStory = _ref4[0],
70
- otherStories = _ref4.slice(1);
71
-
72
- var storyCard = function storyCard(story) {
73
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HeroImage, {
74
- config: config,
75
- story: story,
76
- aspectRatio: [[16, 9]]
77
- }), /*#__PURE__*/React.createElement(StorycardContent, {
78
- theme: theme,
79
- story: story,
80
- config: config,
81
- headerLevel: 6,
82
- borderColor: sectionTagBorderColor
83
- }));
84
- };
85
-
86
- var otherCards = function otherCards(story, index) {
87
- return /*#__PURE__*/React.createElement("div", {
88
- className: "four-col-five-stories-m_card__2lzhH",
89
- "data-test-id": "story-card",
90
- key: "four-col-five-story-".concat(index, "-").concat(get_1(story, ["id"], "0"))
91
- }, storyCard(story));
92
- };
93
-
94
- var getLoadMore = function getLoadMore(opts) {
95
- if (!isLoadMoreVisible) return null;
96
-
97
- if (isolatedLoadMore) {
98
- return /*#__PURE__*/React.createElement(LoadMoreTarget, {
99
- collection: collection,
100
- componentName: "FourColFiveStories",
101
- offset: stories.length,
102
- limit: subsequentLoadCount
103
- });
104
- }
105
-
106
- var url = generateNavigateSlug(collection, qtConfig);
107
- return /*#__PURE__*/React.createElement(ProgressiveHydration, null, /*#__PURE__*/React.createElement(LoadmoreButton, {
108
- config: config,
109
- collection: collection,
110
- template: footerButton,
111
- onClick: function onClick() {
112
- return loadMore(opts);
113
- },
114
- navigate: function navigate() {
115
- return navigateTo(dispatch, url);
116
- },
117
- qtConfig: qtConfig
118
- }));
119
- };
120
-
121
- var renderStories = hideFirstCard ? stories : otherStories;
122
- return /*#__PURE__*/React.createElement("div", {
123
- className: "full-width-with-padding arrow-component",
124
- "data-test-id": "four-col-five-stories",
125
- style: {
126
- backgroundColor: theme,
127
- color: textColor
128
- }
129
- }, /*#__PURE__*/React.createElement("div", {
130
- className: "four-col-five-stories-m_four-col-five-stories__16ja_"
131
- }, /*#__PURE__*/React.createElement(CollectionName, {
132
- collection: collection,
133
- collectionNameTemplate: collectionNameTemplate,
134
- collectionNameBorderColor: collectionNameBorderColor,
135
- headerLevel: 2
136
- }), /*#__PURE__*/React.createElement("div", {
137
- className: "four-col-five-stories-m_wrapper__31KAU"
138
- }, !hideFirstCard && /*#__PURE__*/React.createElement("div", {
139
- className: "first-card four-col-five-stories-m_first-card__3dXVH",
140
- "data-test-id": "story-card"
141
- }, storyCard(firstStory)), /*#__PURE__*/React.createElement("div", {
142
- className: "other-cards four-col-five-stories-m_other-cards__1P4k5"
143
- }, renderStories.slice(0, 3).map(function (story, index) {
144
- return otherCards(story, index);
145
- }), adWidgetSlot, renderStories.slice(3).map(function (story, index) {
146
- return otherCards(story, index);
147
- }))), getLoadMore({
148
- isLoading: isLoading,
149
- renderStories: renderStories,
150
- getMoreStories: getMoreStories,
151
- subsequentLoadCount: subsequentLoadCount
152
- })));
153
- };
154
- FourColFiveStoriesBase.propTypes = {
155
- collection: PropTypes.object,
156
- config: PropTypes.shape({
157
- collectionNameBorderColor: PropTypes.string,
158
- theme: PropTypes.string,
159
- slotConfig: PropTypes.array,
160
- collectionNameTemplate: PropTypes.string,
161
- footerButton: PropTypes.string,
162
- borderColor: PropTypes.string,
163
- subsequentLoadCount: PropTypes.number
164
- }),
165
- getMoreStories: PropTypes.func,
166
- isLoading: PropTypes.bool,
167
- hideFirstCard: PropTypes.bool,
168
- isLoadMoreVisible: PropTypes.bool,
169
- isolatedLoadMore: PropTypes.bool
170
- };
171
- FourColFiveStoriesBase.defaultProps = {
172
- getMoreStories: function getMoreStories() {},
173
- isLoadMoreVisible: true,
174
- isLoading: false,
175
- collection: {},
176
- config: {},
177
- hideFirstCard: false
178
- };
179
- var FourColFiveStories = StateProvider(FourColFiveStoriesBase);
180
-
181
- export { FourColFiveStories, FourColFiveStoriesBase };