@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,773 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var components = require('@quintype/components');
6
- var lodash = require('lodash');
7
- var PropTypes = require('prop-types');
8
- var React = require('react');
9
- require('@babel/runtime/helpers/asyncToGenerator');
10
- require('@babel/runtime/helpers/typeof');
11
- require('@babel/runtime/regenerator');
12
- require('react-timeago');
13
- require('date-fns-tz');
14
- var _extends = require('@babel/runtime/helpers/extends');
15
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
16
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
17
- var reactRedux = require('react-redux');
18
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
19
- var _getClassName = require('babel-plugin-react-css-modules/dist/browser/getClassName');
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 PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
42
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
43
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
44
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
45
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
46
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
47
- var _getClassName__default = /*#__PURE__*/_interopDefaultLegacy(_getClassName);
48
-
49
- var hexToRGB = function hexToRGB(hex) {
50
- var r = parseInt(hex.slice(1, 3), 16);
51
- var g = parseInt(hex.slice(3, 5), 16);
52
- var b = parseInt(hex.slice(5, 7), 16);
53
- return {
54
- r: r,
55
- g: g,
56
- b: b
57
- };
58
- };
59
- var getLuminanceOfColor = function getLuminanceOfColor(hex) {
60
- var _hexToRGB = hexToRGB(hex),
61
- r = _hexToRGB.r,
62
- g = _hexToRGB.g,
63
- b = _hexToRGB.b;
64
-
65
- return r * 0.299 + g * 0.587 + b * 0.114;
66
- };
67
- var rgbToHex = function rgbToHex() {
68
- var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "rgba(255, 255, 255, 0)";
69
- var rgba = color.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);
70
- 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;
71
- };
72
- var getTextColor = function getTextColor() {
73
- var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "rgb(255,255,255)";
74
- var isRegexCheck = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(theme);
75
- var getHexValue = !isRegexCheck ? rgbToHex(theme) : theme;
76
- var textColor = getLuminanceOfColor(getHexValue) < 155 ? "light" : "dark";
77
- return textColor;
78
- };
79
- PropTypes__default["default"].shape({
80
- "sketches-host": PropTypes__default["default"].string,
81
- "cdn-name": PropTypes__default["default"].string,
82
- "cdn-image": PropTypes__default["default"].string
83
- });
84
- var shapeStory = PropTypes__default["default"].shape({
85
- headline: PropTypes__default["default"].string,
86
- "last-published-at": PropTypes__default["default"].number,
87
- subheadline: PropTypes__default["default"].string
88
- });
89
-
90
- var Loading = function Loading(_ref) {
91
- _ref.width;
92
- _ref.height;
93
- _ref.iconColor;
94
- return /*#__PURE__*/React__default["default"].createElement("div", {
95
- className: "loading-m_loading-indicator__2Dlst"
96
- }, /*#__PURE__*/React__default["default"].createElement("svg", {
97
- width: "40",
98
- height: "40",
99
- xmlns: "http://www.w3.org/2000/svg",
100
- viewBox: "0 0 100 100",
101
- preserveAspectRatio: "xMidYMid"
102
- }, /*#__PURE__*/React__default["default"].createElement("circle", {
103
- cx: "84",
104
- cy: "50",
105
- r: "0",
106
- fill: "currentColor"
107
- }, /*#__PURE__*/React__default["default"].createElement("animate", {
108
- attributeName: "r",
109
- values: "10;0;0;0;0",
110
- keyTimes: "0;0.25;0.5;0.75;1",
111
- 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",
112
- calcMode: "spline",
113
- dur: "2s",
114
- repeatCount: "indefinite",
115
- begin: "0s"
116
- }), /*#__PURE__*/React__default["default"].createElement("animate", {
117
- attributeName: "cx",
118
- values: "84;84;84;84;84",
119
- keyTimes: "0;0.25;0.5;0.75;1",
120
- 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",
121
- calcMode: "spline",
122
- dur: "2s",
123
- repeatCount: "indefinite",
124
- begin: "0s"
125
- })), /*#__PURE__*/React__default["default"].createElement("circle", {
126
- cx: "84",
127
- cy: "50",
128
- r: ".709",
129
- fill: "currentColor"
130
- }, /*#__PURE__*/React__default["default"].createElement("animate", {
131
- attributeName: "r",
132
- values: "0;10;10;10;0",
133
- keyTimes: "0;0.25;0.5;0.75;1",
134
- 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",
135
- calcMode: "spline",
136
- dur: "2s",
137
- repeatCount: "indefinite",
138
- begin: "-1s"
139
- }), /*#__PURE__*/React__default["default"].createElement("animate", {
140
- attributeName: "cx",
141
- values: "16;16;50;84;84",
142
- keyTimes: "0;0.25;0.5;0.75;1",
143
- 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",
144
- calcMode: "spline",
145
- dur: "2s",
146
- repeatCount: "indefinite",
147
- begin: "-1s"
148
- })), /*#__PURE__*/React__default["default"].createElement("circle", {
149
- cx: "81.59",
150
- cy: "50",
151
- r: "10",
152
- fill: "currentColor"
153
- }, /*#__PURE__*/React__default["default"].createElement("animate", {
154
- attributeName: "r",
155
- values: "0;10;10;10;0",
156
- keyTimes: "0;0.25;0.5;0.75;1",
157
- 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",
158
- calcMode: "spline",
159
- dur: "2s",
160
- repeatCount: "indefinite",
161
- begin: "-0.5s"
162
- }), /*#__PURE__*/React__default["default"].createElement("animate", {
163
- attributeName: "cx",
164
- values: "16;16;50;84;84",
165
- keyTimes: "0;0.25;0.5;0.75;1",
166
- 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",
167
- calcMode: "spline",
168
- dur: "2s",
169
- repeatCount: "indefinite",
170
- begin: "-0.5s"
171
- })), /*#__PURE__*/React__default["default"].createElement("circle", {
172
- cx: "47.59",
173
- cy: "50",
174
- r: "10",
175
- fill: "currentColor"
176
- }, /*#__PURE__*/React__default["default"].createElement("animate", {
177
- attributeName: "r",
178
- values: "0;10;10;10;0",
179
- keyTimes: "0;0.25;0.5;0.75;1",
180
- 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",
181
- calcMode: "spline",
182
- dur: "2s",
183
- repeatCount: "indefinite",
184
- begin: "0s"
185
- }), /*#__PURE__*/React__default["default"].createElement("animate", {
186
- attributeName: "cx",
187
- values: "16;16;50;84;84",
188
- keyTimes: "0;0.25;0.5;0.75;1",
189
- 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",
190
- calcMode: "spline",
191
- dur: "2s",
192
- repeatCount: "indefinite",
193
- begin: "0s"
194
- })), /*#__PURE__*/React__default["default"].createElement("circle", {
195
- cx: "16",
196
- cy: "50",
197
- r: "9.291",
198
- fill: "currentColor"
199
- }, /*#__PURE__*/React__default["default"].createElement("animate", {
200
- attributeName: "r",
201
- values: "0;0;10;10;10",
202
- keyTimes: "0;0.25;0.5;0.75;1",
203
- 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",
204
- calcMode: "spline",
205
- dur: "2s",
206
- repeatCount: "indefinite",
207
- begin: "0s"
208
- }), /*#__PURE__*/React__default["default"].createElement("animate", {
209
- attributeName: "cx",
210
- values: "16;16;16;50;84",
211
- keyTimes: "0;0.25;0.5;0.75;1",
212
- 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",
213
- calcMode: "spline",
214
- dur: "2s",
215
- repeatCount: "indefinite",
216
- begin: "0s"
217
- }))));
218
- };
219
- Loading.propTypes = {
220
- width: PropTypes__default["default"].object,
221
- height: PropTypes__default["default"].object,
222
- iconColor: PropTypes__default["default"].object
223
- };
224
-
225
- var HyperLinkIcon = function HyperLinkIcon() {
226
- return /*#__PURE__*/React__default["default"].createElement("svg", {
227
- xmlns: "http://www.w3.org/2000/svg",
228
- width: "36",
229
- height: "28"
230
- }, /*#__PURE__*/React__default["default"].createElement("g", {
231
- fill: "none",
232
- fillRule: "evenodd"
233
- }, /*#__PURE__*/React__default["default"].createElement("rect", {
234
- width: "36",
235
- height: "28",
236
- fill: "#3D6FCF",
237
- rx: "4"
238
- }), /*#__PURE__*/React__default["default"].createElement("path", {
239
- stroke: "#FFF",
240
- strokeLinecap: "round",
241
- strokeLinejoin: "round",
242
- strokeWidth: "2",
243
- 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"
244
- })));
245
- };
246
-
247
- var HyperLink = function HyperLink(_ref) {
248
- var _ref$hyperLink = _ref.hyperLink,
249
- hyperLink = _ref$hyperLink === void 0 ? "" : _ref$hyperLink;
250
- if (!hyperLink) return null;
251
- return /*#__PURE__*/React__default["default"].createElement(components.Link, {
252
- href: hyperLink,
253
- "aria-label": "hyperlink-button",
254
- className: "arr--hyperlink-button hyperlink-m_hyperlink-button__1CqWx",
255
- target: "_blank",
256
- rel: "noopener noreferrer"
257
- }, /*#__PURE__*/React__default["default"].createElement(HyperLinkIcon, null));
258
- };
259
- HyperLink.propTypes = {
260
- hyperLink: PropTypes__default["default"].string
261
- };
262
-
263
- 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; }
264
-
265
- 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; }
266
- var Lightbox = /*#__PURE__*/React.lazy(function () {
267
- return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('react-image-lightbox')); });
268
- });
269
- var FullScreenImages = function FullScreenImages(_ref) {
270
- var _ref$imageSlug = _ref.imageSlug,
271
- imageSlug = _ref$imageSlug === void 0 ? "" : _ref$imageSlug,
272
- template = _ref.template,
273
- _ref$element = _ref.element,
274
- element = _ref$element === void 0 ? {} : _ref$element,
275
- props = _ref.props;
276
- var cdnImage = reactRedux.useSelector(function (state) {
277
- return lodash.get(state, ["qt", "config", "cdn-image"]);
278
- });
279
-
280
- var _useState = React.useState(0),
281
- _useState2 = _slicedToArray__default["default"](_useState, 2),
282
- photoIndex = _useState2[0],
283
- handleImage = _useState2[1];
284
-
285
- var _useState3 = React.useState(false),
286
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
287
- isOpen = _useState4[0],
288
- handleOpen = _useState4[1];
289
-
290
- var deviceWidth = lodash.get(global, ["innerWidth"], 0);
291
- var hyperlinks = lodash.get(element, ["story-elements"], []).map(function (image) {
292
- return image.hyperlink;
293
- });
294
- var imageUrlList = [];
295
-
296
- if (!imageSlug) {
297
- imageUrlList = lodash.get(element, ["story-elements"], []).map(function (image) {
298
- return "//".concat(cdnImage, "/").concat(image["image-s3-key"], "?w=").concat(deviceWidth);
299
- });
300
- }
301
-
302
- var onClickHandler = function onClickHandler(index) {
303
- handleOpen(true);
304
- handleImage(index);
305
- };
306
-
307
- var onClickKey = imageSlug ? "onClick" : "onClickHandler";
308
- var imageUrlListLength = imageUrlList.length;
309
-
310
- var onMoveNext = function onMoveNext(imageUrlListLength) {
311
- var next = (photoIndex + 1) % imageUrlListLength;
312
- handleImage(next);
313
- };
314
-
315
- var onMovePrev = function onMovePrev(imageUrlListLength) {
316
- var prev = (photoIndex + imageUrlListLength - 1) % imageUrlListLength;
317
- handleImage(prev);
318
- };
319
-
320
- var onClose = function onClose() {
321
- handleImage(0);
322
- handleOpen(false);
323
- };
324
-
325
- var getHyperLink = function getHyperLink() {
326
- if (element.hyperlink || hyperlinks[photoIndex]) {
327
- return /*#__PURE__*/React__default["default"].createElement(HyperLink, {
328
- hyperLink: element.hyperlink || hyperlinks[photoIndex]
329
- });
330
- }
331
-
332
- return null;
333
- };
334
-
335
- var lightboxProps = imageSlug ? {
336
- mainSrc: "//".concat(cdnImage, "/").concat(imageSlug, "?w=").concat(deviceWidth),
337
- toolbarButtons: [getHyperLink()]
338
- } : {
339
- mainSrc: imageUrlList[photoIndex],
340
- nextSrc: imageUrlList[(photoIndex + 1) % imageUrlListLength],
341
- prevSrc: imageUrlList[(photoIndex + imageUrlListLength - 1) % imageUrlListLength],
342
- onMoveNextRequest: function onMoveNextRequest() {
343
- return onMoveNext(imageUrlListLength);
344
- },
345
- onMovePrevRequest: function onMovePrevRequest() {
346
- return onMovePrev(imageUrlListLength);
347
- },
348
- toolbarButtons: [getHyperLink()]
349
- };
350
-
351
- var LoadingScreen = function LoadingScreen() {
352
- return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(Loading, null));
353
- };
354
-
355
- 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, {
356
- fallback: /*#__PURE__*/React__default["default"].createElement(LoadingScreen, null)
357
- }, /*#__PURE__*/React__default["default"].createElement(Lightbox, _extends__default["default"]({
358
- wrapperClassName: "arr--image-lightbox",
359
- onCloseRequest: onClose
360
- }, lightboxProps))) : null);
361
- };
362
- FullScreenImages.propTypes = {
363
- imageSlug: PropTypes__default["default"].string,
364
- template: PropTypes__default["default"].func,
365
- element: PropTypes__default["default"].shape({
366
- "story-elements": PropTypes__default["default"].array
367
- }),
368
- props: PropTypes__default["default"].object
369
- };
370
-
371
- var _excluded = ["element", "render"];
372
- var withElementWrapper = function withElementWrapper(StoryElement) {
373
- return function (props) {
374
- var element = props.element,
375
- render = props.render,
376
- restProps = _objectWithoutProperties__default["default"](props, _excluded);
377
-
378
- if (!element) return null;
379
- if (render && typeof render === "function") return render(props);
380
- return /*#__PURE__*/React__default["default"].createElement(StoryElement, _extends__default["default"]({}, restProps, {
381
- element: element
382
- }));
383
- };
384
- };
385
- withElementWrapper.propTypes = {
386
- StoryElement: PropTypes__default["default"].element
387
- };
388
-
389
- var LeftArrow = function LeftArrow(_ref) {
390
- var _ref$color = _ref.color,
391
- color = _ref$color === void 0 ? "#333" : _ref$color;
392
- return /*#__PURE__*/React__default["default"].createElement("svg", {
393
- xmlns: "http://www.w3.org/2000/svg",
394
- width: "16",
395
- height: "16",
396
- viewBox: "0 0 10 16"
397
- }, /*#__PURE__*/React__default["default"].createElement("g", {
398
- fill: "none",
399
- fillRule: "nonzero"
400
- }, /*#__PURE__*/React__default["default"].createElement("path", {
401
- d: "M17 20H-7V-4h24z",
402
- opacity: ".384"
403
- }), /*#__PURE__*/React__default["default"].createElement("path", {
404
- stroke: color,
405
- d: "M9 16L1 8l8-8"
406
- })));
407
- };
408
- LeftArrow.propTypes = {
409
- color: PropTypes__default["default"].string
410
- };
411
-
412
- var RightArrow = function RightArrow(_ref) {
413
- var _ref$color = _ref.color,
414
- color = _ref$color === void 0 ? "#333" : _ref$color;
415
- return /*#__PURE__*/React__default["default"].createElement("svg", {
416
- xmlns: "http://www.w3.org/2000/svg",
417
- width: "16",
418
- height: "16",
419
- viewBox: "0 0 10 16"
420
- }, /*#__PURE__*/React__default["default"].createElement("g", {
421
- fill: "none",
422
- fillRule: "nonzero"
423
- }, /*#__PURE__*/React__default["default"].createElement("path", {
424
- d: "M-7-4h24v24H-7z",
425
- opacity: ".384"
426
- }), /*#__PURE__*/React__default["default"].createElement("path", {
427
- stroke: color,
428
- d: "M1 0l8 8-8 8"
429
- })));
430
- };
431
- RightArrow.propTypes = {
432
- color: PropTypes__default["default"].string
433
- };
434
-
435
- var StateContext = /*#__PURE__*/React.createContext(); // eslint-disable-next-line react/display-name
436
- var useStateValue = function useStateValue() {
437
- return React.useContext(StateContext);
438
- };
439
-
440
- var _styleModuleImportMap$1 = {
441
- "./slider-arrow.m.css": {
442
- "arrow": "slider-arrow-m_arrow__1eBUU",
443
- "left-arrow-dark": "slider-arrow-m_left-arrow-dark__3mTJS",
444
- "right-arrow-dark": "slider-arrow-m_right-arrow-dark__3hWZe",
445
- "left-arrow-light": "slider-arrow-m_left-arrow-light__2ipUK",
446
- "right-arrow-light": "slider-arrow-m_right-arrow-light__3omMU",
447
- "left-arrow-ltr": "slider-arrow-m_left-arrow-ltr__1ngNF",
448
- "right-arrow-ltr": "slider-arrow-m_right-arrow-ltr__2svWX",
449
- "left-arrow-rtl": "slider-arrow-m_left-arrow-rtl__2ynyn",
450
- "right-arrow-rtl": "slider-arrow-m_right-arrow-rtl__1GjPz"
451
- }
452
- };
453
- var SliderArrow = function SliderArrow(_ref) {
454
- var selectedIndex = _ref.selectedIndex,
455
- previousClick = _ref.previousClick,
456
- nextClick = _ref.nextClick,
457
- noOfItems = _ref.noOfItems,
458
- perView = _ref.perView,
459
- languageDirection = _ref.languageDirection;
460
-
461
- if (noOfItems < 1) {
462
- return null;
463
- }
464
-
465
- var config = useStateValue() || {};
466
- var textColor = getTextColor(config.theme);
467
-
468
- var rightArrowView = function rightArrowView() {
469
- if (selectedIndex >= noOfItems - perView) return false;
470
- return true;
471
- };
472
-
473
- var getLeftArrowClassName = languageDirection === "rtl" ? "left-arrow-rtl" : "left-arrow-ltr";
474
- var getRightArrowClassName = languageDirection === "rtl" ? "right-arrow-rtl" : "right-arrow-ltr";
475
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, selectedIndex !== 0 ? /*#__PURE__*/React__default["default"].createElement("button", {
476
- onClick: previousClick,
477
- className: ("left-arrow ".concat(getLeftArrowClassName) ? "left-arrow ".concat(getLeftArrowClassName) + " " : "") + _getClassName__default["default"]("arrow left-arrow-".concat(textColor, " ").concat(getLeftArrowClassName), _styleModuleImportMap$1)
478
- }, /*#__PURE__*/React__default["default"].createElement(LeftArrow, {
479
- color: textColor === "dark" ? "#fff" : "#333"
480
- })) : null, selectedIndex < noOfItems - 1 && rightArrowView() ? /*#__PURE__*/React__default["default"].createElement("button", {
481
- onClick: nextClick,
482
- className: ("right-arrow ".concat(getRightArrowClassName) ? "right-arrow ".concat(getRightArrowClassName) + " " : "") + _getClassName__default["default"]("arrow right-arrow-".concat(textColor, " ").concat(getRightArrowClassName), _styleModuleImportMap$1)
483
- }, /*#__PURE__*/React__default["default"].createElement(RightArrow, {
484
- color: textColor === "dark" ? "#fff" : "#333"
485
- })) : null);
486
- };
487
- SliderArrow.propTypes = {
488
- noOfItems: PropTypes.number,
489
- perView: PropTypes.number,
490
- slideIndicator: PropTypes.string,
491
- previousClick: PropTypes.func,
492
- nextClick: PropTypes.func,
493
- selectedIndex: PropTypes.number,
494
- languageDirection: PropTypes.string
495
- };
496
-
497
- var _styleModuleImportMap = {
498
- "./slider-indicator.m.css": {
499
- "indicators": "slider-indicator-m_indicators__3MNXc",
500
- "indicator": "slider-indicator-m_indicator__gTv3x",
501
- "indicator-button": "slider-indicator-m_indicator-button__1e82r",
502
- "indicator-dots": "slider-indicator-m_indicator-dots__2TR3H",
503
- "indicator-dots-dark": "slider-indicator-m_indicator-dots-dark__sGrev",
504
- "indicator-dots-light": "slider-indicator-m_indicator-dots-light__2nPn-",
505
- "indicator-dashes": "slider-indicator-m_indicator-dashes__DyNCE",
506
- "indicator-dashes-dark": "slider-indicator-m_indicator-dashes-dark__VrqJI",
507
- "indicator-dashes-light": "slider-indicator-m_indicator-dashes-light__34ESx"
508
- }
509
- };
510
- var SliderIndicator = function SliderIndicator(_ref) {
511
- var indicatorItems = _ref.indicatorItems,
512
- indicatorClick = _ref.indicatorClick,
513
- selectedIndex = _ref.selectedIndex,
514
- indicatorType = _ref.indicatorType;
515
-
516
- if (indicatorItems.length < 1) {
517
- return null;
518
- }
519
-
520
- var config = useStateValue() || {};
521
- var textColor = getTextColor(config.theme);
522
- return /*#__PURE__*/React__default["default"].createElement("ul", {
523
- className: "slider-indicators slider-indicator-m_indicators__3MNXc"
524
- }, indicatorItems.map(function (_, index) {
525
- return /*#__PURE__*/React__default["default"].createElement("li", {
526
- key: "slider-".concat(index),
527
- className: "indicator slider-indicator-m_indicator__gTv3x",
528
- onClick: function onClick(e) {
529
- return indicatorClick(e, index);
530
- }
531
- }, /*#__PURE__*/React__default["default"].createElement("button", {
532
- "aria-pressed": selectedIndex === index ? "true" : "false",
533
- 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)
534
- }));
535
- }));
536
- };
537
- SliderIndicator.propTypes = {
538
- indicatorItems: PropTypes.array,
539
- perView: PropTypes.number,
540
- indicatorType: PropTypes.string,
541
- indicatorClick: PropTypes.func,
542
- selectedIndex: PropTypes.number
543
- };
544
-
545
- var smoothScroll = function smoothScroll(node, topOrLeft, horizontal) {
546
- var _node$scrollTo;
547
-
548
- node.scrollTo((_node$scrollTo = {}, _defineProperty__default["default"](_node$scrollTo, horizontal ? "left" : "top", topOrLeft), _defineProperty__default["default"](_node$scrollTo, "behavior", "smooth"), _node$scrollTo));
549
- };
550
-
551
- var updateItemSelection = function updateItemSelection(index, languageDirection, scroller, noOfItems) {
552
- var getScrollValue = Math.floor(scroller.current.scrollWidth * (index / noOfItems));
553
- var scrollValue = languageDirection === "rtl" ? getScrollValue * -1 : getScrollValue;
554
- smoothScroll(scroller.current, scrollValue, true);
555
- };
556
-
557
- var setIndicatorValue = function setIndicatorValue(func, ms) {
558
- var timeout;
559
- return function () {
560
- clearTimeout(timeout);
561
- timeout = setTimeout(function () {
562
- timeout = null;
563
- func();
564
- }, ms);
565
- };
566
- };
567
-
568
- var ScrollSnap = function ScrollSnap(_ref) {
569
- var children = _ref.children,
570
- isArrow = _ref.isArrow,
571
- interval = _ref.interval,
572
- isInfinite = _ref.isInfinite,
573
- pauseOnHover = _ref.pauseOnHover,
574
- perView = _ref.perView,
575
- slideIndicator = _ref.slideIndicator;
576
-
577
- var _useState = React.useState(0),
578
- _useState2 = _slicedToArray__default["default"](_useState, 2),
579
- selectedIndex = _useState2[0],
580
- setSelectedIndex = _useState2[1];
581
-
582
- var _useState3 = React.useState(false),
583
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
584
- autoScroll = _useState4[0],
585
- setAutoScroll = _useState4[1];
586
-
587
- var languageDirection = reactRedux.useSelector(function (state) {
588
- return lodash.get(state, ["qt", "config", "language", "direction"], "ltr");
589
- });
590
- var noOfItems = children ? children.length : 0;
591
- var scroller = React.useRef(null);
592
- var numberOfIndicatorsToShow = children.length - (perView - 1);
593
- var indicatorItems = children.slice(0, numberOfIndicatorsToShow);
594
- React.useEffect(function () {
595
- if (scroller.current) {
596
- scroller.current.addEventListener("scroll", setIndicatorValue(function () {
597
- var value = Math.round(scroller.current.scrollLeft / scroller.current.scrollWidth * noOfItems);
598
- setSelectedIndex(Math.abs(value));
599
- }, 150)); // For Default Selection if selectedIndex is not 0 then manually select it
600
-
601
- if (selectedIndex !== 0) {
602
- updateItemSelection(selectedIndex);
603
- }
604
- }
605
-
606
- return function () {
607
- scroller.current.removeEventListener("scroll", setIndicatorValue);
608
- };
609
- }, []); // Infinite scroll
610
-
611
- React.useEffect(function () {
612
- if (isInfinite && !autoScroll) {
613
- var timer = setInterval(function () {
614
- infiniteScroll();
615
- }, interval);
616
- return function () {
617
- clearInterval(timer);
618
- };
619
- }
620
- }, [isInfinite, autoScroll]);
621
-
622
- var infiniteScroll = function infiniteScroll() {
623
- setSelectedIndex(function (value) {
624
- var newIndex = value === noOfItems - perView ? 0 : value + 1;
625
- updateItemSelection(newIndex, languageDirection, scroller, noOfItems);
626
- return newIndex;
627
- });
628
- };
629
-
630
- var pauseAutoPlay = function pauseAutoPlay() {
631
- pauseOnHover && setAutoScroll(!autoScroll);
632
- };
633
-
634
- var indicatorClick = function indicatorClick(e, newIndex) {
635
- e.preventDefault();
636
- e.stopPropagation();
637
- setSelectedIndex(newIndex);
638
- updateItemSelection(newIndex, languageDirection, scroller, noOfItems);
639
- };
640
-
641
- var nextClick = function nextClick(e) {
642
- e.preventDefault();
643
- e.stopPropagation();
644
-
645
- if (selectedIndex < noOfItems) {
646
- var newIndex = selectedIndex + 1;
647
- setSelectedIndex(newIndex);
648
- updateItemSelection(newIndex, languageDirection, scroller, noOfItems);
649
- }
650
- };
651
-
652
- var previousClick = function previousClick(e) {
653
- e.preventDefault();
654
- e.stopPropagation();
655
- var newIndex = selectedIndex - 1;
656
- setSelectedIndex(newIndex);
657
- updateItemSelection(newIndex, languageDirection, scroller, noOfItems);
658
- };
659
-
660
- return /*#__PURE__*/React__default["default"].createElement("div", {
661
- className: "scroll-snap-container"
662
- }, /*#__PURE__*/React__default["default"].createElement("div", {
663
- className: "scroll-snap-wrapper scroll-snap-m_wrapper__1Rz9v",
664
- onMouseEnter: pauseAutoPlay,
665
- onMouseLeave: pauseAutoPlay
666
- }, /*#__PURE__*/React__default["default"].createElement("div", {
667
- ref: scroller,
668
- className: "scroll-snap-carousel scroll-snap-m_carousel__2m3cg"
669
- }, children), isArrow && /*#__PURE__*/React__default["default"].createElement(SliderArrow, {
670
- noOfItems: noOfItems,
671
- perView: perView,
672
- previousClick: previousClick,
673
- nextClick: nextClick,
674
- selectedIndex: selectedIndex,
675
- languageDirection: languageDirection
676
- })), children.length > perView && slideIndicator !== "none" && /*#__PURE__*/React__default["default"].createElement(SliderIndicator, {
677
- indicatorItems: indicatorItems,
678
- indicatorClick: indicatorClick,
679
- selectedIndex: selectedIndex,
680
- indicatorType: slideIndicator
681
- }));
682
- };
683
- ScrollSnap.defaultProps = {
684
- isArrow: true,
685
- isInfinite: false,
686
- interval: 4000,
687
- pauseOnHover: true,
688
- perView: 1,
689
- slideIndicator: "dots"
690
- };
691
- ScrollSnap.propTypes = {
692
- children: PropTypes.array.isRequired,
693
- isArrow: PropTypes.bool,
694
- isInfinite: PropTypes.bool,
695
- interval: PropTypes.number,
696
- pauseOnHover: PropTypes.bool,
697
- perView: PropTypes.number,
698
- slideIndicator: PropTypes.string
699
- };
700
-
701
- var ImageSlideshowBase = function ImageSlideshowBase(props) {
702
- if (!props.element) return null;
703
-
704
- var Slide = function Slide(image, index, onClickHandler) {
705
- var id = image.id,
706
- imageS3Key = image["image-s3-key"],
707
- metadata = image.metadata,
708
- title = image.title,
709
- _image$hyperlink = image.hyperlink,
710
- hyperlink = _image$hyperlink === void 0 ? "" : _image$hyperlink;
711
- return /*#__PURE__*/React__default["default"].createElement("div", {
712
- className: "image-slideshow-m_slide__3URCC",
713
- key: id
714
- }, /*#__PURE__*/React__default["default"].createElement("figure", {
715
- key: id,
716
- className: "image-slideshow-m_image-container__2VTEK",
717
- onClick: function onClick() {
718
- return onClickHandler(index);
719
- }
720
- }, /*#__PURE__*/React__default["default"].createElement(components.LazyLoadImages, {
721
- margin: "0px"
722
- }, /*#__PURE__*/React__default["default"].createElement(components.ResponsiveImage, {
723
- slug: imageS3Key,
724
- metadata: metadata,
725
- "aspect-ratio": [16, 9],
726
- defaultWidth: 480,
727
- widths: [250, 480, 640],
728
- imgParams: {
729
- auto: ["format", "compress"]
730
- },
731
- className: "image-slideshow-m_image__1p1fO",
732
- alt: title
733
- }))), hyperlink && /*#__PURE__*/React__default["default"].createElement(HyperLink, {
734
- hyperLink: hyperlink
735
- }), /*#__PURE__*/React__default["default"].createElement("p", {
736
- className: "image-slideshow-m_caption__mWpmc",
737
- dangerouslySetInnerHTML: {
738
- __html: title
739
- }
740
- }));
741
- };
742
-
743
- var ImageSlideshowTemplate = function ImageSlideshowTemplate(_ref) {
744
- var onClickHandler = _ref.onClickHandler;
745
- var storyElements = lodash.get(props, ["element", "story-elements"], []);
746
- return /*#__PURE__*/React__default["default"].createElement("div", {
747
- className: "arr--image-slideshow-element image-slideshow-m_slideshow__3jRFX",
748
- "data-test-id": "image-slideshow"
749
- }, /*#__PURE__*/React__default["default"].createElement(ScrollSnap, {
750
- slideIndicator: "none"
751
- }, storyElements.map(function (image, index) {
752
- return Slide(image, index, onClickHandler);
753
- })));
754
- };
755
-
756
- ImageSlideshowTemplate.propTypes = {
757
- onClickHandler: PropTypes__default["default"].func
758
- };
759
- return /*#__PURE__*/React__default["default"].createElement(FullScreenImages, {
760
- template: ImageSlideshowTemplate,
761
- element: props.element
762
- });
763
- };
764
-
765
- ImageSlideshowBase.propTypes = {
766
- element: PropTypes__default["default"].shape({
767
- "story-elements": PropTypes__default["default"].array
768
- }),
769
- story: shapeStory
770
- };
771
- var ImageSlideshow = withElementWrapper(ImageSlideshowBase);
772
-
773
- exports.ImageSlideshow = ImageSlideshow;