@mjhls/mjh-framework 1.0.997 → 1.0.998-D4S-2830v2

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 (209) hide show
  1. package/dist/cjs/AD.js +6 -6
  2. package/dist/cjs/AD300x250.js +6 -5
  3. package/dist/cjs/AD300x250x600.js +6 -5
  4. package/dist/cjs/AD728x90.js +7 -6
  5. package/dist/cjs/ADFloatingFooter.js +9 -8
  6. package/dist/cjs/ADFooter.js +5 -5
  7. package/dist/cjs/ADGutter.js +9 -8
  8. package/dist/cjs/{ADInfeed-ef933a08.js → ADInfeed-e87afe8a.js} +5 -5
  9. package/dist/cjs/ADSkyscraper.js +9 -8
  10. package/dist/cjs/ADSponsoredResources.js +9 -8
  11. package/dist/cjs/ADWebcast.js +9 -8
  12. package/dist/cjs/ADWelcome.js +13 -12
  13. package/dist/cjs/{ADlgInfeed-0e931f24.js → ADlgInfeed-b5a3d436.js} +3 -3
  14. package/dist/cjs/AccordionPanel.js +17 -17
  15. package/dist/cjs/AdSlot.js +10 -9
  16. package/dist/cjs/AdSlotsProvider.js +6 -5
  17. package/dist/cjs/AlgoliaSearch.js +904 -1451
  18. package/dist/cjs/AlphabeticList.js +12 -12
  19. package/dist/cjs/ArticleCarousel.js +5 -5
  20. package/dist/cjs/ArticleProgramLandingPage.js +15 -14
  21. package/dist/cjs/ArticleSeriesLandingPage.js +12 -11
  22. package/dist/cjs/ArticleSeriesListing.js +30 -29
  23. package/dist/cjs/Auth.js +85 -114
  24. package/dist/cjs/AuthWrapper.js +43 -113
  25. package/dist/cjs/{AuthorComponent-7d00f6d5.js → AuthorComponent-39b37d84.js} +9 -9
  26. package/dist/cjs/{BlockContent-96b44364.js → BlockContent-9ebd251f.js} +18 -18
  27. package/dist/cjs/Breadcrumbs.js +17 -17
  28. package/dist/cjs/CMEDeck.js +62 -61
  29. package/dist/cjs/Column1.js +7 -7
  30. package/dist/cjs/Column2.js +15 -15
  31. package/dist/cjs/Column3.js +28 -27
  32. package/dist/cjs/ConferenceArticleCard.js +12 -12
  33. package/dist/cjs/{ConferenceBanner-213003ce.js → ConferenceBanner-6c9e718a.js} +3 -3
  34. package/dist/cjs/ContentCardPaginated.js +50 -49
  35. package/dist/cjs/DeckContent.js +59 -58
  36. package/dist/cjs/DeckQueue.js +58 -57
  37. package/dist/cjs/DeckQueuePaginated.js +47 -46
  38. package/dist/cjs/{Dfp-67646058.js → Dfp-9be904d5.js} +18 -17
  39. package/dist/cjs/EventsDeck.js +90 -90
  40. package/dist/cjs/ExternalResources.js +35 -34
  41. package/dist/cjs/Feature.js +17 -17
  42. package/dist/cjs/ForbesHero.js +25 -25
  43. package/dist/cjs/GridContent.js +135 -134
  44. package/dist/cjs/GridContentPaginated.js +122 -121
  45. package/dist/cjs/GridHero.js +26 -26
  46. package/dist/cjs/GroupDeck.js +33 -33
  47. package/dist/cjs/HamMagazine.js +105 -105
  48. package/dist/cjs/Header.js +9 -9
  49. package/dist/cjs/HealthCareProfessionalModal.js +17 -17
  50. package/dist/cjs/Hero.js +5 -5
  51. package/dist/cjs/HighlightenVideo.js +13 -13
  52. package/dist/cjs/HorizontalArticleListing.js +29 -28
  53. package/dist/cjs/HorizontalHero.js +17 -17
  54. package/dist/cjs/{ImageSlider-1ec0408b.js → ImageSlider-6c00b878.js} +172 -212
  55. package/dist/cjs/IssueContentDeck.js +49 -49
  56. package/dist/cjs/IssueDeck.js +48 -48
  57. package/dist/cjs/IssueLanding.js +20 -19
  58. package/dist/cjs/LeftNav.js +18 -17
  59. package/dist/cjs/MasterDeck.js +40 -39
  60. package/dist/cjs/MasterDeckPaginated.js +30 -29
  61. package/dist/cjs/MediaSeriesCard-2e5cd247.js +81 -0
  62. package/dist/cjs/MediaSeriesLanding.js +51 -49
  63. package/dist/cjs/MediaSeriesLandingPaginated.js +49 -47
  64. package/dist/cjs/NavDvm.js +57 -57
  65. package/dist/cjs/{NavFooter-880e9d87.js → NavFooter-4799de4b.js} +11 -11
  66. package/dist/cjs/NavMagazine.js +106 -106
  67. package/dist/cjs/NavNative.js +97 -97
  68. package/dist/cjs/OncliveHero.js +11 -11
  69. package/dist/cjs/OncliveLargeHero.js +49 -49
  70. package/dist/cjs/PageFilter.js +5 -5
  71. package/dist/cjs/{Pagination-6359861a.js → Pagination-2a3d0103.js} +13 -13
  72. package/dist/cjs/PartnerDetailListing.js +51 -49
  73. package/dist/cjs/PartnerDetailListingPaginated.js +50 -48
  74. package/dist/cjs/PdfDownload.js +4 -4
  75. package/dist/cjs/PixelTracking.js +9 -9
  76. package/dist/cjs/PodcastsLanding.js +235 -0
  77. package/dist/cjs/PopUpModal.js +9 -9
  78. package/dist/cjs/PtceDeck.js +13 -13
  79. package/dist/cjs/PubSection.js +14 -13
  80. package/dist/cjs/PubToc.js +4 -4
  81. package/dist/cjs/PublicationDeck.js +44 -44
  82. package/dist/cjs/{PublicationFeature-a989a2b3.js → PublicationFeature-5ccf9b13.js} +29 -29
  83. package/dist/cjs/PublicationLanding.js +73 -73
  84. package/dist/cjs/QueueDeckExpanded.js +246 -245
  85. package/dist/cjs/QueueDeckExpandedPaginated.js +223 -222
  86. package/dist/cjs/RecentNews.js +15 -15
  87. package/dist/cjs/RelatedContent.js +14 -14
  88. package/dist/cjs/RelatedTopicsDropdown.js +14 -14
  89. package/dist/cjs/RolesDeck.js +20 -20
  90. package/dist/cjs/Schema.js +1 -1
  91. package/dist/cjs/Search.js +6 -6
  92. package/dist/cjs/SeriesListingDeck.js +19 -18
  93. package/dist/cjs/{SeriesSlider-18fc6e71.js → SeriesSlider-594b19eb.js} +22 -22
  94. package/dist/cjs/SideFooter.js +18 -18
  95. package/dist/cjs/SocialIcons.js +6 -6
  96. package/dist/cjs/{SocialSearchComponent-ca9c0c45.js → SocialSearchComponent-d2ab3d62.js} +28 -28
  97. package/dist/cjs/SocialShare.js +25 -25
  98. package/dist/cjs/TaxonomyCard.js +44 -44
  99. package/dist/cjs/TaxonomyDescription.js +12 -11
  100. package/dist/cjs/TemplateNormal.js +28 -27
  101. package/dist/cjs/ThumbnailCard.js +10 -10
  102. package/dist/cjs/{MediaSeriesCard-869906ff.js → Tooltip-f075b7ef.js} +621 -777
  103. package/dist/cjs/Ustream.js +9 -9
  104. package/dist/cjs/VerticalHero.js +10 -10
  105. package/dist/cjs/VideoProgramLandingPage.js +29 -28
  106. package/dist/cjs/VideoSeriesCard.js +13 -13
  107. package/dist/cjs/VideoSeriesFilter.js +5 -5
  108. package/dist/cjs/VideoSeriesLandingPage.js +12 -11
  109. package/dist/cjs/VideoSeriesListing.js +47 -46
  110. package/dist/cjs/View.js +273 -257
  111. package/dist/cjs/YahooHero.js +22 -22
  112. package/dist/cjs/YoutubeGroup.js +33 -33
  113. package/dist/cjs/{brightcove-react-player-loader.es-4c7825a1.js → brightcove-react-player-loader.es-a195642e.js} +2 -2
  114. package/dist/cjs/defineProperty-e0fb52c5.js +73 -0
  115. package/dist/cjs/events-1b438fe7.js +469 -0
  116. package/dist/cjs/getQuery.js +1 -1
  117. package/dist/cjs/getSerializers.js +7 -6
  118. package/dist/cjs/iconBase-be4097c0.js +4 -2
  119. package/dist/cjs/index-50be6759.js +105 -0
  120. package/dist/cjs/{index-65621b6c.js → index-eadd5035.js} +5 -5
  121. package/dist/cjs/{index-96c331fd.js → index-f86bb269.js} +52 -53
  122. package/dist/cjs/{index-e4f1fe32.js → index-f95a3c0f.js} +499 -487
  123. package/dist/cjs/{index-7435b964.js → index-fc2f1ca2.js} +6 -471
  124. package/dist/cjs/{index.es-1ab8dda7.js → index.es-f3e47207.js} +4 -4
  125. package/dist/cjs/{index.esm-f59ef5b4.js → index.esm-1461604c.js} +14 -14
  126. package/dist/cjs/index.js +105 -102
  127. package/dist/cjs/{main-6054981e.js → main-f1c77adb.js} +22 -17
  128. package/dist/cjs/{react-social-icons-2c5c389a.js → react-social-icons-af932527.js} +7 -7
  129. package/dist/cjs/typeof-1358762e.js +33 -0
  130. package/dist/cjs/ustream-api-3819e4aa.js +1 -1
  131. package/dist/cjs/{visibility-sensor-56020df6.js → visibility-sensor-eb2c5b69.js} +1 -1
  132. package/dist/esm/AD.js +1 -1
  133. package/dist/esm/AD300x250.js +3 -2
  134. package/dist/esm/AD300x250x600.js +3 -2
  135. package/dist/esm/AD728x90.js +3 -2
  136. package/dist/esm/ADFloatingFooter.js +3 -2
  137. package/dist/esm/ADGutter.js +3 -2
  138. package/dist/esm/ADSkyscraper.js +3 -2
  139. package/dist/esm/ADSponsoredResources.js +3 -2
  140. package/dist/esm/ADWebcast.js +3 -2
  141. package/dist/esm/ADWelcome.js +3 -2
  142. package/dist/esm/AdSlot.js +3 -2
  143. package/dist/esm/AdSlotsProvider.js +3 -2
  144. package/dist/esm/AlgoliaSearch.js +518 -1065
  145. package/dist/esm/ArticleCarousel.js +1 -1
  146. package/dist/esm/ArticleProgramLandingPage.js +4 -3
  147. package/dist/esm/ArticleSeriesLandingPage.js +5 -4
  148. package/dist/esm/ArticleSeriesListing.js +3 -2
  149. package/dist/esm/Auth.js +11 -40
  150. package/dist/esm/AuthWrapper.js +16 -86
  151. package/dist/esm/CMEDeck.js +3 -2
  152. package/dist/esm/Column3.js +3 -2
  153. package/dist/esm/ContentCardPaginated.js +5 -4
  154. package/dist/esm/DeckContent.js +4 -3
  155. package/dist/esm/DeckQueue.js +3 -2
  156. package/dist/esm/DeckQueuePaginated.js +4 -3
  157. package/dist/esm/{Dfp-cf85d203.js → Dfp-102f0beb.js} +2 -1
  158. package/dist/esm/EventsDeck.js +2 -2
  159. package/dist/esm/ExternalResources.js +5 -4
  160. package/dist/esm/Feature.js +1 -1
  161. package/dist/esm/GridContent.js +5 -4
  162. package/dist/esm/GridContentPaginated.js +6 -5
  163. package/dist/esm/HamMagazine.js +2 -2
  164. package/dist/esm/HorizontalArticleListing.js +4 -3
  165. package/dist/esm/{ImageSlider-83913c4c.js → ImageSlider-f84174cb.js} +117 -157
  166. package/dist/esm/IssueLanding.js +6 -5
  167. package/dist/esm/LeftNav.js +3 -2
  168. package/dist/esm/MasterDeck.js +5 -4
  169. package/dist/esm/MasterDeckPaginated.js +6 -5
  170. package/dist/esm/MediaSeriesCard-afb517a5.js +75 -0
  171. package/dist/esm/MediaSeriesLanding.js +14 -12
  172. package/dist/esm/MediaSeriesLandingPaginated.js +14 -12
  173. package/dist/esm/NavMagazine.js +2 -2
  174. package/dist/esm/NavNative.js +1 -1
  175. package/dist/esm/{Pagination-9fe9f61d.js → Pagination-dc30727b.js} +1 -1
  176. package/dist/esm/PartnerDetailListing.js +8 -6
  177. package/dist/esm/PartnerDetailListingPaginated.js +9 -7
  178. package/dist/esm/PodcastsLanding.js +228 -0
  179. package/dist/esm/PubSection.js +5 -4
  180. package/dist/esm/QueueDeckExpanded.js +5 -4
  181. package/dist/esm/QueueDeckExpandedPaginated.js +6 -5
  182. package/dist/esm/SeriesListingDeck.js +4 -3
  183. package/dist/esm/{SeriesSlider-5728e349.js → SeriesSlider-f771e20d.js} +1 -1
  184. package/dist/esm/{SocialSearchComponent-68d948b9.js → SocialSearchComponent-165b4ae7.js} +1 -1
  185. package/dist/esm/TaxonomyDescription.js +4 -3
  186. package/dist/esm/TemplateNormal.js +4 -3
  187. package/dist/esm/{MediaSeriesCard-4e0ddeca.js → Tooltip-95655b44.js} +68 -223
  188. package/dist/esm/Ustream.js +1 -1
  189. package/dist/esm/VideoProgramLandingPage.js +4 -3
  190. package/dist/esm/VideoSeriesLandingPage.js +5 -4
  191. package/dist/esm/VideoSeriesListing.js +3 -2
  192. package/dist/esm/View.js +59 -43
  193. package/dist/esm/YoutubeGroup.js +1 -1
  194. package/dist/esm/defineProperty-23a8f8cd.js +68 -0
  195. package/dist/esm/events-6c3a7a63.js +467 -0
  196. package/dist/esm/getQuery.js +1 -1
  197. package/dist/esm/getSerializers.js +4 -3
  198. package/dist/esm/{index-3bb56969.js → index-04817712.js} +20 -8
  199. package/dist/esm/{index-30a6257d.js → index-79cfd25c.js} +52 -53
  200. package/dist/esm/index-98ca9cec.js +100 -0
  201. package/dist/esm/{index-5cc7b406.js → index-f0fc23eb.js} +1 -466
  202. package/dist/esm/index.js +13 -10
  203. package/dist/esm/{main-9f6806ea.js → main-1894c974.js} +9 -4
  204. package/dist/esm/typeof-2f07d0e8.js +30 -0
  205. package/package.json +1 -1
  206. package/dist/cjs/index-b95410f0.js +0 -54
  207. package/dist/esm/index-174b5baf.js +0 -52
  208. /package/dist/esm/{ADInfeed-f946441a.js → ADInfeed-5765a73a.js} +0 -0
  209. /package/dist/esm/{ADlgInfeed-012e6f16.js → ADlgInfeed-5e36f317.js} +0 -0
