@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.es.js CHANGED
@@ -1,10 +1,12 @@
1
- import React__default, { Component, createElement, createContext } from 'react';
1
+ import React__default, { Component, useState, createElement, createContext } from 'react';
2
2
  import Row from 'react-bootstrap/Row';
3
3
  import Col from 'react-bootstrap/Col';
4
4
  import Card from 'react-bootstrap/Card';
5
5
  import Link from 'next/link';
6
6
  import ListGroup from 'react-bootstrap/ListGroup';
7
7
  import Head from 'next/head';
8
+ import Accordion from 'react-bootstrap/Accordion';
9
+ import { useAccordionToggle } from 'react-bootstrap/AccordionToggle';
8
10
  import Container from 'react-bootstrap/Container';
9
11
  import Nav from 'react-bootstrap/Nav';
10
12
  import Navbar from 'react-bootstrap/Navbar';
@@ -13,6 +15,8 @@ import Form from 'react-bootstrap/Form';
13
15
  import FormControl from 'react-bootstrap/FormControl';
14
16
  import Button from 'react-bootstrap/Button';
15
17
  import PropTypes from 'prop-types';
18
+ import { Figure, Carousel } from 'react-bootstrap';
19
+ import imageUrlBuilder from '@sanity/image-url';
16
20
 
