@mjhls/mjh-framework 1.0.115 → 1.0.117

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
@@ -27,6 +27,7 @@ var Button = _interopDefault(require('react-bootstrap/Button'));
27
27
  var Nav = _interopDefault(require('react-bootstrap/Nav'));
28
28
  var Navbar = _interopDefault(require('react-bootstrap/Navbar'));
29
29
  var NavDropdown = _interopDefault(require('react-bootstrap/NavDropdown'));
30
+ var Pagination = _interopDefault(require('react-bootstrap/Pagination'));
30
31
  var Carousel = _interopDefault(require('react-bootstrap/Carousel'));
31
32
  var Breadcrumb = _interopDefault(require('react-bootstrap/Breadcrumb'));
32
33
 
@@ -11211,13 +11212,13 @@ var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate
11211
11212
  React__default.createElement(
11212
11213
  reactBootstrap.Media,
11213
11214
  { key: article._id ? article._id : index$$1, style: { marginBottom: '1.25rem', paddingBottom: '1.25rem', borderBottom: '1px solid #ddd' } },
11214
- React__default.createElement(
11215
+ (article.thumbnail && article.thumbnail.asset || defaultImage) && React__default.createElement(
11215
11216
  Link,
11216
11217
  { href: mapping[contentCategoryName] + '/[url]', as: mapping[contentCategoryName] + '/' + article.url.current },
11217
11218
  React__default.createElement(
11218
11219
  'a',
11219
- null,
11220
- article.thumbnail && article.thumbnail.asset ? React__default.createElement('img', { className: 'mr-3', src: renderCardImage(article, builder, imageHeight, imageWidth), alt: article.title }) : React__default.createElement('img', { src: defaultImage, className: 'mr-3', width: '240', height: '135' })
11220
+ { className: 'img-wrapper' },
11221
+ article.thumbnail && article.thumbnail.asset ? React__default.createElement('img', { className: 'mr-3 img-fluid', src: renderCardImage(article, builder, imageHeight, imageWidth), alt: article.title }) : React__default.createElement('img', { src: defaultImage, className: 'mr-3', width: '240', height: '135' })
11221
11222
  )
11222
11223
  ),
11223
11224
  React__default.createElement(
@@ -11266,7 +11267,12 @@ var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate
11266
11267
  )
11267
11268
  )
11268
11269
  );
11269
- })
11270
+ }),
11271
+ React__default.createElement(
11272
+ 'style',
11273
+ { jsx: true },
11274
+ '\n .img-wrapper img {\n max-height: 200px;\n width: 100%;\n object-fit: cover;\n }\n @media only screen and (min-width: 768px) {\n .img-wrapper {\n max-width: 44%;\n }\n .img-wrapper > img {\n padding-right: 1em;\n }\n }\n @media only screen and (max-width: 767px) {\n .img-wrapper {\n max-width: 100%;\n }\n .img-wrapper img {\n padding-bottom: 1em;\n }\n .media {\n flex-direction: column;\n }\n }\n '
11275
+ )
11270
11276
  );
11271
11277
  };
11272
11278
 
@@ -12373,7 +12379,7 @@ var NavMagazine = function NavMagazine(props) {
12373
12379
  React__default.createElement(
12374
12380
  'a',
12375
12381
  null,
12376
- mobileLogo && screenWidth < 776 ? React__default.createElement('img', { src: mobileLogo }) : React__default.createElement('img', { src: logo, style: { height: '55px' } })
12382
+ mobileLogo && screenWidth < 776 ? React__default.createElement('img', { src: mobileLogo }) : React__default.createElement('img', { src: logo, className: 'logo', style: { height: '55px' } })
12377
12383
  )
12378
12384
  )
12379
12385
  )
