@quintype/arrow 3.15.1-perf.4 → 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 -170
  4. package/atoms/Author/styles.arrow.css +0 -1
  5. package/atoms/AuthorWithTime/index.js +0 -514
  6. package/atoms/AuthorWithTime/styles.arrow.css +0 -1
  7. package/atoms/CollectionName/index.js +0 -255
  8. package/atoms/CollectionName/styles.arrow.css +0 -1
  9. package/atoms/ExtendedLoadMore/index-0f809dd9.js +0 -254
  10. package/atoms/ExtendedLoadMore/index-142f015c.js +0 -476
  11. package/atoms/ExtendedLoadMore/index-37a9ccff.js +0 -182
  12. package/atoms/ExtendedLoadMore/index-446679c8.js +0 -191
  13. package/atoms/ExtendedLoadMore/index-44f97338.js +0 -300
  14. package/atoms/ExtendedLoadMore/index-57dd4870.js +0 -239
  15. package/atoms/ExtendedLoadMore/index-66dd4dbd.js +0 -215
  16. package/atoms/ExtendedLoadMore/index-8462c597.js +0 -363
  17. package/atoms/ExtendedLoadMore/index-93cb06d1.js +0 -1016
  18. package/atoms/ExtendedLoadMore/index-afd44863.js +0 -95
  19. package/atoms/ExtendedLoadMore/index-b5754c5d.js +0 -195
  20. package/atoms/ExtendedLoadMore/index-bbaf526e.js +0 -256
  21. package/atoms/ExtendedLoadMore/index-cfb262ef.js +0 -192
  22. package/atoms/ExtendedLoadMore/index.js +0 -20
  23. package/atoms/ExtendedLoadMore/styles.arrow.css +0 -1
  24. package/atoms/Headline/index.js +0 -379
  25. package/atoms/Headline/styles.arrow.css +0 -1
  26. package/atoms/HeroImage/index.js +0 -336
  27. package/atoms/HeroImage/styles.arrow.css +0 -1
  28. package/atoms/LoadmoreButton/index.js +0 -175
  29. package/atoms/LoadmoreButton/styles.arrow.css +0 -1
  30. package/atoms/ScrollSnap/index.js +0 -379
  31. package/atoms/ScrollSnap/styles.arrow.css +0 -1
  32. package/atoms/SectionTag/index.js +0 -140
  33. package/atoms/SectionTag/styles.arrow.css +0 -1
  34. package/atoms/Subheadline/index.js +0 -120
  35. package/atoms/Subheadline/styles.arrow.css +0 -1
  36. package/atoms/TimeStamp/index.js +0 -221
  37. package/atoms/TimeStamp/styles.arrow.css +0 -1
  38. package/molecules/KeyEvents/index.js +0 -457
  39. package/molecules/KeyEvents/styles.arrow.css +0 -1
  40. package/molecules/PageIntroductionCard/index.js +0 -248
  41. package/molecules/PageIntroductionCard/styles.arrow.css +0 -1
  42. package/molecules/SocialShareTemplate/index.js +0 -506
  43. package/molecules/SocialShareTemplate/styles.arrow.css +0 -1
  44. package/molecules/StoryCard/index.js +0 -1430
  45. package/molecules/StoryCard/styles.arrow.css +0 -1
  46. package/molecules/StoryElementCard/index.js +0 -3091
  47. package/molecules/StoryElementCard/styles.arrow.css +0 -1
  48. package/molecules/StorycardContent/index.js +0 -976
  49. package/molecules/StorycardContent/styles.arrow.css +0 -1
  50. package/rows/AlternateCollectionFilter/index.js +0 -2189
  51. package/rows/AlternateCollectionFilter/styles.arrow.css +0 -1
  52. package/rows/AsideCollection/index.js +0 -2135
  53. package/rows/AsideCollection/styles.arrow.css +0 -1
  54. package/rows/AstrologyCollection/index.js +0 -2106
  55. package/rows/AstrologyCollection/styles.arrow.css +0 -1
  56. package/rows/AuthorIntroductionCard/index.js +0 -813
  57. package/rows/AuthorIntroductionCard/styles.arrow.css +0 -1
  58. package/rows/AuthorsList/index.js +0 -996
  59. package/rows/AuthorsList/styles.arrow.css +0 -1
  60. package/rows/CollectionFilter/index.js +0 -2279
  61. package/rows/CollectionFilter/styles.arrow.css +0 -1
  62. package/rows/ElevenStories/index.js +0 -2118
  63. package/rows/ElevenStories/styles.arrow.css +0 -1
  64. package/rows/FourColFiveStories/index.js +0 -1861
  65. package/rows/FourColFiveStories/styles.arrow.css +0 -1
  66. package/rows/FourColGrid/index.js +0 -2083
  67. package/rows/FourColGrid/styles.arrow.css +0 -1
  68. package/rows/FourColPortraitStories/index.js +0 -2116
  69. package/rows/FourColPortraitStories/styles.arrow.css +0 -1
  70. package/rows/FourColSixteenStories/index.js +0 -1849
  71. package/rows/FourColSixteenStories/styles.arrow.css +0 -1
  72. package/rows/FourColTwelveStories/index.js +0 -1822
  73. package/rows/FourColTwelveStories/styles.arrow.css +0 -1
  74. package/rows/FourStorySlider/index.js +0 -2223
  75. package/rows/FourStorySlider/styles.arrow.css +0 -1
  76. package/rows/FourStorySliderPortrait/index.js +0 -2226
  77. package/rows/FourStorySliderPortrait/styles.arrow.css +0 -1
  78. package/rows/FourTabbedBigStorySlider/index.js +0 -1985
  79. package/rows/FourTabbedBigStorySlider/styles.arrow.css +0 -1
  80. package/rows/FullScreenSlider/index.js +0 -2141
  81. package/rows/FullScreenSlider/styles.arrow.css +0 -1
  82. package/rows/HalfScreenSlider/index.js +0 -1994
  83. package/rows/HalfScreenSlider/styles.arrow.css +0 -1
  84. package/rows/ListComponent/index.js +0 -1942
  85. package/rows/ListComponent/styles.arrow.css +0 -1
  86. package/rows/Listicles/index.js +0 -945
  87. package/rows/Listicles/styles.arrow.css +0 -1
  88. package/rows/MagazineEditions/index.js +0 -690
  89. package/rows/MagazineEditions/styles.arrow.css +0 -1
  90. package/rows/MagazineHeaderCard/index.js +0 -684
  91. package/rows/MagazineHeaderCard/styles.arrow.css +0 -1
  92. package/rows/MagazineWidget/index.js +0 -1994
  93. package/rows/MagazineWidget/styles.arrow.css +0 -1
  94. package/rows/OneColStoryList/index.js +0 -2169
  95. package/rows/OneColStoryList/styles.arrow.css +0 -1
  96. package/rows/OpinionCollection/index.js +0 -1545
  97. package/rows/OpinionCollection/styles.arrow.css +0 -1
  98. package/rows/SixColSixStories/index.js +0 -2014
  99. package/rows/SixColSixStories/styles.arrow.css +0 -1
  100. package/rows/StoryCollection/index.js +0 -2135
  101. package/rows/StoryCollection/styles.arrow.css +0 -1
  102. package/rows/TagIntroductionCard/index.js +0 -103
  103. package/rows/TagIntroductionCard/styles.arrow.css +0 -1
  104. package/rows/ThreeColFlexStories/index.js +0 -2074
  105. package/rows/ThreeColFlexStories/styles.arrow.css +0 -1
  106. package/rows/ThreeColFourteenStories/index.js +0 -1770
  107. package/rows/ThreeColFourteenStories/styles.arrow.css +0 -1
  108. package/rows/ThreeColGrid/index.js +0 -2104
  109. package/rows/ThreeColGrid/styles.arrow.css +0 -1
  110. package/rows/ThreeColSevenStory/index.js +0 -1982
  111. package/rows/ThreeColSevenStory/styles.arrow.css +0 -1
  112. package/rows/ThreeColSixStories/index.js +0 -1965
  113. package/rows/ThreeColSixStories/styles.arrow.css +0 -1
  114. package/rows/ThreeColTwelveStories/index.js +0 -1854
  115. package/rows/ThreeColTwelveStories/styles.arrow.css +0 -1
  116. package/rows/TwoColFourStories/index.js +0 -1943
  117. package/rows/TwoColFourStories/styles.arrow.css +0 -1
  118. package/rows/TwoColFourStoryHighlight/index.js +0 -1930
  119. package/rows/TwoColFourStoryHighlight/styles.arrow.css +0 -1
  120. package/rows/TwoColSevenStories/index.js +0 -1970
  121. package/rows/TwoColSevenStories/styles.arrow.css +0 -1
  122. package/rows/TwoColSixStories/index.js +0 -1963
  123. package/rows/TwoColSixStories/styles.arrow.css +0 -1
  124. package/rows/TwoColTenStoriesSidebar/index.js +0 -2029
  125. package/rows/TwoColTenStoriesSidebar/styles.arrow.css +0 -1
  126. package/rows/TwoColThreeStories/index.js +0 -1916
  127. package/rows/TwoColThreeStories/styles.arrow.css +0 -1
  128. package/story-elements/AlsoRead/index.js +0 -320
  129. package/story-elements/AlsoRead/styles.arrow.css +0 -1
  130. package/story-elements/Attachment/index.js +0 -167
  131. package/story-elements/Attachment/styles.arrow.css +0 -1
  132. package/story-elements/BigFact/index.js +0 -137
  133. package/story-elements/BigFact/styles.arrow.css +0 -1
  134. package/story-elements/BlockQuote/index.js +0 -304
  135. package/story-elements/BlockQuote/styles.arrow.css +0 -1
  136. package/story-elements/Blurb/index.js +0 -189
  137. package/story-elements/Blurb/styles.arrow.css +0 -1
  138. package/story-elements/Image/index.js +0 -529
  139. package/story-elements/Image/styles.arrow.css +0 -1
  140. package/story-elements/ImageGallery/index.js +0 -462
  141. package/story-elements/ImageGallery/styles.arrow.css +0 -1
  142. package/story-elements/ImageSlideshow/index.js +0 -773
  143. package/story-elements/ImageSlideshow/styles.arrow.css +0 -1
  144. package/story-elements/QuestionAnswer/index.js +0 -267
  145. package/story-elements/QuestionAnswer/styles.arrow.css +0 -1
  146. package/story-elements/Quote/index.js +0 -166
  147. package/story-elements/Quote/styles.arrow.css +0 -1
  148. package/story-elements/Reference/index.js +0 -160
  149. package/story-elements/Reference/styles.arrow.css +0 -1
  150. package/story-elements/StoryElement/index.js +0 -75
  151. package/story-elements/Summary/index.js +0 -190
  152. package/story-elements/Summary/styles.arrow.css +0 -1
  153. package/story-elements/Text/index.js +0 -165
  154. package/story-elements/Text/styles.arrow.css +0 -1
  155. package/story-elements/Video/index.js +0 -81
  156. package/story-elements/Video/styles.arrow.css +0 -1
  157. package/story-templates/ListicleStoryTemplate/index.js +0 -5586
  158. package/story-templates/ListicleStoryTemplate/styles.arrow.css +0 -1
  159. package/story-templates/LiveBlogStoryTemplate/index.js +0 -5762
  160. package/story-templates/LiveBlogStoryTemplate/styles.arrow.css +0 -1
  161. package/story-templates/PhotoStoryTemplate/index.js +0 -5564
  162. package/story-templates/PhotoStoryTemplate/styles.arrow.css +0 -1
  163. package/story-templates/TextStoryTemplate/index.js +0 -5637
  164. package/story-templates/TextStoryTemplate/styles.arrow.css +0 -1
  165. package/story-templates/VideoStoryTemplate/index.js +0 -5496
  166. package/story-templates/VideoStoryTemplate/styles.arrow.css +0 -1
