@mjhls/mjh-framework 1.0.85 → 1.0.86

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,6 @@ 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');
30
31
 
31
32
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
32
33
 
@@ -6164,6 +6165,333 @@ var YoutubeGroup = function YoutubeGroup(props) {
6164
6165
  );
6165
6166
  };
6166
6167
 
6168
+ var _this = undefined;
6169
+
6170
+ var urlFor = function urlFor(builder, source) {
6171
+ return builder.image(source);
6172
+ };
6173
+
6174
+ var loadMore = function loadMore(values, setValues, per) {
6175
+ setValues({
6176
+ page: values.page + 1,
6177
+ from: values.from + per,
6178
+ to: values.to + per
6179
+ });
6180
+ };
6181
+
6182
+ var loadData = function loadData(values, query, client, params, setData, setScrolling, pointer, pointerArray) {
6183
+ params = _extends({}, params, {
6184
+ from: values.from,
6185
+ to: values.to
6186
+ });
6187
+
6188
+ client.fetch(query, params).then(function (dataArr) {
6189
+ if (pointer && pointerArray) {
6190
+ var _pointer = _this.pointer;
6191
+ dataArr = dataArr[pointerArray][_pointer];
6192
+ }
6193
+ dataArr = dataArr.map(function (item) {
6194
+ return _extends({}, item, {
6195
+ pageNumber: values.page
6196
+ });
6197
+ });
6198
+
6199
+ if (dataArr.length > 0) {
6200
+ setData(function (prevData) {
6201
+ return [].concat(toConsumableArray(prevData), toConsumableArray(dataArr));
6202
+ });
6203
+ setScrolling(true);
6204
+ } else {
6205
+ setScrolling(false);
6206
+ }
6207
+ });
6208
+ };
6209
+
6210
+ var changePageNumber = function changePageNumber(pageNumber, seoPaginate, pageview, router$$1, currentPage, setCurrentPage) {
6211
+ if (seoPaginate) {
6212
+ var path = router$$1.asPath;
6213
+ var qrIndex = path.indexOf('?');
6214
+ var pathname = router$$1.pathname;
6215
+ var queryString = '';
6216
+
6217
+ if (qrIndex > 0) {
6218
+ path = path.substring(1, qrIndex);
6219
+
6220
+ var partialQS = router$$1.asPath.substring(qrIndex + 1);
6221
+ var partialQSArr = partialQS.split('&');
6222
+
6223
+ // exclude page=xxx from query string
6224
+ partialQSArr.map(function (item) {
6225
+ var itemArr = item.split('=');
6226
+ var key = itemArr[0];
6227
+ var val = itemArr[1];
6228
+
6229
+ if (key !== 'page') {
6230
+ queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
6231
+ }
6232
+ });
6233
+ }
6234
+
6235
+ if (queryString.length > 0) {
6236
+ path += '?' + queryString;
6237
+ }
6238
+
6239
+ pageNumber = parseInt(pageNumber);
6240
+
6241
+ if (currentPage !== pageNumber) {
6242
+ lib_3.refresh();
6243
+ if (pageview) {
6244
+ setCurrentPage(pageNumber);
6245
+ if (path[0] !== '/') {
6246
+ path = '/' + path;
6247
+ }
6248
+ var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
6249
+ pageview(newPath);
6250
+
6251
+ router$$1.push(pathname, newPath, {
6252
+ shallow: true
6253
+ });
6254
+ }
6255
+ }
6256
+ }
6257
+ };
6258
+
6259
+ var renderAuthor = function renderAuthor(authorName, authorURL, index$$1, length) {
6260
+ if (authorName && authorURL) {
6261
+ return React__default.createElement(
6262
+ Link,
6263
+ { href: '/authors/' + authorURL.current, key: index$$1 },
6264
+ React__default.createElement(
6265
+ 'a',
6266
+ null,
6267
+ authorName,
6268
+ length !== index$$1 + 1 && ' | '
6269
+ )
6270
+ );
6271
+ } else if (authorName) {
6272
+ return React__default.createElement(
6273
+ 'span',
6274
+ { key: index$$1 },
6275
+ authorName,
6276
+ length !== index$$1 + 1 && ' | '
6277
+ );
6278
+ }
6279
+ };
6280
+
6281
+ var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate, pageview, router$$1, currentPage, setCurrentPage) {
6282
+ return React__default.createElement(
6283
+ 'div',
6284
+ null,
6285
+ data && data.map(function (article, index$$1) {
6286
+ var pageNumber = article.pageNumber || values.page;
6287
+ var contentCategoryName = article.contentCategory ? article.contentCategory.name : 'Articles';
6288
+ return React__default.createElement(
6289
+ VisibilitySensor,
6290
+ {
6291
+ key: article._id ? article._id : index$$1,
6292
+ onChange: function onChange(isVisible) {
6293
+ isVisible && changePageNumber(pageNumber, seoPaginate, pageview, router$$1, currentPage, setCurrentPage);
6294
+ } },
6295
+ React__default.createElement(
6296
+ reactBootstrap.Card,
6297
+ { key: article._id ? article._id : index$$1 },
6298
+ React__default.createElement(
6299
+ reactBootstrap.Card.Body,
6300
+ null,
6301
+ React__default.createElement(
6302
+ reactBootstrap.Media,
6303
+ null,
6304
+ React__default.createElement(
6305
+ Link,
6306
+ { href: mapping[contentCategoryName] + '/[url]', as: mapping[contentCategoryName] + '/' + article.url.current },
6307
+ React__default.createElement(
6308
+ 'a',
6309
+ null,
6310
+ React__default.createElement('img', { width: 200, height: 130, className: 'mr-3', src: urlFor(builder, article.thumbnail.asset).url(), style: { objectFit: 'cover' } })
6311
+ )
6312
+ ),
6313
+ React__default.createElement(
6314
+ reactBootstrap.Media.Body,
6315
+ null,
6316
+ React__default.createElement(
6317
+ Link,
6318
+ { href: mapping[contentCategoryName] + '/[url]', as: mapping[contentCategoryName] + '/' + article.url.current },
6319
+ React__default.createElement(
6320
+ 'a',
6321
+ null,
6322
+ article.title && React__default.createElement(
6323
+ 'h5',
6324
+ { className: 'card-title' },
6325
+ article.title
6326
+ )
6327
+ )
6328
+ ),
6329
+ article.published && React__default.createElement(
6330
+ 'h6',
6331
+ { className: 'card-text' },
6332
+ moment(article.published).format('MMMM DD, YYYY')
6333
+ ),
6334
+ article.authorDetails && article.authorDetails.length > 0 && article.authorDetails.map(function (authorDetail, index$$1) {
6335
+ return React__default.createElement(
6336
+ 'div',
6337
+ { className: 'card-text d-inline', key: index$$1 },
6338
+ renderAuthor(authorDetail.displayName, authorDetail.url, index$$1, article.authorDetails.length)
6339
+ );
6340
+ })
6341
+ )
6342
+ ),
6343
+ article.summary && React__default.createElement(
6344
+ 'p',
6345
+ { className: 'pt-2 card-text' },
6346
+ article.summary
6347
+ )
6348
+ )
6349
+ )
6350
+ );
6351
+ })
6352
+ );
6353
+ };
6354
+
6355
+ var renderManualPagination = function renderManualPagination(currentPage) {
6356
+ return React__default.createElement(
6357
+ 'div',
6358
+ { className: 'd-flex justify-content-between' },
6359
+ currentPage && currentPage > 1 && React__default.createElement(
6360
+ 'a',
6361
+ { href: '?page=' + (currentPage - 1) },
6362
+ '<< Previous'
6363
+ ),
6364
+ React__default.createElement(
6365
+ 'a',
6366
+ { href: '?page=' + (currentPage + 1) },
6367
+ 'Next >>'
6368
+ )
6369
+ );
6370
+ };
6371
+
6372
+ var usePrevious = function usePrevious(value) {
6373
+ var ref = React.useRef();
6374
+ React.useEffect(function () {
6375
+ ref.current = value;
6376
+ });
6377
+ return ref.current;
6378
+ };
6379
+
6380
+ var QueueDeckExpanded = function QueueDeckExpanded(props) {
6381
+ var router$$1 = router.useRouter();
6382
+ var initialData = props.dataRecord,
6383
+ client = props.client,
6384
+ params = props.params,
6385
+ query = props.query,
6386
+ autoScroll = props.autoScroll,
6387
+ pointer = props.pointer,
6388
+ pointerArray = props.pointerArray,
6389
+ mapping = props.mapping,
6390
+ seoPaginate = props.seoPaginate,
6391
+ pageview = props.pageview;
6392
+ var initialCurrentPage = props.currentPage;
6393
+
6394
+ var builder = imageUrlBuilder(client);
6395
+
6396
+ var _useState = React.useState(initialData),
6397
+ _useState2 = slicedToArray(_useState, 2),
6398
+ data = _useState2[0],
6399
+ setData = _useState2[1];
6400
+
6401
+ var _useState3 = React.useState(true),
6402
+ _useState4 = slicedToArray(_useState3, 2),
6403
+ scrolling = _useState4[0],
6404
+ setScrolling = _useState4[1];
6405
+
6406
+ var _useState5 = React.useState(params ? params.to : 0),
6407
+ _useState6 = slicedToArray(_useState5, 2),
6408
+ per = _useState6[0],
6409
+ setPer = _useState6[1];
6410
+
6411
+ var _useState7 = React.useState(initialCurrentPage || 1),
6412
+ _useState8 = slicedToArray(_useState7, 2),
6413
+ currentPage = _useState8[0],
6414
+ setCurrentPage = _useState8[1];
6415
+
6416
+ var _useState9 = React.useState({
6417
+ from: params ? params.from : 0,
6418
+ to: params ? params.to : 0,
6419
+ page: 1
6420
+ }),
6421
+ _useState10 = slicedToArray(_useState9, 2),
6422
+ values = _useState10[0],
6423
+ setValues = _useState10[1];
6424
+
6425
+ var prevValues = usePrevious(values);
6426
+
6427
+ React.useEffect(function () {
6428
+ if (prevValues) {
6429
+ if (values.page !== prevValues.page && values.from !== prevValues.from && values.to !== prevValues.from) {
6430
+ loadData(values, query, client, params, setData, setScrolling, pointer, pointerArray);
6431
+ }
6432
+ }
6433
+ }, [values, prevValues, query, client, params, setData, setScrolling, pointer, pointerArray]);
6434
+
6435
+ return React__default.createElement(
6436
+ 'div',
6437
+ null,
6438
+ autoScroll ? React__default.createElement(
6439
+ React__default.Fragment,
6440
+ null,
6441
+ React__default.createElement(
6442
+ InfiniteScroll,
6443
+ { dataLength: data && data.length, next: function next() {
6444
+ return loadMore(values, setValues, per);
6445
+ }, hasMore: scrolling, scrollThreshold: 0.9 },
6446
+ React__default.createElement(
6447
+ reactBootstrap.Container,
6448
+ null,
6449
+ cardLoader(data, builder, mapping, values, seoPaginate, pageview, router$$1, currentPage, setCurrentPage)
6450
+ )
6451
+ ),
6452
+ React__default.createElement(
6453
+ 'noscript',
6454
+ null,
6455
+ renderManualPagination(currentPage)
6456
+ )
6457
+ ) : React__default.createElement(
6458
+ React__default.Fragment,
6459
+ null,
6460
+ React__default.createElement(
6461
+ reactBootstrap.Container,
6462
+ null,
6463
+ cardLoader(data, builder, mapping, values, seoPaginate, pageview, router$$1, currentPage, setCurrentPage)
6464
+ ),
6465
+ React__default.createElement(
6466
+ 'div',
6467
+ { style: { padding: '0px 10px' } },
6468
+ scrolling ? React__default.createElement(
6469
+ 'button',
6470
+ {
6471
+ style: { margin: 'auto', width: '100%' },
6472
+ onClick: function onClick(e) {
6473
+ loadMore(values, setValues, per);
6474
+ } },
6475
+ 'Load More'
6476
+ ) : React__default.createElement(
6477
+ 'p',
6478
+ { style: { textAlign: 'center' } },
6479
+ React__default.createElement(
6480
+ 'b',
6481
+ null,
6482
+ 'End of data'
6483
+ )
6484
+ )
6485
+ ),
6486
+ React__default.createElement(
6487
+ 'noscript',
6488
+ null,
6489
+ renderManualPagination(currentPage)
6490
+ )
6491
+ )
6492
+ );
6493
+ };
6494
+
6167
6495
  var Column1 = function Column1(props) {
6168
6496
  var title = props.title;
6169
6497
 
@@ -8164,7 +8492,7 @@ var FigureComponent = function FigureComponent(_ref) {
8164
8492
  );
8165
8493
  };