@@ -12501,7 +12507,7 @@ var NavMagazine = function NavMagazine(props) {
12501
12507
  React__default.createElement(
12502
12508
  'style',
12503
12509
  { jsx: true },
12504
- '\n .sticky-home {\n position: relative;\n top: -3px;\n left: -6px;\n cursor: pointer;\n }\n @media screen and (max-width: 991px) {\n .mobile-nav .nav-toggle {\n width: 100%;\n }\n .mobile-nav .nav-toggle .navbar-toggler {\n float: left;\n height: 45px;\n }\n .mobile-nav .nav-toggle .form-inline {\n float: right;\n margin: 4px 0px 0px 0px;\n }\n .mobile-nav .form-inline .mobile-search {\n width: auto;\n }\n .sticky-home {\n display: none;\n }\n .dropdown-menu {\n max-height: 315px;\n overflow: auto;\n }\n ::-webkit-scrollbar {\n width: 10px;\n }\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(214, 214, 214, 0.8);\n box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n }\n .navbar-expand-lg .show#basic-navbar-sub {\n display: block;\n }\n .navbar .mobile-nav .navbar-collapse.show {\n padding-bottom: 20px;\n border-bottom: 0.5px solid white;\n margin-bottom: 15px;\n }\n .navbar .mobile-nav .navbar-collapse .form-inline {\n display: none;\n }\n .navbar .mobile-nav .navbar-collapse {\n margin-top: 15px;\n }\n .navbar .mobile-nav .navbar-collapse:last-child {\n border-bottom: none;\n margin-bottom: 0px;\n padding-bottom: 0px;\n margin-top: 0px;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer ul {\n list-style-type: none;\n padding: inherit;\n margin-bottom: 0rem;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer .nav-link {\n text-transform: capitalize !important;\n font-weight: 300;\n }\n .navbar .mobile-nav .dropdown-item:focus {\n background-color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: white;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: inherit;\n border: none;\n }\n .navbar .mobile-nav .dropdown-menu.show {\n max-height: 100px;\n }\n }\n @media screen and (min-width: 992px) {\n #basic-navbar-sub {\n display: none !important;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: white;\n border: 1 px solid #708090;\n }\n .mobile-nav .nav-toggle .form-inline {\n display: none;\n }\n }\n\n @media screen and (max-width: 367px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n width: 60%;\n }\n .mobile-nav .nav-toggle .form-inline {\n width: 70%;\n }\n }\n @media screen and (max-width: 328px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n margin-right: 5px\n }\n }\n '
12510
+ '\n .sticky-home {\n position: relative;\n top: -3px;\n left: -6px;\n cursor: pointer;\n }\n @media screen and (max-width: 991px) {\n .mobile-nav .nav-toggle {\n width: 100%;\n }\n .mobile-nav .nav-toggle .navbar-toggler {\n float: left;\n height: 45px;\n }\n .mobile-nav .nav-toggle .form-inline {\n float: right;\n margin: 4px 0px 0px 0px;\n }\n .mobile-nav .form-inline .mobile-search {\n width: auto;\n }\n .sticky-home {\n display: none;\n }\n .dropdown-menu {\n max-height: 315px;\n overflow: auto;\n }\n ::-webkit-scrollbar {\n width: 10px;\n }\n ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(214, 214, 214, 0.8);\n box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);\n }\n .navbar-expand-lg .show#basic-navbar-sub {\n display: block;\n }\n .navbar .mobile-nav .navbar-collapse.show {\n padding-bottom: 20px;\n border-bottom: 0.5px solid white;\n margin-bottom: 15px;\n }\n .navbar .mobile-nav .navbar-collapse .form-inline {\n display: none;\n }\n .navbar .mobile-nav .navbar-collapse {\n margin-top: 15px;\n }\n .navbar .mobile-nav .navbar-collapse:last-child {\n border-bottom: none;\n margin-bottom: 0px;\n padding-bottom: 0px;\n margin-top: 0px;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer ul {\n list-style-type: none;\n padding: inherit;\n margin-bottom: 0rem;\n }\n .navbar .mobile-nav .navbar-collapse .nav-footer .nav-link {\n text-transform: capitalize !important;\n font-weight: 300;\n }\n .navbar .mobile-nav .dropdown-item:focus {\n background-color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: white;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: inherit;\n border: none;\n }\n .navbar .mobile-nav .dropdown-menu.show {\n max-height: 100px;\n }\n }\n @media screen and (min-width: 992px) {\n #basic-navbar-sub {\n display: none !important;\n }\n .navbar .mobile-nav .dropdown-menu .dropdown-item {\n color: #696969;\n }\n .navbar .mobile-nav .dropdown-menu {\n background: white;\n border: 1 px solid #708090;\n }\n .mobile-nav .nav-toggle .form-inline {\n display: none;\n }\n }\n\n @media screen and (max-width: 367px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n width: 60%;\n }\n .mobile-nav .nav-toggle .form-inline {\n width: 70%;\n }\n }\n @media screen and (max-width: 328px) {\n .mobile-nav .nav-toggle .form-inline .mobile-search {\n margin-right: 5px;\n }\n }\n @media screen and (max-width: 767px) {\n .logo {\n width: 100%;\n padding-left: 10px;\n padding-right: 10px;\n }\n }\n '
12505
12511
  )
12506
12512
  );
