@mjhls/mjh-framework 1.0.85 → 1.0.88

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
@@ -15,6 +15,8 @@ var Card = _interopDefault(require('react-bootstrap/Card'));
15
15
  var Link = _interopDefault(require('next/link'));
16
16
  var router = require('next/router');
17
17
  var Media = _interopDefault(require('react-bootstrap/Media'));
18
+ var reactBootstrap = require('react-bootstrap');
19
+ var moment = _interopDefault(require('moment'));
18
20
  var ListGroup = _interopDefault(require('react-bootstrap/ListGroup'));
19
21
  var Head = _interopDefault(require('next/head'));
20
22
  var Accordion = _interopDefault(require('react-bootstrap/Accordion'));
@@ -26,7 +28,7 @@ var NavDropdown = _interopDefault(require('react-bootstrap/NavDropdown'));
26
28
  var Form = _interopDefault(require('react-bootstrap/Form'));
27
29
  var FormControl = _interopDefault(require('react-bootstrap/FormControl'));
28
30
  var Button = _interopDefault(require('react-bootstrap/Button'));
29
- var reactBootstrap = require('react-bootstrap');
31
+ var Carousel = _interopDefault(require('react-bootstrap/Carousel'));
30
32
 
31
33
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
32
34
 
@@ -6164,6 +6166,333 @@ var YoutubeGroup = function YoutubeGroup(props) {
6164
6166
  );
6165
6167
  };
6166
6168
 
