@mjhls/mjh-framework 1.0.294 → 1.0.296

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 (48) hide show
  1. package/README.md +171 -171
  2. package/dist/cjs/ADInfeed-824fcfb6.js +54 -0
  3. package/dist/cjs/{AdSlot-0cd6f861.js → AdSlot-405b39eb.js} +5 -4
  4. package/dist/cjs/DeckContent.js +11 -11
  5. package/dist/cjs/DeckQueue.js +1 -1
  6. package/dist/cjs/{Figure-167c0214.js → Figure-0681dd7d.js} +1 -1
  7. package/dist/cjs/{GridContent-fa2e1b56.js → GridContent-929798bf.js} +3 -3
  8. package/dist/cjs/GridContent.js +4 -4
  9. package/dist/cjs/IssueContentDeck.js +1 -1
  10. package/dist/cjs/IssueDeck.js +1 -1
  11. package/dist/cjs/MasterDeck.js +9 -9
  12. package/dist/cjs/{Normal-61221bc6.js → Normal-d3a56ac1.js} +30 -30
  13. package/dist/cjs/PublicationDeck.js +1 -1
  14. package/dist/cjs/QueueDeckExpanded.js +3 -3
  15. package/dist/cjs/{TaxonomyCard-4210753c.js → TaxonomyCard-03364755.js} +1 -1
  16. package/dist/cjs/TaxonomyCard.js +2 -2
  17. package/dist/cjs/TemplateNormal.js +2 -2
  18. package/dist/cjs/ThumbnailCard.js +1 -1
  19. package/dist/cjs/VideoSeriesListing.js +1 -1
  20. package/dist/cjs/{YoutubeGroup-39eba427.js → YoutubeGroup-98ffbc57.js} +4 -4
  21. package/dist/cjs/YoutubeGroup.js +1 -1
  22. package/dist/cjs/{index-be0c82be.js → index-39beccb3.js} +2 -1
  23. package/dist/cjs/index.js +625 -572
  24. package/dist/esm/ADInfeed-a1d8cb44.js +49 -0
  25. package/dist/esm/{AdSlot-03043ffb.js → AdSlot-b4f04c96.js} +5 -4
  26. package/dist/esm/DeckContent.js +11 -11
  27. package/dist/esm/DeckQueue.js +1 -1
  28. package/dist/esm/{Figure-9f21ef27.js → Figure-cff72982.js} +1 -1
  29. package/dist/esm/{GridContent-88ed988c.js → GridContent-862176ac.js} +2 -2
  30. package/dist/esm/GridContent.js +4 -4
  31. package/dist/esm/IssueContentDeck.js +1 -1
  32. package/dist/esm/IssueDeck.js +1 -1
  33. package/dist/esm/MasterDeck.js +9 -9
  34. package/dist/esm/{Normal-3a537c0a.js → Normal-4180d06d.js} +30 -30
  35. package/dist/esm/PublicationDeck.js +1 -1
  36. package/dist/esm/QueueDeckExpanded.js +3 -3
  37. package/dist/esm/{TaxonomyCard-1d039949.js → TaxonomyCard-8d8c0d6f.js} +1 -1
  38. package/dist/esm/TaxonomyCard.js +2 -2
  39. package/dist/esm/TemplateNormal.js +2 -2
  40. package/dist/esm/ThumbnailCard.js +1 -1
  41. package/dist/esm/VideoSeriesListing.js +1 -1
  42. package/dist/esm/{YoutubeGroup-f59297bb.js → YoutubeGroup-562ed456.js} +4 -4
  43. package/dist/esm/YoutubeGroup.js +1 -1
  44. package/dist/esm/{index-73819142.js → index-3849e3fe.js} +2 -1
  45. package/dist/esm/index.js +629 -576
  46. package/package.json +103 -103
  47. package/dist/cjs/ADInfeed-db54195d.js +0 -47
  48. package/dist/esm/ADInfeed-ac3ac372.js +0 -42
