@mjhls/mjh-framework 1.0.14 → 1.0.16

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
@@ -12,6 +12,8 @@ var Card = _interopDefault(require('react-bootstrap/Card'));
12
12
  var Link = _interopDefault(require('next/link'));
13
13
  var ListGroup = _interopDefault(require('react-bootstrap/ListGroup'));
14
14
  var Head = _interopDefault(require('next/head'));
15
+ var Accordion = _interopDefault(require('react-bootstrap/Accordion'));
16
+ var AccordionToggle = require('react-bootstrap/AccordionToggle');
15
17
  var Container = _interopDefault(require('react-bootstrap/Container'));
16
18
  var Nav = _interopDefault(require('react-bootstrap/Nav'));
17
19
  var Navbar = _interopDefault(require('react-bootstrap/Navbar'));
@@ -20,6 +22,8 @@ var Form = _interopDefault(require('react-bootstrap/Form'));
20
22
  var FormControl = _interopDefault(require('react-bootstrap/FormControl'));
21
23
  var Button = _interopDefault(require('react-bootstrap/Button'));
22
24
  var PropTypes = _interopDefault(require('prop-types'));
25
+ var reactBootstrap = require('react-bootstrap');
26
+ var imageUrlBuilder = _interopDefault(require('@sanity/image-url'));
23
27
 
