@quintype/arrow 3.15.1-fallback-support.1 → 3.15.1-perf.1

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 (167) hide show
  1. package/atoms/Author/index.js +2250 -0
  2. package/{Author → atoms/Author}/styles.arrow.css +0 -0
  3. package/atoms/AuthorWithTime/index.js +2954 -0
  4. package/{AuthorWithTime → atoms/AuthorWithTime}/styles.arrow.css +0 -0
  5. package/atoms/CollectionName/index.js +2334 -0
  6. package/{CollectionName → atoms/CollectionName}/styles.arrow.css +0 -0
  7. package/atoms/ExtendedLoadMore/index-2d713010.js +166 -0
  8. package/atoms/ExtendedLoadMore/index-4191a84c.js +240 -0
  9. package/atoms/ExtendedLoadMore/index-5a7900ba.js +181 -0
  10. package/atoms/ExtendedLoadMore/index-6cb56d1a.js +350 -0
  11. package/atoms/ExtendedLoadMore/index-6daa674c.js +282 -0
  12. package/atoms/ExtendedLoadMore/index-6f8c780e.js +243 -0
  13. package/atoms/ExtendedLoadMore/index-7eb05b3d.js +199 -0
  14. package/atoms/ExtendedLoadMore/index-8345922c.js +175 -0
  15. package/atoms/ExtendedLoadMore/index-99af722e.js +175 -0
  16. package/atoms/ExtendedLoadMore/index-aa8b8ab8.js +990 -0
  17. package/atoms/ExtendedLoadMore/index-c8f346d0.js +223 -0
  18. package/atoms/ExtendedLoadMore/index-e39b3ca8.js +3023 -0
  19. package/atoms/ExtendedLoadMore/index-f6e578e3.js +86 -0
  20. package/atoms/ExtendedLoadMore/index.js +5 -0
  21. package/atoms/ExtendedLoadMore/styles.arrow.css +1 -0
  22. package/atoms/Headline/index.js +2459 -0
  23. package/{Headline → atoms/Headline}/styles.arrow.css +0 -0
  24. package/atoms/HeroImage/index.js +2475 -0
  25. package/{HeroImage → atoms/HeroImage}/styles.arrow.css +0 -0
  26. package/atoms/LoadmoreButton/index.js +2268 -0
  27. package/{LoadmoreButton → atoms/LoadmoreButton}/styles.arrow.css +0 -0
  28. package/atoms/ScrollSnap/index.js +2531 -0
  29. package/{ScrollSnap → atoms/ScrollSnap}/styles.arrow.css +0 -0
  30. package/atoms/SectionTag/index.js +2220 -0
  31. package/{SectionTag → atoms/SectionTag}/styles.arrow.css +0 -0
  32. package/atoms/Subheadline/index.js +2200 -0
  33. package/{Subheadline → atoms/Subheadline}/styles.arrow.css +0 -0
  34. package/atoms/TimeStamp/index.js +2661 -0
  35. package/{TimeStamp → atoms/TimeStamp}/styles.arrow.css +0 -0
  36. package/molecules/KeyEvents/index.js +2968 -0
  37. package/{KeyEvents → molecules/KeyEvents}/styles.arrow.css +0 -0
  38. package/molecules/PageIntroductionCard/index.js +2676 -0
  39. package/{PageIntroductionCard → molecules/PageIntroductionCard}/styles.arrow.css +0 -0
  40. package/molecules/SocialShareTemplate/index.js +3093 -0
  41. package/{SocialShareTemplate → molecules/SocialShareTemplate}/styles.arrow.css +0 -0
  42. package/molecules/StoryCard/index.js +3938 -0
  43. package/{StoryCard → molecules/StoryCard}/styles.arrow.css +0 -0
  44. package/molecules/StoryElementCard/index.js +5832 -0
  45. package/{StoryElementCard → molecules/StoryElementCard}/styles.arrow.css +0 -0
  46. package/molecules/StorycardContent/index.js +3416 -0
  47. package/{StorycardContent → molecules/StorycardContent}/styles.arrow.css +0 -0
  48. package/package.json +1 -1
  49. package/rows/AlternateCollectionFilter/index.js +4744 -0
  50. package/{AlternateCollectionFilter → rows/AlternateCollectionFilter}/styles.arrow.css +0 -0
  51. package/rows/AsideCollection/index.js +4690 -0
  52. package/{AsideCollection → rows/AsideCollection}/styles.arrow.css +0 -0
  53. package/rows/AstrologyCollection/index.js +4661 -0
  54. package/{AstrologyCollection → rows/AstrologyCollection}/styles.arrow.css +0 -0
  55. package/rows/AuthorIntroductionCard/index.js +3520 -0
  56. package/{AuthorIntroductionCard → rows/AuthorIntroductionCard}/styles.arrow.css +0 -0
  57. package/rows/AuthorsList/index.js +3715 -0
  58. package/{AuthorsList → rows/AuthorsList}/styles.arrow.css +0 -0
  59. package/rows/CollectionFilter/index.js +4834 -0
  60. package/{CollectionFilter → rows/CollectionFilter}/styles.arrow.css +0 -0
  61. package/rows/ElevenStories/index.js +4638 -0
  62. package/{ElevenStories → rows/ElevenStories}/styles.arrow.css +0 -0
  63. package/rows/FourColFiveStories/index.js +4359 -0
  64. package/{FourColFiveStories → rows/FourColFiveStories}/styles.arrow.css +0 -0
  65. package/rows/FourColGrid/index.js +4584 -0
  66. package/{FourColGrid → rows/FourColGrid}/styles.arrow.css +0 -0
  67. package/rows/FourColPortraitStories/index.js +4617 -0
  68. package/{FourColPortraitStories → rows/FourColPortraitStories}/styles.arrow.css +0 -0
  69. package/rows/FourColSixteenStories/index.js +4375 -0
  70. package/{FourColSixteenStories → rows/FourColSixteenStories}/styles.arrow.css +0 -0
  71. package/rows/FourColTwelveStories/index.js +4335 -0
  72. package/{FourColTwelveStories → rows/FourColTwelveStories}/styles.arrow.css +0 -0
  73. package/rows/FourStorySlider/index.js +4743 -0
  74. package/{FourStorySlider → rows/FourStorySlider}/styles.arrow.css +0 -0
  75. package/rows/FourStorySliderPortrait/index.js +4746 -0
  76. package/{FourStorySliderPortrait → rows/FourStorySliderPortrait}/styles.arrow.css +1 -1
  77. package/rows/FourTabbedBigStorySlider/index.js +4505 -0
  78. package/{FourTabbedBigStorySlider → rows/FourTabbedBigStorySlider}/styles.arrow.css +0 -0
  79. package/rows/FullScreenSlider/index.js +4661 -0
  80. package/{FullScreenSlider → rows/FullScreenSlider}/styles.arrow.css +0 -0
  81. package/rows/HalfScreenSlider/index.js +4514 -0
  82. package/{HalfScreenSlider → rows/HalfScreenSlider}/styles.arrow.css +0 -0
  83. package/rows/ListComponent/index.js +4462 -0
  84. package/{ListComponent → rows/ListComponent}/styles.arrow.css +0 -0
  85. package/rows/Listicles/index.js +3131 -0
  86. package/{Listicles → rows/Listicles}/styles.arrow.css +0 -0
  87. package/rows/MagazineEditions/index.js +3142 -0
  88. package/{MagazineEditions → rows/MagazineEditions}/styles.arrow.css +0 -0
  89. package/rows/MagazineHeaderCard/index.js +3136 -0
  90. package/{MagazineHeaderCard → rows/MagazineHeaderCard}/styles.arrow.css +0 -0
  91. package/rows/MagazineWidget/index.js +4514 -0
  92. package/{MagazineWidget → rows/MagazineWidget}/styles.arrow.css +0 -0
  93. package/rows/OneColStoryList/index.js +4670 -0
  94. package/{OneColStoryList → rows/OneColStoryList}/styles.arrow.css +0 -0
  95. package/rows/OpinionCollection/index.js +4037 -0
  96. package/{OpinionCollection → rows/OpinionCollection}/styles.arrow.css +0 -0
  97. package/rows/SixColSixStories/index.js +4515 -0
  98. package/{SixColSixStories → rows/SixColSixStories}/styles.arrow.css +0 -0
  99. package/rows/StoryCollection/index.js +4690 -0
  100. package/{StoryCollection → rows/StoryCollection}/styles.arrow.css +0 -0
  101. package/rows/TagIntroductionCard/index.js +1901 -0
  102. package/{TagIntroductionCard → rows/TagIntroductionCard}/styles.arrow.css +0 -0
  103. package/rows/ThreeColFlexStories/index.js +4575 -0
  104. package/{ThreeColFlexStories → rows/ThreeColFlexStories}/styles.arrow.css +0 -0
  105. package/rows/ThreeColFourteenStories/index.js +4283 -0
  106. package/{ThreeColFourteenStories → rows/ThreeColFourteenStories}/styles.arrow.css +0 -0
  107. package/rows/ThreeColGrid/index.js +4605 -0
  108. package/{ThreeColGrid → rows/ThreeColGrid}/styles.arrow.css +0 -0
  109. package/rows/ThreeColSevenStory/index.js +4502 -0
  110. package/{ThreeColSevenStory → rows/ThreeColSevenStory}/styles.arrow.css +0 -0
  111. package/rows/ThreeColSixStories/index.js +4485 -0
  112. package/{ThreeColSixStories → rows/ThreeColSixStories}/styles.arrow.css +0 -0
  113. package/rows/ThreeColTwelveStories/index.js +4380 -0
  114. package/{ThreeColTwelveStories → rows/ThreeColTwelveStories}/styles.arrow.css +0 -0
  115. package/rows/TwoColFourStories/index.js +4463 -0
  116. package/{TwoColFourStories → rows/TwoColFourStories}/styles.arrow.css +0 -0
  117. package/rows/TwoColFourStoryHighlight/index.js +4456 -0
  118. package/{TwoColFourStoryHighlight → rows/TwoColFourStoryHighlight}/styles.arrow.css +0 -0
  119. package/rows/TwoColSevenStories/index.js +4490 -0
  120. package/{TwoColSevenStories → rows/TwoColSevenStories}/styles.arrow.css +0 -0
  121. package/rows/TwoColSixStories/index.js +4489 -0
  122. package/{TwoColSixStories → rows/TwoColSixStories}/styles.arrow.css +0 -0
  123. package/rows/TwoColTenStoriesSidebar/index.js +4549 -0
  124. package/{TwoColTenStoriesSidebar → rows/TwoColTenStoriesSidebar}/styles.arrow.css +0 -0
  125. package/rows/TwoColThreeStories/index.js +4436 -0
  126. package/{TwoColThreeStories → rows/TwoColThreeStories}/styles.arrow.css +0 -0
  127. package/story-elements/AlsoRead/index.js +2457 -0
  128. package/{AlsoRead → story-elements/AlsoRead}/styles.arrow.css +0 -0
  129. package/story-elements/Attachment/index.js +2013 -0
  130. package/{Attachment → story-elements/Attachment}/styles.arrow.css +0 -0
  131. package/story-elements/BigFact/index.js +1983 -0
  132. package/{BigFact → story-elements/BigFact}/styles.arrow.css +0 -0
  133. package/story-elements/BlockQuote/index.js +2431 -0
  134. package/{BlockQuote → story-elements/BlockQuote}/styles.arrow.css +0 -0
  135. package/story-elements/Blurb/index.js +2094 -0
  136. package/{Blurb → story-elements/Blurb}/styles.arrow.css +0 -0
  137. package/story-elements/Image/index.js +2711 -0
  138. package/{Image → story-elements/Image}/styles.arrow.css +0 -0
  139. package/story-elements/ImageGallery/index.js +2644 -0
  140. package/{ImageGallery → story-elements/ImageGallery}/styles.arrow.css +0 -0
  141. package/story-elements/ImageSlideshow/index.js +2955 -0
  142. package/{ImageSlideshow → story-elements/ImageSlideshow}/styles.arrow.css +0 -0
  143. package/story-elements/QuestionAnswer/index.js +2395 -0
  144. package/{QuestionAnswer → story-elements/QuestionAnswer}/styles.arrow.css +0 -0
  145. package/story-elements/Quote/index.js +2012 -0
  146. package/{Quote → story-elements/Quote}/styles.arrow.css +0 -0
  147. package/story-elements/Reference/index.js +2006 -0
  148. package/{Reference → story-elements/Reference}/styles.arrow.css +0 -0
  149. package/story-elements/StoryElement/index.js +1779 -0
  150. package/story-elements/Summary/index.js +2036 -0
  151. package/{Summary → story-elements/Summary}/styles.arrow.css +0 -0
  152. package/story-elements/Text/index.js +2293 -0
  153. package/{Text → story-elements/Text}/styles.arrow.css +0 -0
  154. package/story-elements/Video/index.js +1785 -0
  155. package/{Video → story-elements/Video}/styles.arrow.css +0 -0
  156. package/story-templates/ListicleStoryTemplate/index.js +8442 -0
  157. package/{ListicleStoryTemplate → story-templates/ListicleStoryTemplate}/styles.arrow.css +0 -0
  158. package/story-templates/LiveBlogStoryTemplate/index.js +8618 -0
  159. package/{LiveBlogStoryTemplate → story-templates/LiveBlogStoryTemplate}/styles.arrow.css +0 -0
  160. package/story-templates/PhotoStoryTemplate/index.js +8420 -0
  161. package/{PhotoStoryTemplate → story-templates/PhotoStoryTemplate}/styles.arrow.css +0 -0
  162. package/story-templates/TextStoryTemplate/index.js +8493 -0
  163. package/{TextStoryTemplate → story-templates/TextStoryTemplate}/styles.arrow.css +0 -0
  164. package/story-templates/VideoStoryTemplate/index.js +8352 -0
  165. package/{VideoStoryTemplate → story-templates/VideoStoryTemplate}/styles.arrow.css +0 -0
  166. package/cjs/index.js +0 -1
  167. package/esm/index.js +0 -1