@@ -0,0 +1,49 @@
1
+ import React__default from 'react';
2
+ import Card from 'react-bootstrap/Card';
3
+ import { D as DFPAdSlot } from './AdSlot-b4f04c96.js';
4
+
5
+ var ADInfeed = function ADInfeed(_ref) {
6
+ var index = _ref.index,
7
+ infeedAd = _ref.infeedAd;
8
+ var className = infeedAd.className,
9
+ slotId = infeedAd.slotId,
10
+ adUnit = infeedAd.adUnit,
11
+ _infeedAd$targeting = infeedAd.targeting,
12
+ targeting = _infeedAd$targeting === undefined ? {} : _infeedAd$targeting,
13
+ networkID = infeedAd.networkID,
14
+ sizes = infeedAd.sizes;
15
+
16
+
17
+ var collapseAd = function collapseAd() {
18
+ var parent = document.getElementById('brand-insight-wrapper-' + (index + 1));
19
+ parent.style.height = '0%';
20
+ parent.style.width = '0%';
21
+ parent.style.display = 'none';
22
+ };
23
+
24
+ var checkIsAdFound = function checkIsAdFound(isFound) {
25
+ if (isFound) {
26
+ var parent = document.getElementById('brand-insight-wrapper-' + (index + 1));
27
+ parent.style.display = 'flex';
28
+ } else {
29
+ collapseAd();
30
+ }
31
+ };
32
+
33
+ return React__default.createElement(
34
+ 'div',
35
+ { id: 'brand-insight-wrapper-' + (index + 1), className: 'brand-insight-wrapper', style: { display: 'none', flex: '1 0 auto' } },
36
+ React__default.createElement(
37
+ Card,
38
+ { className: 'ad-wrapper', style: { display: 'block !important', flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
39
+ React__default.createElement(DFPAdSlot, { className: className, networkID: networkID, adUnit: adUnit, slotId: slotId, targeting: targeting, sizes: sizes, checkIsAdFound: checkIsAdFound })
40
+ ),
41
+ React__default.createElement(
42
+ 'style',
43
+ { jsx: 'true' },
44
+ ''
45
+ )
46
+ );
47
+ };
48
+
49
+ export { ADInfeed as A };
@@ -1080,7 +1080,7 @@ var DFPAdSlot = function DFPAdSlot(_ref) {
1080
1080
  targeting = _ref$targeting === undefined ? {} : _ref$targeting,
1081
1081
  _ref$refreshFlag = _ref.refreshFlag,
1082
1082
  refreshFlag = _ref$refreshFlag === undefined ? true : _ref$refreshFlag,
1083
- setShowAd = _ref.setShowAd;
1083
+ checkIsAdFound = _ref.checkIsAdFound;
1084
1084
 
1085
1085
  var _useState = useState(false),
1086
1086
  _useState2 = _slicedToArray(_useState, 2),
@@ -1117,13 +1117,14 @@ var DFPAdSlot = function DFPAdSlot(_ref) {
1117
1117
  sizeMapping: sizeMapping,
1118
1118
  targetingArguments: targeting,
1119
1119
  onSlotRender: function onSlotRender(eventData) {
1120
- if (eventData && eventData.slotId && ['floating-ad', 'infeed', 'welcome-ad'].includes(eventData.slotId)) {
1120
+ if (eventData && eventData.slotId && eventData.slotId === slotId && checkIsAdFound) {
1121
1121
  if (eventData.event && eventData.event.creativeId == null) {
1122
- setShowAd(false);
1122
+ checkIsAdFound(false);
1123
1123
  } else {
1124
- setShowAd(true);
1124
+ checkIsAdFound(true);
1125
1125
  }
1126
1126
  }
1127
+
1127
1128
  setAdRendered(true);
1128
1129
  if (eventData && eventData.event) {
1129
1130
  var cID = eventData.event.creativeId;
@@ -17,13 +17,13 @@ import { V as VisibilitySensor, m as moment, I as InfiniteScroll } from './visib
17
17
  import 'next/link';
18
18
  import { withRouter } from 'next/router';
19
19
  import 'react-dom';
20
- import { i as imageUrlBuilder } from './index-73819142.js';
20
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
21
21
  import { L as LazyLoad } from './index-5f9f807a.js';
22
22
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
23
23
  import './slicedToArray-d0a9593a.js';
24
- import './AdSlot-03043ffb.js';
24
+ import './AdSlot-b4f04c96.js';
25
25
  import './promise-e3480f1c.js';
26
- import { A as ADInfeed } from './ADInfeed-ac3ac372.js';
26
+ import { A as ADInfeed } from './ADInfeed-a1d8cb44.js';
27
27
 
28
28
  var DeckContent = function (_React$Component) {
29
29
  _inherits(DeckContent, _React$Component);
@@ -164,14 +164,14 @@ var DeckContent = function (_React$Component) {
164
164
  var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
165
165
 
166
166
  // please leave this for later debug purpose : Yong Jun.
167
- /* console.log('page change reported', {
168
- currentPage: currentPage,
169
- pageNumber: pageNumber,
170
- pathname: pathname,
171
- path: path,
172
- newPath: newPath,
173
- firstPage: pageNumber === 1,
174
- queryString: queryString
167
+ /* console.log('page change reported', {
168
+ currentPage: currentPage,
169
+ pageNumber: pageNumber,
170
+ pathname: pathname,
171
+ path: path,
172
+ newPath: newPath,
173
+ firstPage: pageNumber === 1,
174
+ queryString: queryString
175
175
  }) */
176
176
 
177
177
  if (pageview) {
@@ -17,7 +17,7 @@ import { V as VisibilitySensor, m as moment, I as InfiniteScroll } from './visib
17
17
  import 'next/link';
18
18
  import { withRouter } from 'next/router';
19
19
  import 'react-dom';
20
- import { i as imageUrlBuilder } from './index-73819142.js';
20
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
21
21
  import { L as LazyLoad } from './index-5f9f807a.js';
22
22
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
23
23
  import { g as get_1 } from './get-9c285a85.js';
@@ -3,7 +3,7 @@ import './_to-object-b9b796ec.js';
3
3
  import './web.dom.iterable-3be50d6c.js';
4
4
  import './core.get-iterator-method-31c1fb1a.js';
5
5
  import React__default, { useState } from 'react';
6
- import { i as imageUrlBuilder } from './index-73819142.js';
6
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
7
7
  import { _ as _slicedToArray } from './slicedToArray-d0a9593a.js';
8
8
  import { Figure as Figure$1 } from 'react-bootstrap';
9
9
 
@@ -11,10 +11,10 @@ import Card from 'react-bootstrap/Card';
11
11
  import { m as moment, V as VisibilitySensor, I as InfiniteScroll } from './visibility-sensor-336093e1.js';
12
12
  import 'next/link';
13
13
  import { withRouter } from 'next/router';
14
- import { i as imageUrlBuilder } from './index-73819142.js';
14
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
15
15
  import { L as LazyLoad } from './index-5f9f807a.js';
16
16
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
17
- import { A as ADInfeed } from './ADInfeed-ac3ac372.js';
17
+ import { A as ADInfeed } from './ADInfeed-a1d8cb44.js';
18
18
  import { g as get_1 } from './get-9c285a85.js';
19
19
 
20
20
  var Dfp = React__default.lazy(function () {
@@ -17,12 +17,12 @@ import './visibility-sensor-336093e1.js';
17
17
  import 'next/link';
18
18
  import 'next/router';
19
19
  import 'react-dom';
20
- import './index-73819142.js';
20
+ import './index-3849e3fe.js';
21
21
  import './index-5f9f807a.js';
22
22
  import './entities-7cc3bf45.js';
23
23
  import './slicedToArray-d0a9593a.js';
24
- import './AdSlot-03043ffb.js';
24
+ import './AdSlot-b4f04c96.js';
25
25
  import './promise-e3480f1c.js';
26
- import './ADInfeed-ac3ac372.js';
26
+ import './ADInfeed-a1d8cb44.js';
27
27
  import './get-9c285a85.js';
28
- export { G as default } from './GridContent-88ed988c.js';
28
+ export { G as default } from './GridContent-862176ac.js';
@@ -6,7 +6,7 @@ import Col from 'react-bootstrap/Col';
6
6
  import Card from 'react-bootstrap/Card';
7
7
  import 'next/link';
8
8
  import 'react-dom';
9
- import { i as imageUrlBuilder } from './index-73819142.js';
9
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
10
10
  import { L as LazyLoad } from './index-5f9f807a.js';
11
11
  import Badge from 'react-bootstrap/Badge';
12
12
 
@@ -6,7 +6,7 @@ import Col from 'react-bootstrap/Col';
6
6
  import Card from 'react-bootstrap/Card';
7
7
  import 'next/link';
8
8
  import 'react-dom';
9
- import { i as imageUrlBuilder } from './index-73819142.js';
9
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
10
10
  import { L as LazyLoad } from './index-5f9f807a.js';
11
11
  import Button from 'react-bootstrap/Button';
12
12
 
@@ -17,7 +17,7 @@ import { V as VisibilitySensor, I as InfiniteScroll } from './visibility-sensor-
17
17
  import 'next/link';
18
18
  import { withRouter } from 'next/router';
19
19
  import 'react-dom';
20
- import './index-73819142.js';
20
+ import './index-3849e3fe.js';
21
21
  import { _ as _Promise } from './promise-e3480f1c.js';
22
22
 
23
23
  var MasterDeck = function (_React$Component) {
@@ -163,14 +163,14 @@ var MasterDeck = function (_React$Component) {
163
163
  var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
164
164
 
165
165
  // please leave this for later debug purpose : Yong Jun.
166
- /* console.log('page change reported', {
167
- currentPage: currentPage,
168
- pageNumber: pageNumber,
169
- pathname: pathname,
170
- path: path,
171
- newPath: newPath,
172
- firstPage: pageNumber === 1,
173
- queryString: queryString
166
+ /* console.log('page change reported', {
167
+ currentPage: currentPage,
168
+ pageNumber: pageNumber,
169
+ pathname: pathname,
170
+ path: path,
171
+ newPath: newPath,
172
+ firstPage: pageNumber === 1,
173
+ queryString: queryString
174
174
  }) */
175
175
 
176
176
  if (pageview) {
@@ -5,7 +5,7 @@ import Row from 'react-bootstrap/Row';
5
5
  import Col from 'react-bootstrap/Col';
6
6
  import Link from 'next/link';
7
7
  import { _ as _slicedToArray } from './slicedToArray-d0a9593a.js';
8
- import { D as DFPAdSlot } from './AdSlot-03043ffb.js';
8
+ import { D as DFPAdSlot } from './AdSlot-b4f04c96.js';
9
9
  import { g as get_1 } from './get-9c285a85.js';
10
10
  import { r as reactSocialIcons_1 } from './react-social-icons-a7d5c5c7.js';
11
11
  import { Dropdown } from 'react-bootstrap';
@@ -64,8 +64,8 @@ var renderLink = function renderLink(row) {
64
64
  };
65
65
 
66
66
  var SideFooter = function SideFooter(props) {
67
- /*
68
- useage example: <SideFooter cache={props.cache} logo='https://mjh-web.s3.amazonaws.com/_media/an_mjhls_brand_logo.png' />
67
+ /*
68
+ useage example: <SideFooter cache={props.cache} logo='https://mjh-web.s3.amazonaws.com/_media/an_mjhls_brand_logo.png' />
69
69
  */
70
70
  var _get = get_1(props, 'cache.siteSettingCache', {}),
71
71
  socialLinks = _get.socialLinks,
@@ -638,15 +638,15 @@ var SocialNavFooter = function SocialNavFooter(props) {
638
638
  };
639
639
 
640
640
  var NavMagazine = function NavMagazine(props) {
641
- /*
642
- Example Nav with acceptable props
643
- <MagazineNav
644
- showLogin
645
- logo={props.settings.logo}
646
- dataObject={props.cache.mainNavCache}
647
- website={website}
648
- subNav={props.cache.subNavCache}
649
- />
641
+ /*
642
+ Example Nav with acceptable props
643
+ <MagazineNav
644
+ showLogin
645
+ logo={props.settings.logo}
646
+ dataObject={props.cache.mainNavCache}
647
+ website={website}
648
+ subNav={props.cache.subNavCache}
649
+ />
650
650
  */
651
651
 
652
652
  var logo = props.logo,
@@ -970,15 +970,15 @@ var NavMagazine = function NavMagazine(props) {
970
970
  var MagazineNav = React__default.memo(NavMagazine);
971
971
 
972
972
  var NavNative = function NavNative(props) {
973
- /*
974
- Example Nav with acceptable props
975
- <MagazineNav
976
- showLogin
977
- logo={props.settings.logo}
978
- dataObject={props.cache.mainNavCache}
979
- website={website}
980
- subNav={props.cache.subNavCache}
981
- />
973
+ /*
974
+ Example Nav with acceptable props
975
+ <MagazineNav
976
+ showLogin
977
+ logo={props.settings.logo}
978
+ dataObject={props.cache.mainNavCache}
979
+ website={website}
980
+ subNav={props.cache.subNavCache}
981
+ />
982
982
  */
983
983
 
984
984
  var logo = props.logo,
@@ -1372,15 +1372,15 @@ var NavDvm = function NavDvm(props) {
1372
1372
  };
1373
1373
 
1374
1374
  var HamMagazine = function HamMagazine(props) {
1375
- /*
1376
- Example Nav with acceptable props
1377
- <MagazineNav
1378
- showLogin
1379
- logo={props.settings.logo}
1380
- dataObject={props.cache.mainNavCache}
1381
- website={website}
1382
- subNav={props.cache.subNavCache}
1383
- />
1375
+ /*
1376
+ Example Nav with acceptable props
1377
+ <MagazineNav
1378
+ showLogin
1379
+ logo={props.settings.logo}
1380
+ dataObject={props.cache.mainNavCache}
1381
+ website={website}
1382
+ subNav={props.cache.subNavCache}
1383
+ />
1384
1384
  */
1385
1385
 
1386
1386
  var logo = props.logo,
@@ -6,7 +6,7 @@ import Col from 'react-bootstrap/Col';
6
6
  import Card from 'react-bootstrap/Card';
7
7
  import 'next/link';
8
8
  import 'react-dom';
9
- import { i as imageUrlBuilder } from './index-73819142.js';
9
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
10
10
  import { L as LazyLoad } from './index-5f9f807a.js';
11
11
  import Button from 'react-bootstrap/Button';
12
12
 
@@ -13,13 +13,13 @@ import { I as InfiniteScroll, V as VisibilitySensor, m as moment } from './visib
13
13
  import 'next/link';
14
14
  import { useRouter } from 'next/router';
15
15
  import 'react-dom';
16
- import { i as imageUrlBuilder } from './index-73819142.js';
16
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
17
17
  import { L as LazyLoad } from './index-5f9f807a.js';
18
18
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
19
19
  import { _ as _slicedToArray } from './slicedToArray-d0a9593a.js';
20
- import './AdSlot-03043ffb.js';
20
+ import './AdSlot-b4f04c96.js';
21
21
  import './promise-e3480f1c.js';
22
- import { A as ADInfeed } from './ADInfeed-ac3ac372.js';
22
+ import { A as ADInfeed } from './ADInfeed-a1d8cb44.js';
23
23
  import { Container, Media } from 'react-bootstrap';
24
24
 
25
25
  var urlFor = function urlFor(source, builder) {
@@ -5,7 +5,7 @@ import Container from 'react-bootstrap/Container';
5
5
  import Row from 'react-bootstrap/Row';
6
6
  import Col from 'react-bootstrap/Col';
7
7
  import Card from 'react-bootstrap/Card';
8
- import { n as node, i as imageUrlBuilder } from './index-73819142.js';
8
+ import { n as node, i as imageUrlBuilder } from './index-3849e3fe.js';
9
9
  import { L as LazyLoad } from './index-5f9f807a.js';
10
10
  import { r as reactSocialIcons_1 } from './react-social-icons-a7d5c5c7.js';
11
11
 
@@ -8,7 +8,7 @@ import 'react-bootstrap/Row';
8
8
  import 'react-bootstrap/Col';
9
9
  import 'react-bootstrap/Card';
10
10
  import 'react-dom';
11
- import './index-73819142.js';
11
+ import './index-3849e3fe.js';
12
12
  import './index-5f9f807a.js';
13
- export { T as default } from './TaxonomyCard-1d039949.js';
13
+ export { T as default } from './TaxonomyCard-8d8c0d6f.js';
14
14
  import './react-social-icons-a7d5c5c7.js';
@@ -11,14 +11,14 @@ import 'react-bootstrap/Row';
11
11
  import 'react-bootstrap/Col';
12
12
  import 'next/link';
13
13
  import './slicedToArray-d0a9593a.js';
14
- import './AdSlot-03043ffb.js';
14
+ import './AdSlot-b4f04c96.js';
15
15
  import './promise-e3480f1c.js';
16
16
  import './get-9c285a85.js';
17
17
  import './react-social-icons-a7d5c5c7.js';
18
18
  import 'react-bootstrap';
19
19
  import './index.esm-536609db.js';
20
20
  import 'react-bootstrap/Button';
21
- export { T as default } from './Normal-3a537c0a.js';
21
+ export { T as default } from './Normal-4180d06d.js';
22
22
  import 'react-bootstrap/ListGroup';
23
23
  import 'next/head';
24
24
  import 'react-bootstrap/Nav';
@@ -2,7 +2,7 @@ import './_commonjsHelpers-0c4b6f40.js';
2
2
  import React__default from 'react';
3
3
  import 'prop-types';
4
4
  import 'react-dom';
5
- import { i as imageUrlBuilder } from './index-73819142.js';
5
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
6
6
  import { L as LazyLoad } from './index-5f9f807a.js';
7
7
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
8
8
  import Media$1 from 'react-bootstrap/Media';
@@ -12,7 +12,7 @@ import 'next/link';
12
12
  import { withRouter } from 'next/router';
13
13
  import 'react-dom';
14
14
  import './index-5f9f807a.js';
15
- import { Y as YoutubeGroup } from './YoutubeGroup-f59297bb.js';
15
+ import { Y as YoutubeGroup } from './YoutubeGroup-562ed456.js';
16
16
  import { a as IoIosArrowForward } from './index.esm-536609db.js';
17
17
 
18
18
  var VideoSeriesListing = function (_React$Component) {
@@ -487,10 +487,10 @@ var smoothscroll_1 = smoothscroll.polyfill;
487
487
 
488
488
  // kick off the polyfill!
489
489
 
490
- /*
491
- GROQ query -
492
- accepts an array of title, URL
493
- `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
490
+ /*
491
+ GROQ query -
492
+ accepts an array of title, URL
493
+ `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
494
494
  */
495
495
  var YoutubeGroup = function YoutubeGroup(props) {
496
496
  // Props should be an array of objects containing Thumbnail, title, and URL
@@ -4,4 +4,4 @@ import 'prop-types';
4
4
  import 'next/link';
5
5
  import 'react-dom';
6
6
  import './index-5f9f807a.js';
7
- export { Y as default } from './YoutubeGroup-f59297bb.js';
7
+ export { Y as default } from './YoutubeGroup-562ed456.js';
@@ -375,7 +375,8 @@ function urlBuilder(options) {
375
375
  var client = options;
376
376
  if (isSanityClient(client)) {
377
377
  // Inherit config from client
378
- var _a = client.clientConfig, apiHost = _a.apiHost, projectId = _a.projectId, dataset = _a.dataset;
378
+ var _a = client.clientConfig, apiUrl = _a.apiHost, projectId = _a.projectId, dataset = _a.dataset;
379
+ var apiHost = apiUrl || 'https://api.sanity.io';
379
380
  return new ImageUrlBuilder(null, {
380
381
  baseUrl: apiHost.replace(/^https:\/\/api\./, 'https://cdn.'),
381
382
  projectId: projectId,