@mjhls/mjh-framework 1.0.469 → 1.0.471

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,5 @@
1
- # mjh-framework v. 1.0.469
1
+
2
+ # mjh-framework v. 1.0.471
2
3
 
3
4
  > Foundation Framework
4
5
 
@@ -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;
@@ -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.469",
3
+ "version": "1.0.471",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",
@@ -97,6 +97,7 @@
97
97
  "js-cookie": "^2.2.1",
98
98
  "next-cookies": "^2.0.3",
99
99
  "react-cookies": "^0.1.1",
100
+ "react-twitter-embed": "^3.0.3",
100
101
  "shortid": "^2.2.15",
101
102
  "smoothscroll-polyfill": "^0.4.4",
102
103
  "striptags": "^3.1.1",