24
28
  /*! *****************************************************************************
25
29
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -487,6 +491,44 @@ var possibleConstructorReturn = function (self, call) {
487
491
  return call && (typeof call === "object" || typeof call === "function") ? call : self;
488
492
  };
489
493
 
494
+ var slicedToArray = function () {
495
+ function sliceIterator(arr, i) {
496
+ var _arr = [];
497
+ var _n = true;
498
+ var _d = false;
499
+ var _e = undefined;
500
+
501
+ try {
502
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
503
+ _arr.push(_s.value);
504
+
505
+ if (i && _arr.length === i) break;
506
+ }
507
+ } catch (err) {
508
+ _d = true;
509
+ _e = err;
510
+ } finally {
511
+ try {
512
+ if (!_n && _i["return"]) _i["return"]();
513
+ } finally {
514
+ if (_d) throw _e;
515
+ }
516
+ }
517
+
518
+ return _arr;
519
+ }
520
+
521
+ return function (arr, i) {
522
+ if (Array.isArray(arr)) {
523
+ return arr;
524
+ } else if (Symbol.iterator in Object(arr)) {
525
+ return sliceIterator(arr, i);
526
+ } else {
527
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
528
+ }
529
+ };
530
+ }();
531
+
490
532
  var toConsumableArray = function (arr) {
491
533
  if (Array.isArray(arr)) {
492
534
  for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
@@ -1155,6 +1197,88 @@ function IconBase(props) {
1155
1197
  }) : elem(DefaultContext);
1156
1198
  }
1157
1199
 
1200
+ // THIS FILE IS AUTO GENERATED
1201
+ var IoMdArrowDropdown = function (props) {
1202
+ return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 512 512"},"child":[{"tag":"path","attr":{"d":"M128 192l128 128 128-128z"}}]})(props);
1203
+ };
1204
+ IoMdArrowDropdown.displayName = "IoMdArrowDropdown";
1205
+
1206
+ var AccordionPanel = function AccordionPanel(props) {
1207
+ var accordionClassName = props.accordionClassName,
1208
+ data = props.data;
1209
+
1210
+ var _useState = React.useState('0'),
1211
+ _useState2 = slicedToArray(_useState, 2),
1212
+ activeAccordionKey = _useState2[0],
1213
+ setaAtiveAccordionKey = _useState2[1];
1214
+
1215
+ var handleAccordion = function handleAccordion(id) {
1216
+ setaAtiveAccordionKey(id);
1217
+ };
1218
+
1219
+ var CustomToggle = function CustomToggle(_ref) {
1220
+ var children = _ref.children,
1221
+ eventKey = _ref.eventKey;
1222
+
1223
+ var decoratedOnClick = AccordionToggle.useAccordionToggle(eventKey, function () {
1224
+ return handleAccordion(eventKey);
1225
+ });
1226
+ return React__default.createElement(
1227
+ 'div',
1228
+ { onMouseEnter: decoratedOnClick, className: 'accordion-head' },
1229
+ children
1230
+ );
1231
+ };
1232
+
1233
+ return React__default.createElement(
1234
+ React__default.Fragment,
1235
+ null,
1236
+ data && data.length && React__default.createElement(
1237
+ Accordion,
1238
+ { defaultActiveKey: '0', activeKey: activeAccordionKey, className: accordionClassName },
1239
+ data.map(function (item) {
1240
+ return React__default.createElement(
1241
+ React__default.Fragment,
1242
+ null,
1243
+ React__default.createElement(
1244
+ CustomToggle,
1245
+ { key: item.id, eventKey: item.id },
1246
+ React__default.createElement(
1247
+ Link,
1248
+ { href: item.url },
1249
+ React__default.createElement(
1250
+ React__default.Fragment,
1251
+ null,
1252
+ item.title,
1253
+ item.subItems && React__default.createElement(IoMdArrowDropdown, null)
1254
+ )
1255
+ )
1256
+ ),
1257
+ React__default.createElement(
1258
+ Accordion.Collapse,
1259
+ { eventKey: item.id },
1260
+ React__default.createElement(
1261
+ 'div',
1262
+ null,
1263
+ item.subItems && item.subItems.map(function (subItem) {
1264
+ return React__default.createElement(
1265
+ Link,
1266
+ { href: subItem.url },
1267
+ React__default.createElement(
1268
+ 'div',
1269
+ { key: subItem.id, className: 'accordion-sub-item' },
1270
+ subItem.title
1271
+ )
1272
+ );
1273
+ })
1274
+ )
1275
+ )
1276
+ );
1277
+ })
1278
+ )
1279
+ );
1280
+ };
1281
+
1158
1282
  // THIS FILE IS AUTO GENERATED
1159
1283
  var MdSearch = function (props) {
1160
1284
  return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 24 24"},"child":[{"tag":"path","attr":{"d":"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}}]})(props);
@@ -1307,7 +1431,9 @@ var NavMagazine = function NavMagazine(props) {
1307
1431
 
1308
1432
  var NavNative = function NavNative(props) {
1309
1433
  var logo = props.logo,
1310
- dataObject = props.dataObject;
1434
+ dataObject = props.dataObject,
1435
+ _props$variant = props.variant,
1436
+ variant = _props$variant === undefined ? 'dark' : _props$variant;
1311
1437
 
1312
1438
 
1313
1439
  return React__default.createElement(
@@ -1315,7 +1441,7 @@ var NavNative = function NavNative(props) {
1315
1441
  null,
1316
1442
  React__default.createElement(
1317
1443
  Navbar,
1318
- { variant: 'dark', expand: 'lg', bg: 'primary' },
1444
+ { variant: variant, expand: 'lg', bg: 'primary' },
1319
1445
  React__default.createElement(
1320
1446
  Container,
1321
1447
  null,
@@ -1331,29 +1457,38 @@ var NavNative = function NavNative(props) {
1331
1457
  React__default.createElement(
1332
1458
  Nav,
1333
1459
  { className: 'mr-auto' },
1334
- dataObject && dataObject.map(function (row) {
1335
- if (row.type === 'dropdown') {
1460
+ dataObject && dataObject.map(function (row, index) {
1461
+ if (row.subQuery.length > 1) {
1336
1462
  return React__default.createElement(
1337
1463
  NavDropdown,
1338
1464
  { title: row.name, id: 'basic-nav-dropdown' },
1339
- row.dropdown && row.dropdown.map(function (ddRow) {
1465
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1340
1466
  if (ddRow.type === 'divider') {
1341
1467
  return React__default.createElement(NavDropdown.Divider, null);
1342
1468
  } else {
1343
1469
  return React__default.createElement(
1344
- NavDropdown.Item,
1470
+ Link,
1345
1471
  { href: ddRow.url },
1346
- ddRow.name
1472
+ React__default.createElement(
1473
+ 'a',
1474
+ { key: subIndex, className: 'dropdown-item' },
1475
+ ddRow.name
1476
+ )
1347
1477
  );
1348
1478
  }
1349
1479
  })
1350
1480
  );
1351
1481
  } else {
1352
1482
  // Link default
1483
+ // return <Nav.Link href={row.url} key={index}>{row.name}</Nav.Link>
1353
1484
  return React__default.createElement(
1354
- Nav.Link,
1485
+ Link,
1355
1486
  { href: row.url },
1356
- row.name
1487
+ React__default.createElement(
1488
+ 'a',
1489
+ { key: index, className: 'nav-link' },
1490
+ row.name
1491
+ )
1357
1492
  );
1358
1493
  }
1359
1494
  })
@@ -1456,6 +1591,126 @@ var NavNormal = function NavNormal(props) {
1456
1591
  );
1457
1592
  };
1458
1593
 
1594
+ var NavDvm = function NavDvm(props) {
1595
+ var logo = props.logo,
1596
+ dataObject = props.dataObject,
1597
+ subNavHeads = props.subNavHeads;
1598
+
1599
+
1600
+ return React__default.createElement(
1601
+ 'section',
1602
+ null,
1603
+ React__default.createElement(
1604
+ Navbar,
1605
+ { expand: 'md', className: 'header-container', style: { background: '#151F5D' } },
1606
+ React__default.createElement(
1607
+ Container,
1608
+ { className: 'd-flex px-0' },
1609
+ React__default.createElement(
1610
+ 'div',
1611
+ { className: 'd-flex' },
1612
+ React__default.createElement('img', { src: logo, className: 'h-100' }),
1613
+ React__default.createElement('div', { className: ' ml-4' })
1614
+ ),
1615
+ React__default.createElement(
1616
+ 'div',
1617
+ { className: 'login-right-wrapper w-50 my-3', style: { background: 'linear-gradient(to right,#104676,#01ABB5)' } },
1618
+ React__default.createElement(
1619
+ 'div',
1620
+ { className: 'row' },
1621
+ subNavHeads && subNavHeads.map(function (item, index) {
1622
+ return React__default.createElement(
1623
+ 'div',
1624
+ { key: index, className: 'col-3 py-1', style: { fontSize: '12px' } },
1625
+ React__default.createElement(
1626
+ 'span',
1627
+ { style: { color: '#fff' } },
1628
+ item.name,
1629
+ ' '
1630
+ )
1631
+ );
1632
+ })
1633
+ )
1634
+ )
1635
+ )
1636
+ ),
1637
+ React__default.createElement(
1638
+ Navbar,
1639
+ { variant: 'dark', className: 'dvm-nav p-0', style: { background: 'linear-gradient(to right,#FFB71C,#ED4303,#EB3300)' } },
1640
+ React__default.createElement(
1641
+ Container,
1642
+ null,
1643
+ React__default.createElement(Navbar.Toggle, { 'aria-controls': 'basic-navbar-nav' }),
1644
+ React__default.createElement(
1645
+ Navbar.Collapse,
1646
+ { id: 'basic-navbar-nav' },
1647
+ React__default.createElement(
1648
+ Nav,
1649
+ { className: 'mr-auto' },
1650
+ dataObject && dataObject.map(function (row, index) {
1651
+ if (row.subQuery.length > 1) {
1652
+ return React__default.createElement(
1653
+ NavDropdown,
1654
+ { key: index, title: row.name, id: 'basic-nav-dropdown' },
1655
+ row.subQuery && row.subQuery.map(function (ddRow, ddItems, subIndex) {
1656
+ if (ddRow.type === 'divider') {
1657
+ return React__default.createElement(NavDropdown.Divider, { key: subIndex });
1658
+ } else {
1659
+ return React__default.createElement(
1660
+ Link,
1661
+ { href: ddRow.url },
1662
+ React__default.createElement(
1663
+ 'a',
1664
+ { key: subIndex, className: 'dropdown-item' },
1665
+ ddRow.name
1666
+ )
1667
+ );
1668
+ }
1669
+ })
1670
+ );
1671
+ } else {
1672
+ return React__default.createElement(
1673
+ Link,
1674
+ { href: row.url },
1675
+ React__default.createElement(
1676
+ 'a',
1677
+ { key: index, className: 'nav-link' },
1678
+ row.name
1679
+ )
1680
+ );
1681
+ }
1682
+ })
1683
+ ),
1684
+ React__default.createElement(
1685
+ 'div',
1686
+ { className: 'login-subscibe', style: { fontSize: '12px' } },
1687
+ React__default.createElement(
1688
+ 'span',
1689
+ { style: { color: '#FFDC3F' } },
1690
+ '>> ',
1691
+ React__default.createElement(
1692
+ 'span',
1693
+ { style: { color: '#fff' } },
1694
+ ' Login'
1695
+ )
1696
+ ),
1697
+ React__default.createElement(
1698
+ 'span',
1699
+ { style: { color: '#FFDC3F' } },
1700
+ '>> ',
1701
+ React__default.createElement(
1702
+ 'span',
1703
+ { style: { color: '#fff' } },
1704
+ ' Register'
1705
+ )
1706
+ )
1707
+ )
1708
+ )
1709
+ )
1710
+ )
1711
+ );
1712
+ };
1713
+
1459
1714
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
1460
1715
 
1461
1716
  function unwrapExports (x) {
@@ -3184,6 +3439,8 @@ var TemplateNormal = function TemplateNormal(props) {
3184
3439
  return React__default.createElement(NavMagazine, { logo: website.logo, dataObject: config.navItems });
3185
3440
  case 'native':
3186
3441
  return React__default.createElement(NavNative, { logo: website.logo, dataObject: config.navItems });
3442
+ case 'dvm':
3443
+ return React__default.createElement(NavDvm, { logo: website.logo, dataObject: config.navItems });
3187
3444
  default:
3188
3445
  return React__default.createElement('noNav', null);
3189
3446
  }
@@ -3251,6 +3508,46 @@ var AD300x250x600 = function AD300x250x600(_ref) {
3251
3508
  });
3252
3509
  };
3253
3510
 
3511
+ var FigureComponent = function FigureComponent(_ref) {
3512
+ var caption = _ref.caption,
3513
+ url = _ref.url;
3514
+
3515
+ return React__default.createElement(
3516
+ 'div',
3517
+ { style: { textAlign: 'center', marginTop: '1em', marginBottom: '1em' } },
3518
+ React__default.createElement(
3519
+ reactBootstrap.Figure,
3520
+ null,
3521
+ React__default.createElement(reactBootstrap.Figure.Image, { alt: caption, src: url }),
3522
+ React__default.createElement(
3523
+ reactBootstrap.Figure.Caption,
3524
+ null,
3525
+ caption
3526
+ )
3527
+ )
3528
+ );
3529
+ };
3530
+
3531
+ var Slideshow = function Slideshow(_ref) {
3532
+ var slides = _ref.slides;
3533
+
3534
+ return React__default.createElement(
3535
+ 'div',
3536
+ { style: { marginTop: '1em', marginBottom: '1em' } },
3537
+ React__default.createElement(
3538
+ reactBootstrap.Carousel,
3539
+ null,
3540
+ slides && slides.map(function (slide) {
3541
+ return React__default.createElement(
3542
+ reactBootstrap.Carousel.Item,
3543
+ { key: slide._key },
3544
+ React__default.createElement('img', { style: { width: '100%' }, src: slide.url, alt: slide.asset.originalFilename })
3545
+ );
3546
+ })
3547
+ )
3548
+ );
3549
+ };
3550
+
3254
3551
  var getYoutubeId = createCommonjsModule(function (module, exports) {
3255
3552
  (function (root, factory) {
3256
3553
  {
@@ -5916,15 +6213,41 @@ YouTube.PlayerState = {
5916
6213
  CUED: 5
5917
6214
  };
5918
6215
 
5919
- var getSerializers = function getSerializers() {
6216
+ var YouTubePlayer$1 = function YouTubePlayer(_ref) {
6217
+ var url = _ref.url;
6218
+
6219
+ var id = getYoutubeId(url);
6220
+ return React__default.createElement(YouTube, { videoId: id, opts: { width: '100%' } });
6221
+ };
6222
+
6223
+ var urlFor = function urlFor(source, client) {
6224
+ return imageUrlBuilder(client).image(source);
6225
+ };
6226
+
6227
+ var getSerializers = function getSerializers(client) {
5920
6228
  return {
5921
6229
  types: {
5922
6230
  youtube: function youtube(_ref) {
5923
6231
  var node = _ref.node;
5924
6232
  var url = node.url;
5925
6233
 
5926
- var id = getYoutubeId(url);
5927
- return React__default.createElement(YouTube, { videoId: id, className: 'youtube' });
6234
+ return React__default.createElement(YouTubePlayer$1, { url: url });
6235
+ },
6236
+ figure: function figure(_ref2) {
6237
+ var node = _ref2.node;
6238
+ var asset = node.asset,
6239
+ caption = node.caption;
6240
+
6241
+ var url = urlFor(asset, client).url();
6242
+ return React__default.createElement(FigureComponent, { caption: caption, url: url });
6243
+ },
6244
+ slideshow: function slideshow(_ref3) {
6245
+ var node = _ref3.node;
6246
+
6247
+ var slides = node.slides && node.slides.map(function (slide) {
6248
+ return Object.assign(slide, { url: urlFor(slide.asset, client).url() });
6249
+ });
6250
+ return React__default.createElement(Slideshow, { slides: slides });
5928
6251
  }
5929
6252
  }
5930
6253
  };
@@ -5937,9 +6260,11 @@ exports.Column2 = Column2;
5937
6260
  exports.Column3 = Column3;
5938
6261
  exports.Header = Header;
5939
6262
  exports.LeftNav = LeftNav;
6263
+ exports.AccordionPanel = AccordionPanel;
5940
6264
  exports.NavMagazine = NavMagazine;
5941
6265
  exports.NavNative = NavNative;
5942
6266
  exports.NavNormal = NavNormal;
6267
+ exports.NavDvm = NavDvm;
5943
6268
  exports.TemplateNormal = TemplateNormal;
5944
6269
  exports.AD300x250 = AD300x250;
5945
6270
  exports.AD300x250x600 = AD300x250x600;