6169
+ var _this = undefined;
6170
+
6171
+ var urlFor = function urlFor(builder, source) {
6172
+ return builder.image(source);
6173
+ };
6174
+
6175
+ var loadMore = function loadMore(values, setValues, per) {
6176
+ setValues({
6177
+ page: values.page + 1,
6178
+ from: values.from + per,
6179
+ to: values.to + per
6180
+ });
6181
+ };
6182
+
6183
+ var loadData = function loadData(values, query, client, params, setData, setScrolling, pointer, pointerArray) {
6184
+ params = _extends({}, params, {
6185
+ from: values.from,
6186
+ to: values.to
6187
+ });
6188
+
6189
+ client.fetch(query, params).then(function (dataArr) {
6190
+ if (pointer && pointerArray) {
6191
+ var _pointer = _this.pointer;
6192
+ dataArr = dataArr[pointerArray][_pointer];
6193
+ }
6194
+ dataArr = dataArr.map(function (item) {
6195
+ return _extends({}, item, {
6196
+ pageNumber: values.page
6197
+ });
6198
+ });
6199
+
6200
+ if (dataArr.length > 0) {
6201
+ setData(function (prevData) {
6202
+ return [].concat(toConsumableArray(prevData), toConsumableArray(dataArr));
6203
+ });
6204
+ setScrolling(true);
6205
+ } else {
6206
+ setScrolling(false);
6207
+ }
6208
+ });
6209
+ };
6210
+
6211
+ var changePageNumber = function changePageNumber(pageNumber, seoPaginate, pageview, router$$1, currentPage, setCurrentPage) {
6212
+ if (seoPaginate) {
6213
+ var path = router$$1.asPath;
6214
+ var qrIndex = path.indexOf('?');
6215
+ var pathname = router$$1.pathname;
6216
+ var queryString = '';
6217
+
6218
+ if (qrIndex > 0) {
6219
+ path = path.substring(1, qrIndex);
6220
+
6221
+ var partialQS = router$$1.asPath.substring(qrIndex + 1);
6222
+ var partialQSArr = partialQS.split('&');
6223
+
6224
+ // exclude page=xxx from query string
6225
+ partialQSArr.map(function (item) {
6226
+ var itemArr = item.split('=');
6227
+ var key = itemArr[0];
6228
+ var val = itemArr[1];
6229
+
6230
+ if (key !== 'page') {
6231
+ queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
6232
+ }
6233
+ });
6234
+ }
6235
+
6236
+ if (queryString.length > 0) {
6237
+ path += '?' + queryString;
6238
+ }
6239
+
6240
+ pageNumber = parseInt(pageNumber);
6241
+
6242
+ if (currentPage !== pageNumber) {
6243
+ lib_3.refresh();
6244
+ if (pageview) {
6245
+ setCurrentPage(pageNumber);
6246
+ if (path[0] !== '/') {
6247
+ path = '/' + path;
6248
+ }
6249
+ var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
6250
+ pageview(newPath);
6251
+
6252
+ router$$1.push(pathname, newPath, {
6253
+ shallow: true
6254
+ });
6255
+ }
6256
+ }
6257
+ }
6258
+ };
6259
+
6260
+ var renderAuthor = function renderAuthor(authorName, authorURL, index$$1, length) {
6261
+ if (authorName && authorURL) {
6262
+ return React__default.createElement(
6263
+ Link,
6264
+ { href: '/authors/' + authorURL.current, key: index$$1 },
6265
+ React__default.createElement(
6266
+ 'a',
6267
+ null,
6268
+ authorName,
6269
+ length !== index$$1 + 1 && ' | '
6270
+ )
6271
+ );
6272
+ } else if (authorName) {
6273
+ return React__default.createElement(
6274
+ 'span',
6275
+ { key: index$$1 },
6276
+ authorName,
6277
+ length !== index$$1 + 1 && ' | '
6278
+ );
6279
+ }
6280
+ };
6281
+
6282
+ var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate, pageview, router$$1, currentPage, setCurrentPage) {
6283
+ return React__default.createElement(
6284
+ 'div',
6285
+ null,
6286
+ data && data.map(function (article, index$$1) {
6287
+ var pageNumber = article.pageNumber || values.page;
6288
+ var contentCategoryName = article.contentCategory ? article.contentCategory.name : 'Articles';
6289
+ return React__default.createElement(
6290
+ VisibilitySensor,
6291
+ {
6292
+ key: article._id ? article._id : index$$1,
6293
+ onChange: function onChange(isVisible) {
6294
+ isVisible && changePageNumber(pageNumber, seoPaginate, pageview, router$$1, currentPage, setCurrentPage);
6295
+ } },
6296
+ React__default.createElement(
6297
+ reactBootstrap.Card,
6298
+ { key: article._id ? article._id : index$$1 },
6299
+ React__default.createElement(
6300
+ reactBootstrap.Card.Body,
6301
+ null,
6302
+ React__default.createElement(
6303
+ reactBootstrap.Media,
6304
+ null,
6305
+ React__default.createElement(
6306
+ Link,
6307
+ { href: mapping[contentCategoryName] + '/[url]', as: mapping[contentCategoryName] + '/' + article.url.current },
6308
+ React__default.createElement(
6309
+ 'a',
6310
+ null,
6311
+ React__default.createElement('img', { width: 200, height: 130, className: 'mr-3', src: urlFor(builder, article.thumbnail.asset).url(), style: { objectFit: 'cover' } })
6312
+ )
6313
+ ),
6314
+ React__default.createElement(
6315
+ reactBootstrap.Media.Body,
6316
+ null,
6317
+ React__default.createElement(
6318
+ Link,
6319
+ { href: mapping[contentCategoryName] + '/[url]', as: mapping[contentCategoryName] + '/' + article.url.current },
6320
+ React__default.createElement(
6321
+ 'a',
6322
+ null,
6323
+ article.title && React__default.createElement(
6324
+ 'h5',
6325
+ { className: 'card-title' },
6326
+ article.title
6327
+ )
6328
+ )
6329
+ ),
6330
+ article.published && React__default.createElement(
6331
+ 'h6',
6332
+ { className: 'card-text' },
6333
+ moment(article.published).format('MMMM DD, YYYY')
6334
+ ),
6335
+ article.authorDetails && article.authorDetails.length > 0 && article.authorDetails.map(function (authorDetail, index$$1) {
6336
+ return React__default.createElement(
6337
+ 'div',
6338
+ { className: 'card-text d-inline', key: index$$1 },
6339
+ renderAuthor(authorDetail.displayName, authorDetail.url, index$$1, article.authorDetails.length)
6340
+ );
6341
+ })
6342
+ )
6343
+ ),
6344
+ article.summary && React__default.createElement(
6345
+ 'p',
6346
+ { className: 'pt-2 card-text' },
6347
+ article.summary
6348
+ )
6349
+ )
6350
+ )
6351
+ );
6352
+ })
6353
+ );
6354
+ };
6355
+
6356
+ var renderManualPagination = function renderManualPagination(currentPage) {
6357
+ return React__default.createElement(
6358
+ 'div',
6359
+ { className: 'd-flex justify-content-between' },
6360
+ currentPage && currentPage > 1 && React__default.createElement(
6361
+ 'a',
6362
+ { href: '?page=' + (currentPage - 1) },
6363
+ '<< Previous'
6364
+ ),
6365
+ React__default.createElement(
6366
+ 'a',
6367
+ { href: '?page=' + (currentPage + 1) },
6368
+ 'Next >>'
6369
+ )
6370
+ );
6371
+ };
6372
+
6373
+ var usePrevious = function usePrevious(value) {
6374
+ var ref = React.useRef();
6375
+ React.useEffect(function () {
6376
+ ref.current = value;
6377
+ });
6378
+ return ref.current;
6379
+ };
6380
+
6381
+ var QueueDeckExpanded = function QueueDeckExpanded(props) {
6382
+ var router$$1 = router.useRouter();
6383
+ var initialData = props.dataRecord,
6384
+ client = props.client,
6385
+ params = props.params,
6386
+ query = props.query,
6387
+ autoScroll = props.autoScroll,
6388
+ pointer = props.pointer,
6389
+ pointerArray = props.pointerArray,
6390
+ mapping = props.mapping,
6391
+ seoPaginate = props.seoPaginate,
6392
+ pageview = props.pageview;
6393
+ var initialCurrentPage = props.currentPage;
6394
+
6395
+ var builder = imageUrlBuilder(client);
6396
+
6397
+ var _useState = React.useState(initialData),
6398
+ _useState2 = slicedToArray(_useState, 2),
6399
+ data = _useState2[0],
6400
+ setData = _useState2[1];
6401
+
6402
+ var _useState3 = React.useState(true),
6403
+ _useState4 = slicedToArray(_useState3, 2),
6404
+ scrolling = _useState4[0],
6405
+ setScrolling = _useState4[1];
6406
+
6407
+ var _useState5 = React.useState(params ? params.to : 0),
6408
+ _useState6 = slicedToArray(_useState5, 2),
6409
+ per = _useState6[0],
6410
+ setPer = _useState6[1];
6411
+
6412
+ var _useState7 = React.useState(initialCurrentPage || 1),
6413
+ _useState8 = slicedToArray(_useState7, 2),
6414
+ currentPage = _useState8[0],
6415
+ setCurrentPage = _useState8[1];
6416
+
6417
+ var _useState9 = React.useState({
6418
+ from: params ? params.from : 0,
6419
+ to: params ? params.to : 0,
6420
+ page: 1
6421
+ }),
6422
+ _useState10 = slicedToArray(_useState9, 2),
6423
+ values = _useState10[0],
6424
+ setValues = _useState10[1];
6425
+
6426
+ var prevValues = usePrevious(values);
6427
+
6428
+ React.useEffect(function () {
6429
+ if (prevValues) {
6430
+ if (values.page !== prevValues.page && values.from !== prevValues.from && values.to !== prevValues.from) {
6431
+ loadData(values, query, client, params, setData, setScrolling, pointer, pointerArray);
6432
+ }
6433
+ }
6434
+ }, [values, prevValues, query, client, params, setData, setScrolling, pointer, pointerArray]);
6435
+
6436
+ return React__default.createElement(
6437
+ 'div',
6438
+ null,
6439
+ autoScroll ? React__default.createElement(
6440
+ React__default.Fragment,
6441
+ null,
6442
+ React__default.createElement(
6443
+ InfiniteScroll,
6444
+ { dataLength: data && data.length, next: function next() {
6445
+ return loadMore(values, setValues, per);
6446
+ }, hasMore: scrolling, scrollThreshold: 0.9 },
6447
+ React__default.createElement(
6448
+ reactBootstrap.Container,
6449
+ null,
6450
+ cardLoader(data, builder, mapping, values, seoPaginate, pageview, router$$1, currentPage, setCurrentPage)
6451
+ )
6452
+ ),
6453
+ React__default.createElement(
6454
+ 'noscript',
6455
+ null,
6456
+ renderManualPagination(currentPage)
6457
+ )
6458
+ ) : React__default.createElement(
6459
+ React__default.Fragment,
6460
+ null,
6461
+ React__default.createElement(
6462
+ reactBootstrap.Container,
6463
+ null,
6464
+ cardLoader(data, builder, mapping, values, seoPaginate, pageview, router$$1, currentPage, setCurrentPage)
6465
+ ),
6466
+ React__default.createElement(
6467
+ 'div',
6468
+ { style: { padding: '0px 10px' } },
6469
+ scrolling ? React__default.createElement(
6470
+ 'button',
6471
+ {
6472
+ style: { margin: 'auto', width: '100%' },
6473
+ onClick: function onClick(e) {
6474
+ loadMore(values, setValues, per);
6475
+ } },
6476
+ 'Load More'
6477
+ ) : React__default.createElement(
6478
+ 'p',
6479
+ { style: { textAlign: 'center' } },
6480
+ React__default.createElement(
6481
+ 'b',
6482
+ null,
6483
+ 'End of data'
6484
+ )
6485
+ )
6486
+ ),
6487
+ React__default.createElement(
6488
+ 'noscript',
6489
+ null,
6490
+ renderManualPagination(currentPage)
6491
+ )
6492
+ )
6493
+ );
6494
+ };
6495
+
6167
6496
  var Column1 = function Column1(props) {
6168
6497
  var title = props.title;
6169
6498
 
@@ -8164,7 +8493,7 @@ var FigureComponent = function FigureComponent(_ref) {
8164
8493
  );
8165
8494
  };