@@ -1,476 +0,0 @@
1
- 'use strict';
2
-
3
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
4
- var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
5
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
- var _getClassName = require('babel-plugin-react-css-modules/dist/browser/getClassName');
7
- var _regeneratorRuntime = require('@babel/runtime/regenerator');
8
- var lodash = require('lodash');
9
- var PropTypes = require('prop-types');
10
- var React = require('react');
11
- var _typeof = require('@babel/runtime/helpers/typeof');
12
- var Timeago = require('react-timeago');
13
- var dateFnsTz = require('date-fns-tz');
14
-
15
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
-
17
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
18
- var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
19
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
20
- var _getClassName__default = /*#__PURE__*/_interopDefaultLegacy(_getClassName);
21
- var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
22
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
23
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
- var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
25
- var Timeago__default = /*#__PURE__*/_interopDefaultLegacy(Timeago);
26
-
27
- function truncate() {
28
- var string = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
29
- var limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 60;
30
- var ellipsis = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
31
- var putEllipsis = ellipsis ? " ..." : "";
32
- return typeof string === "string" && string.length > limit ? string.substring(0, limit) + putEllipsis : string;
33
- }
34
- var timestampToFormat = function timestampToFormat(value, unit, suffix, timestamp) {
35
- var config = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
36
- var _config$showTime = config.showTime,
37
- showTime = _config$showTime === void 0 ? false : _config$showTime,
38
- _config$isTimeFirst = config.isTimeFirst,
39
- isTimeFirst = _config$isTimeFirst === void 0 ? false : _config$isTimeFirst,
40
- _config$isUpperCase = config.isUpperCase,
41
- isUpperCase = _config$isUpperCase === void 0 ? false : _config$isUpperCase,
42
- _config$disableMeridi = config.disableMeridiem,
43
- disableMeridiem = _config$disableMeridi === void 0 ? false : _config$disableMeridi,
44
- _config$timeFormat = config.timeFormat,
45
- timeFormat = _config$timeFormat === void 0 ? "12hours" : _config$timeFormat;
46
- var monthList = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
47
- var dateTime = new Date(timestamp);
48
- var date = dateTime.getDate().toString().padStart(2, 0);
49
- var month = monthList[dateTime.getMonth()];
50
- var localizedMonth = month;
51
-
52
- if (isUpperCase) {
53
- localizedMonth = lodash.upperCase(month);
54
- }
55
-
56
- var year = dateTime.getFullYear();
57
- var localizedMeridiem = config.localizedMeridiem,
58
- localizedMonths = config.localizedMonths,
59
- _config$direction = config.direction,
60
- direction = _config$direction === void 0 ? "ltr" : _config$direction;
61
- var time = formatAMPM(timestamp, timeFormat);
62
- var timeWithLocalizedMeridiem = time;
63
- var timetoShow;
64
-
65
- if (localizedMonths) {
66
- localizedMonth = lodash.get(localizedMonths, [lodash.lowerCase(month)]) || month;
67
- }
68
-
69
- if (localizedMeridiem) {
70
- var isAm = time.includes("am");
71
- var _localizedMeridiem$am = localizedMeridiem.am,
72
- am = _localizedMeridiem$am === void 0 ? "am" : _localizedMeridiem$am,
73
- _localizedMeridiem$pm = localizedMeridiem.pm,
74
- pm = _localizedMeridiem$pm === void 0 ? "pm" : _localizedMeridiem$pm;
75
- timeWithLocalizedMeridiem = (isAm ? time.replace("am", am) : time.replace("pm", pm)) || time;
76
- }
77
-
78
- if (direction === "rtl") {
79
- timetoShow = showTime ? "".concat(timeWithLocalizedMeridiem) : "";
80
- return "".concat(date, " ").concat(localizedMonth, ", ").concat(year, " ").concat(timetoShow, " ");
81
- } else {
82
- if (disableMeridiem) {
83
- return "".concat(localizedMonth, " ").concat(date, ", ").concat(year);
84
- } else if (isTimeFirst) {
85
- return "".concat(timeWithLocalizedMeridiem, ", ").concat(date, " ").concat(localizedMonth, " ").concat(year);
86
- } else {
87
- timetoShow = showTime ? ", ".concat(timeWithLocalizedMeridiem) : "";
88
- return "".concat(date, " ").concat(localizedMonth, ", ").concat(year).concat(timetoShow);
89
- }
90
- }
91
- };
92
- function formatter(value, unit, suffix, date, config) {
93
- var showDateForUnits = ["day", "week", "month", "year"]; // suffix here refers to ago
94
- // unit here refers to seconds, minute, minutes,...
95
-
96
- var localizedSuffix = lodash.get(config, ["localizedPublishTime", suffix]) || suffix;
97
- var localizedUnitOfTime;
98
-
99
- if (unit === "hour" && value > 23 || showDateForUnits.indexOf(unit) !== -1) {
100
- return timestampToFormat(value, unit, suffix, date, config);
101
- } else if (value > 1) {
102
- localizedUnitOfTime = lodash.get(config, ["localizedPublishTime", "".concat(unit, "s")]) || "".concat(unit, "s");
103
- return "".concat(value, " ").concat(localizedUnitOfTime, " ").concat(localizedSuffix);
104
- }
105
-
106
- localizedUnitOfTime = lodash.get(config, ["localizedPublishTime", unit]) || unit;
107
- return "".concat(value, " ").concat(localizedUnitOfTime, " ").concat(localizedSuffix, " ");
108
- }
109
-
110
- function formatAMPM(timestamp) {
111
- var timeFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "12hours";
112
- var dateTime = new Date(timestamp);
113
- var hours = dateTime.getHours();
114
- var minutes = dateTime.getMinutes();
115
- var ampm = hours >= 12 ? "pm" : "am";
116
- hours = hours % 12;
117
- hours = hours || 12;
118
- minutes = minutes < 10 ? "0" + minutes : minutes;
119
- var strTime = hours + ":" + minutes + " " + ampm;
120
-
121
- if (timeFormat === "24hours") {
122
- return dateTime.toLocaleTimeString([], {
123
- hour: "2-digit",
124
- minute: "2-digit"
125
- });
126
- }
127
-
128
- return strTime;
129
- }
130
-
131
- var hexToRGB = function hexToRGB(hex) {
132
- var r = parseInt(hex.slice(1, 3), 16);
133
- var g = parseInt(hex.slice(3, 5), 16);
134
- var b = parseInt(hex.slice(5, 7), 16);
135
- return {
136
- r: r,
137
- g: g,
138
- b: b
139
- };
140
- };
141
- var getLuminanceOfColor = function getLuminanceOfColor(hex) {
142
- var _hexToRGB = hexToRGB(hex),
143
- r = _hexToRGB.r,
144
- g = _hexToRGB.g,
145
- b = _hexToRGB.b;
146
-
147
- return r * 0.299 + g * 0.587 + b * 0.114;
148
- };
149
- var rgbToHex = function rgbToHex() {
150
- var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "rgba(255, 255, 255, 0)";
151
- var rgba = color.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);
152
- 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;
153
- };
154
- var clientWidths = {
155
- mobile: 767,
156
- tablet: 1024
157
- };
158
- var clientWidth = function clientWidth(device) {
159
- var foundDeviceWidth = lodash.get(clientWidths, device);
160
-
161
- if (foundDeviceWidth) {
162
- return lodash.get(global, "document.documentElement.clientWidth") <= foundDeviceWidth;
163
- }
164
-
165
- return false;
166
- };
167
- var getTextColor = function getTextColor() {
168
- var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "rgb(255,255,255)";
169
- var isRegexCheck = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(theme);
170
- var getHexValue = !isRegexCheck ? rgbToHex(theme) : theme;
171
- var textColor = getLuminanceOfColor(getHexValue) < 155 ? "light" : "dark";
172
- return textColor;
173
- };
174
- var getSlot = function getSlot(type, component, storyCallback, collectionCallback) {
175
- switch (type) {
176
- case "story":
177
- return storyCallback();
178
-
179
- case "collection":
180
- return collectionCallback();
181
-
182
- default:
183
- return component ? component() : null;
184
- }
185
- };
186
- var getSlug = function getSlug(collection) {
187
- var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
188
- var _config$magazineSlug = config.magazineSlug,
189
- magazineSlug = _config$magazineSlug === void 0 ? "" : _config$magazineSlug,
190
- _config$isArchivePage = config.isArchivePage,
191
- isArchivePage = _config$isArchivePage === void 0 ? false : _config$isArchivePage;
192
-
193
- if (isArchivePage) {
194
- return "/magazine/archive/".concat(magazineSlug);
195
- }
196
-
197
- if (magazineSlug) {
198
- return "/magazine/".concat(magazineSlug, "/").concat(collection.slug);
199
- }
200
-
201
- var isSection = collection.template === "section";
202
-
203
- if (isSection) {
204
- var sectionId = lodash.get(collection, ["metadata", "section", "0", "id"], "");
205
- var sections = config.sections;
206
- var section = sections && sections.find(function (section) {
207
- return section.id === sectionId;
208
- });
209
- return section ? section["section-url"] : "/";
210
- }
211
-
212
- return "/collection/".concat(collection.slug);
213
- };
214
- function isExternalStory() {
215
- var story = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
216
- var _story$storyTemplate = story["story-template"],
217
- storyTemplate = _story$storyTemplate === void 0 ? "" : _story$storyTemplate,
218
- _story$metadata = story.metadata,
219
- metadata = _story$metadata === void 0 ? {} : _story$metadata;
220
- return storyTemplate === "news-elsewhere" ? lodash.get(metadata, ["reference-url"], "") : "";
221
- } // Adds target='_blank' attribute to anchor tags if not present
222
- var isEmpty = function isEmpty(value) {
223
- return value == null || // From standard.js: Always use === - but value == null is allowed to check null || undefined
224
- _typeof__default["default"](value) === "object" && Object.entries(value).length === 0 && value.constructor === Object || typeof value === "string" && value.trim().length === 0;
225
- };
226
- PropTypes__default["default"].shape({
227
- "sketches-host": PropTypes__default["default"].string,
228
- "cdn-name": PropTypes__default["default"].string,
229
- "cdn-image": PropTypes__default["default"].string
230
- });
231
- PropTypes__default["default"].shape({
232
- headline: PropTypes__default["default"].string,
233
- "last-published-at": PropTypes__default["default"].number,
234
- subheadline: PropTypes__default["default"].string
235
- });
236
- var getStoryUrl = function getStoryUrl(story) {
237
- var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
238
- return lodash.get(story, ["story-template"]) === "news-elsewhere" ? lodash.get(story, ["metadata", "reference-url"], "") : story.url || defaultValue;
239
- };
240
- var navigateTo = function navigateTo(dispatch) {
241
- var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
242
- global.app.navigateToPage(dispatch, url);
243
- };
244
- var generateNavigateSlug = function generateNavigateSlug() {
245
- var collection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
246
- var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
247
- var customUrlPath = arguments.length > 2 ? arguments[2] : undefined;
248
-
249
- if (customUrlPath) {
250
- return customUrlPath;
251
- }
252
-
253
- var _config$magazineSlug2 = config.magazineSlug,
254
- magazineSlug = _config$magazineSlug2 === void 0 ? "" : _config$magazineSlug2,
255
- _config$isArchivePage2 = config.isArchivePage,
256
- isArchivePage = _config$isArchivePage2 === void 0 ? false : _config$isArchivePage2;
257
-
258
- if (isArchivePage) {
259
- return "/magazine/archive/".concat(magazineSlug);
260
- }
261
-
262
- if (magazineSlug) {
263
- return "/magazine/".concat(magazineSlug, "/").concat(collection.slug);
264
- }
265
-
266
- if (collection) {
267
- return getSlug(collection, config);
268
- }
269
-
270
- return "/";
271
- };
272
- var getTimeStamp = function getTimeStamp(date, _formatter) {
273
- var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
274
- var template = arguments.length > 3 ? arguments[3] : undefined;
275
- var timezone = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
276
-
277
- if (timezone && template === "story") {
278
- var zonedTime = timezone && dateFnsTz.utcToZonedTime(date, timezone);
279
- var formatZonedTime = zonedTime && dateFnsTz.format(zonedTime, "yyyy-MM-dd'T'HH:mm:ssXXX", {
280
- timeZone: timezone
281
- });
282
- var timeStamp = timestampToFormat("", "", "", date, config);
283
- return /*#__PURE__*/React__default["default"].createElement("time", {
284
- dateTime: formatZonedTime
285
- }, timeStamp);
286
- }
287
-
288
- return /*#__PURE__*/React__default["default"].createElement(Timeago__default["default"], {
289
- date: date,
290
- formatter: function formatter(value, unit, suffix, date) {
291
- return _formatter(value, unit, suffix, date, config);
292
- }
293
- });
294
- };
295
-
296
- var _styleModuleImportMap = {
297
- "./../Loadmore/load-more.m.css": {
298
- "button": "load-more-m_button__1mmf1",
299
- "default": "load-more-m_default__2_k4V",
300
- "dark": "load-more-m_dark__3dfzb",
301
- "light": "load-more-m_light__ePZQI"
302
- }
303
- };
304
-
305
- var getTemplate = function getTemplate(templateName) {
306
- switch (templateName) {
307
- case "ArrowFourColGrid":
308
- return /*#__PURE__*/React.lazy(function () {
309
- return Promise.resolve().then(function () { return require('./index-37a9ccff.js'); });
310
- });
311
-
312
- case "ArrowThreeColGrid":
313
- return /*#__PURE__*/React.lazy(function () {
314
- return Promise.resolve().then(function () { return require('./index-446679c8.js'); });
315
- });
316
-
317
- case "ArrowOneColStoryList":
318
- return /*#__PURE__*/React.lazy(function () {
319
- return Promise.resolve().then(function () { return require('./index-bbaf526e.js'); });
320
- });
321
-
322
- case "ArrowFourColFiveStories":
323
- return /*#__PURE__*/React.lazy(function () {
324
- return Promise.resolve().then(function () { return require('./index-b5754c5d.js'); });
325
- });
326
-
327
- case "ArrowOpinionCollection":
328
- return /*#__PURE__*/React.lazy(function () {
329
- return Promise.resolve().then(function () { return require('./index-44f97338.js'); });
330
- });
331
-
332
- case "ArrowSixColSixStories":
333
- return /*#__PURE__*/React.lazy(function () {
334
- return Promise.resolve().then(function () { return require('./index-cfb262ef.js'); });
335
- });
336
-
337
- case "ArrowThreeColFlexStories":
338
- return /*#__PURE__*/React.lazy(function () {
339
- return Promise.resolve().then(function () { return require('./index-57dd4870.js'); });
340
- });
341
-
342
- case "ArrowFourColPortraitStories":
343
- return /*#__PURE__*/React.lazy(function () {
344
- return Promise.resolve().then(function () { return require('./index-66dd4dbd.js'); });
345
- });
346
-
347
- default:
348
- return /*#__PURE__*/React.lazy(function () {
349
- return Promise.resolve().then(function () { return require('./index-446679c8.js'); });
350
- });
351
- }
352
- };
353
-
354
- var ExtendedLoadMore = function ExtendedLoadMore(_ref) {
355
- var config = _ref.config,
356
- componentName = _ref.componentName,
357
- WithArrowConfig = _ref.WithArrowConfig,
358
- withSubsequentLoad = _ref.withSubsequentLoad;
359
- var showButton = lodash.get(config, ["showButton"], true);
360
- var btnText = lodash.get(config, ["buttonText"], "Read More");
361
- var theme = lodash.get(config, ["theme"], "");
362
- var textColor = getTextColor(theme);
363
- /* Open an array to maintain load-more initiated components to re-render */
364
-
365
- var _useState = React.useState([]),
366
- _useState2 = _slicedToArray__default["default"](_useState, 2),
367
- components = _useState2[0],
368
- setComponents = _useState2[1];
369
-
370
- var addComponent = /*#__PURE__*/function () {
371
- var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(event) {
372
- var collectionSlug, offset, limit, Component, _yield$yield$fetch$js, items, updatedOffset, updatedCompList;
373
-
374
- return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
375
- while (1) {
376
- switch (_context.prev = _context.next) {
377
- case 0:
378
- event.persist();
379
- collectionSlug = event.target.parentElement.getAttribute("data-collection-slug");
380
- offset = event.target.parentElement.getAttribute("data-collection-offset");
381
- limit = event.target.parentElement.getAttribute("data-collection-limit");
382
- Component = getTemplate(componentName);
383
- _context.next = 7;
384
- return fetch("/api/v1/collections/".concat(collectionSlug, "?item-type=story&offset=").concat(offset, "&limit=").concat(limit));
385
-
386
- case 7:
387
- _context.next = 9;
388
- return _context.sent.json();
389
-
390
- case 9:
391
- _yield$yield$fetch$js = _context.sent;
392
- items = _yield$yield$fetch$js.items;
393
-
394
- if (items.length) {
395
- updatedOffset = parseInt(offset) + parseInt(limit);
396
- event.target.parentElement.setAttribute("data-collection-offset", updatedOffset);
397
- }
398
-
399
- updatedCompList = [].concat(_toConsumableArray__default["default"](components), [{
400
- // Passing a number below the initial collection length (which we will not know here)
401
- // as the second parameter causes the Load More button to be rendered regardless of
402
- // the value given to `isLoadMoreVisible`. Since this paramter will be ignored anyway,
403
- // we pass in a number that is sufficiently always larger.
404
- Component: WithArrowConfig(withSubsequentLoad(Component, limit || 10, true)),
405
- props: {
406
- collection: {
407
- items: items
408
- },
409
- isLoadMoreVisible: false,
410
- config: config
411
- },
412
- componentName: componentName
413
- }]);
414
- setComponents(updatedCompList);
415
-
416
- case 14:
417
- case "end":
418
- return _context.stop();
419
- }
420
- }
421
- }, _callee);
422
- }));
423
-
424
- return function addComponent(_x) {
425
- return _ref2.apply(this, arguments);
426
- };
427
- }();
428
-
429
- if (!showButton) return null;
430
- /* TODO: !HACK! Remove this line post deployment */
431
-
432
- var componentStyles = function componentStyles(componentName) {
433
- return componentName === "ArrowOneColStoryList" ? {
434
- marginLeft: 0
435
- } : {};
436
- };
437
-
438
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, components.map(function (_ref3, index) {
439
- var Component = _ref3.Component,
440
- props = _ref3.props;
441
- return /*#__PURE__*/React__default["default"].createElement("div", {
442
- style: {
443
- maxWidth: 1172,
444
- margin: "auto"
445
- },
446
- key: "extendedLoadMoreBase-key-".concat(index)
447
- }, /*#__PURE__*/React__default["default"].createElement(React.Suspense, {
448
- fallback: /*#__PURE__*/React__default["default"].createElement("div", null, "Loading...")
449
- }, /*#__PURE__*/React__default["default"].createElement(Component, props)));
450
- }), /*#__PURE__*/React__default["default"].createElement("div", {
451
- style: componentStyles(componentName),
452
- onClick: addComponent,
453
- className: "arr--button " + _getClassName__default["default"]("button ".concat(textColor, " default"), _styleModuleImportMap)
454
- }, btnText));
455
- };
456
- ExtendedLoadMore.propTypes = {
457
- componentName: PropTypes__default["default"].string,
458
- config: PropTypes__default["default"].object,
459
- WithArrowConfig: PropTypes__default["default"].func,
460
- withSubsequentLoad: PropTypes__default["default"].func
461
- };
462
-
463
- exports.ExtendedLoadMore = ExtendedLoadMore;
464
- exports.clientWidth = clientWidth;
465
- exports.formatter = formatter;
466
- exports.generateNavigateSlug = generateNavigateSlug;
467
- exports.getSlot = getSlot;
468
- exports.getSlug = getSlug;
469
- exports.getStoryUrl = getStoryUrl;
470
- exports.getTextColor = getTextColor;
471
- exports.getTimeStamp = getTimeStamp;
472
- exports.isEmpty = isEmpty;
473
- exports.isExternalStory = isExternalStory;
474
- exports.navigateTo = navigateTo;
475
- exports.rgbToHex = rgbToHex;
476
- exports.truncate = truncate;
@@ -1,182 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var index$2 = require('./index-0f809dd9.js');
5
- var index$4 = require('./index-afd44863.js');
6
- var index$3 = require('./index-8462c597.js');
7
- var lodash = require('lodash');
8
- var index$1 = require('./index-93cb06d1.js');
9
- var index = require('./index-142f015c.js');
10
- var components = require('@quintype/components');
11
- var PropTypes = require('prop-types');
12
- var reactRedux = require('react-redux');
13
- require('babel-plugin-react-css-modules/dist/browser/getClassName');
14
- require('@babel/runtime/helpers/slicedToArray');
15
- require('@babel/runtime/helpers/defineProperty');
16
- require('react-dom');
17
- require('@babel/runtime/helpers/toConsumableArray');
18
- require('@babel/runtime/helpers/asyncToGenerator');
19
- require('@babel/runtime/regenerator');
20
- require('@babel/runtime/helpers/typeof');
21
- require('react-timeago');
22
- require('date-fns-tz');
23
-
24
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
-
26
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
27
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
28
-
29
- var loadMore = function loadMore(_ref) {
30
- var isLoading = _ref.isLoading,
31
- storyItems = _ref.storyItems,
32
- getMoreStories = _ref.getMoreStories,
33
- _ref$subsequentLoadCo = _ref.subsequentLoadCount,
34
- subsequentLoadCount = _ref$subsequentLoadCo === void 0 ? 4 : _ref$subsequentLoadCo;
35
- if (isLoading) return; // prevent multiple clicks/calls
36
-
37
- var limit = subsequentLoadCount;
38
- var offset = storyItems.length;
39
- getMoreStories(offset, limit);
40
- };
41
-
42
- var FourColGridBase = function FourColGridBase(_ref2) {
43
- var collection = _ref2.collection,
44
- _ref2$config = _ref2.config,
45
- config = _ref2$config === void 0 ? {} : _ref2$config,
46
- getMoreStories = _ref2.getMoreStories,
47
- isLoadMoreVisible = _ref2.isLoadMoreVisible,
48
- isLoading = _ref2.isLoading,
49
- isolatedLoadMore = _ref2.isolatedLoadMore;
50
- var _config$collectionNam = config.collectionNameBorderColor,
51
- collectionNameBorderColor = _config$collectionNam === void 0 ? "" : _config$collectionNam,
52
- _config$borderColor = config.borderColor,
53
- borderColor = _config$borderColor === void 0 ? "" : _config$borderColor,
54
- _config$theme = config.theme,
55
- theme = _config$theme === void 0 ? "" : _config$theme,
56
- _config$border = config.border,
57
- border = _config$border === void 0 ? "" : _config$border,
58
- _config$collectionNam2 = config.collectionNameTemplate,
59
- collectionNameTemplate = _config$collectionNam2 === void 0 ? "" : _config$collectionNam2,
60
- _config$footerSlotCon = config.footerSlotConfig,
61
- footerSlotConfig = _config$footerSlotCon === void 0 ? {} : _config$footerSlotCon,
62
- _config$footerButton = config.footerButton,
63
- footerButton = _config$footerButton === void 0 ? "" : _config$footerButton,
64
- customCollectionName = config.customCollectionName,
65
- _config$navigate = config.navigate,
66
- navigate = _config$navigate === void 0 ? true : _config$navigate,
67
- _config$subsequentLoa = config.subsequentLoadCount,
68
- subsequentLoadCount = _config$subsequentLoa === void 0 ? 4 : _config$subsequentLoa;
69
- var storyItems = components.collectionToStories(collection);
70
- if (!storyItems.length) return null;
71
- var footerSlot = footerSlotConfig.footerSlot;
72
- var footerSlotComp = footerSlot ? footerSlot() : null;
73
- var textColor = index.getTextColor(theme);
74
- var dispatch = reactRedux.useDispatch();
75
- var qtConfig = reactRedux.useSelector(function (state) {
76
- return lodash.get(state, ["qt", "config"], {});
77
- });
78
-
79
- var getLoadMore = function getLoadMore(opts) {
80
- if (!isLoadMoreVisible) return null;
81
-
82
- if (isolatedLoadMore) {
83
- return /*#__PURE__*/React__default["default"].createElement(index$1.LoadMoreTarget, {
84
- collection: collection,
85
- componentName: "FourColGrid",
86
- offset: storyItems.length,
87
- limit: subsequentLoadCount
88
- });
89
- }
90
-
91
- var url = index.generateNavigateSlug(collection, qtConfig);
92
- return /*#__PURE__*/React__default["default"].createElement(index$1.ProgressiveHydration, null, /*#__PURE__*/React__default["default"].createElement(index$1.LoadmoreButton, {
93
- config: config,
94
- collection: collection,
95
- template: footerButton,
96
- onClick: function onClick() {
97
- return loadMore(opts);
98
- },
99
- navigate: function navigate() {
100
- return index.navigateTo(dispatch, url);
101
- },
102
- qtConfig: qtConfig
103
- }));
104
- };
105
-
106
- return /*#__PURE__*/React__default["default"].createElement("div", {
107
- className: "full-width-with-padding arrow-component",
108
- "data-test-id": "four-col-grid",
109
- style: {
110
- backgroundColor: theme,
111
- color: textColor
112
- }
113
- }, /*#__PURE__*/React__default["default"].createElement("div", {
114
- className: "four-col-m_four-col-grid__1EiO7"
115
- }, /*#__PURE__*/React__default["default"].createElement(index$1.CollectionName, {
116
- collection: collection,
117
- collectionNameTemplate: collectionNameTemplate,
118
- collectionNameBorderColor: collectionNameBorderColor,
119
- customCollectionName: customCollectionName,
120
- navigate: navigate
121
- }), /*#__PURE__*/React__default["default"].createElement("div", {
122
- className: "four-col-m_wrapper__1vOV7"
123
- }, storyItems.map(function (story, index) {
124
- return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
125
- key: "story-4col-".concat(index, "-").concat(lodash.get(story, ["id"], "0"))
126
- }, /*#__PURE__*/React__default["default"].createElement("div", {
127
- className: "four-col-m_story-card-wrapper__1e8p0",
128
- key: "default-".concat(index)
129
- }, /*#__PURE__*/React__default["default"].createElement(index$2.StoryCard, {
130
- story: story,
131
- border: border,
132
- theme: theme,
133
- isHorizontalMobile: true,
134
- config: config
135
- }, /*#__PURE__*/React__default["default"].createElement(index$3.HeroImage, {
136
- aspectRatio: [[16, 9]],
137
- story: story,
138
- isHorizontalMobile: true
139
- }), /*#__PURE__*/React__default["default"].createElement(index$4.StorycardContent, {
140
- theme: theme,
141
- border: border,
142
- borderColor: borderColor,
143
- story: story,
144
- isHorizontalMobile: true,
145
- config: config
146
- }))));
147
- })), getLoadMore({
148
- isLoading: isLoading,
149
- storyItems: storyItems,
150
- getMoreStories: getMoreStories,
151
- subsequentLoadCount: subsequentLoadCount
152
- }), footerSlotComp));
153
- };
154
- FourColGridBase.propTypes = {
155
- /** collection is the array of objects which is returning by API */
156
- collection: PropTypes__default["default"].object.isRequired,
157
-
158
- /** The config for the Row */
159
- config: PropTypes__default["default"].shape({
160
- borderColor: PropTypes__default["default"].string,
161
- theme: PropTypes__default["default"].string,
162
- border: PropTypes__default["default"].bool,
163
- slotConfig: PropTypes__default["default"].array,
164
- collectionNameTemplate: PropTypes__default["default"].string,
165
- footerButton: PropTypes__default["default"].string,
166
- collectionNameBorderColor: PropTypes__default["default"].string,
167
- subsequentLoadCount: PropTypes__default["default"].number
168
- }),
169
- getMoreStories: PropTypes__default["default"].func,
170
- isLoadMoreVisible: PropTypes__default["default"].bool,
171
- isLoading: PropTypes__default["default"].bool,
172
- isolatedLoadMore: PropTypes__default["default"].bool
173
- };
174
- FourColGridBase.defaultProps = {
175
- getMoreStories: function getMoreStories() {},
176
- isLoadMoreVisible: true,
177
- isLoading: false
178
- };
179
- var FourColGrid = index$1.StateProvider(FourColGridBase);
180
-
181
- exports.FourColGrid = FourColGrid;
182
- exports.FourColGridBase = FourColGridBase;