@@ -0,0 +1,467 @@
1
+ var domain;
2
+
3
+ // This constructor is used to store event handlers. Instantiating this is
4
+ // faster than explicitly calling `Object.create(null)` to get a "clean" empty
5
+ // object (tested with v8 v4.9).
6
+ function EventHandlers() {}
7
+ EventHandlers.prototype = Object.create(null);
8
+
9
+ function EventEmitter() {
10
+ EventEmitter.init.call(this);
11
+ }
12
+
13
+ // nodejs oddity
14
+ // require('events') === require('events').EventEmitter
15
+ EventEmitter.EventEmitter = EventEmitter;
16
+
17
+ EventEmitter.usingDomains = false;
18
+
19
+ EventEmitter.prototype.domain = undefined;
20
+ EventEmitter.prototype._events = undefined;
21
+ EventEmitter.prototype._maxListeners = undefined;
22
+
23
+ // By default EventEmitters will print a warning if more than 10 listeners are
24
+ // added to it. This is a useful default which helps finding memory leaks.
25
+ EventEmitter.defaultMaxListeners = 10;
26
+
27
+ EventEmitter.init = function() {
28
+ this.domain = null;
29
+ if (EventEmitter.usingDomains) {
30
+ // if there is an active domain, then attach to it.
31
+ if (domain.active ) ;
32
+ }
33
+
34
+ if (!this._events || this._events === Object.getPrototypeOf(this)._events) {
35
+ this._events = new EventHandlers();
36
+ this._eventsCount = 0;
37
+ }
38
+
39
+ this._maxListeners = this._maxListeners || undefined;
40
+ };
41
+
42
+ // Obviously not all Emitters should be limited to 10. This function allows
43
+ // that to be increased. Set to zero for unlimited.
44
+ EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
45
+ if (typeof n !== 'number' || n < 0 || isNaN(n))
46
+ throw new TypeError('"n" argument must be a positive number');
47
+ this._maxListeners = n;
48
+ return this;
49
+ };
50
+
51
+ function $getMaxListeners(that) {
52
+ if (that._maxListeners === undefined)
53
+ return EventEmitter.defaultMaxListeners;
54
+ return that._maxListeners;
55
+ }
56
+
57
+ EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
58
+ return $getMaxListeners(this);
59
+ };
60
+
61
+ // These standalone emit* functions are used to optimize calling of event
62
+ // handlers for fast cases because emit() itself often has a variable number of
63
+ // arguments and can be deoptimized because of that. These functions always have
64
+ // the same number of arguments and thus do not get deoptimized, so the code
65
+ // inside them can execute faster.
66
+ function emitNone(handler, isFn, self) {
67
+ if (isFn)
68
+ handler.call(self);
69
+ else {
70
+ var len = handler.length;
71
+ var listeners = arrayClone(handler, len);
72
+ for (var i = 0; i < len; ++i)
73
+ listeners[i].call(self);
74
+ }
75
+ }
76
+ function emitOne(handler, isFn, self, arg1) {
77
+ if (isFn)
78
+ handler.call(self, arg1);
79
+ else {
80
+ var len = handler.length;
81
+ var listeners = arrayClone(handler, len);
82
+ for (var i = 0; i < len; ++i)
83
+ listeners[i].call(self, arg1);
84
+ }
85
+ }
86
+ function emitTwo(handler, isFn, self, arg1, arg2) {
87
+ if (isFn)
88
+ handler.call(self, arg1, arg2);
89
+ else {
90
+ var len = handler.length;
91
+ var listeners = arrayClone(handler, len);
92
+ for (var i = 0; i < len; ++i)
93
+ listeners[i].call(self, arg1, arg2);
94
+ }
95
+ }
96
+ function emitThree(handler, isFn, self, arg1, arg2, arg3) {
97
+ if (isFn)
98
+ handler.call(self, arg1, arg2, arg3);
99
+ else {
100
+ var len = handler.length;
101
+ var listeners = arrayClone(handler, len);
102
+ for (var i = 0; i < len; ++i)
103
+ listeners[i].call(self, arg1, arg2, arg3);
104
+ }
105
+ }
106
+
107
+ function emitMany(handler, isFn, self, args) {
108
+ if (isFn)
109
+ handler.apply(self, args);
110
+ else {
111
+ var len = handler.length;
112
+ var listeners = arrayClone(handler, len);
113
+ for (var i = 0; i < len; ++i)
114
+ listeners[i].apply(self, args);
115
+ }
116
+ }
117
+
118
+ EventEmitter.prototype.emit = function emit(type) {
119
+ var er, handler, len, args, i, events, domain;
120
+ var doError = (type === 'error');
121
+
122
+ events = this._events;
123
+ if (events)
124
+ doError = (doError && events.error == null);
125
+ else if (!doError)
126
+ return false;
127
+
128
+ domain = this.domain;
129
+
130
+ // If there is no 'error' event listener then throw.
131
+ if (doError) {
132
+ er = arguments[1];
133
+ if (domain) {
134
+ if (!er)
135
+ er = new Error('Uncaught, unspecified "error" event');
136
+ er.domainEmitter = this;
137
+ er.domain = domain;
138
+ er.domainThrown = false;
139
+ domain.emit('error', er);
140
+ } else if (er instanceof Error) {
141
+ throw er; // Unhandled 'error' event
142
+ } else {
143
+ // At least give some kind of context to the user
144
+ var err = new Error('Uncaught, unspecified "error" event. (' + er + ')');
145
+ err.context = er;
146
+ throw err;
147
+ }
148
+ return false;
149
+ }
150
+
151
+ handler = events[type];
152
+
153
+ if (!handler)
154
+ return false;
155
+
156
+ var isFn = typeof handler === 'function';
157
+ len = arguments.length;
158
+ switch (len) {
159
+ // fast cases
160
+ case 1:
161
+ emitNone(handler, isFn, this);
162
+ break;
163
+ case 2:
164
+ emitOne(handler, isFn, this, arguments[1]);
165
+ break;
166
+ case 3:
167
+ emitTwo(handler, isFn, this, arguments[1], arguments[2]);
168
+ break;
169
+ case 4:
170
+ emitThree(handler, isFn, this, arguments[1], arguments[2], arguments[3]);
171
+ break;
172
+ // slower
173
+ default:
174
+ args = new Array(len - 1);
175
+ for (i = 1; i < len; i++)
176
+ args[i - 1] = arguments[i];
177
+ emitMany(handler, isFn, this, args);
178
+ }
179
+
180
+ return true;
181
+ };
182
+
183
+ function _addListener(target, type, listener, prepend) {
184
+ var m;
185
+ var events;
186
+ var existing;
187
+
188
+ if (typeof listener !== 'function')
189
+ throw new TypeError('"listener" argument must be a function');
190
+
191
+ events = target._events;
192
+ if (!events) {
193
+ events = target._events = new EventHandlers();
194
+ target._eventsCount = 0;
195
+ } else {
196
+ // To avoid recursion in the case that type === "newListener"! Before
197
+ // adding it to the listeners, first emit "newListener".
198
+ if (events.newListener) {
199
+ target.emit('newListener', type,
200
+ listener.listener ? listener.listener : listener);
201
+
202
+ // Re-assign `events` because a newListener handler could have caused the
203
+ // this._events to be assigned to a new object
204
+ events = target._events;
205
+ }
206
+ existing = events[type];
207
+ }
208
+
209
+ if (!existing) {
210
+ // Optimize the case of one listener. Don't need the extra array object.
211
+ existing = events[type] = listener;
212
+ ++target._eventsCount;
213
+ } else {
214
+ if (typeof existing === 'function') {
215
+ // Adding the second element, need to change to array.
216
+ existing = events[type] = prepend ? [listener, existing] :
217
+ [existing, listener];
218
+ } else {
219
+ // If we've already got an array, just append.
220
+ if (prepend) {
221
+ existing.unshift(listener);
222
+ } else {
223
+ existing.push(listener);
224
+ }
225
+ }
226
+
227
+ // Check for listener leak
228
+ if (!existing.warned) {
229
+ m = $getMaxListeners(target);
230
+ if (m && m > 0 && existing.length > m) {
231
+ existing.warned = true;
232
+ var w = new Error('Possible EventEmitter memory leak detected. ' +
233
+ existing.length + ' ' + type + ' listeners added. ' +
234
+ 'Use emitter.setMaxListeners() to increase limit');
235
+ w.name = 'MaxListenersExceededWarning';
236
+ w.emitter = target;
237
+ w.type = type;
238
+ w.count = existing.length;
239
+ emitWarning(w);
240
+ }
241
+ }
242
+ }
243
+
244
+ return target;
245
+ }
246
+ function emitWarning(e) {
247
+ typeof console.warn === 'function' ? console.warn(e) : console.log(e);
248
+ }
249
+ EventEmitter.prototype.addListener = function addListener(type, listener) {
250
+ return _addListener(this, type, listener, false);
251
+ };
252
+
253
+ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
254
+
255
+ EventEmitter.prototype.prependListener =
256
+ function prependListener(type, listener) {
257
+ return _addListener(this, type, listener, true);
258
+ };
259
+
260
+ function _onceWrap(target, type, listener) {
261
+ var fired = false;
262
+ function g() {
263
+ target.removeListener(type, g);
264
+ if (!fired) {
265
+ fired = true;
266
+ listener.apply(target, arguments);
267
+ }
268
+ }
269
+ g.listener = listener;
270
+ return g;
271
+ }
272
+
273
+ EventEmitter.prototype.once = function once(type, listener) {
274
+ if (typeof listener !== 'function')
275
+ throw new TypeError('"listener" argument must be a function');
276
+ this.on(type, _onceWrap(this, type, listener));
277
+ return this;
278
+ };
279
+
280
+ EventEmitter.prototype.prependOnceListener =
281
+ function prependOnceListener(type, listener) {
282
+ if (typeof listener !== 'function')
283
+ throw new TypeError('"listener" argument must be a function');
284
+ this.prependListener(type, _onceWrap(this, type, listener));
285
+ return this;
286
+ };
287
+
288
+ // emits a 'removeListener' event iff the listener was removed
289
+ EventEmitter.prototype.removeListener =
290
+ function removeListener(type, listener) {
291
+ var list, events, position, i, originalListener;
292
+
293
+ if (typeof listener !== 'function')
294
+ throw new TypeError('"listener" argument must be a function');
295
+
296
+ events = this._events;
297
+ if (!events)
298
+ return this;
299
+
300
+ list = events[type];
301
+ if (!list)
302
+ return this;
303
+
304
+ if (list === listener || (list.listener && list.listener === listener)) {
305
+ if (--this._eventsCount === 0)
306
+ this._events = new EventHandlers();
307
+ else {
308
+ delete events[type];
309
+ if (events.removeListener)
310
+ this.emit('removeListener', type, list.listener || listener);
311
+ }
312
+ } else if (typeof list !== 'function') {
313
+ position = -1;
314
+
315
+ for (i = list.length; i-- > 0;) {
316
+ if (list[i] === listener ||
317
+ (list[i].listener && list[i].listener === listener)) {
318
+ originalListener = list[i].listener;
319
+ position = i;
320
+ break;
321
+ }
322
+ }
323
+
324
+ if (position < 0)
325
+ return this;
326
+
327
+ if (list.length === 1) {
328
+ list[0] = undefined;
329
+ if (--this._eventsCount === 0) {
330
+ this._events = new EventHandlers();
331
+ return this;
332
+ } else {
333
+ delete events[type];
334
+ }
335
+ } else {
336
+ spliceOne(list, position);
337
+ }
338
+
339
+ if (events.removeListener)
340
+ this.emit('removeListener', type, originalListener || listener);
341
+ }
342
+
343
+ return this;
344
+ };
345
+
346
+ EventEmitter.prototype.removeAllListeners =
347
+ function removeAllListeners(type) {
348
+ var listeners, events;
349
+
350
+ events = this._events;
351
+ if (!events)
352
+ return this;
353
+
354
+ // not listening for removeListener, no need to emit
355
+ if (!events.removeListener) {
356
+ if (arguments.length === 0) {
357
+ this._events = new EventHandlers();
358
+ this._eventsCount = 0;
359
+ } else if (events[type]) {
360
+ if (--this._eventsCount === 0)
361
+ this._events = new EventHandlers();
362
+ else
363
+ delete events[type];
364
+ }
365
+ return this;
366
+ }
367
+
368
+ // emit removeListener for all listeners on all events
369
+ if (arguments.length === 0) {
370
+ var keys = Object.keys(events);
371
+ for (var i = 0, key; i < keys.length; ++i) {
372
+ key = keys[i];
373
+ if (key === 'removeListener') continue;
374
+ this.removeAllListeners(key);
375
+ }
376
+ this.removeAllListeners('removeListener');
377
+ this._events = new EventHandlers();
378
+ this._eventsCount = 0;
379
+ return this;
380
+ }
381
+
382
+ listeners = events[type];
383
+
384
+ if (typeof listeners === 'function') {
385
+ this.removeListener(type, listeners);
386
+ } else if (listeners) {
387
+ // LIFO order
388
+ do {
389
+ this.removeListener(type, listeners[listeners.length - 1]);
390
+ } while (listeners[0]);
391
+ }
392
+
393
+ return this;
394
+ };
395
+
396
+ EventEmitter.prototype.listeners = function listeners(type) {
397
+ var evlistener;
398
+ var ret;
399
+ var events = this._events;
400
+
401
+ if (!events)
402
+ ret = [];
403
+ else {
404
+ evlistener = events[type];
405
+ if (!evlistener)
406
+ ret = [];
407
+ else if (typeof evlistener === 'function')
408
+ ret = [evlistener.listener || evlistener];
409
+ else
410
+ ret = unwrapListeners(evlistener);
411
+ }
412
+
413
+ return ret;
414
+ };
415
+
416
+ EventEmitter.listenerCount = function(emitter, type) {
417
+ if (typeof emitter.listenerCount === 'function') {
418
+ return emitter.listenerCount(type);
419
+ } else {
420
+ return listenerCount.call(emitter, type);
421
+ }
422
+ };
423
+
424
+ EventEmitter.prototype.listenerCount = listenerCount;
425
+ function listenerCount(type) {
426
+ var events = this._events;
427
+
428
+ if (events) {
429
+ var evlistener = events[type];
430
+
431
+ if (typeof evlistener === 'function') {
432
+ return 1;
433
+ } else if (evlistener) {
434
+ return evlistener.length;
435
+ }
436
+ }
437
+
438
+ return 0;
439
+ }
440
+
441
+ EventEmitter.prototype.eventNames = function eventNames() {
442
+ return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];
443
+ };
444
+
445
+ // About 1.5x faster than the two-arg version of Array#splice().
446
+ function spliceOne(list, index) {
447
+ for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1)
448
+ list[i] = list[k];
449
+ list.pop();
450
+ }
451
+
452
+ function arrayClone(arr, i) {
453
+ var copy = new Array(i);
454
+ while (i--)
455
+ copy[i] = arr[i];
456
+ return copy;
457
+ }
458
+
459
+ function unwrapListeners(arr) {
460
+ var ret = new Array(arr.length);
461
+ for (var i = 0; i < ret.length; ++i) {
462
+ ret[i] = arr[i].listener || arr[i];
463
+ }
464
+ return ret;
465
+ }
466
+
467
+ export { EventEmitter as E };
@@ -11,7 +11,7 @@ var getQuery = function getQuery(type) {
11
11
  case 'related':
12
12
  return '*[\n _type == "article"\n && defined(title)\n && defined(url)\n && !(_id in path("drafts.**"))\n && is_visible == true\n && defined(published) \n && dateTime(published) <= dateTime(now())\n && passwordLock!=true\n && isHealthcareProfessional != true\n && taxonomyMapping[]._ref in $taxonomy\n && taxonomyMapping[].disableAds != \'true\'\n && contentCategory->.name != \'Poll\'\n && contentCategory->.name != \'Slideshows\'\n && contentCategory->.disableAds != \'true\'\n && ExcludeFromInfiniteScroll !=true\n && url.current != $url\n && !defined(body[].videos)\n && !defined(body[].quizzes)\n && !defined(body[].slides)\n && !defined(body[].articles)\n ' + conditions + '\n ]| order(published desc)[' + (articleCount ? articleCount : '$index') + ']{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n abstract,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, firstName, lastName, url, profileImage, biography, showSocialShare },\n body[] {\n ...,\n asset->,\n images[]{\n ...,\n asset->\n },\n content[]{\n ...,\n asset->\n },\n videos[]{\n ...,\n thumbnail{\n _type,\n asset->\n }\n },\n response[]{\n ...,\n asset->\n },\n quizzes[]{\n ...,\n answer[]{\n ...,\n asset->\n },\n question[]{\n ...,\n asset->\n }\n },\n poster {\n _type,\n asset->\n },\n slides[]{\n ...,\n slideshowImage{\n ...,\n asset->\n }\n },\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'category\':contentCategory->{\n name,\n disableAds\n },\n \'content_placement\': taxonomyMapping[]-> {\n _id,\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier,\n disableAds,\n showSocialShare,\n pixelTrackingCode->\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n isShow,\n showSocialShare,\n \'path\': identifier.current,\n adTargetingURL,\n hideSeriesSlider,\n pixelTrackingCode->\n },\n documentGroupMapping[]-> {\n _id,\n name,\n thumbnail,\n parent->{...,parent->},\n isShow,\n showSocialShare,\n \'path\': identifier.current,\n adTargetingURL,\n hideSeriesSlider,\n pixelTrackingCode->\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n show_download_ris_button,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current,\n show_download_ris_button,\n },\n \'url\' : pdf.asset-> url,\n \'pdf\': pdf.asset->,\n isbn_issn,\n abbreviatedJournal,\n }\n }';
13
13
  case 'article':
14
- return '*[\n _type == "article"\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && is_visible != false\n && url.current == $url\n ' + conditions + '\n ][0]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n abstract,\n ...,\n passwordLock,\n password,\n issueGroup-> { _id, name, identifier, parent-> },\n "authorDetails": authorMapping[]->{ displayName, firstName, lastName, url, profileImage, biography, showSocialShare },\n body[] {\n ...,\n asset->,\n images[]{\n ...,\n asset->\n },\n content[]{\n ...,\n asset->\n },\n videos[]{\n ...,\n thumbnail{\n _type,\n asset->\n }\n },\n response[]{\n ...,\n asset->\n },\n quizzes[]{\n ...,\n answer[]{\n ...,\n asset->\n },\n question[]{\n ...,\n asset->\n }\n },\n poster {\n _type,\n asset->\n },\n slides[]{\n ...,\n slideshowImage{\n ...,\n asset->\n }\n },\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n },\n medias[]{\n ...,\n upload_doc {\n _type,\n asset-> \n },\n poster {\n _type,\n asset-> \n }\n },\n articles[]{\n ...,\n thumbnail{\n ...,\n asset-> \n },\n "authorDetails": authorMapping[]->{ displayName, firstName, lastName, url, profileImage, biography, showSocialShare },\n text[]{\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n },\n }\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n ...,\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier,\n showSocialShare,\n pixelTrackingCode->\n },\n documentGroup-> {\n _id,\n name,\n thumbnail,\n parent->{...,parent->},\n isShow,\n isSeries,\n disableEpisodeNumber,\n excludeRelatedContents,\n showSocialShare,\n \'path\': identifier.current,\n adTargetingURL,\n hideSeriesSlider,\n pixelTrackingCode->\n },\n documentGroupMapping[]-> {\n _id,\n name,\n thumbnail,\n isSeries,\n disableEpisodeNumber,\n parent->{...,parent->},\n isShow,\n showSocialShare,\n excludeRelatedContents,\n \'path\': identifier.current,\n hideSeriesSlider,\n pixelTrackingCode->\n },\n \'category\':contentCategory->{\n name,\n disableAds\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n volume,\n year,\n \'issueNumber\': number,\n \'articleSource\': source,\n \'path\': identifier.current,\n show_download_ris_button,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current,\n show_download_ris_button,\n },\n \'url\' : pdf.asset-> url,\n \'pdf\': pdf.asset->,\n isbn_issn,\n abbreviatedJournal,\n }\n\n }';
14
+ return '*[\n _type == "article"\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && is_visible != false\n && url.current == $url\n ' + conditions + '\n ][0]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n abstract,\n ...,\n passwordLock,\n password,\n issueGroup-> { _id, name, identifier, showIssueNameOnly, showPageNumber, parent-> },\n "authorDetails": authorMapping[]->{ displayName, firstName, lastName, url, profileImage, biography, showSocialShare },\n body[] {\n ...,\n asset->,\n images[]{\n ...,\n asset->\n },\n content[]{\n ...,\n asset->\n },\n videos[]{\n ...,\n thumbnail{\n _type,\n asset->\n }\n },\n response[]{\n ...,\n asset->\n },\n quizzes[]{\n ...,\n answer[]{\n ...,\n asset->\n },\n question[]{\n ...,\n asset->\n }\n },\n poster {\n _type,\n asset->\n },\n slides[]{\n ...,\n slideshowImage{\n ...,\n asset->\n }\n },\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n },\n medias[]{\n ...,\n upload_doc {\n _type,\n asset-> \n },\n poster {\n _type,\n asset-> \n }\n },\n articles[]{\n ...,\n thumbnail{\n ...,\n asset-> \n },\n "authorDetails": authorMapping[]->{ displayName, firstName, lastName, url, profileImage, biography, showSocialShare },\n text[]{\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n },\n }\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n ...,\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier,\n showSocialShare,\n pixelTrackingCode->\n },\n documentGroup-> {\n _id,\n name,\n thumbnail,\n parent->{...,parent->},\n isShow,\n isSeries,\n disableEpisodeNumber,\n excludeRelatedContents,\n showSocialShare,\n \'path\': identifier.current,\n adTargetingURL,\n hideSeriesSlider,\n pixelTrackingCode->\n },\n documentGroupMapping[]-> {\n _id,\n name,\n thumbnail,\n isSeries,\n disableEpisodeNumber,\n parent->{...,parent->},\n isShow,\n showSocialShare,\n excludeRelatedContents,\n \'path\': identifier.current,\n hideSeriesSlider,\n pixelTrackingCode->\n },\n \'category\':contentCategory->{\n name,\n disableAds\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n volume,\n year,\n \'issueNumber\': number,\n \'articleSource\': source,\n \'path\': identifier.current,\n show_download_ris_button,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current,\n show_download_ris_button,\n },\n \'url\' : pdf.asset-> url,\n \'pdf\': pdf.asset->,\n isbn_issn,\n abbreviatedJournal,\n }\n\n }';
15
15
  case 'publication':
16
16
  return '*[_type == \'publication\'\n && identifier.current == $publication\n ' + conditions + '][0] {\n ' + params + '\n ...,\n \'issues\': *[_type == \'publication\'\n && is_visible\n && references(^._id)\n && defined(identifier)] {\n ...,\n thumbnail{ ..., asset-> },\n taxonomyMapping[]->,\n pdf{asset->},\n } | order(year desc, month desc)\n }';
17
17
  case 'issue':
@@ -1,5 +1,5 @@
1
1
  import 'react';
2
- export { g as default } from './index-3bb56969.js';
2
+ export { g as default } from './index-04817712.js';
3
3
  import './BlockContent-1e73bd2c.js';
4
4
  import './entities-6d9154b4.js';
5
5
  import './slicedToArray-6ebcbfea.js';
@@ -9,7 +9,8 @@ import './core.get-iterator-method-ea258bb1.js';
9
9
  import 'react-bootstrap';
10
10
  import './urlFor.js';
11
11
  import './index-3f5c03b2.js';
12
- import './index-5cc7b406.js';
12
+ import './index-f0fc23eb.js';
13
+ import './events-6c3a7a63.js';
13
14
  import 'prop-types';
14
15
  import 'next/router';
15
16
  import './index-c7e2ac95.js';
@@ -20,7 +21,7 @@ import './asyncToGenerator-958ef5fc.js';
20
21
  import './_library-528f1934.js';
21
22
  import './_iter-detect-98db3b07.js';
22
23
  import './Segment.js';
23
- import './main-9f6806ea.js';
24
+ import './main-1894c974.js';
24
25
  import './extends-6d8e3924.js';
25
26
  import './_object-pie-133f504a.js';
26
27
  import './urlForFile-b69adffc.js';
@@ -2,7 +2,7 @@ import React__default, { useState, useEffect, useRef, useLayoutEffect, useCallba
2
2
  import { _ as _slicedToArray, a as _getIterator } from './slicedToArray-6ebcbfea.js';
3
3
  import { Carousel, Table, Figure as Figure$1, Card, Row, Col, Button as Button$1, ProgressBar } from 'react-bootstrap';
4
4
  import urlFor from './urlFor.js';
5
- import { l as lib_3 } from './index-5cc7b406.js';
5
+ import { l as lib_3 } from './index-f0fc23eb.js';
6
6
  import Router, { useRouter } from 'next/router';
7
7
  import { g as getYoutubeId } from './index-c7e2ac95.js';
8
8
  import PropTypes from 'prop-types';
@@ -10,7 +10,7 @@ import { c as createCommonjsModule, u as unwrapExports } from './_commonjsHelper
10
10
  import { u as util } from './util-8ed16d48.js';
11
11
  import './Beam.js';
12
12
  import Segment from './Segment.js';
13
- import { e as main_18, b as main_42, m as main_43 } from './main-9f6806ea.js';
13
+ import { e as main_18, b as main_42, m as main_43 } from './main-1894c974.js';
14
14
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
15
15
  import { _ as _extends, b as _extends$1 } from './extends-6d8e3924.js';
16
16
  import { u as urlForFile } from './urlForFile-b69adffc.js';
@@ -1628,11 +1628,13 @@ function shouldUpdateVideo(prevProps, props) {
1628
1628
 
1629
1629
  function filterResetOptions(opts) {
1630
1630
  return _objectSpread(_objectSpread({}, opts), {}, {
1631
- playerVars: _objectSpread({
1631
+ height: 0,
1632
+ width: 0,
1633
+ playerVars: _objectSpread(_objectSpread({}, opts.playerVars), {}, {
1632
1634
  autoplay: 0,
1633
1635
  start: 0,
1634
1636
  end: 0
1635
- }, opts.playerVars)
1637
+ })
1636
1638
  });
1637
1639
  }
1638
1640
  /**
@@ -1647,7 +1649,7 @@ function filterResetOptions(opts) {
1647
1649
 
1648
1650
 
1649
1651
  function shouldResetPlayer(prevProps, props) {
1650
- return !fastDeepEqual(filterResetOptions(prevProps.opts), filterResetOptions(props.opts));
1652
+ return prevProps.videoId !== props.videoId || !fastDeepEqual(filterResetOptions(prevProps.opts), filterResetOptions(props.opts));
1651
1653
  }
1652
1654
  /**
1653
1655
  * Check whether a props change should result in an id or className update.
@@ -1658,7 +1660,7 @@ function shouldResetPlayer(prevProps, props) {
1658
1660
 
1659
1661
 
1660
1662
  function shouldUpdatePlayer(prevProps, props) {
1661
- return prevProps.id !== props.id || prevProps.className !== props.className;
1663
+ return prevProps.id !== props.id || prevProps.className !== props.className || prevProps.opts.width !== props.opts.width || prevProps.opts.height !== props.opts.height || prevProps.title !== props.title;
1662
1664
  }
1663
1665
 
1664
1666
  var YouTube = /*#__PURE__*/function (_React$Component) {
@@ -1745,6 +1747,9 @@ var YouTube = /*#__PURE__*/function (_React$Component) {
1745
1747
  _this.internalPlayer.getIframe().then(function (iframe) {
1746
1748
  if (_this.props.id) iframe.setAttribute('id', _this.props.id);else iframe.removeAttribute('id');
1747
1749
  if (_this.props.className) iframe.setAttribute('class', _this.props.className);else iframe.removeAttribute('class');
1750
+ if (_this.props.opts && _this.props.opts.width) iframe.setAttribute('width', _this.props.opts.width);else iframe.removeAttribute('width');
1751
+ if (_this.props.opts && _this.props.opts.height) iframe.setAttribute('height', _this.props.opts.height);else iframe.removeAttribute('height');
1752
+ if (typeof _this.props.title === 'string') iframe.setAttribute('title', _this.props.title);else iframe.setAttribute('title', 'YouTube video player');
1748
1753
  });
1749
1754
  });
1750
1755
 
@@ -1843,7 +1848,8 @@ var YouTube = /*#__PURE__*/function (_React$Component) {
1843
1848
  }, /*#__PURE__*/React__default.createElement("div", {
1844
1849
  id: this.props.id,
1845
1850
  className: this.props.className,
1846
- ref: this.refContainer
1851
+ ref: this.refContainer,
1852
+ loading: this.props.loading
1847
1853
  }));
1848
1854
  }
1849
1855
  }]);