@@ -0,0 +1,223 @@
1
+ import { collectionToStories } from '@quintype/components';
2
+ import { a as get_1, l as getSlot, g as getTextColor, b as generateNavigateSlug, n as navigateTo } from './index-e39b3ca8.js';
3
+ import PropTypes from 'prop-types';
4
+ import React from 'react';
5
+ import { useDispatch, useSelector } from 'react-redux';
6
+ import { C as CollectionName, S as StateProvider, H as Headline, A as AuthorWithTime, L as LoadMoreTarget, P as ProgressiveHydration, a as LoadmoreButton } from './index-aa8b8ab8.js';
7
+ import { H as HeroImage, S as SectionTag } from './index-6cb56d1a.js';
8
+ import { S as StoryCard } from './index-6f8c780e.js';
9
+ import 'react-timeago';
10
+ import 'date-fns-tz';
11
+ import 'react-dom';
12
+
13
+ var FlexCard = function FlexCard(_ref) {
14
+ var _ref$story = _ref.story,
15
+ story = _ref$story === void 0 ? {} : _ref$story,
16
+ _ref$config = _ref.config,
17
+ config = _ref$config === void 0 ? {} : _ref$config;
18
+ var _config$borderColor = config.borderColor,
19
+ borderColor = _config$borderColor === void 0 ? "" : _config$borderColor,
20
+ _config$border = config.border,
21
+ border = _config$border === void 0 ? "" : _config$border,
22
+ _config$theme = config.theme,
23
+ theme = _config$theme === void 0 ? "" : _config$theme,
24
+ _config$localizationC = config.localizationConfig,
25
+ localizationConfig = _config$localizationC === void 0 ? {} : _config$localizationC;
26
+ return /*#__PURE__*/React.createElement("div", {
27
+ className: "three-col-flex-stories-m_card__2uZ3Q"
28
+ }, /*#__PURE__*/React.createElement(StoryCard, {
29
+ story: story,
30
+ isHorizontal: true,
31
+ theme: theme,
32
+ border: border,
33
+ borderColor: borderColor,
34
+ config: config
35
+ }, /*#__PURE__*/React.createElement(HeroImage, {
36
+ story: story,
37
+ aspectRatio: [[9, 5], [9, 5]]
38
+ }), /*#__PURE__*/React.createElement("div", {
39
+ className: "small-card-container three-col-flex-stories-m_card-content__1z9nt"
40
+ }, /*#__PURE__*/React.createElement(SectionTag, {
41
+ story: story,
42
+ borderColor: borderColor
43
+ }), /*#__PURE__*/React.createElement(Headline, {
44
+ story: story,
45
+ headerLevel: "6",
46
+ premiumStoryIconConfig: config
47
+ }), /*#__PURE__*/React.createElement(AuthorWithTime, {
48
+ config: localizationConfig,
49
+ story: story,
50
+ prefix: "By"
51
+ }))));
52
+ };
53
+
54
+ var loadMore = function loadMore(_ref2) {
55
+ var isLoading = _ref2.isLoading,
56
+ stories = _ref2.stories,
57
+ getMoreStories = _ref2.getMoreStories,
58
+ _ref2$subsequentLoadC = _ref2.subsequentLoadCount,
59
+ subsequentLoadCount = _ref2$subsequentLoadC === void 0 ? 3 : _ref2$subsequentLoadC;
60
+ if (isLoading) return;
61
+ var limit = subsequentLoadCount;
62
+ var offset = stories.length;
63
+ getMoreStories(offset, limit);
64
+ };
65
+
66
+ var ThreeColFlexStoriesBase = function ThreeColFlexStoriesBase(_ref3) {
67
+ var _ref3$collection = _ref3.collection,
68
+ collection = _ref3$collection === void 0 ? {} : _ref3$collection,
69
+ _ref3$config = _ref3.config,
70
+ config = _ref3$config === void 0 ? {} : _ref3$config,
71
+ getMoreStories = _ref3.getMoreStories,
72
+ isLoadMoreVisible = _ref3.isLoadMoreVisible,
73
+ isLoading = _ref3.isLoading,
74
+ isolatedLoadMore = _ref3.isolatedLoadMore,
75
+ hideFirstCard = _ref3.hideFirstCard;
76
+ var collectionItems = collectionToStories(collection);
77
+
78
+ if (collectionItems.length < 1) {
79
+ return null;
80
+ }
81
+
82
+ var _config$collectionNam = config.collectionNameBorderColor,
83
+ collectionNameBorderColor = _config$collectionNam === void 0 ? "" : _config$collectionNam,
84
+ _config$theme2 = config.theme,
85
+ theme = _config$theme2 === void 0 ? "" : _config$theme2,
86
+ _config$slotConfig = config.slotConfig,
87
+ slotConfig = _config$slotConfig === void 0 ? [] : _config$slotConfig,
88
+ _config$collectionNam2 = config.collectionNameTemplate,
89
+ collectionNameTemplate = _config$collectionNam2 === void 0 ? "" : _config$collectionNam2,
90
+ _config$footerButton = config.footerButton,
91
+ footerButton = _config$footerButton === void 0 ? "" : _config$footerButton,
92
+ _config$subsequentLoa = config.subsequentLoadCount,
93
+ subsequentLoadCount = _config$subsequentLoa === void 0 ? 3 : _config$subsequentLoa;
94
+
95
+ var _get = get_1(slotConfig, [0], {}),
96
+ _get$type = _get.type,
97
+ type = _get$type === void 0 ? "story" : _get$type,
98
+ component = _get.component;
99
+
100
+ var isAdWidgetEnabled = type === "ad" || type === "widget";
101
+ var adWidgetSlot = isAdWidgetEnabled ? getSlot(type, component) : null;
102
+ var textColor = getTextColor(theme);
103
+ var stories = type !== "story" ? collectionItems : collectionToStories(collection);
104
+ var dispatch = useDispatch();
105
+ var qtConfig = useSelector(function (state) {
106
+ return get_1(state, ["qt", "config"], {});
107
+ });
108
+
109
+ var getLoadMore = function getLoadMore(opts) {
110
+ if (!isLoadMoreVisible) return null;
111
+
112
+ if (isolatedLoadMore) {
113
+ return /*#__PURE__*/React.createElement(LoadMoreTarget, {
114
+ collection: collection,
115
+ componentName: "ThreeColFlexStories",
116
+ offset: stories.length,
117
+ limit: subsequentLoadCount
118
+ });
119
+ }
120
+
121
+ var url = generateNavigateSlug(collection, qtConfig);
122
+ return /*#__PURE__*/React.createElement(ProgressiveHydration, null, /*#__PURE__*/React.createElement(LoadmoreButton, {
123
+ config: config,
124
+ collection: collection,
125
+ template: footerButton,
126
+ onClick: function onClick() {
127
+ return loadMore(opts);
128
+ },
129
+ navigate: function navigate() {
130
+ return navigateTo(dispatch, url);
131
+ },
132
+ qtConfig: qtConfig
133
+ }));
134
+ };
135
+
136
+ return /*#__PURE__*/React.createElement("div", {
137
+ className: "full-width-with-padding arrow-component",
138
+ "data-test-id": "three-col-flex-stories",
139
+ style: {
140
+ backgroundColor: theme,
141
+ color: textColor
142
+ }
143
+ }, /*#__PURE__*/React.createElement("div", {
144
+ className: "three-col-flex-stories-m_wrapper__3SQMq"
145
+ }, /*#__PURE__*/React.createElement(CollectionName, {
146
+ collection: collection,
147
+ collectionNameTemplate: collectionNameTemplate,
148
+ collectionNameBorderColor: collectionNameBorderColor,
149
+ headerLevel: "2"
150
+ }), isAdWidgetEnabled && !hideFirstCard ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
151
+ className: "three-col-flex-stories-m_row-with-ad__1gPPN"
152
+ }, /*#__PURE__*/React.createElement("div", {
153
+ className: "three-col-flex-stories-m_card-with-ad__32z5M"
154
+ }, stories.slice(0, 4).map(function (story) {
155
+ return /*#__PURE__*/React.createElement(FlexCard, {
156
+ story: story,
157
+ config: config,
158
+ key: story.id
159
+ });
160
+ })), /*#__PURE__*/React.createElement("div", {
161
+ className: "three-col-flex-stories-m_ad-wrapper__3dmfM"
162
+ }, adWidgetSlot)), /*#__PURE__*/React.createElement("div", {
163
+ className: "three-col-flex-stories-m_card-row__3WMb3"
164
+ }, stories.slice(4).map(function (story) {
165
+ return /*#__PURE__*/React.createElement(FlexCard, {
166
+ story: story,
167
+ config: config,
168
+ key: story.id
169
+ });
170
+ }))) : /*#__PURE__*/React.createElement("div", {
171
+ className: "three-col-flex-stories-m_card-row__3WMb3"
172
+ }, stories.map(function (story) {
173
+ return /*#__PURE__*/React.createElement(FlexCard, {
174
+ story: story,
175
+ config: config,
176
+ key: story.id
177
+ });
178
+ })), getLoadMore({
179
+ isLoading: isLoading,
180
+ stories: stories,
181
+ getMoreStories: getMoreStories,
182
+ subsequentLoadCount: subsequentLoadCount
183
+ })));
184
+ };
185
+ ThreeColFlexStoriesBase.propTypes = {
186
+ /** collection is the array of objects which is returning by API */
187
+ collection: PropTypes.object.isRequired,
188
+
189
+ /** The config for the Row */
190
+ config: PropTypes.shape({
191
+ borderColor: PropTypes.string,
192
+ theme: PropTypes.string,
193
+ border: PropTypes.string,
194
+ slotConfig: PropTypes.array,
195
+ footerButton: PropTypes.string,
196
+ collectionNameTemplate: PropTypes.string,
197
+ collectionNameBorderColor: PropTypes.string,
198
+ subsequentLoadCount: PropTypes.number
199
+ }),
200
+ getMoreStories: PropTypes.func,
201
+ isLoadMoreVisible: PropTypes.bool,
202
+ isLoading: PropTypes.bool,
203
+ isolatedLoadMore: PropTypes.bool,
204
+ hideFirstCard: PropTypes.bool
205
+ };
206
+ FlexCard.propTypes = {
207
+ story: PropTypes.object.isRequired,
208
+ config: PropTypes.shape({
209
+ borderColor: PropTypes.string,
210
+ theme: PropTypes.string,
211
+ border: PropTypes.string,
212
+ localizationConfig: PropTypes.object
213
+ })
214
+ };
215
+ ThreeColFlexStoriesBase.defaultProps = {
216
+ getMoreStories: function getMoreStories() {},
217
+ isLoadMoreVisible: true,
218
+ isLoading: false,
219
+ hideFirstCard: false
220
+ };
221
+ var ThreeColFlexStories = StateProvider(ThreeColFlexStoriesBase);
222
+
223
+ export { ThreeColFlexStories, ThreeColFlexStoriesBase };