8166
8494
 
8167
- var urlFor = function urlFor(source, builder) {
8495
+ var urlFor$1 = function urlFor(source, builder) {
8168
8496
  return builder.image(source);
8169
8497
  };
8170
8498
 
@@ -8200,7 +8528,7 @@ var Slideshow = function Slideshow(_ref) {
8200
8528
  return React__default.createElement(
8201
8529
  reactBootstrap.Carousel.Item,
8202
8530
  { key: slide._key },
8203
- React__default.createElement('img', { src: urlFor(slide.asset, builder).url(), style: { width: '100%' } })
8531
+ React__default.createElement('img', { src: urlFor$1(slide.asset, builder).url(), style: { width: '100%' } })
8204
8532
  );
8205
8533
  })
8206
8534
  )
@@ -12116,6 +12444,7 @@ exports.ThumbnailCard = ThumbnailCard;
12116
12444
  exports.TaxonomyCard = TaxonomyCard;
12117
12445
  exports.GroupDeck = GroupDeck;
12118
12446
  exports.YoutubeGroup = YoutubeGroup;
12447
+ exports.QueueDeckExpanded = QueueDeckExpanded;
12119
12448
  exports.Column1 = Column1;
12120
12449
  exports.Column2 = Column2;
12121
12450
  exports.Column3 = Column3;