@mjhls/mjh-framework 1.0.971-disable-v2 → 1.0.971-nofollow-v1

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 (90) hide show
  1. package/README.md +168 -168
  2. package/dist/cjs/AlgoliaSearch.js +131 -15
  3. package/dist/cjs/ArticleProgramLandingPage.js +1 -1
  4. package/dist/cjs/AuthWrapper.js +1 -1
  5. package/dist/cjs/ConferenceArticleCard.js +15 -15
  6. package/dist/cjs/ContentCardPaginated.js +1 -2
  7. package/dist/cjs/DeckContent.js +8 -8
  8. package/dist/cjs/DeckQueuePaginated.js +1 -2
  9. package/dist/cjs/EventsDeck.js +17 -17
  10. package/dist/cjs/ExternalResources.js +1 -1
  11. package/dist/cjs/GridContentPaginated.js +1 -2
  12. package/dist/cjs/HamMagazine.js +9 -9
  13. package/dist/cjs/HealthCareProfessionalModal.js +1 -1
  14. package/dist/cjs/HorizontalArticleListing.js +1 -1
  15. package/dist/cjs/IssueLanding.js +30 -30
  16. package/dist/cjs/KMTracker.js +15 -15
  17. package/dist/cjs/MasterDeck.js +8 -8
  18. package/dist/cjs/MasterDeckPaginated.js +9 -10
  19. package/dist/cjs/{MediaSeriesCard-5bf9813e.js → MediaSeriesCard-b35ce812.js} +2 -2
  20. package/dist/cjs/MediaSeriesLanding.js +7 -7
  21. package/dist/cjs/MediaSeriesLandingPaginated.js +8 -9
  22. package/dist/cjs/NavMagazine.js +10 -10
  23. package/dist/cjs/NavNative.js +9 -9
  24. package/dist/cjs/Pagination-30bb1ca1.js +97 -0
  25. package/dist/cjs/PartnerDetailListing.js +1 -1
  26. package/dist/cjs/PartnerDetailListingPaginated.js +2 -3
  27. package/dist/cjs/PublicationLanding.js +26 -26
  28. package/dist/cjs/QueueDeckExpandedPaginated.js +1 -2
  29. package/dist/cjs/RelatedContent.js +28 -28
  30. package/dist/cjs/RelatedTopicsDropdown.js +10 -10
  31. package/dist/cjs/SeriesListingDeck.js +1 -1
  32. package/dist/cjs/{SeriesSlider-594b19eb.js → SeriesSlider-74546d19.js} +4 -4
  33. package/dist/cjs/SideFooter.js +2 -2
  34. package/dist/cjs/TaxonomyDescription.js +1 -1
  35. package/dist/cjs/VideoProgramLandingPage.js +1 -1
  36. package/dist/cjs/VideoSeriesCard.js +1 -1
  37. package/dist/cjs/View.js +38 -11
  38. package/dist/cjs/YoutubeGroup.js +4 -4
  39. package/dist/cjs/getQuery.js +1 -1
  40. package/dist/cjs/getSerializers.js +2 -2
  41. package/dist/cjs/{getTargeting-3c5754ac.js → getTargeting-dab97fe1.js} +9 -9
  42. package/dist/cjs/getTargeting.js +1 -1
  43. package/dist/cjs/{index-eb1c583d.js → index-e4b9f361.js} +38 -5
  44. package/dist/cjs/index.js +3 -4
  45. package/dist/esm/AlgoliaSearch.js +132 -16
  46. package/dist/esm/ArticleProgramLandingPage.js +1 -1
  47. package/dist/esm/AuthWrapper.js +1 -1
  48. package/dist/esm/ConferenceArticleCard.js +15 -15
  49. package/dist/esm/ContentCardPaginated.js +1 -2
  50. package/dist/esm/DeckContent.js +8 -8
  51. package/dist/esm/DeckQueuePaginated.js +1 -2
  52. package/dist/esm/EventsDeck.js +17 -17
  53. package/dist/esm/ExternalResources.js +1 -1
  54. package/dist/esm/GridContentPaginated.js +1 -2
  55. package/dist/esm/HamMagazine.js +9 -9
  56. package/dist/esm/HealthCareProfessionalModal.js +1 -1
  57. package/dist/esm/HorizontalArticleListing.js +1 -1
  58. package/dist/esm/IssueLanding.js +30 -30
  59. package/dist/esm/KMTracker.js +15 -15
  60. package/dist/esm/MasterDeck.js +8 -8
  61. package/dist/esm/MasterDeckPaginated.js +9 -10
  62. package/dist/esm/{MediaSeriesCard-305a9cb3.js → MediaSeriesCard-3331c088.js} +2 -2
  63. package/dist/esm/MediaSeriesLanding.js +7 -7
  64. package/dist/esm/MediaSeriesLandingPaginated.js +8 -9
  65. package/dist/esm/NavMagazine.js +10 -10
  66. package/dist/esm/NavNative.js +9 -9
  67. package/dist/esm/Pagination-194dd03f.js +90 -0
  68. package/dist/esm/PartnerDetailListing.js +1 -1
  69. package/dist/esm/PartnerDetailListingPaginated.js +2 -3
  70. package/dist/esm/PublicationLanding.js +26 -26
  71. package/dist/esm/QueueDeckExpandedPaginated.js +1 -2
  72. package/dist/esm/RelatedContent.js +28 -28
  73. package/dist/esm/RelatedTopicsDropdown.js +10 -10
  74. package/dist/esm/SeriesListingDeck.js +1 -1
  75. package/dist/esm/{SeriesSlider-f771e20d.js → SeriesSlider-e495571f.js} +4 -4
  76. package/dist/esm/SideFooter.js +2 -2
  77. package/dist/esm/TaxonomyDescription.js +1 -1
  78. package/dist/esm/VideoProgramLandingPage.js +1 -1
  79. package/dist/esm/VideoSeriesCard.js +1 -1
  80. package/dist/esm/View.js +38 -10
  81. package/dist/esm/YoutubeGroup.js +4 -4
  82. package/dist/esm/getQuery.js +1 -1
  83. package/dist/esm/getSerializers.js +2 -2
  84. package/dist/esm/{getTargeting-42f9b439.js → getTargeting-04d979c9.js} +9 -9
  85. package/dist/esm/getTargeting.js +1 -1
  86. package/dist/esm/{index-264bbd3c.js → index-cca1a746.js} +38 -5
  87. package/dist/esm/index.js +3 -4
  88. package/package.json +115 -115
  89. package/dist/cjs/Pagination-c63770a3.js +0 -90
  90. package/dist/esm/Pagination-6f8d5327.js +0 -82