8166
8495
 
8167
- var urlFor = function urlFor(source, builder) {
8496
+ var urlFor$1 = function urlFor(source, builder) {
8168
8497
  return builder.image(source);
8169
8498
  };
8170
8499
 
@@ -8200,7 +8529,7 @@ var Slideshow = function Slideshow(_ref) {
8200
8529
  return React__default.createElement(
8201
8530
  reactBootstrap.Carousel.Item,
8202
8531
  { key: slide._key },
8203
- React__default.createElement('img', { src: urlFor(slide.asset, builder).url(), style: { width: '100%' } })
8532
+ React__default.createElement('img', { src: urlFor$1(slide.asset, builder).url(), style: { width: '100%' } })
8204
8533
  );
8205
8534
  })
8206
8535
  )
@@ -12109,6 +12438,59 @@ var getSerializers$1 = function getSerializers(client, pageview) {
12109
12438
  };
12110
12439
  };
12111
12440
 
12441
+ //Feature query to be used
12442
+ // const featureQuery = `*[_type == 'feature' && is_active == true && feature_url == "/"] | order(_updatedAt asc)[0..5]{
12443
+ // ...,
12444
+ // feature_img { asset-> {url} }
12445
+ // }`
12446
+ var Feature = function Feature(props) {
12447
+ var dataset = props.dataset;
12448
+
12449
+ return React__default.createElement(
12450
+ 'div',
12451
+ null,
12452
+ React__default.createElement(
12453
+ Carousel,
12454
+ null,
12455
+ dataset.map(function (feature, index) {
12456
+ var feature_title = feature.feature_title,
12457
+ feature_body = feature.feature_body,
12458
+ feature_img = feature.feature_img,
12459
+ feature_alt = feature.feature_alt,
12460
+ feature_link = feature.feature_link;
12461
+
12462
+ return React__default.createElement(
12463
+ Carousel.Item,
12464
+ { key: index, style: { background: 'var(--primary)' } },
12465
+ React__default.createElement('img', { style: { maxHeight: '375px', minHeight: '300px', objectFit: 'cover', paddingLeft: '50%' }, className: 'd-block w-100', src: feature_img, alt: feature_alt }),
12466
+ React__default.createElement(
12467
+ Carousel.Caption,
12468
+ { style: { paddingRight: '50%', left: '3rem', right: '3rem', top: '0', height: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
12469
+ React__default.createElement(
12470
+ Link,
12471
+ { href: feature_link },
12472
+ React__default.createElement(
12473
+ 'a',
12474
+ null,
12475
+ React__default.createElement(
12476
+ 'h3',
12477
+ { style: { color: 'white' } },
12478
+ feature_title
12479
+ ),
12480
+ React__default.createElement(
12481
+ 'p',
12482
+ { style: { color: '#eee' } },
12483
+ feature_body
12484
+ )
12485
+ )
12486
+ )
12487
+ )
12488
+ );
12489
+ })
12490
+ )
12491
+ );
12492
+ };
12493
+
12112
12494
  exports.DeckContent = ContentCard;
12113
12495
  exports.GridContent = GridContent;
12114
12496
  exports.DeckQueue = DeckQueue;
@@ -12116,6 +12498,7 @@ exports.ThumbnailCard = ThumbnailCard;
12116
12498
  exports.TaxonomyCard = TaxonomyCard;
12117
12499
  exports.GroupDeck = GroupDeck;
12118
12500
  exports.YoutubeGroup = YoutubeGroup;
12501
+ exports.QueueDeckExpanded = QueueDeckExpanded;
12119
12502
  exports.Column1 = Column1;
12120
12503
  exports.Column2 = Column2;
12121
12504
  exports.Column3 = Column3;
@@ -12133,4 +12516,5 @@ exports.AD300x250x600 = AD300x250x600;
12133
12516
  exports.AD728x90 = AD728x90;
12134
12517
  exports.getSerializers = getSerializers$1;
12135
12518
  exports.Search = Search;
12519
+ exports.Feature = Feature;
12136
12520
  //# sourceMappingURL=index.js.map