@mjhls/mjh-framework 1.0.468 → 1.0.470

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # mjh-framework v. 1.0.468
1
+ # mjh-framework v. 1.0.470
2
2
 
3
3
  > Foundation Framework
4
4
 
@@ -296,8 +296,14 @@ var MasterDeck = function (_React$Component) {
296
296
  null,
297
297
  data && data.length > 0 ? data.map(function (row, index) {
298
298
  var pageNumber = row.pageNumber || _this.state.page;
299
- // Returning view for articles
300
- if (!row._type || row._type === 'article') {
299
+
300
+ if (row._type === 'lg-infeed' && row.adUnit) {
301
+ return React__default.createElement(ADlgInfeed.ADlgInfeed, _extends._extends({ index: index }, row));
302
+ // Returning view for infeed Ad
303
+ } else if (row._type === 'brandInsightAd' && row.adUnit) {
304
+ return React__default.createElement(ADInfeed.ADInfeed, { index: index, infeedAd: row });
305
+ } else {
306
+ // Returning view for articles
301
307
  return React__default.createElement(
302
308
  React__default.Fragment,
303
309
  { key: index },
@@ -319,12 +325,6 @@ var MasterDeck = function (_React$Component) {
319
325
  )
320
326
  )
321
327
  );
322
- // Returning view for large infeed Ad
323
- } else if (row._type === 'lg-infeed' && row.adUnit) {
324
- return React__default.createElement(ADlgInfeed.ADlgInfeed, _extends._extends({ index: index }, row));
325
- // Returning view for infeed Ad
326
- } else if (row._type === 'brandInsightAd' && row.adUnit) {
327
- return React__default.createElement(ADInfeed.ADInfeed, { index: index, infeedAd: row });
328
328
  }
329
329
  }) : React__default.createElement(
330
330
  'div',
@@ -0,0 +1,326 @@
1
+ 'use strict';
2
+
3
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
+
5
+ require('./_commonjsHelpers-06173234.js');
6
+ require('./_to-object-329a650b.js');
7
+ require('./core.get-iterator-method-41e87ec1.js');
8
+ require('./_library-dd23b178.js');
9
+ require('./_iter-detect-4d0352f8.js');
10
+ require('./from-ea347372.js');
11
+ require('./toConsumableArray-ca04303b.js');
12
+ require('./_object-pie-68c5bcbc.js');
13
+ var _extends = require('./extends-60837c34.js');
14
+ require('./web.dom.iterable-43c3e277.js');
15
+ require('./typeof-1869832c.js');
16
+ require('./_is-array-754e012d.js');
17
+ var React = require('react');
18
+ var React__default = _interopDefault(React);
19
+ require('./index-f7ee1612.js');
20
+ require('prop-types');
21
+ require('react-bootstrap/Card');
22
+ var moment = require('./moment-66a6a284.js');
23
+ require('next/router');
24
+ require('./isSymbol-488934a7.js');
25
+ require('./debounce-32e57002.js');
26
+ require('./index.es-ab3f2690.js');
27
+ require('react-dom');
28
+ require('./visibility-sensor-0c45a583.js');
29
+ var index$1 = require('./index-b5eb3ff8.js');
30
+ require('./index-fa0fb52c.js');
31
+ require('./main-bc4db521.js');
32
+ require('./entities-310b46ee.js');
33
+ var slicedToArray = require('./slicedToArray-8063ee51.js');
34
+ require('./stringify-7c5aff47.js');
35
+ var asyncToGenerator = require('./asyncToGenerator-8e707718.js');
36
+ require('./_set-species-4458e975.js');
37
+ require('./Beam.js');
38
+ require('./Segment.js');
39
+ require('./AdSlot.js');
40
+ require('./ADInfeed-8a7f1d50.js');
41
+ require('./lodash-fc2922d0.js');
42
+ require('./ADlgInfeed-659b82b6.js');
43
+ require('./AuthorComponent-cb8b8128.js');
44
+ var BlockContent = require('./BlockContent-f942392e.js');
45
+ require('./smoothscroll-95231a70.js');
46
+ require('./GroupDeck.js');
47
+ require('react-bootstrap');
48
+ var QueueDeckExpanded = require('./QueueDeckExpanded.js');
49
+ require('react-bootstrap/Button');
50
+ require('react-bootstrap/Carousel');
51
+ var Feature = require('./Feature.js');
52
+ require('react-bootstrap/Breadcrumb');
53
+ var Breadcrumbs = require('./Breadcrumbs.js');
54
+ require('./brightcove-react-player-loader.es-156bd4d6.js');
55
+ var getSerializers = require('./getSerializers.js');
56
+ require('./util-f2c1b65b.js');
57
+ require('react-bootstrap/Pagination');
58
+ require('next/dynamic');
59
+ var urlFor = require('./urlFor.js');
60
+ var reactTwitterEmbed = require('react-twitter-embed');
61
+
62
+ var ImageSlider = function ImageSlider(props) {
63
+ var builder = index$1.imageUrlBuilder(props.client);
64
+
65
+ function urlFor(source) {
66
+ return builder.image(source);
67
+ }
68
+ function scrollSlider(e, direction) {
69
+ var slide = e.target.parentElement;
70
+ var scrollOffset = slide.scrollLeft;
71
+ var viewableWidth = slide.clientWidth > 700 ? 3 * (document.querySelector('.tile').scrollWidth + 8) : document.querySelector('.tile').scrollWidth + 8;
72
+ var scrollDirection = void 0;
73
+ if (direction === 'next') {
74
+ scrollDirection = scrollOffset + viewableWidth;
75
+ }
76
+ if (direction === 'prev') {
77
+ scrollDirection = scrollOffset - viewableWidth;
78
+ }
79
+ slide.scrollTo({
80
+ left: scrollDirection,
81
+ behavior: 'smooth'
82
+ });
83
+ }
84
+
85
+ var variant = 'black';
86
+ return React__default.createElement(
87
+ React__default.Fragment,
88
+ null,
89
+ React__default.createElement(
90
+ 'div',
91
+ { id: 'vid-slider', className: 'col' },
92
+ React__default.createElement(
93
+ 'div',
94
+ { className: 'row' },
95
+ React__default.createElement(
96
+ 'div',
97
+ { onClick: function onClick(e) {
98
+ return scrollSlider(e, 'prev');
99
+ }, className: 'tile__slider-prev', style: { color: variant } },
100
+ React__default.createElement('i', { style: { border: 'solid ' + variant, borderWidth: '0 4px 4px 0' }, className: 'arrow left' })
101
+ ),
102
+ React__default.createElement(
103
+ 'div',
104
+ { onClick: function onClick(e) {
105
+ return scrollSlider(e, 'next');
106
+ }, className: 'tile__slider-next', style: { color: variant } },
107
+ React__default.createElement('i', { style: { border: 'solid ' + variant, borderWidth: '0 4px 4px 0' }, className: 'arrow right' })
108
+ ),
109
+ React__default.createElement(
110
+ 'div',
111
+ { className: 'row__inner' },
112
+ props.data.slides.map(function (img, index) {
113
+ var thumbnail = urlFor(img.slideshowImage).width(250);
114
+ return React__default.createElement(
115
+ 'div',
116
+ { className: 'tile' },
117
+ React__default.createElement(
118
+ 'div',
119
+ { className: 'tile__media' },
120
+ React__default.createElement('img', { className: 'tile__img', src: thumbnail, alt: '' })
121
+ ),
122
+ React__default.createElement('div', { style: { color: variant }, className: 'tile__info' })
123
+ );
124
+ })
125
+ )
126
+ ),
127
+ React__default.createElement(
128
+ 'style',
129
+ { jsx: 'true' },
130
+ '\n #vid-slider * {\n box-sizing: border-box;\n }\n #vid-slider::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider {\n position: relative;\n -ms-overflow-style: none;\n }\n #vid-slider .contain {\n width: 100%;\n }\n #vid-slider .row {\n overflow: scroll;\n width: 100%;\n -ms-overflow-style: none;\n max-height: 255px;\n }\n #vid-slider .tile__info {\n white-space: normal !important;\n position: absolute;\n text-align: center;\n color: ' + (props.dark ? 'white' : '#383838') + ';\n opacity: 1;\n font-size: 1rem;\n transition: opacity 0.25s;\n }\n #vid-slider .row__inner {\n transition: 450ms -webkit-transform;\n transition: 450ms transform;\n transition: 450ms transform, 450ms -webkit-transform;\n font-size: 0;\n white-space: nowrap;\n margin: 0.5rem 0;\n padding-bottom: 10px;\n padding-left: 0;\n }\n #vid-slider .tile {\n position: relative;\n display: inline-block;\n width: 250px;\n margin-right: 10px;\n font-size: 20px;\n transition: 450ms all;\n -webkit-transform-origin: center left;\n transform-origin: center left;\n }\n #vid-slider .tile__img {\n width: 250px;\n height: auto;\n max-height: 150px;\n padding: 0 1.5rem;\n -o-object-fit: contain;\n object-fit: contain;\n }\n #vid-slider .tile__slider-prev,\n #vid-slider .tile__slider-next {\n width: 30px;\n background: transparent;\n border: none;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 99;\n cursor: pointer;\n color: ' + (props.dark ? 'white' : 'black') + ';\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n }\n #vid-slider .tile__slider-prev {\n left: -3px;\n }\n #vid-slider .tile__slider-next {\n right: 0;\n }\n #vid-slider,\n #vid-slider .row {\n margin: 0;\n padding: 0 1.2rem;\n }\n #vid-slider .tile:last-child {\n margin-right: 2rem;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n background-color: transparent !important;\n }\n #vid-slider i {\n border: solid ' + (props.dark ? 'white' : 'black') + ';\n border-width: 0 4px 4px 0;\n display: inline-block;\n padding: 4px;\n pointer-events: none;\n }\n #vid-slider .right {\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n }\n #vid-slider .left {\n transform: rotate(135deg);\n -webkit-transform: rotate(135deg);\n }\n '
131
+ )
132
+ )
133
+ );
134
+ };
135
+
136
+ var _this = undefined;
137
+
138
+ var PartnerDetails = function PartnerDetails(_ref) {
139
+ var posts = _ref.posts,
140
+ query = _ref.query,
141
+ params = _ref.params,
142
+ features = _ref.features,
143
+ currentPage = _ref.currentPage,
144
+ partnerDetails = _ref.partnerDetails,
145
+ client = _ref.client,
146
+ Settings = _ref.Settings,
147
+ pageview = _ref.pageview,
148
+ page = _ref.page;
149
+
150
+ return React__default.createElement(
151
+ React__default.Fragment,
152
+ null,
153
+ React__default.createElement(Breadcrumbs, null),
154
+ React__default.createElement(
155
+ 'div',
156
+ { className: 'partners-page' },
157
+ React__default.createElement(
158
+ 'div',
159
+ { className: 'my-5 partner-logo-wrap', style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center' } },
160
+ partnerDetails.thumbnail && partnerDetails.thumbnail.link ? React__default.createElement(
161
+ 'a',
162
+ { className: 'partners-logo', style: { width: '25%', minWidth: '25%' }, href: partnerDetails.thumbnail.link, target: partnerDetails.thumbnail.blank ? '_blank' : '' },
163
+ React__default.createElement(
164
+ 'figure',
165
+ { style: { width: '100%', textAlign: 'center' } },
166
+ React__default.createElement('img', {
167
+ alt: partnerDetails.thumbnail && partnerDetails.thumbnail.alt ? partnerDetails.thumbnail.alt : partnerDetails.name,
168
+ style: { maxWidth: '100%' },
169
+ src: partnerDetails.thumbnail ? urlFor(client, partnerDetails.thumbnail.asset) : '' }),
170
+ partnerDetails.thumbnail && partnerDetails.thumbnail.caption && React__default.createElement(
171
+ 'figcaption',
172
+ null,
173
+ partnerDetails.thumbnail.caption
174
+ )
175
+ )
176
+ ) : React__default.createElement(
177
+ 'figure',
178
+ { className: 'partners-logo', style: { width: '25%', minWidth: '25%', textAlign: 'center' } },
179
+ React__default.createElement('img', {
180
+ alt: partnerDetails.thumbnail && partnerDetails.thumbnail.alt ? partnerDetails.thumbnail.alt : partnerDetails.name,
181
+ style: { maxWidth: '100%' },
182
+ src: partnerDetails.thumbnail ? urlFor(client, partnerDetails.thumbnail.asset) : '' }),
183
+ partnerDetails.thumbnail && partnerDetails.thumbnail.caption && React__default.createElement(
184
+ 'figcaption',
185
+ null,
186
+ partnerDetails.thumbnail.caption
187
+ )
188
+ ),
189
+ React__default.createElement(
190
+ 'style',
191
+ { jsx: 'true' },
192
+ '\n @media screen and (max-width: 768px){\n .partners-logo {\n width: 100%;\n min-width: 100%;\n }\n .partner-logo-wrap {\n flex-wrap: wrap;\n }\n .block-content-partners {\n padding-left: 0!important;\n }\n } \n '
193
+ ),
194
+ partnerDetails.description && React__default.createElement(
195
+ 'div',
196
+ { className: 'block-content-partners my-4', style: { maxWidth: '100%', paddingLeft: '2rem', flex: '1 1 auto' } },
197
+ React__default.createElement(BlockContent.BlockContent, _extends._extends({ serializers: getSerializers(client), blocks: partnerDetails.description, imageOptions: { w: 320, h: 240, fit: 'max' } }, client.config()))
198
+ )
199
+ ),
200
+ partnerDetails.affiliates && partnerDetails.affiliates.slides && React__default.createElement(
201
+ 'div',
202
+ { className: 'mb-4', style: { padding: '0 15px' } },
203
+ React__default.createElement(
204
+ 'h2',
205
+ { className: 'bb-gold' },
206
+ 'Affiliates of American Oncology Network'
207
+ ),
208
+ React__default.createElement(ImageSlider, { client: client, data: partnerDetails.affiliates })
209
+ ),
210
+ partnerDetails.twitter && React__default.createElement(
211
+ React__default.Fragment,
212
+ null,
213
+ React__default.createElement(
214
+ 'div',
215
+ { className: 'mb-5', style: { width: '100%', textAlign: 'center', padding: '0 15px', border: '2px solid #aaa', borderRadius: '15px' } },
216
+ React__default.createElement(reactTwitterEmbed.TwitterTimelineEmbed, { sourceType: 'url', url: partnerDetails.twitter, options: { height: 400 } })
217
+ )
218
+ ),
219
+ features.length > 0 && React__default.createElement(
220
+ 'div',
221
+ { className: ' mb-5' },
222
+ React__default.createElement(Feature, { dataset: features, client: client })
223
+ ),
224
+ React__default.createElement(
225
+ 'div',
226
+ null,
227
+ posts && posts.length > 0 && React__default.createElement(
228
+ React__default.Fragment,
229
+ null,
230
+ React__default.createElement(
231
+ 'h2',
232
+ { className: 'bb-gold mb-2' },
233
+ 'Latest from ',
234
+ partnerDetails.name
235
+ ),
236
+ React__default.createElement('hr', null)
237
+ ),
238
+ React__default.createElement(QueueDeckExpanded, {
239
+ client: client,
240
+ mapping: Settings.mapping,
241
+ dataRecord: posts,
242
+ query: query,
243
+ params: params,
244
+ currentPage: currentPage,
245
+ seoPaginate: true,
246
+ columns: 'rotate',
247
+ variant: 'top',
248
+ page: page,
249
+ autoScroll: true,
250
+ defaultImage: Settings.logo,
251
+ showPublished: true,
252
+ showCategory: true,
253
+ pageview: pageview
254
+ })
255
+ )
256
+ )
257
+ );
258
+ };
259
+
260
+ PartnerDetails.returnGetInitialProps = function () {
261
+ var _ref2 = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(identifier, partnerPageUrl, partnerDocumentGroupID, params, currentPage, client) {
262
+ var category = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
263
+
264
+ var today, featureQuery, partnerQuery, taxonomyQuery, _ref3, _ref4, features, partnerDetails, taxonomyDetails, articlesQuery, articles;
265
+
266
+ return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
267
+ while (1) {
268
+ switch (_context.prev = _context.next) {
269
+ case 0:
270
+ today = moment.moment().utc().format();
271
+ featureQuery = '*[_type == \'feature\' && is_active == true && feature_url == \'/' + partnerPageUrl + '/' + identifier + '\'] | order(_updatedAt asc)[0..5]{\n ...,\n \'feature_img\' : feature_img.asset->url\n }';
272
+ partnerQuery = '*[_type == \'documentGroup\' \n && !(_id in path("drafts.**"))\n && references(\'' + partnerDocumentGroupID + '\')\n && identifier.current == \'' + identifier + '\'] | order(name asc) [0] {\n description,\n name,\n identifier,\n thumbnail,\n twitter,\n "affiliates" : description[0]{slides}\n }';
273
+
274
+
275
+ if (category) {
276
+ //if partners page has a sub category such as onclive
277
+ //e.g. /sap-partner/[category]/[partner]
278
+
279
+ partnerQuery = '*[_type == \'documentGroup\' && !(_id in path("drafts.**")) && identifier.current == \'' + category + '\' && references(\'' + partnerDocumentGroupID + '\')] [0] {\n ...,\n \'partner\': *[_type == \'documentGroup\' && identifier.current == \'' + identifier + '\' && references(^._id)] [0] {\n name,\n identifier,\n thumbnail,\n twitter,\n description,\n "affiliates" : description[0]{slides}\n }\n }';
280
+ }
281
+
282
+ taxonomyQuery = '*[_type == \'documentGroup\' \n && !(_id in path("drafts.**"))\n && references(\'' + partnerDocumentGroupID + '\')\n && identifier.current == \'' + identifier + '\'] [0] {\n \'id\': _id,\n \'title\': name\n }';
283
+
284
+ if (category) {
285
+ taxonomyQuery = '*[_type == \'documentGroup\' \n && !(_id in path("drafts.**"))\n && identifier.current == \'' + identifier + '\' && references(*[_type == \'documentGroup\' && identifier.current == \'' + category + '\' && references(\'' + partnerDocumentGroupID + '\')]._id)] [0] {\n \'id\': _id,\n \'title\': name\n }';
286
+ }
287
+ _context.next = 8;
288
+ return asyncToGenerator._Promise.all([client.fetch(featureQuery), client.fetch(partnerQuery), client.fetch(taxonomyQuery)]);
289
+
290
+ case 8:
291
+ _ref3 = _context.sent;
292
+ _ref4 = slicedToArray._slicedToArray(_ref3, 3);
293
+ features = _ref4[0];
294
+ partnerDetails = _ref4[1];
295
+ taxonomyDetails = _ref4[2];
296
+ articlesQuery = '*[_type == \'article\' && !(_id in path("drafts.**")) && defined(title) && is_visible == true && defined(url) && dateTime(published) <= dateTime(\'' + today + '\') && references(\'' + taxonomyDetails.id + '\')] | order(published desc)[$from...$to]{\n title,\n summary,\n thumbnail,\n url,\n published,\n contentCategory->,\n \'pageNumber\': ' + currentPage + '\n }';
297
+ _context.next = 16;
298
+ return client.fetch(articlesQuery, params);
299
+
300
+ case 16:
301
+ articles = _context.sent;
302
+
303
+
304
+ //need to exclude slideshows from body due to the affiliate slider
305
+ if (partnerDetails && partnerDetails.description) {
306
+ partnerDetails.description = partnerDetails.description.filter(function (block) {
307
+ return block._type !== 'slideshows';
308
+ });
309
+ }
310
+
311
+ return _context.abrupt('return', { articles: articles, taxonomyDetails: taxonomyDetails, partnerDetails: category ? partnerDetails.partner : partnerDetails, features: features, featureQuery: featureQuery, partnerQuery: partnerQuery, taxonomyQuery: taxonomyQuery, articlesQuery: articlesQuery });
312
+
313
+ case 19:
314
+ case 'end':
315
+ return _context.stop();
316
+ }
317
+ }
318
+ }, _callee, _this);
319
+ }));
320
+
321
+ return function (_x, _x2, _x3, _x4, _x5, _x6) {
322
+ return _ref2.apply(this, arguments);
323
+ };
324
+ }();
325
+
326
+ module.exports = PartnerDetails;
package/dist/cjs/index.js CHANGED
@@ -160,6 +160,8 @@ require('mysql');
160
160
  var View = require('./View.js');
