@mjhls/mjh-framework 1.0.24 → 1.0.26

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.
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ var Row = _interopDefault(require('react-bootstrap/Row'));
10
10
  var Col = _interopDefault(require('react-bootstrap/Col'));
11
11
  var Card = _interopDefault(require('react-bootstrap/Card'));
12
12
  var Link = _interopDefault(require('next/link'));
13
+ var Media = _interopDefault(require('react-bootstrap/Media'));
13
14
  var ListGroup = _interopDefault(require('react-bootstrap/ListGroup'));
14
15
  var Head = _interopDefault(require('next/head'));
15
16
  var Accordion = _interopDefault(require('react-bootstrap/Accordion'));
@@ -21,9 +22,9 @@ var NavDropdown = _interopDefault(require('react-bootstrap/NavDropdown'));
21
22
  var Form = _interopDefault(require('react-bootstrap/Form'));
22
23
  var FormControl = _interopDefault(require('react-bootstrap/FormControl'));
23
24
  var Button = _interopDefault(require('react-bootstrap/Button'));
25
+ var router = require('next/router');
24
26
  var PropTypes = _interopDefault(require('prop-types'));
25
27
  var reactBootstrap = require('react-bootstrap');
26
- var imageUrlBuilder = _interopDefault(require('@sanity/image-url'));
27
28
 