@@ -376,32 +376,32 @@ module.exports = { "default": set$1, __esModule: true };
376
376
 
377
377
  var _Set = unwrapExports(set);
378
378
 
379
- /* usage & query
380
- const Publication = (props) => {
381
- const { cache, pub, year } = props
382
- const targeting = {
383
- content_placement: [`/journals/${pub.identifier.current}`],
384
- document_url: [`/journals/${pub.identifier.current}`],
385
- }
386
- return (
387
- <Shell title={pub.name} cache={cache} settings={Settings} targeting={targeting} ads={Ads} layout='3'>
388
- <PublicationLanding publication={pub} year={year} href={'journals'} />
389
- </Shell>
390
- )
391
- }
392
- Publication.getInitialProps = async (ctx) => {
393
- const { query } = ctx
394
- const {
395
- query: { year },
396
- } = ctx
397
- const pub = await client.fetch(getQuery('publication'), query)
398
- **import urlFor from framework**
399
- pub.issues.map((issue) => {
400
- issue.thumbnail = urlFor({client, source: issue.thumbnail})
401
- })
402
- return { pub, year }
403
- }
404
- export default Publication
379
+ /* usage & query
380
+ const Publication = (props) => {
381
+ const { cache, pub, year } = props
382
+ const targeting = {
383
+ content_placement: [`/journals/${pub.identifier.current}`],
384
+ document_url: [`/journals/${pub.identifier.current}`],
385
+ }
386
+ return (
387
+ <Shell title={pub.name} cache={cache} settings={Settings} targeting={targeting} ads={Ads} layout='3'>
388
+ <PublicationLanding publication={pub} year={year} href={'journals'} />
389
+ </Shell>
390
+ )
391
+ }
392
+ Publication.getInitialProps = async (ctx) => {
393
+ const { query } = ctx
394
+ const {
395
+ query: { year },
396
+ } = ctx
397
+ const pub = await client.fetch(getQuery('publication'), query)
398
+ **import urlFor from framework**
399
+ pub.issues.map((issue) => {
400
+ issue.thumbnail = urlFor({client, source: issue.thumbnail})
401
+ })
402
+ return { pub, year }
403
+ }
404
+ export default Publication
405
405
  */
406
406
 