161
161
  var getTargeting = require('./getTargeting-b15993cb.js');
162
162
  var urlFor = require('./urlFor.js');
163
+ require('react-twitter-embed');
164
+ var PartnerDetailListing = require('./PartnerDetailListing.js');
163
165
  var getQuery = require('./getQuery.js');
164
166
 
165
167
 
@@ -240,4 +242,5 @@ exports.Auth = Auth.default;
240
242
  exports.View = View;
241
243
  exports.getTargeting = getTargeting.getTargeting;
242
244
  exports.urlFor = urlFor;
245
+ exports.PartnerDetailListing = PartnerDetailListing;
243
246
  exports.getQuery = getQuery;
@@ -290,8 +290,14 @@ var MasterDeck = function (_React$Component) {
290
290
  null,
291
291
  data && data.length > 0 ? data.map(function (row, index) {
292
292
  var pageNumber = row.pageNumber || _this.state.page;
293
- // Returning view for articles
294
- if (!row._type || row._type === 'article') {
293
+
294
+ if (row._type === 'lg-infeed' && row.adUnit) {
295
+ return React__default.createElement(ADlgInfeed, _extends({ index: index }, row));
296
+ // Returning view for infeed Ad
297
+ } else if (row._type === 'brandInsightAd' && row.adUnit) {
298
+ return React__default.createElement(ADInfeed, { index: index, infeedAd: row });
299
+ } else {
300
+ // Returning view for articles
295
301
  return React__default.createElement(
296
302
  React__default.Fragment,
297
303
  { key: index },
@@ -313,12 +319,6 @@ var MasterDeck = function (_React$Component) {
313
319
  )
314
320
  )
315
321
  );
316
- // Returning view for large infeed Ad
317
- } else if (row._type === 'lg-infeed' && row.adUnit) {
318
- return React__default.createElement(ADlgInfeed, _extends({ index: index }, row));
319
- // Returning view for infeed Ad
320
- } else if (row._type === 'brandInsightAd' && row.adUnit) {
321
- return React__default.createElement(ADInfeed, { index: index, infeedAd: row });
322
322
  }
323
323
  }) : React__default.createElement(
324
324
  'div',
@@ -0,0 +1,321 @@
1
+ import './_commonjsHelpers-0c4b6f40.js';
2
+ import './_to-object-16fd8b46.js';
3
+ import './core.get-iterator-method-f5c0d66a.js';
4
+ import './_library-528f1934.js';
5
+ import './_iter-detect-6e099a34.js';
6
+ import './from-2c0a5f49.js';
7
+ import './toConsumableArray-8712d678.js';
8
+ import './_object-pie-33c40e79.js';
9
+ import { _ as _extends } from './extends-6e00b262.js';
10
+ import './web.dom.iterable-46c95e52.js';
11
+ import './typeof-5f046efd.js';
12
+ import './_is-array-dd5523d6.js';
13
+ import React__default from 'react';
14
+ import './index-93ec3c59.js';
15
+ import 'prop-types';
16
+ import 'react-bootstrap/Card';
17
+ import { m as moment } from './moment-12415288.js';
18
+ import 'next/router';
19
+ import './isSymbol-c1b9be80.js';
20
+ import './debounce-8cd9e09c.js';
21
+ import './index.es-938a3a58.js';
22
+ import 'react-dom';
23
+ import './visibility-sensor-0baa4eea.js';
24
+ import { i as imageUrlBuilder } from './index-51a80699.js';
25
+ import './index-5f9f807a.js';
26
+ import './main-7255814e.js';
27
+ import './entities-7cc3bf45.js';
28
+ import { _ as _slicedToArray } from './slicedToArray-f1e40361.js';
29
+ import './stringify-e30bc114.js';
30
+ import { a as _asyncToGenerator, r as regenerator, _ as _Promise } from './asyncToGenerator-0379e924.js';
31
+ import './_set-species-6f64f1c1.js';
32
+ import './Beam.js';
33
+ import './Segment.js';
34
+ import './AdSlot.js';
35
+ import './ADInfeed-dbd65900.js';
36
+ import './lodash-17fdfebb.js';
37
+ import './ADlgInfeed-a385f968.js';
38
+ import './AuthorComponent-158226c9.js';
39
+ import { B as BlockContent } from './BlockContent-a614acdf.js';
40
+ import './smoothscroll-4b699764.js';
41
+ import './GroupDeck.js';
42
+ import 'react-bootstrap';
43
+ import QueueDeckExpanded from './QueueDeckExpanded.js';
44
+ import 'react-bootstrap/Button';
45
+ import 'react-bootstrap/Carousel';
46
+ import Feature from './Feature.js';
47
+ import 'react-bootstrap/Breadcrumb';
48
+ import Breadcrumbs from './Breadcrumbs.js';
49
+ import './brightcove-react-player-loader.es-83f53e4e.js';
50
+ import getSerializers from './getSerializers.js';
51
+ import './util-7700fc59.js';
52
+ import 'react-bootstrap/Pagination';
53
+ import 'next/dynamic';
54
+ import urlFor from './urlFor.js';
55
+ import { TwitterTimelineEmbed } from 'react-twitter-embed';
56
+
57
+ var ImageSlider = function ImageSlider(props) {
58
+ var builder = imageUrlBuilder(props.client);
59
+
60
+ function urlFor(source) {
61
+ return builder.image(source);
62
+ }
63
+ function scrollSlider(e, direction) {
64
+ var slide = e.target.parentElement;
65
+ var scrollOffset = slide.scrollLeft;
66
+ var viewableWidth = slide.clientWidth > 700 ? 3 * (document.querySelector('.tile').scrollWidth + 8) : document.querySelector('.tile').scrollWidth + 8;
67
+ var scrollDirection = void 0;
68
+ if (direction === 'next') {
69
+ scrollDirection = scrollOffset + viewableWidth;
70
+ }
71
+ if (direction === 'prev') {
72
+ scrollDirection = scrollOffset - viewableWidth;
73
+ }
74
+ slide.scrollTo({
75
+ left: scrollDirection,
76
+ behavior: 'smooth'
77
+ });
78
+ }
79
+
80
+ var variant = 'black';
81
+ return React__default.createElement(
82
+ React__default.Fragment,
83
+ null,
84
+ React__default.createElement(
85
+ 'div',
86
+ { id: 'vid-slider', className: 'col' },
87
+ React__default.createElement(
88
+ 'div',
89
+ { className: 'row' },
90
+ React__default.createElement(
91
+ 'div',
92
+ { onClick: function onClick(e) {
93
+ return scrollSlider(e, 'prev');
94
+ }, className: 'tile__slider-prev', style: { color: variant } },
95
+ React__default.createElement('i', { style: { border: 'solid ' + variant, borderWidth: '0 4px 4px 0' }, className: 'arrow left' })
96
+ ),
97
+ React__default.createElement(
98
+ 'div',
99
+ { onClick: function onClick(e) {
100
+ return scrollSlider(e, 'next');
101
+ }, className: 'tile__slider-next', style: { color: variant } },
102
+ React__default.createElement('i', { style: { border: 'solid ' + variant, borderWidth: '0 4px 4px 0' }, className: 'arrow right' })
103
+ ),
104
+ React__default.createElement(
105
+ 'div',
106
+ { className: 'row__inner' },
107
+ props.data.slides.map(function (img, index) {
108
+ var thumbnail = urlFor(img.slideshowImage).width(250);
109
+ return React__default.createElement(
110
+ 'div',
111
+ { className: 'tile' },
112
+ React__default.createElement(
113
+ 'div',
114
+ { className: 'tile__media' },
115
+ React__default.createElement('img', { className: 'tile__img', src: thumbnail, alt: '' })
116
+ ),
117
+ React__default.createElement('div', { style: { color: variant }, className: 'tile__info' })
118
+ );
119
+ })
120
+ )
121
+ ),
122
+ React__default.createElement(
123
+ 'style',
124
+ { jsx: 'true' },
125
+ '\n #vid-slider * {\n box-sizing: border-box;\n }\n #vid-slider::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider {\n position: relative;\n -ms-overflow-style: none;\n }\n #vid-slider .contain {\n width: 100%;\n }\n #vid-slider .row {\n overflow: scroll;\n width: 100%;\n -ms-overflow-style: none;\n max-height: 255px;\n }\n #vid-slider .tile__info {\n white-space: normal !important;\n position: absolute;\n text-align: center;\n color: ' + (props.dark ? 'white' : '#383838') + ';\n opacity: 1;\n font-size: 1rem;\n transition: opacity 0.25s;\n }\n #vid-slider .row__inner {\n transition: 450ms -webkit-transform;\n transition: 450ms transform;\n transition: 450ms transform, 450ms -webkit-transform;\n font-size: 0;\n white-space: nowrap;\n margin: 0.5rem 0;\n padding-bottom: 10px;\n padding-left: 0;\n }\n #vid-slider .tile {\n position: relative;\n display: inline-block;\n width: 250px;\n margin-right: 10px;\n font-size: 20px;\n transition: 450ms all;\n -webkit-transform-origin: center left;\n transform-origin: center left;\n }\n #vid-slider .tile__img {\n width: 250px;\n height: auto;\n max-height: 150px;\n padding: 0 1.5rem;\n -o-object-fit: contain;\n object-fit: contain;\n }\n #vid-slider .tile__slider-prev,\n #vid-slider .tile__slider-next {\n width: 30px;\n background: transparent;\n border: none;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 99;\n cursor: pointer;\n color: ' + (props.dark ? 'white' : 'black') + ';\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n }\n #vid-slider .tile__slider-prev {\n left: -3px;\n }\n #vid-slider .tile__slider-next {\n right: 0;\n }\n #vid-slider,\n #vid-slider .row {\n margin: 0;\n padding: 0 1.2rem;\n }\n #vid-slider .tile:last-child {\n margin-right: 2rem;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n background-color: transparent !important;\n }\n #vid-slider i {\n border: solid ' + (props.dark ? 'white' : 'black') + ';\n border-width: 0 4px 4px 0;\n display: inline-block;\n padding: 4px;\n pointer-events: none;\n }\n #vid-slider .right {\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n }\n #vid-slider .left {\n transform: rotate(135deg);\n -webkit-transform: rotate(135deg);\n }\n '
126
+ )
127
+ )
128
+ );
129
+ };
130
+
131
+ var _this = undefined;
132
+
133
+ var PartnerDetails = function PartnerDetails(_ref) {
134
+ var posts = _ref.posts,
135
+ query = _ref.query,
136
+ params = _ref.params,
137
+ features = _ref.features,
138
+ currentPage = _ref.currentPage,
139
+ partnerDetails = _ref.partnerDetails,
140
+ client = _ref.client,
141
+ Settings = _ref.Settings,
142
+ pageview = _ref.pageview,
143
+ page = _ref.page;
144
+
145
+ return React__default.createElement(
146
+ React__default.Fragment,
147
+ null,
148
+ React__default.createElement(Breadcrumbs, null),
149
+ React__default.createElement(
150
+ 'div',
151
+ { className: 'partners-page' },
152
+ React__default.createElement(
153
+ 'div',
154
+ { className: 'my-5 partner-logo-wrap', style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center' } },
155
+ partnerDetails.thumbnail && partnerDetails.thumbnail.link ? React__default.createElement(
156
+ 'a',
157
+ { className: 'partners-logo', style: { width: '25%', minWidth: '25%' }, href: partnerDetails.thumbnail.link, target: partnerDetails.thumbnail.blank ? '_blank' : '' },
158
+ React__default.createElement(
159
+ 'figure',
160
+ { style: { width: '100%', textAlign: 'center' } },
161
+ React__default.createElement('img', {
162
+ alt: partnerDetails.thumbnail && partnerDetails.thumbnail.alt ? partnerDetails.thumbnail.alt : partnerDetails.name,
163
+ style: { maxWidth: '100%' },
164
+ src: partnerDetails.thumbnail ? urlFor(client, partnerDetails.thumbnail.asset) : '' }),
165
+ partnerDetails.thumbnail && partnerDetails.thumbnail.caption && React__default.createElement(
166
+ 'figcaption',
167
+ null,
168
+ partnerDetails.thumbnail.caption
169
+ )
170
+ )
171
+ ) : React__default.createElement(
172
+ 'figure',
173
+ { className: 'partners-logo', style: { width: '25%', minWidth: '25%', textAlign: 'center' } },
174
+ React__default.createElement('img', {
175
+ alt: partnerDetails.thumbnail && partnerDetails.thumbnail.alt ? partnerDetails.thumbnail.alt : partnerDetails.name,
176
+ style: { maxWidth: '100%' },
177
+ src: partnerDetails.thumbnail ? urlFor(client, partnerDetails.thumbnail.asset) : '' }),
178
+ partnerDetails.thumbnail && partnerDetails.thumbnail.caption && React__default.createElement(
179
+ 'figcaption',
180
+ null,
181
+ partnerDetails.thumbnail.caption
182
+ )
183
+ ),
184
+ React__default.createElement(
185
+ 'style',
186
+ { jsx: 'true' },
187
+ '\n @media screen and (max-width: 768px){\n .partners-logo {\n width: 100%;\n min-width: 100%;\n }\n .partner-logo-wrap {\n flex-wrap: wrap;\n }\n .block-content-partners {\n padding-left: 0!important;\n }\n } \n '
188
+ ),
189
+ partnerDetails.description && React__default.createElement(
190
+ 'div',
191
+ { className: 'block-content-partners my-4', style: { maxWidth: '100%', paddingLeft: '2rem', flex: '1 1 auto' } },
192
+ React__default.createElement(BlockContent, _extends({ serializers: getSerializers(client), blocks: partnerDetails.description, imageOptions: { w: 320, h: 240, fit: 'max' } }, client.config()))
193
+ )
194
+ ),
195
+ partnerDetails.affiliates && partnerDetails.affiliates.slides && React__default.createElement(
196
+ 'div',
197
+ { className: 'mb-4', style: { padding: '0 15px' } },
198
+ React__default.createElement(
199
+ 'h2',
200
+ { className: 'bb-gold' },
201
+ 'Affiliates of American Oncology Network'
202
+ ),
203
+ React__default.createElement(ImageSlider, { client: client, data: partnerDetails.affiliates })
204
+ ),
205
+ partnerDetails.twitter && React__default.createElement(
206
+ React__default.Fragment,
207
+ null,
208
+ React__default.createElement(
209
+ 'div',
210
+ { className: 'mb-5', style: { width: '100%', textAlign: 'center', padding: '0 15px', border: '2px solid #aaa', borderRadius: '15px' } },
211
+ React__default.createElement(TwitterTimelineEmbed, { sourceType: 'url', url: partnerDetails.twitter, options: { height: 400 } })
212
+ )
213
+ ),
214
+ features.length > 0 && React__default.createElement(
215
+ 'div',
216
+ { className: ' mb-5' },
217
+ React__default.createElement(Feature, { dataset: features, client: client })
218
+ ),
219
+ React__default.createElement(
220
+ 'div',
221
+ null,
222
+ posts && posts.length > 0 && React__default.createElement(
223
+ React__default.Fragment,
224
+ null,
225
+ React__default.createElement(
226
+ 'h2',
227
+ { className: 'bb-gold mb-2' },
228
+ 'Latest from ',
229
+ partnerDetails.name
230
+ ),
231
+ React__default.createElement('hr', null)
232
+ ),
233
+ React__default.createElement(QueueDeckExpanded, {
234
+ client: client,
235
+ mapping: Settings.mapping,
236
+ dataRecord: posts,
237
+ query: query,
238
+ params: params,
239
+ currentPage: currentPage,
240
+ seoPaginate: true,
241
+ columns: 'rotate',
242
+ variant: 'top',
243
+ page: page,
244
+ autoScroll: true,
245
+ defaultImage: Settings.logo,
246
+ showPublished: true,
247
+ showCategory: true,
248
+ pageview: pageview
249
+ })
250
+ )
251
+ )
252
+ );
253
+ };
254
+
255
+ PartnerDetails.returnGetInitialProps = function () {
256
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(identifier, partnerPageUrl, partnerDocumentGroupID, params, currentPage, client) {
257
+ var category = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
258
+
259
+ var today, featureQuery, partnerQuery, taxonomyQuery, _ref3, _ref4, features, partnerDetails, taxonomyDetails, articlesQuery, articles;
260
+
261
+ return regenerator.wrap(function _callee$(_context) {
262
+ while (1) {
263
+ switch (_context.prev = _context.next) {
264
+ case 0:
265
+ today = moment().utc().format();
266
+ featureQuery = '*[_type == \'feature\' && is_active == true && feature_url == \'/' + partnerPageUrl + '/' + identifier + '\'] | order(_updatedAt asc)[0..5]{\n ...,\n \'feature_img\' : feature_img.asset->url\n }';
267
+ partnerQuery = '*[_type == \'documentGroup\' \n && !(_id in path("drafts.**"))\n && references(\'' + partnerDocumentGroupID + '\')\n && identifier.current == \'' + identifier + '\'] | order(name asc) [0] {\n description,\n name,\n identifier,\n thumbnail,\n twitter,\n "affiliates" : description[0]{slides}\n }';
268
+
269
+
270
+ if (category) {
271
+ //if partners page has a sub category such as onclive
272
+ //e.g. /sap-partner/[category]/[partner]
273
+
274
+ partnerQuery = '*[_type == \'documentGroup\' && !(_id in path("drafts.**")) && identifier.current == \'' + category + '\' && references(\'' + partnerDocumentGroupID + '\')] [0] {\n ...,\n \'partner\': *[_type == \'documentGroup\' && identifier.current == \'' + identifier + '\' && references(^._id)] [0] {\n name,\n identifier,\n thumbnail,\n twitter,\n description,\n "affiliates" : description[0]{slides}\n }\n }';
275
+ }
276
+
277
+ taxonomyQuery = '*[_type == \'documentGroup\' \n && !(_id in path("drafts.**"))\n && references(\'' + partnerDocumentGroupID + '\')\n && identifier.current == \'' + identifier + '\'] [0] {\n \'id\': _id,\n \'title\': name\n }';
278
+
279
+ if (category) {
280
+ taxonomyQuery = '*[_type == \'documentGroup\' \n && !(_id in path("drafts.**"))\n && identifier.current == \'' + identifier + '\' && references(*[_type == \'documentGroup\' && identifier.current == \'' + category + '\' && references(\'' + partnerDocumentGroupID + '\')]._id)] [0] {\n \'id\': _id,\n \'title\': name\n }';
281
+ }
282
+ _context.next = 8;
283
+ return _Promise.all([client.fetch(featureQuery), client.fetch(partnerQuery), client.fetch(taxonomyQuery)]);
284
+
285
+ case 8:
286
+ _ref3 = _context.sent;
287
+ _ref4 = _slicedToArray(_ref3, 3);
288
+ features = _ref4[0];
289
+ partnerDetails = _ref4[1];
290
+ taxonomyDetails = _ref4[2];
291
+ articlesQuery = '*[_type == \'article\' && !(_id in path("drafts.**")) && defined(title) && is_visible == true && defined(url) && dateTime(published) <= dateTime(\'' + today + '\') && references(\'' + taxonomyDetails.id + '\')] | order(published desc)[$from...$to]{\n title,\n summary,\n thumbnail,\n url,\n published,\n contentCategory->,\n \'pageNumber\': ' + currentPage + '\n }';
292
+ _context.next = 16;
293
+ return client.fetch(articlesQuery, params);
294
+
295
+ case 16:
296
+ articles = _context.sent;
297
+
298
+
299
+ //need to exclude slideshows from body due to the affiliate slider
300
+ if (partnerDetails && partnerDetails.description) {
301
+ partnerDetails.description = partnerDetails.description.filter(function (block) {
302
+ return block._type !== 'slideshows';
303
+ });
304
+ }
305
+
306
+ return _context.abrupt('return', { articles: articles, taxonomyDetails: taxonomyDetails, partnerDetails: category ? partnerDetails.partner : partnerDetails, features: features, featureQuery: featureQuery, partnerQuery: partnerQuery, taxonomyQuery: taxonomyQuery, articlesQuery: articlesQuery });
307
+
308
+ case 19:
309
+ case 'end':
310
+ return _context.stop();
311
+ }
312
+ }
313
+ }, _callee, _this);
314
+ }));
315
+
316
+ return function (_x, _x2, _x3, _x4, _x5, _x6) {
317
+ return _ref2.apply(this, arguments);
318
+ };
319
+ }();
320
+
321
+ export default PartnerDetails;
package/dist/esm/index.js CHANGED
@@ -156,4 +156,6 @@ import 'mysql';
156
156
  export { default as View } from './View.js';
157
157
  export { g as getTargeting } from './getTargeting-1a0bd08d.js';
158
158
  export { default as urlFor } from './urlFor.js';
159
+ import 'react-twitter-embed';
160
+ export { default as PartnerDetailListing } from './PartnerDetailListing.js';
159
161
  export { default as getQuery } from './getQuery.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.468",
3
+ "version": "1.0.470",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",