28
29
  /*! *****************************************************************************
29
30
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -622,7 +623,6 @@ var DeckContent = function (_React$Component) {
622
623
 
623
624
  var itemCounter = 0;
624
625
  var lgVar = 12;
625
-
626
626
  return React__default.createElement(
627
627
  Row,
628
628
  null,
@@ -647,7 +647,11 @@ var DeckContent = function (_React$Component) {
647
647
  React__default.createElement(
648
648
  'a',
649
649
  null,
650
- React__default.createElement(Card.Img, { variant: 'top', src: row.thumbnail.asset ? row.thumbnail.asset.url : _this.defaultImage })
650
+ React__default.createElement(Card.Img, {
651
+ variant: 'top',
652
+ src: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.url : _this.defaultImage,
653
+ alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : ''
654
+ })
651
655
  )
652
656
  ),
653
657
  React__default.createElement(
@@ -941,6 +945,93 @@ var DeckQueue = function (_React$Component) {
941
945
  return DeckQueue;
942
946
  }(React__default.Component);
943
947
 
948
+ var ThumbnailCard = function ThumbnailCard(_ref) {
949
+ var size = _ref.size,
950
+ mediaData = _ref.mediaData;
951
+
952
+ return React__default.createElement(
953
+ 'div',
954
+ null,
955
+ mediaData && mediaData.map(function (item, index) {
956
+ return React__default.createElement(
957
+ Media,
958
+ { className: 'mb-3' },
959
+ React__default.createElement('img', { width: size, height: size, className: 'mr-3', src: item.thumbnail.asset.url, alt: 'Generic placeholder' }),
960
+ React__default.createElement(
961
+ Media.Body,
962
+ null,
963
+ React__default.createElement(
964
+ 'h5',
965
+ null,
966
+ item.title
967
+ ),
968
+ React__default.createElement(
969
+ 'p',
970
+ null,
971
+ item.summary
972
+ )
973
+ )
974
+ );
975
+ })
976
+ );
977
+ };
978
+
979
+ var TaxonomyCard = function TaxonomyCard(props) {
980
+ var columns = props.columns,
981
+ variant = props.variant,
982
+ data = props.dataRecord;
983
+
984
+
985
+ var mode = variant && variant === 'bottom' ? 'column-reverse' : 'column';
986
+
987
+ var itemCounter = 0;
988
+ var lgVar = 12;
989
+
990
+ return React__default.createElement(
991
+ 'div',
992
+ { className: 'contentDeck' },
993
+ React__default.createElement(
994
+ Row,
995
+ null,
996
+ data && data.map(function (row, index) {
997
+ if (columns === 'rotate' && itemCounter % 3 === 0) {
998
+ lgVar = 12;
999
+ } else if (columns && columns !== 'rotate') {
1000
+ lgVar = Math.floor(12 / columns);
1001
+ } else {
1002
+ lgVar = 6;
1003
+ }
1004
+
1005
+ return React__default.createElement(
1006
+ Col,
1007
+ { key: itemCounter, md: 12, lg: lgVar, counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
1008
+ React__default.createElement(
1009
+ Card,
1010
+ { style: { flexDirection: mode } },
1011
+ React__default.createElement(
1012
+ Card.Body,
1013
+ null,
1014
+ React__default.createElement(
1015
+ Link,
1016
+ { href: row.url, as: row.url },
1017
+ React__default.createElement(
1018
+ 'a',
1019
+ null,
1020
+ React__default.createElement(
1021
+ Card.Title,
1022
+ null,
1023
+ row.name
1024
+ )
1025
+ )
1026
+ )
1027
+ )
1028
+ )
1029
+ );
1030
+ })
1031
+ )
1032
+ );
1033
+ };
1034
+
944
1035
  var Column1 = function Column1(props) {
945
1036
  return React__default.createElement(
946
1037
  'section',
@@ -1591,6 +1682,48 @@ var NavNormal = function NavNormal(props) {
1591
1682
  );
1592
1683
  };
1593
1684
 
1685
+ var Search = function Search(_ref) {
1686
+ var _ref$placeholder = _ref.placeholder,
1687
+ placeholder = _ref$placeholder === undefined ? 'Search' : _ref$placeholder,
1688
+ _ref$btnText = _ref.btnText,
1689
+ btnText = _ref$btnText === undefined ? 'Search' : _ref$btnText,
1690
+ router$$1 = _ref.router;
1691
+
1692
+ var _useState = React.useState(''),
1693
+ _useState2 = slicedToArray(_useState, 2),
1694
+ searchKey = _useState2[0],
1695
+ setSearchKey = _useState2[1];
1696
+
1697
+ var handleSearch = function handleSearch(value) {
1698
+ router$$1.push({
1699
+ pathname: '/search',
1700
+ query: { searchTerm: value }
1701
+ });
1702
+ };
1703
+
1704
+ return React__default.createElement(
1705
+ Form,
1706
+ {
1707
+ inline: true,
1708
+ onSubmit: function onSubmit(e) {
1709
+ e.preventDefault();
1710
+ handleSearch(searchKey);
1711
+ } },
1712
+ React__default.createElement(FormControl, { type: 'text', placeholder: placeholder, className: 'mr-sm-2', value: searchKey, onChange: function onChange(e) {
1713
+ return setSearchKey(e.target.value);
1714
+ } }),
1715
+ React__default.createElement(
1716
+ Button,
1717
+ { variant: 'secondary', onClick: function onClick() {
1718
+ return handleSearch(searchKey);
1719
+ } },
1720
+ btnText
1721
+ )
1722
+ );
1723
+ };
1724
+
1725
+ var Search$1 = router.withRouter(Search);
1726
+
1594
1727
  var NavDvm = function NavDvm(props) {
1595
1728
  var logo = props.logo,
1596
1729
  dataObject = props.dataObject,
@@ -1609,8 +1742,20 @@ var NavDvm = function NavDvm(props) {
1609
1742
  React__default.createElement(
1610
1743
  'div',
1611
1744
  { className: 'd-flex' },
1612
- React__default.createElement('img', { src: logo, className: 'h-100' }),
1613
- React__default.createElement('div', { className: ' ml-4' })
1745
+ React__default.createElement(
1746
+ Link,
1747
+ { href: '/' },
1748
+ React__default.createElement(
1749
+ 'a',
1750
+ null,
1751
+ React__default.createElement('img', { src: logo, className: 'h-100', style: { width: '120px' } })
1752
+ )
1753
+ ),
1754
+ React__default.createElement(
1755
+ 'div',
1756
+ { className: ' ml-4 d-flex align-items-center' },
1757
+ React__default.createElement(Search$1, { btnText: 'Search' })
1758
+ )
1614
1759
  ),
1615
1760
  React__default.createElement(
1616
1761
  'div',
@@ -1652,7 +1797,7 @@ var NavDvm = function NavDvm(props) {
1652
1797
  return React__default.createElement(
1653
1798
  NavDropdown,
1654
1799
  { key: index, title: row.name, id: 'basic-nav-dropdown' },
1655
- row.subQuery && row.subQuery.map(function (ddRow, ddItems, subIndex) {
1800
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1656
1801
  if (ddRow.type === 'divider') {
1657
1802
  return React__default.createElement(NavDropdown.Divider, { key: subIndex });
1658
1803
  } else {
@@ -1680,30 +1825,6 @@ var NavDvm = function NavDvm(props) {
1680
1825
  );
1681
1826
  }
1682
1827
  })
1683
- ),
1684
- React__default.createElement(
1685
- 'div',
1686
- { className: 'login-subscibe', style: { fontSize: '12px' } },
1687
- React__default.createElement(
1688
- 'span',
1689
- { style: { color: '#FFDC3F' } },
1690
- '>> ',
1691
- React__default.createElement(
1692
- 'span',
1693
- { style: { color: '#fff' } },
1694
- ' Login'
1695
- )
1696
- ),
1697
- React__default.createElement(
1698
- 'span',
1699
- { style: { color: '#FFDC3F' } },
1700
- '>> ',
1701
- React__default.createElement(
1702
- 'span',
1703
- { style: { color: '#fff' } },
1704
- ' Register'
1705
- )
1706
- )
1707
1828
  )
1708
1829
  )
1709
1830
  )
@@ -3426,10 +3547,11 @@ var TemplateNormal = function TemplateNormal(props) {
3426
3547
  keywords = props.keywords,
3427
3548
  description = props.description,
3428
3549
  website = props.website,
3429
- horizontalAD = props.config.horizontalAD;
3550
+ horizontalAD = props.config.horizontalAD,
3551
+ onSearch = props.onSearch;
3430
3552
 
3431
3553
 
3432
- function navigation() {
3554
+ var navigation = function navigation() {
3433
3555
  switch (config.navComponent) {
3434
3556
  case 'normal':
3435
3557
  return React__default.createElement(NavNormal, { logo: website.logo, dataObject: config.navItems });
@@ -3442,7 +3564,7 @@ var TemplateNormal = function TemplateNormal(props) {
3442
3564
  default:
3443
3565
  return React__default.createElement('noNav', null);
3444
3566
  }
3445
- }
3567
+ };
3446
3568
 
3447
3569
  function layout() {
3448
3570
  switch (config.columns) {
@@ -3508,7 +3630,7 @@ var AD300x250x600 = function AD300x250x600(_ref) {
3508
3630
 
3509
3631
  var FigureComponent = function FigureComponent(_ref) {
3510
3632
  var caption = _ref.caption,
3511
- url = _ref.url;
3633
+ asset = _ref.asset;
3512
3634
 
3513
3635
  return React__default.createElement(
3514
3636
  'div',
@@ -3516,8 +3638,8 @@ var FigureComponent = function FigureComponent(_ref) {
3516
3638
  React__default.createElement(
3517
3639
  reactBootstrap.Figure,
3518
3640
  null,
3519
- React__default.createElement(reactBootstrap.Figure.Image, { alt: caption, src: url }),
3520
- React__default.createElement(
3641
+ React__default.createElement(reactBootstrap.Figure.Image, { alt: asset ? asset.originalFilename : '', src: asset.url ? asset.url : '/placeholder.jpg' }),
3642
+ caption && React__default.createElement(
3521
3643
  reactBootstrap.Figure.Caption,
3522
3644
  null,
3523
3645
  caption
@@ -3539,7 +3661,7 @@ var Slideshow = function Slideshow(_ref) {
3539
3661
  return React__default.createElement(
3540
3662
  reactBootstrap.Carousel.Item,
3541
3663
  { key: slide._key },
3542
- React__default.createElement('img', { style: { width: '100%' }, src: slide.url, alt: slide.asset.originalFilename })
3664
+ React__default.createElement('img', { style: { width: '100%' }, src: slide.asset.url ? slide.asset.url : '/placeholder.jpg', alt: slide.asset ? slide.asset.originalFilename : '' })
3543
3665
  );
3544
3666
  })
3545
3667
  )
@@ -6218,10 +6340,6 @@ var YouTubePlayer$1 = function YouTubePlayer(_ref) {
6218
6340
  return React__default.createElement(YouTube, { videoId: id, opts: { width: '100%' } });
6219
6341
  };
6220
6342
 
6221
- var urlFor = function urlFor(source, client) {
6222
- return imageUrlBuilder(client).image(source);
6223
- };
6224
-
6225
6343
  var getSerializers = function getSerializers(client) {
6226
6344
  return {
6227
6345
  types: {
@@ -6236,23 +6354,60 @@ var getSerializers = function getSerializers(client) {
6236
6354
  var asset = node.asset,
6237
6355
  caption = node.caption;
6238
6356
 
6239
- var url = urlFor(asset, client).url();
6240
- return React__default.createElement(FigureComponent, { caption: caption, url: url });
6357
+ return React__default.createElement(FigureComponent, { caption: caption, asset: asset });
6241
6358
  },
6242
6359
  slideshow: function slideshow(_ref3) {
6243
6360
  var node = _ref3.node;
6361
+ var slides = node.slides;
6244
6362
 
6245
- var slides = node.slides && node.slides.map(function (slide) {
6246
- return Object.assign(slide, { url: urlFor(slide.asset, client).url() });
6247
- });
6248
6363
  return React__default.createElement(Slideshow, { slides: slides });
6249
6364
  }
6250
6365
  }
6251
6366
  };
6252
6367
  };
6253
6368
 
6369
+ var searchResult = function searchResult(_ref) {
6370
+ var searchResults = _ref.searchResults,
6371
+ searchTerm = _ref.searchTerm;
6372
+
6373
+ return React__default.createElement(
6374
+ React__default.Fragment,
6375
+ null,
6376
+ React__default.createElement(
6377
+ 'p',
6378
+ null,
6379
+ ' Results for "',
6380
+ searchTerm,
6381
+ '" '
6382
+ ),
6383
+ searchResults && searchResults.length > 0 ? searchResults.map(function (item, index) {
6384
+ return React__default.createElement(
6385
+ 'div',
6386
+ { key: index, className: 'search-result-container' },
6387
+ React__default.createElement(
6388
+ 'h5',
6389
+ null,
6390
+ item.title
6391
+ ),
6392
+ React__default.createElement(
6393
+ 'p',
6394
+ null,
6395
+ item.summary,
6396
+ ' '
6397
+ )
6398
+ );
6399
+ }) : React__default.createElement(
6400
+ 'div',
6401
+ null,
6402
+ 'No results found'
6403
+ )
6404
+ );
6405
+ };
6406
+
6254
6407
  exports.DeckContent = DeckContent;
6255
6408
  exports.DeckQueue = DeckQueue;
6409
+ exports.ThumbnailCard = ThumbnailCard;
6410
+ exports.TaxonomyCard = TaxonomyCard;
6256
6411
  exports.Column1 = Column1;
6257
6412
  exports.Column2 = Column2;
6258
6413
  exports.Column3 = Column3;
@@ -6268,4 +6423,6 @@ exports.AD300x250 = AD300x250;
6268
6423
  exports.AD300x250x600 = AD300x250x600;
6269
6424
  exports.AD728x90 = AD728x90;
6270
6425
  exports.getSerializers = getSerializers;
6426
+ exports.SearchResult = searchResult;
6427
+ exports.Search = Search$1;
6271
6428
  //# sourceMappingURL=index.js.map