407
407
  var generateContentPlacements = function generateContentPlacements(issues) {
@@ -17,7 +17,7 @@ import { A as ADlgInfeed } from './ADlgInfeed-dc36c928.js';
17
17
  import { g as getContentCategory } from './getContentCategory-15dcc413.js';
18
18
  import timeDifferenceCalc from './timeDifferenceCalc.js';
19
19
  import urlFor from './urlFor.js';
20
- import { P as Pagination } from './Pagination-6f8d5327.js';
20
+ import { P as Pagination } from './Pagination-194dd03f.js';
21
21
  import './_commonjsHelpers-0c4b6f40.js';
22
22
  import './core.get-iterator-method-ea258bb1.js';
23
23
  import './web.dom.iterable-ab4dea5c.js';
@@ -36,7 +36,6 @@ import './Beam.js';
36
36
  import './stringify-2b084bee.js';
37
37
  import './Segment.js';
38
38
  import './index-3f5c03b2.js';
39
- import 'react-paginate';
40
39
  import 'react-bootstrap/Button';
41
40
  import './index.esm-1bd8a0a8.js';
42
41
  import './iconBase-ccc56b97.js';
@@ -11,34 +11,34 @@ import './index-3f5c03b2.js';
11
11
  import 'react-dom';
12
12
  import 'prop-types';
13
13
 
14
- /*
15
- Sample query
16
- let references = ''
17
- if(article.taxonomyMapping.length > 0){
18
- article.taxonomyMapping.forEach((ref, index) => {
19
- references = references + `references('${ref._ref}') `
20
- if(index+1 !== article.taxonomyMapping.length){
21
- references = references + ` && `
22
- }
23
- })
24
- }
25
-
26
- const relatedArticlesQuery = `*[!(_id in path("drafts.**")) && _type == "article" && title !='${article.title}' && defined(title) && is_visible == true && ( references('article.documentGroup._id') || ${references} ) && published <= '${today}'] | order(published desc) [0...4] {
27
- ...,
28
- title,
29
- summary,
30
- thumbnail,
31
- url,
32
- published,
33
- authorMapping[]->,
34
- contentCategory->
35
- }`
36
- const relatedArticles = await client.fetch(relatedArticlesQuery)
37
-
38
- Sample usage
39
- <RelatedContent dataRecord={props.relatedArticles} client={client} showAuthor showPublished reverse/>
40
-
41
-
14
+ /*
15
+ Sample query
16
+ let references = ''
17
+ if(article.taxonomyMapping.length > 0){
18
+ article.taxonomyMapping.forEach((ref, index) => {
19
+ references = references + `references('${ref._ref}') `
20
+ if(index+1 !== article.taxonomyMapping.length){
21
+ references = references + ` && `
22
+ }
23
+ })
24
+ }
25
+
26
+ const relatedArticlesQuery = `*[!(_id in path("drafts.**")) && _type == "article" && title !='${article.title}' && defined(title) && is_visible == true && ( references('article.documentGroup._id') || ${references} ) && published <= '${today}'] | order(published desc) [0...4] {
27
+ ...,
28
+ title,
29
+ summary,
30
+ thumbnail,
31
+ url,
32
+ published,
33
+ authorMapping[]->,
34
+ contentCategory->
35
+ }`
36
+ const relatedArticles = await client.fetch(relatedArticlesQuery)
37
+
38
+ Sample usage
39
+ <RelatedContent dataRecord={props.relatedArticles} client={client} showAuthor showPublished reverse/>
40
+
41
+
42
42
  */
43
43
  var RelatedContent = function RelatedContent(props) {
44
44
  var client = props.client,
@@ -14,16 +14,16 @@ var RelatedTopicsDropdown = function RelatedTopicsDropdown(_ref) {
14
14
  _ref$className = _ref.className,
15
15
  className = _ref$className === undefined ? '' : _ref$className;
16
16
 
17
- /*
18
- Props accepted - parentTaxonomy(required, object), subTaxonomy(required, array), page(optional), exclude(optional), variant(optional), className(optional)
19
- example:
20
- <RelatedTopicDropdown
21
- page='/clinical'
22
- exclude="clinical"
23
- className='mb-3'
24
- parentTaxonomy={props.parentTaxonomy}
25
- subTaxonomies={props.subTaxonomies}
26
- />
17
+ /*
18
+ Props accepted - parentTaxonomy(required, object), subTaxonomy(required, array), page(optional), exclude(optional), variant(optional), className(optional)
19
+ example:
20
+ <RelatedTopicDropdown
21
+ page='/clinical'
22
+ exclude="clinical"
23
+ className='mb-3'
24
+ parentTaxonomy={props.parentTaxonomy}
25
+ subTaxonomies={props.subTaxonomies}
26
+ />
27
27
  */
28
28
  if (subTaxonomies.length === 0 && parentTaxonomy) {
29
29
  if (parentTaxonomy.identifier == exclude) {
@@ -5,7 +5,7 @@ import React__default, { useState, useEffect, useRef } from 'react';
5
5
  import { useRouter } from 'next/router';
6
6
  import { l as lib_3 } from './index-f0fc23eb.js';
7
7
  import { I as InfiniteScroll } from './index.es-a6137319.js';
8
- import { S as SeriesSlider } from './SeriesSlider-f771e20d.js';
8
+ import { S as SeriesSlider } from './SeriesSlider-e495571f.js';
9
9
  import { V as VisibilitySensor } from './visibility-sensor-72fd8f8b.js';
10
10
  import './_commonjsHelpers-0c4b6f40.js';
11
11
  import './core.get-iterator-method-ea258bb1.js';
@@ -6,10 +6,10 @@ import { s as smoothscroll } from './smoothscroll-fa4e3f8c.js';
6
6
  import urlFor from './urlFor.js';
7
7
  import { m as main_43, a as main_49, b as main_42 } from './main-1894c974.js';
8
8
 
9
- /*
10
- GROQ query -
11
- accepts an array of title, URL
12
- `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
9
+ /*
10
+ GROQ query -
11
+ accepts an array of title, URL
12
+ `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
13
13
  */
14
14
 
15
15
  var SeriesSlider = function SeriesSlider(_ref) {
@@ -32,8 +32,8 @@ var renderLink = function renderLink(row) {
32
32
  };
33
33
 
34
34
  var SideFooter = function SideFooter(props) {
35
- /*
36
- useage example: <SideFooter cache={props.cache} logo='https://mjh-web.s3.amazonaws.com/_media/an_mjhls_brand_logo.png' />
35
+ /*
36
+ useage example: <SideFooter cache={props.cache} logo='https://mjh-web.s3.amazonaws.com/_media/an_mjhls_brand_logo.png' />
37
37
  */
38
38
  var _get = get_1(props, 'cache.siteSettingCache', {}),
39
39
  socialLinks = _get.socialLinks,
@@ -5,7 +5,7 @@ import React__default, { useState, useEffect } from 'react';
5
5
  import { useRouter } from 'next/router';
6
6
  import Head from 'next/head';
7
7
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
8
- import { g as getSerializers } from './index-264bbd3c.js';
8
+ import { g as getSerializers } from './index-cca1a746.js';
9
9
  import './_commonjsHelpers-0c4b6f40.js';
10
10
  import './core.get-iterator-method-ea258bb1.js';
11
11
  import './_object-pie-133f504a.js';
@@ -5,7 +5,7 @@ import { B as BlockContent } from './BlockContent-1e73bd2c.js';
5
5
  import Col from 'react-bootstrap/Col';
6
6
  import Form from 'react-bootstrap/Form';
7
7
  import Button from 'react-bootstrap/Button';
8
- import { g as getSerializers } from './index-264bbd3c.js';
8
+ import { g as getSerializers } from './index-cca1a746.js';
9
9
  import VideoSeriesListing from './VideoSeriesListing.js';
10
10
  import './_commonjsHelpers-0c4b6f40.js';
11
11
  import './core.get-iterator-method-ea258bb1.js';
@@ -15,7 +15,7 @@ import 'react-dom';
15
15
  import './slicedToArray-6ebcbfea.js';
16
16
  import './index-3f5c03b2.js';
17
17
 
18
- var css = ".VideoSeriesCard-module_article__Hlc3e {\n width: 100%;\n margin: 0 0 1rem 0;\n}\n.VideoSeriesCard-module_article__Hlc3e a {\n display: flex;\n width: 100%;\n color: #000000;\n}\n.VideoSeriesCard-module_thumb__3hGyJ {\n width: 25%;\n}\n.VideoSeriesCard-module_thumb__3hGyJ img {\n width: 100%;\n height: auto;\n}\n.VideoSeriesCard-module_info__2_i1N {\n width: 75%;\n font-size: 1rem;\n}\n.VideoSeriesCard-module_info__2_i1N h2 {\n font-weight: bold;\n font-size: 1.25rem;\n margin: 0;\n}\n.VideoSeriesCard-module_published__1fI0q {\n color: #6d6d6d;\n margin: 0;\n}\n.VideoSeriesCard-module_summary__3hWJT {\n margin: 0.5rem 0 0 0;\n}\n.VideoSeriesCard-module_author__aU35o {\n margin: 0;\n}\n.VideoSeriesCard-module_author__aU35o span {\n color: #6d6d6d;\n}\n@media only screen and (max-width: 568px) {\n .VideoSeriesCard-module_article__Hlc3e {\n margin: 1rem 0;\n box-shadow: 2px 4px 8px rgba(0,0,0,.2);\n }\n .VideoSeriesCard-module_article__Hlc3e a {\n flex-direction: column;\n align-items: center;\n }\n .VideoSeriesCard-module_thumb__3hGyJ {\n overflow: hidden;\n width: 100%;\n margin-bottom: 1rem;\n }\n .VideoSeriesCard-module_thumb__3hGyJ img{\n border-radius: 10px 10px 0 0; \n }\n .VideoSeriesCard-module_thumb__3hGyJ figure {\n margin: 0;\n }\n .VideoSeriesCard-module_info__2_i1N {\n width: 90%;\n padding: 1rem !important;\n }\n .VideoSeriesCard-module_info__2_i1N h2 {\n font-size: 1rem;\n }\n}\n";
18
+ var css = ".VideoSeriesCard-module_article__Hlc3e {\r\n width: 100%;\r\n margin: 0 0 1rem 0;\r\n}\r\n.VideoSeriesCard-module_article__Hlc3e a {\r\n display: flex;\r\n width: 100%;\r\n color: #000000;\r\n}\r\n.VideoSeriesCard-module_thumb__3hGyJ {\r\n width: 25%;\r\n}\r\n.VideoSeriesCard-module_thumb__3hGyJ img {\r\n width: 100%;\r\n height: auto;\r\n}\r\n.VideoSeriesCard-module_info__2_i1N {\r\n width: 75%;\r\n font-size: 1rem;\r\n}\r\n.VideoSeriesCard-module_info__2_i1N h2 {\r\n font-weight: bold;\r\n font-size: 1.25rem;\r\n margin: 0;\r\n}\r\n.VideoSeriesCard-module_published__1fI0q {\r\n color: #6d6d6d;\r\n margin: 0;\r\n}\r\n.VideoSeriesCard-module_summary__3hWJT {\r\n margin: 0.5rem 0 0 0;\r\n}\r\n.VideoSeriesCard-module_author__aU35o {\r\n margin: 0;\r\n}\r\n.VideoSeriesCard-module_author__aU35o span {\r\n color: #6d6d6d;\r\n}\r\n@media only screen and (max-width: 568px) {\r\n .VideoSeriesCard-module_article__Hlc3e {\r\n margin: 1rem 0;\r\n box-shadow: 2px 4px 8px rgba(0,0,0,.2);\r\n }\r\n .VideoSeriesCard-module_article__Hlc3e a {\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n .VideoSeriesCard-module_thumb__3hGyJ {\r\n overflow: hidden;\r\n width: 100%;\r\n margin-bottom: 1rem;\r\n }\r\n .VideoSeriesCard-module_thumb__3hGyJ img{\r\n border-radius: 10px 10px 0 0; \r\n }\r\n .VideoSeriesCard-module_thumb__3hGyJ figure {\r\n margin: 0;\r\n }\r\n .VideoSeriesCard-module_info__2_i1N {\r\n width: 90%;\r\n padding: 1rem !important;\r\n }\r\n .VideoSeriesCard-module_info__2_i1N h2 {\r\n font-size: 1rem;\r\n }\r\n}\r\n";
19
19
  var styles = { "article": "VideoSeriesCard-module_article__Hlc3e", "thumb": "VideoSeriesCard-module_thumb__3hGyJ", "info": "VideoSeriesCard-module_info__2_i1N", "published": "VideoSeriesCard-module_published__1fI0q", "summary": "VideoSeriesCard-module_summary__3hWJT", "author": "VideoSeriesCard-module_author__aU35o" };
20
20
  styleInject(css);
21
21
 
package/dist/esm/View.js CHANGED
@@ -15,10 +15,10 @@ import FormControl from 'react-bootstrap/FormControl';
15
15
  import Button from 'react-bootstrap/Button';
16
16
  import { V as VisibilitySensor } from './visibility-sensor-72fd8f8b.js';
17
17
  import SocialShare from './SocialShare.js';
18
- import { r as renderAuthor, g as getSerializers } from './index-264bbd3c.js';
18
+ import { r as renderAuthor, g as getSerializers } from './index-cca1a746.js';
19
19
  import DFPAdSlot from './AdSlot.js';
20
- import { S as SeriesSlider } from './SeriesSlider-f771e20d.js';
21
- import { a as getContentPlacementUrl, g as getTargeting } from './getTargeting-42f9b439.js';
20
+ import { S as SeriesSlider } from './SeriesSlider-e495571f.js';
21
+ import { a as getContentPlacementUrl, g as getTargeting } from './getTargeting-04d979c9.js';
22
22
  import getKeywords from './getKeywords.js';
23
23
  import urlFor from './urlFor.js';
24
24
  import { u as urlForFile } from './urlForFile-b69adffc.js';
@@ -28,7 +28,7 @@ import { s as styleInject } from './style-inject.es-1f59c1d0.js';
28
28
  import './index-755f2cc2.js';
29
29
  import { DiscussionEmbed } from 'disqus-react';
30
30
  import Schema from './Schema.js';
31
- import FileSaver from 'file-saver';
31
+ import { c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers-0c4b6f40.js';
32
32
  import { PixelTrackingArticle } from './PixelTracking.js';
33
33
  import { _ as _Object$keys } from './keys-31dcdb31.js';
34
34
  import { I as InfiniteScroll } from './index.es-a6137319.js';
@@ -36,7 +36,6 @@ import { l as lib_3 } from './index-f0fc23eb.js';
36
36
  import getRelatedArticle from './getRelatedArticle.js';
37
37
  import getQuery from './getQuery.js';
38
38
  import getSeriesDetail from './getSeriesDetail.js';
39
- import './_commonjsHelpers-0c4b6f40.js';
40
39
  import './core.get-iterator-method-ea258bb1.js';
41
40
  import './web.dom.iterable-ab4dea5c.js';
42
41
  import './_library-528f1934.js';
@@ -350,7 +349,7 @@ var ISI = function ISI(props) {
350
349
  );
351
350
  };
352
351
 
353
- var css$1 = ".RelatedArticles-module_mediaContainer__10h9k {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n margin: 0 -1rem;\n}\n.RelatedArticles-module_mediaCard__3wQbn {\n margin: 0 1rem 1rem;\n width: calc(33% - 1rem);\n display: column;\n flex-direction: row;\n margin-bottom: 0.75rem;\n padding-bottom: 0.75rem;\n border-bottom: none;\n}\n.RelatedArticles-module_mediaCard__3wQbn:last-child {\n border-bottom: none;\n}\n.RelatedArticles-module_cardTitle__3P-Ib {\n font-weight: bold;\n color: #252525;\n margin-bottom: 0.25rem;\n font-size: 15px;\n}\n.RelatedArticles-module_authorListing__1EFg4 span.RelatedArticles-module_text-muted__3b0zX {\n color: #000;\n font-weight: bold;\n}\n.RelatedArticles-module_cardDate__1wOR5 {\n color: var(--dark);\n display: block;\n background: #fff !important;\n margin-bottom: 0;\n}\n.RelatedArticles-module_imgWrapper__5Jx_4 {\n display: block;\n text-align: center;\n margin-bottom: 0.5rem;\n}\n.RelatedArticles-module_imgWrapper__5Jx_4 img {\n height: 135px;\n width: 100%;\n object-fit: cover;\n object-position: center;\n}\n@media screen and (max-width: 1064px) {\n}\n@media screen and (max-width: 968px) {\n .RelatedArticles-module_mediaContainer__10h9k {\n flex-wrap: wrap;\n }\n .RelatedArticles-module_imgWrapper__5Jx_4 {\n display: none;\n }\n .RelatedArticles-module_mediaCard__3wQbn {\n width: 100%;\n margin-bottom: 0.5rem;\n padding: 0;\n }\n .RelatedArticles-module_cardTitle__3P-Ib {\n font-size: 0.75rem;\n margin-bottom: 0;\n }\n}\n";
352
+ var css$1 = ".RelatedArticles-module_mediaContainer__10h9k {\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n margin: 0 -1rem;\r\n}\r\n.RelatedArticles-module_mediaCard__3wQbn {\r\n margin: 0 1rem 1rem;\r\n width: calc(33% - 1rem);\r\n display: column;\r\n flex-direction: row;\r\n margin-bottom: 0.75rem;\r\n padding-bottom: 0.75rem;\r\n border-bottom: none;\r\n}\r\n.RelatedArticles-module_mediaCard__3wQbn:last-child {\r\n border-bottom: none;\r\n}\r\n.RelatedArticles-module_cardTitle__3P-Ib {\r\n font-weight: bold;\r\n color: #252525;\r\n margin-bottom: 0.25rem;\r\n font-size: 15px;\r\n}\r\n.RelatedArticles-module_authorListing__1EFg4 span.RelatedArticles-module_text-muted__3b0zX {\r\n color: #000;\r\n font-weight: bold;\r\n}\r\n.RelatedArticles-module_cardDate__1wOR5 {\r\n color: var(--dark);\r\n display: block;\r\n background: #fff !important;\r\n margin-bottom: 0;\r\n}\r\n.RelatedArticles-module_imgWrapper__5Jx_4 {\r\n display: block;\r\n text-align: center;\r\n margin-bottom: 0.5rem;\r\n}\r\n.RelatedArticles-module_imgWrapper__5Jx_4 img {\r\n height: 135px;\r\n width: 100%;\r\n object-fit: cover;\r\n object-position: center;\r\n}\r\n@media screen and (max-width: 1064px) {\r\n}\r\n@media screen and (max-width: 968px) {\r\n .RelatedArticles-module_mediaContainer__10h9k {\r\n flex-wrap: wrap;\r\n }\r\n .RelatedArticles-module_imgWrapper__5Jx_4 {\r\n display: none;\r\n }\r\n .RelatedArticles-module_mediaCard__3wQbn {\r\n width: 100%;\r\n margin-bottom: 0.5rem;\r\n padding: 0;\r\n }\r\n .RelatedArticles-module_cardTitle__3P-Ib {\r\n font-size: 0.75rem;\r\n margin-bottom: 0;\r\n }\r\n}\r\n";
354
353
  var styles$1 = { "mediaContainer": "RelatedArticles-module_mediaContainer__10h9k", "mediaCard": "RelatedArticles-module_mediaCard__3wQbn", "cardTitle": "RelatedArticles-module_cardTitle__3P-Ib", "authorListing": "RelatedArticles-module_authorListing__1EFg4", "text-muted": "RelatedArticles-module_text-muted__3b0zX", "cardDate": "RelatedArticles-module_cardDate__1wOR5", "imgWrapper": "RelatedArticles-module_imgWrapper__5Jx_4" };
355
354
  styleInject(css$1);
356
355
 
@@ -449,7 +448,13 @@ var getSocialShareDisableFlag = function getSocialShareDisableFlag(article) {
449
448
  return showSocialShare;
450
449
  };
451
450
 
452
- var css = ".RecommendedArticles-module_recommendTitle__2kUji {\n border-bottom: 2px solid var(--secondary-blue);\n font-size: 1.5rem;\n font-weight: bold;\n color: #0d335a;\n padding: 0.5rem;\n}\n.RecommendedArticles-module_recommendContainer__sZukI {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n margin: 0 -0.5rem;\n}\n.RecommendedArticles-module_recommendTop__1_yqw {\n margin: 0.5rem;\n width: 100%;\n flex-basis: 100%;\n display: flex;\n\n}\n.RecommendedArticles-module_recommendTopImg__1b9gu {\n min-width: 55%;\n width: 55%;\n height: 100%;\n}\n.RecommendedArticles-module_recommendTopImg__1b9gu img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.RecommendedArticles-module_recommendTopBody__-13FI {\n margin-left: 1rem;\n line-height: 1.3;\n color: #121212;\n display: flex;\n flex-direction: column;\n}\n.RecommendedArticles-module_topTitle__2EafN {\n font-size: 25px;\n font-weight: bold;\n margin-bottom: 0.5rem;\n}\n.RecommendedArticles-module_topBody__2_VNi {\n font-size: 19px;\n margin-bottom: 0.5rem;\n}\n.RecommendedArticles-module_topLink__2RnXu {\n font-size: 19px;\n color: rgb(43, 43, 151);\n text-decoration: underline;\n margin-top: auto;\n}\n.RecommendedArticles-module_smContainer__4byBO {\n width: calc(25% - 1rem);\n margin: 0 0.5rem;\n}\n.RecommendedArticles-module_smImage__TYZGY img {\n width: 100%;\n}\n.RecommendedArticles-module_title__3q1ud {\n margin-top: 1rem;\n line-height: 1.2;\n color: #121212;\n}\n.RecommendedArticles-module_category__2jRto {\n text-transform: uppercase;\n font-size: 16px;\n letter-spacing: 2px;\n margin: 0.25rem 0;\n}\n\n/* media query */\n\n@media screen and (max-width: 1399px) {\n .RecommendedArticles-module_topTitle__2EafN {\n font-size: 21px;\n }\n .RecommendedArticles-module_topBody__2_VNi {\n font-size: 15px;\n }\n}\n@media screen and (max-width: 1191px) {\n .RecommendedArticles-module_topTitle__2EafN {\n font-size: 23px;\n }\n .RecommendedArticles-module_topBody__2_VNi,\n .RecommendedArticles-module_topLink__2RnXu {\n font-size: 17px;\n }\n}\n@media screen and (max-width: 968px) {\n .RecommendedArticles-module_topTitle__2EafN {\n font-size: 18px;\n }\n .RecommendedArticles-module_topBody__2_VNi,\n .RecommendedArticles-module_topLink__2RnXu {\n font-size: 15px;\n }\n}\n@media screen and (max-width: 768px) {\n .RecommendedArticles-module_recommendTop__1_yqw {\n flex-direction: column;\n }\n .RecommendedArticles-module_recommendTopImg__1b9gu,\n .RecommendedArticles-module_recommendTopBody__-13FI {\n width: 100%;\n margin: 0;\n }\n .RecommendedArticles-module_recommendTopBody__-13FI {\n margin-bottom: 1rem;\n }\n .RecommendedArticles-module_smContainer__4byBO {\n width: calc(50% - 1rem);\n }\n}";
451
+ var FileSaver_min = createCommonjsModule(function (module, exports) {
452
+ (function(a,b){b();})(commonjsGlobal,function(){function b(a,b){return "undefined"==typeof b?b={autoBom:!1}:"object"!=typeof b&&(console.warn("Deprecated: Expected third argument to be a object"),b={autoBom:!b}),b.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open("GET",a),d.responseType="blob",d.onload=function(){g(d.response,b,c);},d.onerror=function(){console.error("could not download file");},d.send();}function d(a){var b=new XMLHttpRequest;b.open("HEAD",a,!1);try{b.send();}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent("click"));}catch(c){var b=document.createEvent("MouseEvents");b.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b);}}var f="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof commonjsGlobal&&commonjsGlobal.global===commonjsGlobal?commonjsGlobal:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||("object"!=typeof window||window!==f?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement("a");g=g||b.name||"download",j.download=g,j.rel="noopener","string"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target="_blank")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href);},4E4),setTimeout(function(){e(j);},0));}:"msSaveOrOpenBlob"in navigator?function(f,g,h){if(g=g||f.name||"download","string"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else {var i=document.createElement("a");i.href=f,i.target="_blank",setTimeout(function(){e(i);});}}:function(b,d,e,g){if(g=g||open("","_blank"),g&&(g.document.title=g.document.body.innerText="downloading..."),"string"==typeof b)return c(b,d,e);var h="application/octet-stream"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\/[\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&"undefined"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,"data:attachment/file;"),g?g.location.href=a:location=a,g=null;},k.readAsDataURL(b);}else {var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m);},4E4);}});f.saveAs=g.saveAs=g,(module.exports=g);});
453
+
454
+
455
+ });
456
+
457
+ var css = ".RecommendedArticles-module_recommendTitle__2kUji {\r\n border-bottom: 2px solid var(--secondary-blue);\r\n font-size: 1.5rem;\r\n font-weight: bold;\r\n color: #0d335a;\r\n padding: 0.5rem;\r\n}\r\n.RecommendedArticles-module_recommendContainer__sZukI {\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n margin: 0 -0.5rem;\r\n}\r\n.RecommendedArticles-module_recommendTop__1_yqw {\r\n margin: 0.5rem;\r\n width: 100%;\r\n flex-basis: 100%;\r\n display: flex;\r\n\r\n}\r\n.RecommendedArticles-module_recommendTopImg__1b9gu {\r\n min-width: 55%;\r\n width: 55%;\r\n height: 100%;\r\n}\r\n.RecommendedArticles-module_recommendTopImg__1b9gu img {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n}\r\n.RecommendedArticles-module_recommendTopBody__-13FI {\r\n margin-left: 1rem;\r\n line-height: 1.3;\r\n color: #121212;\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n.RecommendedArticles-module_topTitle__2EafN {\r\n font-size: 25px;\r\n font-weight: bold;\r\n margin-bottom: 0.5rem;\r\n}\r\n.RecommendedArticles-module_topBody__2_VNi {\r\n font-size: 19px;\r\n margin-bottom: 0.5rem;\r\n}\r\n.RecommendedArticles-module_topLink__2RnXu {\r\n font-size: 19px;\r\n color: rgb(43, 43, 151);\r\n text-decoration: underline;\r\n margin-top: auto;\r\n}\r\n.RecommendedArticles-module_smContainer__4byBO {\r\n width: calc(25% - 1rem);\r\n margin: 0 0.5rem;\r\n}\r\n.RecommendedArticles-module_smImage__TYZGY img {\r\n width: 100%;\r\n}\r\n.RecommendedArticles-module_title__3q1ud {\r\n margin-top: 1rem;\r\n line-height: 1.2;\r\n color: #121212;\r\n}\r\n.RecommendedArticles-module_category__2jRto {\r\n text-transform: uppercase;\r\n font-size: 16px;\r\n letter-spacing: 2px;\r\n margin: 0.25rem 0;\r\n}\r\n\r\n/* media query */\r\n\r\n@media screen and (max-width: 1399px) {\r\n .RecommendedArticles-module_topTitle__2EafN {\r\n font-size: 21px;\r\n }\r\n .RecommendedArticles-module_topBody__2_VNi {\r\n font-size: 15px;\r\n }\r\n}\r\n@media screen and (max-width: 1191px) {\r\n .RecommendedArticles-module_topTitle__2EafN {\r\n font-size: 23px;\r\n }\r\n .RecommendedArticles-module_topBody__2_VNi,\r\n .RecommendedArticles-module_topLink__2RnXu {\r\n font-size: 17px;\r\n }\r\n}\r\n@media screen and (max-width: 968px) {\r\n .RecommendedArticles-module_topTitle__2EafN {\r\n font-size: 18px;\r\n }\r\n .RecommendedArticles-module_topBody__2_VNi,\r\n .RecommendedArticles-module_topLink__2RnXu {\r\n font-size: 15px;\r\n }\r\n}\r\n@media screen and (max-width: 768px) {\r\n .RecommendedArticles-module_recommendTop__1_yqw {\r\n flex-direction: column;\r\n }\r\n .RecommendedArticles-module_recommendTopImg__1b9gu,\r\n .RecommendedArticles-module_recommendTopBody__-13FI {\r\n width: 100%;\r\n margin: 0;\r\n }\r\n .RecommendedArticles-module_recommendTopBody__-13FI {\r\n margin-bottom: 1rem;\r\n }\r\n .RecommendedArticles-module_smContainer__4byBO {\r\n width: calc(50% - 1rem);\r\n }\r\n}";
453
458
  var styles = { "recommendTitle": "RecommendedArticles-module_recommendTitle__2kUji", "recommendContainer": "RecommendedArticles-module_recommendContainer__sZukI", "recommendTop": "RecommendedArticles-module_recommendTop__1_yqw", "recommendTopImg": "RecommendedArticles-module_recommendTopImg__1b9gu", "recommendTopBody": "RecommendedArticles-module_recommendTopBody__-13FI", "topTitle": "RecommendedArticles-module_topTitle__2EafN", "topBody": "RecommendedArticles-module_topBody__2_VNi", "topLink": "RecommendedArticles-module_topLink__2RnXu", "smContainer": "RecommendedArticles-module_smContainer__4byBO", "smImage": "RecommendedArticles-module_smImage__TYZGY", "title": "RecommendedArticles-module_title__3q1ud", "category": "RecommendedArticles-module_category__2jRto" };
454
459
  styleInject(css);
455
460
 
@@ -1129,7 +1134,7 @@ var Article = React__default.memo(forwardRef(function (props, ref) {
1129
1134
  var downloadRIS = function downloadRIS() {
1130
1135
  var fileContent = generateRIS();
1131
1136
  var file = new File([fileContent], 'citation-' + url + '.ris', { type: 'application/x-research-info-systems;charset=utf-8' });
1132
- FileSaver.saveAs(file, 'citation-' + url + '.ris');
1137
+ FileSaver_min.saveAs(file, 'citation-' + url + '.ris');
1133
1138
  };
1134
1139
 
1135
1140
  var RelevantTopics = function RelevantTopics() {
@@ -2214,12 +2219,31 @@ var View = function View(props) {
2214
2219
  }
2215
2220
  }, []);
2216
2221
 
2217
- var disableInfiniteScroll = false;
2222
+ var isVideoSeries = false;
2223
+ // check for certain serializers that need to disable infinite scroll
2224
+ var checkBodyForDisableInfiniteScroll = function checkBodyForDisableInfiniteScroll(article) {
2225
+ if (!article || !article.body) {
2226
+ return false;
2227
+ }
2228
+ for (var i = 0; i < article.body.length; i++) {
2229
+ if (article.body[i]._type === 'articleSeries' || article.body[i]._type === 'slideshows' || article.body[i]._type === 'quiz') {
2230
+ return true;
2231
+ }
2232
+ var row = article.body[i];
2233
+ if (typeof row.videos !== 'undefined') {
2234
+ isVideoSeries = true;
2235
+ return true;
2236
+ }
2237
+ }
2238
+ return false;
2239
+ };
2240
+
2241
+ var disableInfiniteScroll = checkBodyForDisableInfiniteScroll(props.article);
2218
2242
  var commentsEnabledInTaxonomy = Array.isArray(content_placement) && content_placement.some(function (t) {
2219
2243
  return t.showComments === true;
2220
2244
  });
2221
2245
  var showDisqus = commentsEnabledInTaxonomy || hideComments === false;
2222
- var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !disableInfiniteScroll && !article.ExcludeFromInfiniteScroll && !sponsoredFlag && infiniteScrollFlag && !article.showIsi && !showDisqus;
2246
+ var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !disableInfiniteScroll && !article.ExcludeFromInfiniteScroll && !sponsoredFlag && infiniteScrollFlag && !article.showIsi && (!article.documentGroup || !article.documentGroup.isSeries) && !showDisqus;
2223
2247
 
2224
2248
  if (['Articles', 'Videos', 'Podcasts'].includes(article.category.name)) {
2225
2249
  title = null;
@@ -2254,6 +2278,10 @@ var View = function View(props) {
2254
2278
 
2255
2279
  var meta_description = seriesShareOptions && seriesShareOptions.seriesSummary ? '' + seriesShareOptions.seriesSummary + (currentPage > 0 ? ' | Page ' + currentPage : '') : article.seo && article.seo.meta_description ? '' + article.seo.meta_description + (currentPage > 0 ? ' | Page ' + currentPage : '') : shareOptions.shareSummary ? '' + shareOptions.shareSummary + (currentPage > 0 ? ' | Page ' + currentPage : '') : '' + (currentPage > 0 ? 'Page ' + currentPage : '');
2256
2280
 
2281
+ if (isVideoSeries) {
2282
+ meta_description = seriesShareOptions && seriesShareOptions.seriesSummary ? '' + seriesShareOptions.seriesSummary + (currentPage > 0 ? ' | Page ' + currentPage : '') : '';
2283
+ }
2284
+
2257
2285
  var currentPath = router && router.asPath;
2258
2286
  var seoLinks = props.cache.seoManager && props.cache.seoManager.filter(function (eachDocument) {
2259
2287
  return eachDocument.urlSeo == currentPath;
@@ -12,10 +12,10 @@ import 'react-dom';
12
12
  import 'prop-types';
13
13
  import './index-3f5c03b2.js';
14
14
 
15
- /*
16
- GROQ query -
17
- accepts an array of title, URL
18
- `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
15
+ /*
16
+ GROQ query -
17
+ accepts an array of title, URL
18
+ `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
19
19
  */
20
20
 
21
21
  var YoutubeGroup = function YoutubeGroup(props) {
@@ -9,7 +9,7 @@ var getQuery = function getQuery(type) {
9
9
  switch (type) {
10
10
  // quiz video series and slideshow
11
11
  case 'related':
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 \n ' + conditions + '\n ]| order(published desc)[' + (articleCount ? articleCount : '$index') + ']{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n fieldAbstract,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, 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 }';
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 fieldAbstract,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, 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
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 fieldAbstract,\n ...,\n passwordLock,\n password,\n issueGroup-> { _id, name, identifier, parent-> },\n "authorDetails": authorMapping[]->{ displayName, 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, 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 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':
@@ -1,12 +1,12 @@
1
1
  import './extends-6d8e3924.js';
2
+ import './slicedToArray-6ebcbfea.js';
2
3
  import 'react';
3
- export { g as default } from './index-264bbd3c.js';
4
+ export { g as default } from './index-cca1a746.js';
4
5
  import './BlockContent-1e73bd2c.js';
5
6
  import './entities-6d9154b4.js';
6
7
  import './_commonjsHelpers-0c4b6f40.js';
7
8
  import './core.get-iterator-method-ea258bb1.js';
8
9
  import './_object-pie-133f504a.js';
9
- import './slicedToArray-6ebcbfea.js';
10
10
  import './web.dom.iterable-ab4dea5c.js';
11
11
  import 'react-bootstrap';
12
12
  import './urlFor.js';
@@ -2,18 +2,18 @@ import { _ as _extends } from './extends-6d8e3924.js';
2
2
  import { _ as _toConsumableArray } from './toConsumableArray-f7074d7c.js';
3
3
 
4
4
  var getContentPlacementUrl = function getContentPlacementUrl(cp) {
5
- var cp_url = '';
6
- if (cp.ancestor && typeof cp.ancestor == 'string') {
7
- cp_url += (cp_url === '' ? '' : '/') + cp.ancestor;
8
- }
5
+ var cp_url = '';
6
+ if (cp.ancestor && typeof cp.ancestor == 'string') {
7
+ cp_url += (cp_url === '' ? '' : '/') + cp.ancestor;
8
+ }
9
9
 
10
- if (!cp.ancestor && cp.parent && typeof cp.parent == 'string') {
11
- cp_url += (cp_url === '' ? '' : '/') + cp.parent;
12
- }
10
+ if (!cp.ancestor && cp.parent && typeof cp.parent == 'string') {
11
+ cp_url += (cp_url === '' ? '' : '/') + cp.parent;
12
+ }
13
13
 
14
- cp_url += (cp_url === '' ? '' : '/') + (cp.adTargetingURL ? adTargetingURL : cp.path);
14
+ cp_url += (cp_url === '' ? '' : '/') + (cp.adTargetingURL ? adTargetingURL : cp.path);
15
15
 
16
- return cp_url;
16
+ return cp_url;
17
17
  };
18
18
 
19
19
  var getTargeting = function getTargeting(props) {
@@ -1,6 +1,6 @@
1
1
  import './extends-6d8e3924.js';
2
2
  import './toConsumableArray-f7074d7c.js';
3
- export { g as default } from './getTargeting-42f9b439.js';
3
+ export { g as default } from './getTargeting-04d979c9.js';
4
4
  import './_commonjsHelpers-0c4b6f40.js';
5
5
  import './core.get-iterator-method-ea258bb1.js';
6
6
  import './_object-pie-133f504a.js';
@@ -1,6 +1,6 @@
1
1
  import { _ as _extends, b as _extends$1 } from './extends-6d8e3924.js';
2
- import React__default, { useState, useEffect, useRef, useLayoutEffect, useCallback } from 'react';
3
2
  import { _ as _slicedToArray, a as _getIterator } from './slicedToArray-6ebcbfea.js';
3
+ import React__default, { useState, useEffect, useRef, useLayoutEffect, useCallback } from 'react';
4
4
  import { Carousel, Table, Figure as Figure$1, Card, Row, Col, Button as Button$1, ProgressBar } from 'react-bootstrap';
5
5
  import urlFor from './urlFor.js';
6
6
  import { l as lib_3 } from './index-f0fc23eb.js';
@@ -10432,8 +10432,17 @@ var getSerializers = function getSerializers() {
10432
10432
  authorImgHeight = props[15],
10433
10433
  audioAutoplay = props[16];
10434
10434
 
10435
-
10436
10435
  var nextVideo = article && article.nextVideo ? article.nextVideo : null;
10436
+
10437
+ var _useState = useState(''),
10438
+ _useState2 = _slicedToArray(_useState, 2),
10439
+ ogUrl = _useState2[0],
10440
+ setOgUrl = _useState2[1];
10441
+
10442
+ useEffect(function () {
10443
+ setOgUrl(window.location.host);
10444
+ }, []);
10445
+
10437
10446
  return {
10438
10447
  types: {
10439
10448
  undefined: function undefined$1() {
@@ -10620,8 +10629,29 @@ var getSerializers = function getSerializers() {
10620
10629
  _props$mark = props.mark,
10621
10630
  href = _props$mark.href,
10622
10631
  blank = _props$mark.blank,
10623
- color = _props$mark.color;
10632
+ color = _props$mark.color,
10633
+ nofollow = _props$mark.nofollow;
10624
10634
 
10635
+ var isExernalUrl = checkUrlIsExternal(href);
10636
+ var checkBaseUrl = function checkBaseUrl(url) {
10637
+ if (url.includes('http://') || url.includes('https://')) {
10638
+ //to remove http:// or https:// to check URLs
10639
+ url = url.split('/').slice(2, 3).join('/');
10640
+ }
10641
+ return ogUrl && ogUrl.includes(url.split('/').slice(0, 1).join('/')) ? true : false;
10642
+ };
10643
+ var checkNoFollow = function checkNoFollow(url, nofollow) {
10644
+ if (url && !isExernalUrl || url && checkBaseUrl(url)) {
10645
+ //if not external url, nofollow is disabled
10646
+ return '';
10647
+ } else if (url && nofollow) {
10648
+ //if not external url and nofollow is enabled, nofollow
10649
+ return 'nofollow';
10650
+ } else {
10651
+ //if not external url and nofollow is disabled, no nofollow
10652
+ return '';
10653
+ }
10654
+ };
10625
10655
 
10626
10656
  if (href && href.charAt(0) === '#') {
10627
10657
  var elementId = href.slice(1);
@@ -10635,10 +10665,13 @@ var getSerializers = function getSerializers() {
10635
10665
  );
10636
10666
  }
10637
10667
 
10638
- var isExernalUrl = checkUrlIsExternal(href);
10639
10668
  return href ? React__default.createElement(
10640
10669
  'a',
10641
- _extends({ rel: blank ? 'noopener' : '', href: isExernalUrl ? href : '/' + href, target: blank ? '_blank' : '_self' }, color && color.hex && { style: { color: color.hex } }),
10670
+ _extends({
10671
+ rel: checkNoFollow(href, nofollow) + ' ' + (blank ? 'noopener' : ''),
10672
+ href: isExernalUrl ? href : '/' + href,
10673
+ target: blank ? '_blank' : '_self'
10674
+ }, color && color.hex && { style: { color: color.hex } }),
10642
10675
  children
10643
10676
  ) : children;
10644
10677
  },
package/dist/esm/index.js CHANGED
@@ -87,7 +87,7 @@ export { default as VerticalHero } from './VerticalHero.js';
87
87
  export { default as YahooHero } from './YahooHero.js';
88
88
  export { default as GridHero } from './GridHero.js';
89
89
  export { default as ConferenceArticleCard } from './ConferenceArticleCard.js';
90
- export { g as getSerializers } from './index-264bbd3c.js';
90
+ export { g as getSerializers } from './index-cca1a746.js';
91
91
  export { default as Beam } from './Beam.js';
92
92
  export { default as Segment } from './Segment.js';
93
93
  export { default as KMTracker } from './KMTracker.js';
@@ -102,7 +102,7 @@ export { default as VideoSeriesLandingPage } from './VideoSeriesLandingPage.js';
102
102
  export { default as ArticleProgramLandingPage } from './ArticleProgramLandingPage.js';
103
103
  export { default as ArticleSeriesLandingPage } from './ArticleSeriesLandingPage.js';
104
104
  export { default as Schema } from './Schema.js';
105
- export { g as getTargeting } from './getTargeting-42f9b439.js';
105
+ export { g as getTargeting } from './getTargeting-04d979c9.js';
106
106
  export { default as getKeywords } from './getKeywords.js';
107
107
  export { default as getQuery } from './getQuery.js';
108
108
  import './toConsumableArray-f7074d7c.js';
@@ -192,10 +192,9 @@ import 'swr';
192
192
  import 'passport-local';
193
193
  import 'mysql';
194
194
  import './md5-4e42248e.js';
195
- import './SeriesSlider-f771e20d.js';
195
+ import './SeriesSlider-e495571f.js';
196
196
  import './style-inject.es-1f59c1d0.js';
197
197
  import 'disqus-react';
198
- import 'file-saver';
199
198
  import 'react-twitter-embed';
200
199
  import './ImageSlider-f84174cb.js';
201
200
  import './defineProperty-23a8f8cd.js';