@@ -1868,6 +1874,10 @@ YouTube.propTypes = {
1868
1874
  className: PropTypes.string,
1869
1875
  // custom class name for player container element
1870
1876
  containerClassName: PropTypes.string,
1877
+ // custom title for the iFrame, see https://www.w3.org/TR/WCAG20-TECHS/H64.html
1878
+ title: PropTypes.string,
1879
+ // custom loading for player element
1880
+ loading: PropTypes.oneOf(['lazy', 'eager', 'auto']),
1871
1881
  // https://developers.google.com/youtube/iframe_api_reference#Loading_a_Video_Player
1872
1882
  opts: PropTypes.objectOf(PropTypes.any),
1873
1883
  // event subscriptions
@@ -1884,6 +1894,7 @@ YouTube.defaultProps = {
1884
1894
  videoId: null,
1885
1895
  id: null,
1886
1896
  className: null,
1897
+ loading: null,
1887
1898
  opts: {},
1888
1899
  containerClassName: '',
1889
1900
  onReady: function onReady() {},
@@ -1893,7 +1904,8 @@ YouTube.defaultProps = {
1893
1904
  onEnd: function onEnd() {},
1894
1905
  onStateChange: function onStateChange() {},
1895
1906
  onPlaybackRateChange: function onPlaybackRateChange() {},
1896
- onPlaybackQualityChange: function onPlaybackQualityChange() {}
1907
+ onPlaybackQualityChange: function onPlaybackQualityChange() {},
1908
+ title: null
1897
1909
  };
1898
1910
 
1899
1911
  var YouTubePlayer = function YouTubePlayer(_ref) {