17
21
  /*! *****************************************************************************
18
22
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -480,6 +484,44 @@ var possibleConstructorReturn = function (self, call) {
480
484
  return call && (typeof call === "object" || typeof call === "function") ? call : self;
481
485
  };
482
486
 
487
+ var slicedToArray = function () {
488
+ function sliceIterator(arr, i) {
489
+ var _arr = [];
490
+ var _n = true;
491
+ var _d = false;
492
+ var _e = undefined;
493
+
494
+ try {
495
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
496
+ _arr.push(_s.value);
497
+
498
+ if (i && _arr.length === i) break;
499
+ }
500
+ } catch (err) {
501
+ _d = true;
502
+ _e = err;
503
+ } finally {
504
+ try {
505
+ if (!_n && _i["return"]) _i["return"]();
506
+ } finally {
507
+ if (_d) throw _e;
508
+ }
509
+ }
510
+
511
+ return _arr;
512
+ }
513
+
514
+ return function (arr, i) {
515
+ if (Array.isArray(arr)) {
516
+ return arr;
517
+ } else if (Symbol.iterator in Object(arr)) {
518
+ return sliceIterator(arr, i);
519
+ } else {
520
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
521
+ }
522
+ };
523
+ }();
524
+
483
525
  var toConsumableArray = function (arr) {
484
526
  if (Array.isArray(arr)) {
485
527
  for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
@@ -1148,6 +1190,88 @@ function IconBase(props) {
1148
1190
  }) : elem(DefaultContext);
1149
1191
  }
1150
1192
 
1193
+ // THIS FILE IS AUTO GENERATED
1194
+ var IoMdArrowDropdown = function (props) {
1195
+ return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 512 512"},"child":[{"tag":"path","attr":{"d":"M128 192l128 128 128-128z"}}]})(props);
1196
+ };
1197
+ IoMdArrowDropdown.displayName = "IoMdArrowDropdown";
1198
+
1199
+ var AccordionPanel = function AccordionPanel(props) {
1200
+ var accordionClassName = props.accordionClassName,
1201
+ data = props.data;
1202
+
1203
+ var _useState = useState('0'),
1204
+ _useState2 = slicedToArray(_useState, 2),
1205
+ activeAccordionKey = _useState2[0],
1206
+ setaAtiveAccordionKey = _useState2[1];
1207
+
1208
+ var handleAccordion = function handleAccordion(id) {
1209
+ setaAtiveAccordionKey(id);
1210
+ };
1211
+
1212
+ var CustomToggle = function CustomToggle(_ref) {
1213
+ var children = _ref.children,
1214
+ eventKey = _ref.eventKey;
1215
+
1216
+ var decoratedOnClick = useAccordionToggle(eventKey, function () {
1217
+ return handleAccordion(eventKey);
1218
+ });
1219
+ return React__default.createElement(
1220
+ 'div',
1221
+ { onMouseEnter: decoratedOnClick, className: 'accordion-head' },
1222
+ children
1223
+ );
1224
+ };
1225
+
1226
+ return React__default.createElement(
1227
+ React__default.Fragment,
1228
+ null,
1229
+ data && data.length && React__default.createElement(
1230
+ Accordion,
1231
+ { defaultActiveKey: '0', activeKey: activeAccordionKey, className: accordionClassName },
1232
+ data.map(function (item) {
1233
+ return React__default.createElement(
1234
+ React__default.Fragment,
1235
+ null,
1236
+ React__default.createElement(
1237
+ CustomToggle,
1238
+ { key: item.id, eventKey: item.id },
1239
+ React__default.createElement(
1240
+ Link,
1241
+ { href: item.url },
1242
+ React__default.createElement(
1243
+ React__default.Fragment,
1244
+ null,
1245
+ item.title,
1246
+ item.subItems && React__default.createElement(IoMdArrowDropdown, null)
1247
+ )
1248
+ )
1249
+ ),
1250
+ React__default.createElement(
1251
+ Accordion.Collapse,
1252
+ { eventKey: item.id },
1253
+ React__default.createElement(
1254
+ 'div',
1255
+ null,
1256
+ item.subItems && item.subItems.map(function (subItem) {
1257
+ return React__default.createElement(
1258
+ Link,
1259
+ { href: subItem.url },
1260
+ React__default.createElement(
1261
+ 'div',
1262
+ { key: subItem.id, className: 'accordion-sub-item' },
1263
+ subItem.title
1264
+ )
1265
+ );
1266
+ })
1267
+ )
1268
+ )
1269
+ );
1270
+ })
1271
+ )
1272
+ );
1273
+ };
1274
+
1151
1275
  // THIS FILE IS AUTO GENERATED
1152
1276
  var MdSearch = function (props) {
1153
1277
  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);
@@ -1300,7 +1424,9 @@ var NavMagazine = function NavMagazine(props) {
1300
1424
 
1301
1425
  var NavNative = function NavNative(props) {
1302
1426
  var logo = props.logo,
1303
- dataObject = props.dataObject;
1427
+ dataObject = props.dataObject,
1428
+ _props$variant = props.variant,
1429
+ variant = _props$variant === undefined ? 'dark' : _props$variant;
1304
1430
 
1305
1431
 
1306
1432
  return React__default.createElement(
@@ -1308,7 +1434,7 @@ var NavNative = function NavNative(props) {
1308
1434
  null,
1309
1435
  React__default.createElement(
1310
1436
  Navbar,
1311
- { variant: 'dark', expand: 'lg', bg: 'primary' },
1437
+ { variant: variant, expand: 'lg', bg: 'primary' },
1312
1438
  React__default.createElement(
1313
1439
  Container,
1314
1440
  null,
@@ -1324,29 +1450,38 @@ var NavNative = function NavNative(props) {
1324
1450
  React__default.createElement(
1325
1451
  Nav,
1326
1452
  { className: 'mr-auto' },
1327
- dataObject && dataObject.map(function (row) {
1328
- if (row.type === 'dropdown') {
1453
+ dataObject && dataObject.map(function (row, index) {
1454
+ if (row.subQuery.length > 1) {
1329
1455
  return React__default.createElement(
1330
1456
  NavDropdown,
1331
1457
  { title: row.name, id: 'basic-nav-dropdown' },
1332
- row.dropdown && row.dropdown.map(function (ddRow) {
1458
+ row.subQuery && row.subQuery.map(function (ddRow, subIndex) {
1333
1459
  if (ddRow.type === 'divider') {
1334
1460
  return React__default.createElement(NavDropdown.Divider, null);
1335
1461
  } else {
1336
1462
  return React__default.createElement(
1337
- NavDropdown.Item,
1463
+ Link,
1338
1464
  { href: ddRow.url },
1339
- ddRow.name
1465
+ React__default.createElement(
1466
+ 'a',
1467
+ { key: subIndex, className: 'dropdown-item' },
1468
+ ddRow.name
1469
+ )
1340
1470
  );
1341
1471
  }
1342
1472
  })
1343
1473
  );
1344
1474
  } else {
1345
1475
  // Link default
1476
+ // return <Nav.Link href={row.url} key={index}>{row.name}</Nav.Link>
1346
1477
  return React__default.createElement(
1347
- Nav.Link,
1478
+ Link,
1348
1479
  { href: row.url },
1349
- row.name
1480
+ React__default.createElement(
1481
+ 'a',
1482
+ { key: index, className: 'nav-link' },
1483
+ row.name
1484
+ )
1350
1485
  );
1351
1486
  }
1352
1487
  })
@@ -1449,6 +1584,126 @@ var NavNormal = function NavNormal(props) {
1449
1584
  );
1450
1585
  };
1451
1586
 
1587
+ var NavDvm = function NavDvm(props) {
1588
+ var logo = props.logo,
1589
+ dataObject = props.dataObject,
1590
+ subNavHeads = props.subNavHeads;
1591
+
1592
+
1593
+ return React__default.createElement(
1594
+ 'section',
1595
+ null,
1596
+ React__default.createElement(
1597
+ Navbar,
1598
+ { expand: 'md', className: 'header-container', style: { background: '#151F5D' } },
1599
+ React__default.createElement(
1600
+ Container,
1601
+ { className: 'd-flex px-0' },
1602
+ React__default.createElement(
1603
+ 'div',
1604
+ { className: 'd-flex' },
1605
+ React__default.createElement('img', { src: logo, className: 'h-100' }),
1606
+ React__default.createElement('div', { className: ' ml-4' })
1607
+ ),
1608
+ React__default.createElement(
1609
+ 'div',
1610
+ { className: 'login-right-wrapper w-50 my-3', style: { background: 'linear-gradient(to right,#104676,#01ABB5)' } },
1611
+ React__default.createElement(
1612
+ 'div',
1613
+ { className: 'row' },
1614
+ subNavHeads && subNavHeads.map(function (item, index) {
1615
+ return React__default.createElement(
1616
+ 'div',
1617
+ { key: index, className: 'col-3 py-1', style: { fontSize: '12px' } },
1618
+ React__default.createElement(
1619
+ 'span',
1620
+ { style: { color: '#fff' } },
1621
+ item.name,
1622
+ ' '
1623
+ )
1624
+ );
1625
+ })
1626
+ )
1627
+ )
1628
+ )
1629
+ ),
1630
+ React__default.createElement(
1631
+ Navbar,
1632
+ { variant: 'dark', className: 'dvm-nav p-0', style: { background: 'linear-gradient(to right,#FFB71C,#ED4303,#EB3300)' } },
1633
+ React__default.createElement(
1634
+ Container,
1635
+ null,
1636
+ React__default.createElement(Navbar.Toggle, { 'aria-controls': 'basic-navbar-nav' }),
1637
+ React__default.createElement(
1638
+ Navbar.Collapse,
1639
+ { id: 'basic-navbar-nav' },
1640
+ React__default.createElement(
1641
+ Nav,
1642
+ { className: 'mr-auto' },
1643
+ dataObject && dataObject.map(function (row, index) {
1644
+ if (row.subQuery.length > 1) {
1645
+ return React__default.createElement(
1646
+ NavDropdown,
1647
+ { key: index, title: row.name, id: 'basic-nav-dropdown' },
1648
+ row.subQuery && row.subQuery.map(function (ddRow, ddItems, subIndex) {
1649
+ if (ddRow.type === 'divider') {
1650
+ return React__default.createElement(NavDropdown.Divider, { key: subIndex });
1651
+ } else {
1652
+ return React__default.createElement(
1653
+ Link,
1654
+ { href: ddRow.url },
1655
+ React__default.createElement(
1656
+ 'a',
1657
+ { key: subIndex, className: 'dropdown-item' },
1658
+ ddRow.name
1659
+ )
1660
+ );
1661
+ }
1662
+ })
1663
+ );
1664
+ } else {
1665
+ return React__default.createElement(
1666
+ Link,
1667
+ { href: row.url },
1668
+ React__default.createElement(
1669
+ 'a',
1670
+ { key: index, className: 'nav-link' },
1671
+ row.name
1672
+ )
1673
+ );
1674
+ }
1675
+ })
1676
+ ),
1677
+ React__default.createElement(
1678
+ 'div',
1679
+ { className: 'login-subscibe', style: { fontSize: '12px' } },
1680
+ React__default.createElement(
1681
+ 'span',
1682
+ { style: { color: '#FFDC3F' } },
1683
+ '>> ',
1684
+ React__default.createElement(
1685
+ 'span',
1686
+ { style: { color: '#fff' } },
1687
+ ' Login'
1688
+ )
1689
+ ),
1690
+ React__default.createElement(
1691
+ 'span',
1692
+ { style: { color: '#FFDC3F' } },
1693
+ '>> ',
1694
+ React__default.createElement(
1695
+ 'span',
1696
+ { style: { color: '#fff' } },
1697
+ ' Register'
1698
+ )
1699
+ )
1700
+ )
1701
+ )
1702
+ )
1703
+ )
1704
+ );
1705
+ };
1706
+
1452
1707
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
1453
1708
 
1454
1709
  function unwrapExports (x) {
@@ -3177,6 +3432,8 @@ var TemplateNormal = function TemplateNormal(props) {
3177
3432
  return React__default.createElement(NavMagazine, { logo: website.logo, dataObject: config.navItems });
3178
3433
  case 'native':
3179
3434
  return React__default.createElement(NavNative, { logo: website.logo, dataObject: config.navItems });
3435
+ case 'dvm':
3436
+ return React__default.createElement(NavDvm, { logo: website.logo, dataObject: config.navItems });
3180
3437
  default:
3181
3438
  return React__default.createElement('noNav', null);
3182
3439
  }
@@ -3244,6 +3501,46 @@ var AD300x250x600 = function AD300x250x600(_ref) {
3244
3501
  });
3245
3502
  };
3246
3503
 
3504
+ var FigureComponent = function FigureComponent(_ref) {
3505
+ var caption = _ref.caption,
3506
+ url = _ref.url;
3507
+
3508
+ return React__default.createElement(
3509
+ 'div',
3510
+ { style: { textAlign: 'center', marginTop: '1em', marginBottom: '1em' } },
3511
+ React__default.createElement(
3512
+ Figure,
3513
+ null,
3514
+ React__default.createElement(Figure.Image, { alt: caption, src: url }),
3515
+ React__default.createElement(
3516
+ Figure.Caption,
3517
+ null,
3518
+ caption
3519
+ )
3520
+ )
3521
+ );
3522
+ };
3523
+
3524
+ var Slideshow = function Slideshow(_ref) {
3525
+ var slides = _ref.slides;
3526
+
3527
+ return React__default.createElement(
3528
+ 'div',
3529
+ { style: { marginTop: '1em', marginBottom: '1em' } },
3530
+ React__default.createElement(
3531
+ Carousel,
3532
+ null,
3533
+ slides && slides.map(function (slide) {
3534
+ return React__default.createElement(
3535
+ Carousel.Item,
3536
+ { key: slide._key },
3537
+ React__default.createElement('img', { style: { width: '100%' }, src: slide.url, alt: slide.asset.originalFilename })
3538
+ );
3539
+ })
3540
+ )
3541
+ );
3542
+ };
3543
+
3247
3544
  var getYoutubeId = createCommonjsModule(function (module, exports) {
3248
3545
  (function (root, factory) {
3249
3546
  {
@@ -5909,19 +6206,45 @@ YouTube.PlayerState = {
5909
6206
  CUED: 5
5910
6207
  };
5911
6208
 
5912
- var getSerializers = function getSerializers() {
6209
+ var YouTubePlayer$1 = function YouTubePlayer(_ref) {
6210
+ var url = _ref.url;
6211
+
6212
+ var id = getYoutubeId(url);
6213
+ return React__default.createElement(YouTube, { videoId: id, opts: { width: '100%' } });
6214
+ };
6215
+
6216
+ var urlFor = function urlFor(source, client) {
6217
+ return imageUrlBuilder(client).image(source);
6218
+ };
6219
+
6220
+ var getSerializers = function getSerializers(client) {
5913
6221
  return {
5914
6222
  types: {
5915
6223
  youtube: function youtube(_ref) {
5916
6224
  var node = _ref.node;
5917
6225
  var url = node.url;
5918
6226
 
5919
- var id = getYoutubeId(url);
5920
- return React__default.createElement(YouTube, { videoId: id, className: 'youtube' });
6227
+ return React__default.createElement(YouTubePlayer$1, { url: url });
6228
+ },
6229
+ figure: function figure(_ref2) {
6230
+ var node = _ref2.node;
6231
+ var asset = node.asset,
6232
+ caption = node.caption;
6233
+
6234
+ var url = urlFor(asset, client).url();
6235
+ return React__default.createElement(FigureComponent, { caption: caption, url: url });
6236
+ },
6237
+ slideshow: function slideshow(_ref3) {
6238
+ var node = _ref3.node;
6239
+
6240
+ var slides = node.slides && node.slides.map(function (slide) {
6241
+ return Object.assign(slide, { url: urlFor(slide.asset, client).url() });
6242
+ });
6243
+ return React__default.createElement(Slideshow, { slides: slides });
5921
6244
  }
5922
6245
  }
5923
6246
  };
5924
6247
  };
5925
6248
 
5926
- export { DeckContent, DeckQueue, Column1, Column2, Column3, Header, LeftNav, NavMagazine, NavNative, NavNormal, TemplateNormal, AD300x250, AD300x250x600, AD728x90, getSerializers };
6249
+ export { DeckContent, DeckQueue, Column1, Column2, Column3, Header, LeftNav, AccordionPanel, NavMagazine, NavNative, NavNormal, NavDvm, TemplateNormal, AD300x250, AD300x250x600, AD728x90, getSerializers };
5927
6250
  //# sourceMappingURL=index.es.js.map