12507
12513
  };
@@ -20132,23 +20138,21 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
20132
20138
  );
20133
20139
  };
20134
20140
 
20135
- var onSubmitPoll = function onSubmitPoll(e, setShowAnswer) {
20136
- e.preventDefault();
20137
- setShowAnswer(true);
20138
- };
20139
-
20140
20141
  var Poll = function Poll(_ref) {
20141
20142
  var node = _ref.node,
20142
20143
  client = _ref.client,
20143
20144
  pageview = _ref.pageview,
20144
- videoAccountIDs = _ref.videoAccountIDs;
20145
+ videoAccountIDs = _ref.videoAccountIDs,
20146
+ onVote = _ref.onVote,
20147
+ _ref$showVotes = _ref.showVotes,
20148
+ showVotes = _ref$showVotes === undefined ? false : _ref$showVotes;
20145
20149
 
20146
20150
  var _useState = React.useState(null),
20147
20151
  _useState2 = slicedToArray(_useState, 2),
20148
20152
  selectedChoice = _useState2[0],
20149
20153
  setSelectedChoice = _useState2[1];
20150
20154
 
20151
- var _useState3 = React.useState(false),
20155
+ var _useState3 = React.useState(showVotes),
20152
20156
  _useState4 = slicedToArray(_useState3, 2),
20153
20157
  showAnswer = _useState4[0],
20154
20158
  setShowAnswer = _useState4[1];
@@ -20158,6 +20162,12 @@ var Poll = function Poll(_ref) {
20158
20162
  response = node.response;
20159
20163
 
20160
20164
 
20165
+ var onSubmitPoll = function onSubmitPoll(e, setShowAnswer) {
20166
+ e.preventDefault();
20167
+ onVote(node._key, selectedChoice);
20168
+ setShowAnswer(true);
20169
+ };
20170
+
20161
20171
  var choicesTotalCount = choices && choices.reduce(function (acc, choice) {
20162
20172
  acc = acc + parseInt(choice.choiceCount);
20163
20173
  return acc;
@@ -20179,7 +20189,7 @@ var Poll = function Poll(_ref) {
20179
20189
  return React__default.createElement(
20180
20190
  'div',
20181
20191
  { key: choice._key },
20182
- React__default.createElement('input', { type: 'radio', id: 'male', name: choice._type, value: choice.choiceText, onChange: function onChange(e) {
20192
+ React__default.createElement('input', { type: 'radio', id: 'male', name: choice._type, value: choice._key, onChange: function onChange(e) {
20183
20193
  return setSelectedChoice(e.target.value);
20184
20194
  } }),
20185
20195
  React__default.createElement(
@@ -20235,7 +20245,94 @@ var Poll = function Poll(_ref) {
20235
20245
  );
20236
20246
  };
20237
20247
 
20238
- var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs) {
20248
+ var Quiz = function Quiz(_ref) {
20249
+ var quizzes = _ref.quizzes;
20250
+
20251
+ var pageCount = quizzes.length;
20252
+
20253
+ var _useState = React.useState(1),
20254
+ _useState2 = slicedToArray(_useState, 2),
20255
+ currentPage = _useState2[0],
20256
+ setCurrentPage = _useState2[1];
20257
+
20258
+ var _useState3 = React.useState(false),
20259
+ _useState4 = slicedToArray(_useState3, 2),
20260
+ showAnswer = _useState4[0],
20261
+ setShowAnswer = _useState4[1];
20262
+
20263
+ var changePage = function changePage(page) {
20264
+ if (page > 0 && page <= pageCount) {
20265
+ setShowAnswer(false);
20266
+ setCurrentPage(page);
20267
+ }
20268
+ };
20269
+
20270
+ var renderPagination = function renderPagination() {
20271
+ var pages = [];
20272
+
20273
+ var _loop = function _loop(i) {
20274
+ pages.push(React__default.createElement(
20275
+ Pagination.Item,
20276
+ { onClick: function onClick() {
20277
+ return changePage(i);
20278
+ }, active: i === currentPage },
20279
+ i
20280
+ ));
20281
+ };
20282
+
20283
+ for (var i = 1; i <= pageCount; i++) {
20284
+ _loop(i);
20285
+ }
20286
+ return React__default.createElement(
20287
+ Pagination,
20288
+ { className: 'p-0 m-0' },
20289
+ React__default.createElement(Pagination.First, { onClick: function onClick() {
20290
+ return changePage(1);
20291
+ } }),
20292
+ React__default.createElement(Pagination.Prev, { onClick: function onClick() {
20293
+ return changePage(currentPage - 1);
20294
+ } }),
20295
+ pages,
20296
+ React__default.createElement(Pagination.Next, { onClick: function onClick() {
20297
+ return changePage(currentPage + 1);
20298
+ } }),
20299
+ React__default.createElement(Pagination.Last, { onClick: function onClick() {
20300
+ return changePage(pageCount);
20301
+ } })
20302
+ );
20303
+ };
20304
+
20305
+ return React__default.createElement(
20306
+ React__default.Fragment,
20307
+ null,
20308
+ quizzes[currentPage - 1] && React__default.createElement(BlockContent, { blocks: quizzes[currentPage - 1].question }),
20309
+ !showAnswer && React__default.createElement(
20310
+ Button,
20311
+ { onClick: function onClick() {
20312
+ return setShowAnswer(true);
20313
+ }, variant: 'info', block: true },
20314
+ 'Please click here for answer'
20315
+ ),
20316
+ quizzes[currentPage - 1] && showAnswer && React__default.createElement(
20317
+ React__default.Fragment,
20318
+ null,
20319
+ React__default.createElement(
20320
+ 'h4',
20321
+ null,
20322
+ 'Answer:'
20323
+ ),
20324
+ React__default.createElement(BlockContent, { blocks: quizzes[currentPage - 1].answer })
20325
+ ),
20326
+ React__default.createElement('br', null),
20327
+ React__default.createElement(
20328
+ 'div',
20329
+ { className: 'd-flex justify-content-center' },
20330
+ renderPagination()
20331
+ )
20332
+ );
20333
+ };
20334
+
20335
+ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs, onVote, showVotes) {
20239
20336
  return {
20240
20337
  types: {
20241
20338
  youtube: function youtube(_ref) {
@@ -20300,7 +20397,13 @@ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs
20300
20397
  poll: function poll(_ref11) {
20301
20398
  var node = _ref11.node;
20302
20399
 
20303
- return React__default.createElement(Poll, { node: node, client: client, pageview: pageview, videoAccountIDs: videoAccountIDs });
20400
+ return React__default.createElement(Poll, { node: node, client: client, pageview: pageview, videoAccountIDs: videoAccountIDs, onVote: onVote, showVotes: showVotes });
20401
+ },
20402
+ quiz: function quiz(_ref12) {
20403
+ var node = _ref12.node;
20404
+ var quizzes = node.quizzes;
20405
+
20406
+ return React__default.createElement(Quiz, { quizzes: quizzes });
20304
20407
  }
20305
20408
  },
20306
20409
  marks: {