@bigbinary/neeto-molecules 1.0.51 → 1.0.53

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.
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { t } from 'i18next';
2
+ import { t as t$1 } from 'i18next';
3
+ import { mergeDeepLeft, uniq, concat } from 'ramda';
3
4
  import { Button, Callout, Typography } from '@bigbinary/neetoui';
4
- import { mergeLeft } from 'ramda';
5
5
  import { Trans } from 'react-i18next';
6
6
 
7
7
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -1252,20 +1252,54 @@ var platform$1 = {exports: {}};
1252
1252
 
1253
1253
  var platform = platform$1.exports;
1254
1254
 
1255
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
1256
+
1257
+ var css = ".neeto-ui-callout{z-index:99998}";
1258
+ n(css,{});
1259
+
1255
1260
  var DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS = {
1256
- Chrome: 79,
1257
- MicrosoftEdge: 104,
1258
- Firefox: 91,
1259
- IE: 11,
1260
- Opera: 73,
1261
- Safari: 12.2,
1262
- AndroidBrowser: 4.4,
1263
- OperaMini: 1,
1264
- ChromeMobile: 105,
1265
- FirefoxMobile: 104,
1266
- UCBrowser: 13.4,
1267
- SamsungInternet: 4
1261
+ Chrome: {
1262
+ softLimit: 108,
1263
+ hardLimit: 70
1264
+ },
1265
+ MicrosoftEdge: {
1266
+ softLimit: 108,
1267
+ hardLimit: 106
1268
+ },
1269
+ Firefox: {
1270
+ softLimit: 102,
1271
+ hardLimit: 90
1272
+ },
1273
+ IE: {
1274
+ softLimit: 11,
1275
+ hardLimit: 11
1276
+ },
1277
+ Opera: {
1278
+ softLimit: 93,
1279
+ hardLimit: 89
1280
+ },
1281
+ Safari: {
1282
+ softLimit: 14.5,
1283
+ hardLimit: 12
1284
+ },
1285
+ ChromeMobile: {
1286
+ softLimit: 109,
1287
+ hardLimit: 105
1288
+ },
1289
+ FirefoxMobile: {
1290
+ softLimit: 109,
1291
+ hardLimit: 105
1292
+ },
1293
+ UCBrowser: {
1294
+ softLimit: 13.4,
1295
+ hardLimit: 13.0
1296
+ },
1297
+ SamsungInternet: {
1298
+ softLimit: 18,
1299
+ hardLimit: 4
1300
+ }
1268
1301
  };
1302
+ var UNSUPPORTED_BROWSERS = ["AndroidBrowser", "OperaMini"];
1269
1303
  var BROWSER_UPGRADE_PAGE_LINKS = {
1270
1304
  Chrome: "https://www.google.com/chrome/update",
1271
1305
  MicrosoftEdge: "https://support.microsoft.com/en-us/topic/microsoft-edge-update-settings-af8aaca2-1b69-4870-94fe-18822dbb7ef1#:~:text=Update%20once,Download%20and%20install%20to%20proceed",
@@ -1273,21 +1307,80 @@ var BROWSER_UPGRADE_PAGE_LINKS = {
1273
1307
  IE: "https://support.microsoft.com/en-us/topic/microsoft-edge-update-settings-af8aaca2-1b69-4870-94fe-18822dbb7ef1#:~:text=Update%20once,Download%20and%20install%20to%20proceed",
1274
1308
  Opera: "https://help.opera.com/en/latest/crashes-and-issues/#updateBrowser",
1275
1309
  Safari: "https://support.apple.com/en-in/HT204416",
1276
- AndroidBrowser: "https://play.google.com/store/apps/details?id=com.android.chrome&hl=en_IN&gl=US",
1277
- OperaMini: "https://play.google.com/store/apps/details?id=com.opera.mini.native&hl=en_IN&gl=US&pli=1",
1278
1310
  ChromeMobile: "https://play.google.com/store/apps/details?id=com.android.chrome&hl=en_IN&gl=US",
1279
1311
  FirefoxMobile: "https://play.google.com/store/apps/details?id=org.mozilla.firefox&hl=en_IN&gl=US",
1280
1312
  UCBrowser: "https://play.google.com/store/apps/details?id=com.UCMobile.intl&hl=en_IN&gl=US",
1281
1313
  SamsungInternet: "https://play.google.com/store/apps/details?id=com.sec.android.app.sbrowser&hl=en_IN&gl=US"
1282
1314
  };
1283
1315
 
1284
- var ContactUs = function ContactUs() {
1316
+ var classnames$1 = {exports: {}};
1317
+
1318
+ /*!
1319
+ Copyright (c) 2018 Jed Watson.
1320
+ Licensed under the MIT License (MIT), see
1321
+ http://jedwatson.github.io/classnames
1322
+ */
1323
+
1324
+ (function (module) {
1325
+ /* global define */
1326
+
1327
+ (function () {
1328
+
1329
+ var hasOwn = {}.hasOwnProperty;
1330
+
1331
+ function classNames() {
1332
+ var classes = [];
1333
+
1334
+ for (var i = 0; i < arguments.length; i++) {
1335
+ var arg = arguments[i];
1336
+ if (!arg) continue;
1337
+
1338
+ var argType = typeof arg;
1339
+
1340
+ if (argType === 'string' || argType === 'number') {
1341
+ classes.push(arg);
1342
+ } else if (Array.isArray(arg)) {
1343
+ if (arg.length) {
1344
+ var inner = classNames.apply(null, arg);
1345
+ if (inner) {
1346
+ classes.push(inner);
1347
+ }
1348
+ }
1349
+ } else if (argType === 'object') {
1350
+ if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
1351
+ classes.push(arg.toString());
1352
+ continue;
1353
+ }
1354
+
1355
+ for (var key in arg) {
1356
+ if (hasOwn.call(arg, key) && arg[key]) {
1357
+ classes.push(key);
1358
+ }
1359
+ }
1360
+ }
1361
+ }
1362
+
1363
+ return classes.join(' ');
1364
+ }
1365
+
1366
+ if (module.exports) {
1367
+ classNames.default = classNames;
1368
+ module.exports = classNames;
1369
+ } else {
1370
+ window.classNames = classNames;
1371
+ }
1372
+ }());
1373
+ } (classnames$1));
1374
+
1375
+ var classnames = classnames$1.exports;
1376
+
1377
+ var ContactUs = function ContactUs(_ref) {
1378
+ var className = _ref.className;
1285
1379
  return /*#__PURE__*/React.createElement(Trans, {
1286
1380
  i18nKey: "neetoMolecules.browserSupport.contactUs.main",
1287
1381
  components: {
1288
1382
  button: /*#__PURE__*/React.createElement(Button, {
1289
- className: "ml-1",
1290
- label: t("neetoMolecules.browserSupport.contactUs.buttonLabel"),
1383
+ className: classnames("ml-1", className),
1291
1384
  style: "link",
1292
1385
  onClick: function onClick() {
1293
1386
  var _window$NeetoChat, _window$NeetoChat$con, _window$NeetoChat2, _window$NeetoChat2$co;
@@ -1299,6 +1392,21 @@ var ContactUs = function ContactUs() {
1299
1392
  });
1300
1393
  };
1301
1394
 
1395
+ var DownloadLink = function DownloadLink(_ref) {
1396
+ var className = _ref.className,
1397
+ link = _ref.link;
1398
+ return /*#__PURE__*/React.createElement(Trans, {
1399
+ i18nKey: "neetoMolecules.browserSupport.downloadLink.main",
1400
+ components: {
1401
+ button: /*#__PURE__*/React.createElement(Button, {
1402
+ className: className,
1403
+ href: link,
1404
+ style: "link"
1405
+ })
1406
+ }
1407
+ });
1408
+ };
1409
+
1302
1410
  function _arrayWithHoles(arr) {
1303
1411
  if (Array.isArray(arr)) return arr;
1304
1412
  }
@@ -1368,45 +1476,102 @@ var convertSemverToFloat = function convertSemverToFloat(browserVersion) {
1368
1476
  return parseFloat("".concat(majorVersion, ".").concat(minorVersion));
1369
1477
  };
1370
1478
  var isVersionSupported = function isVersionSupported(browserVersion, requiredMinBrowserVersion) {
1371
- return convertSemverToFloat(browserVersion) >= requiredMinBrowserVersion;
1479
+ var isBrowserFullySupported = convertSemverToFloat(browserVersion) >= (requiredMinBrowserVersion === null || requiredMinBrowserVersion === void 0 ? void 0 : requiredMinBrowserVersion.softLimit);
1480
+ var isBrowserPartiallySupported = convertSemverToFloat(browserVersion) >= (requiredMinBrowserVersion === null || requiredMinBrowserVersion === void 0 ? void 0 : requiredMinBrowserVersion.hardLimit);
1481
+ return {
1482
+ isBrowserFullySupported: isBrowserFullySupported,
1483
+ isBrowserPartiallySupported: isBrowserPartiallySupported
1484
+ };
1372
1485
  };
1373
1486
  var buildDownloadPageLink = function buildDownloadPageLink(browserName) {
1374
1487
  return BROWSER_UPGRADE_PAGE_LINKS[convertToPlatformBrowserName(browserName)];
1375
1488
  };
1376
- var isBrowserNameInTheSupportedList = function isBrowserNameInTheSupportedList(browserName, supportedBrowserVersionsMap) {
1489
+ var isBrowserUnsupported = function isBrowserUnsupported(browserName, unsupportedBrowsersList) {
1490
+ return unsupportedBrowsersList.includes(convertToPlatformBrowserName(browserName));
1491
+ };
1492
+ var isBrowserSupported = function isBrowserSupported(browserName, supportedBrowserVersionsMap) {
1377
1493
  return !!supportedBrowserVersionsMap[convertToPlatformBrowserName(browserName)];
1378
1494
  };
1379
1495
  var getBrowserMajorVersion = function getBrowserMajorVersion(browserVersion) {
1380
1496
  return String(browserVersion).split(".")[0];
1381
1497
  };
1382
1498
 
1383
- var UnsupportedBrowser = function UnsupportedBrowser(_ref) {
1499
+ var PartialSupportedBrowserVersion = function PartialSupportedBrowserVersion(_ref) {
1384
1500
  var browserName = _ref.browserName,
1385
- browserVersion = _ref.browserVersion;
1386
- return /*#__PURE__*/React.createElement(Trans, {
1501
+ browserVersion = _ref.browserVersion,
1502
+ requiredMinBrowserVersion = _ref.requiredMinBrowserVersion,
1503
+ downloadPageLink = _ref.downloadPageLink,
1504
+ children = _ref.children;
1505
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Callout, {
1506
+ className: "justify-center gap-0",
1507
+ "data-testid": "browser-support-callout",
1508
+ style: "danger"
1509
+ }, /*#__PURE__*/React.createElement(Typography, {
1510
+ style: "body2"
1511
+ }, /*#__PURE__*/React.createElement(Trans, {
1512
+ i18nKey: "neetoMolecules.browserSupport.unsupportedBrowserVersion.description",
1513
+ components: {
1514
+ downloadLink: /*#__PURE__*/React.createElement(DownloadLink, {
1515
+ link: downloadPageLink
1516
+ }),
1517
+ contactUs: /*#__PURE__*/React.createElement(ContactUs, null)
1518
+ },
1519
+ values: {
1520
+ browserName: browserName,
1521
+ browserVersion: getBrowserMajorVersion(browserVersion),
1522
+ requiredMinBrowserVersion: getBrowserMajorVersion(requiredMinBrowserVersion === null || requiredMinBrowserVersion === void 0 ? void 0 : requiredMinBrowserVersion.softLimit)
1523
+ }
1524
+ }))), children);
1525
+ };
1526
+
1527
+ var UnknownBrowser = function UnknownBrowser(_ref) {
1528
+ var browserName = _ref.browserName,
1529
+ browserVersion = _ref.browserVersion,
1530
+ children = _ref.children;
1531
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Callout, {
1532
+ className: "justify-center gap-0",
1533
+ "data-testid": "browser-support-callout",
1534
+ style: "danger"
1535
+ }, /*#__PURE__*/React.createElement(Typography, {
1536
+ style: "body2"
1537
+ }, /*#__PURE__*/React.createElement(Trans, {
1387
1538
  components: {
1388
1539
  contactUs: /*#__PURE__*/React.createElement(ContactUs, null)
1389
1540
  },
1390
- i18nKey: "neetoMolecules.browserSupport.unsupportedBrowser",
1541
+ i18nKey: "neetoMolecules.browserSupport.unsupportedBrowser.description",
1391
1542
  values: {
1392
1543
  browserName: browserName,
1393
1544
  browserVersion: getBrowserMajorVersion(browserVersion)
1394
1545
  }
1395
- });
1546
+ }))), children);
1396
1547
  };
1397
1548
 
1398
- var DownloadLink = function DownloadLink(_ref) {
1399
- var link = _ref.link;
1400
- return /*#__PURE__*/React.createElement(Trans, {
1401
- i18nKey: "neetoMolecules.browserSupport.downloadLink.main",
1549
+ var UnsupportedBrowser = function UnsupportedBrowser(_ref) {
1550
+ var browserName = _ref.browserName,
1551
+ browserVersion = _ref.browserVersion;
1552
+ return /*#__PURE__*/React.createElement("div", {
1553
+ className: "flex h-screen flex-col items-center justify-center",
1554
+ "data-testid": "browser-support-page"
1555
+ }, /*#__PURE__*/React.createElement("div", {
1556
+ className: "flex flex-col items-center space-y-4 px-2"
1557
+ }, /*#__PURE__*/React.createElement(Typography, {
1558
+ style: "h1"
1559
+ }, /*#__PURE__*/React.createElement(Trans, {
1560
+ i18nKey: "neetoMolecules.browserSupport.unsupportedBrowser.title"
1561
+ })), /*#__PURE__*/React.createElement(Typography, {
1562
+ style: "body1"
1563
+ }, /*#__PURE__*/React.createElement(Trans, {
1564
+ i18nKey: "neetoMolecules.browserSupport.unsupportedBrowser.description",
1402
1565
  components: {
1403
- button: /*#__PURE__*/React.createElement(Button, {
1404
- href: link,
1405
- label: t("neetoMolecules.browserSupport.downloadLink.buttonLabel"),
1406
- style: "link"
1566
+ contactUs: /*#__PURE__*/React.createElement(ContactUs, {
1567
+ className: "neeto-ui-text-body1"
1407
1568
  })
1569
+ },
1570
+ values: {
1571
+ browserName: browserName,
1572
+ browserVersion: getBrowserMajorVersion(browserVersion)
1408
1573
  }
1409
- });
1574
+ }))));
1410
1575
  };
1411
1576
 
1412
1577
  var UnsupportedBrowserVersion = function UnsupportedBrowserVersion(_ref) {
@@ -1414,49 +1579,81 @@ var UnsupportedBrowserVersion = function UnsupportedBrowserVersion(_ref) {
1414
1579
  browserVersion = _ref.browserVersion,
1415
1580
  requiredMinBrowserVersion = _ref.requiredMinBrowserVersion,
1416
1581
  downloadPageLink = _ref.downloadPageLink;
1417
- return /*#__PURE__*/React.createElement(Trans, {
1418
- i18nKey: "neetoMolecules.browserSupport.unsupportedBrowserVersion",
1582
+ return /*#__PURE__*/React.createElement("div", {
1583
+ className: "flex h-screen flex-col items-center justify-center",
1584
+ "data-testid": "browser-support-page"
1585
+ }, /*#__PURE__*/React.createElement("div", {
1586
+ className: "flex flex-col items-center space-y-4 px-2"
1587
+ }, /*#__PURE__*/React.createElement(Typography, {
1588
+ style: "h1"
1589
+ }, /*#__PURE__*/React.createElement(Trans, {
1590
+ i18nKey: "neetoMolecules.browserSupport.unsupportedBrowserVersion.title"
1591
+ })), /*#__PURE__*/React.createElement(Typography, {
1592
+ style: "body1"
1593
+ }, /*#__PURE__*/React.createElement(Trans, {
1594
+ i18nKey: "neetoMolecules.browserSupport.unsupportedBrowserVersion.description",
1419
1595
  components: {
1420
1596
  downloadLink: /*#__PURE__*/React.createElement(DownloadLink, {
1597
+ className: "neeto-ui-text-body1",
1421
1598
  link: downloadPageLink
1422
1599
  }),
1423
- contactUs: /*#__PURE__*/React.createElement(ContactUs, null)
1600
+ contactUs: /*#__PURE__*/React.createElement(ContactUs, {
1601
+ className: "neeto-ui-text-body1"
1602
+ })
1424
1603
  },
1425
1604
  values: {
1426
1605
  browserName: browserName,
1427
1606
  browserVersion: getBrowserMajorVersion(browserVersion),
1428
- requiredMinBrowserVersion: getBrowserMajorVersion(requiredMinBrowserVersion)
1607
+ requiredMinBrowserVersion: getBrowserMajorVersion(requiredMinBrowserVersion === null || requiredMinBrowserVersion === void 0 ? void 0 : requiredMinBrowserVersion.softLimit)
1429
1608
  }
1430
- });
1609
+ }))));
1431
1610
  };
1432
1611
 
1433
1612
  var BrowserSupport = function BrowserSupport(_ref) {
1434
1613
  var _ref$overrides = _ref.overrides,
1435
- overrides = _ref$overrides === void 0 ? {} : _ref$overrides;
1614
+ overrides = _ref$overrides === void 0 ? {} : _ref$overrides,
1615
+ _ref$unsupportedBrows = _ref.unsupportedBrowsers,
1616
+ unsupportedBrowsers = _ref$unsupportedBrows === void 0 ? [] : _ref$unsupportedBrows,
1617
+ children = _ref.children;
1436
1618
  var platformInfo = platform.parse(navigator.userAgent);
1437
- var browserName = platformInfo.name || t("neetoMolecules.browserSupport.unknownBrowserMsg");
1619
+ var browserName = platformInfo.name || t$1("neetoMolecules.browserSupport.unknownBrowserMsg");
1438
1620
  var browserVersion = platformInfo.version || "";
1439
- var supportedBrowserVersionsMap = mergeLeft(overrides, DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS);
1621
+ var supportedBrowserVersionsMap = mergeDeepLeft(overrides, DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS);
1622
+ var unsupportedBrowsersList = uniq(concat(UNSUPPORTED_BROWSERS, unsupportedBrowsers));
1440
1623
  var requiredMinBrowserVersion = getRequiredMinBrowserVersion(browserName, supportedBrowserVersionsMap);
1441
- var isUsersBrowserSupported = isVersionSupported(browserVersion, requiredMinBrowserVersion);
1624
+ var isUnsupportedBrowser = isBrowserUnsupported(browserName, unsupportedBrowsersList);
1625
+ if (isUnsupportedBrowser) {
1626
+ return /*#__PURE__*/React.createElement(UnsupportedBrowser, {
1627
+ browserName: browserName,
1628
+ browserVersion: browserVersion
1629
+ });
1630
+ }
1631
+ var isKnownBrowser = isBrowserSupported(browserName, supportedBrowserVersionsMap);
1632
+ if (!isKnownBrowser) {
1633
+ return /*#__PURE__*/React.createElement(UnknownBrowser, {
1634
+ browserName: browserName,
1635
+ browserVersion: browserVersion
1636
+ }, children);
1637
+ }
1638
+ var _isVersionSupported = isVersionSupported(browserVersion, requiredMinBrowserVersion),
1639
+ isBrowserFullySupported = _isVersionSupported.isBrowserFullySupported,
1640
+ isBrowserPartiallySupported = _isVersionSupported.isBrowserPartiallySupported;
1442
1641
  var downloadPageLink = buildDownloadPageLink(browserName);
1443
- var isUnsupportedBrowserVersion = isBrowserNameInTheSupportedList(browserName, supportedBrowserVersionsMap);
1444
- if (isUsersBrowserSupported) return null;
1445
- return /*#__PURE__*/React.createElement(Callout, {
1446
- className: "neeto-ui-rounded-none justify-center gap-0",
1447
- "data-testid": "browser-support-callout",
1448
- style: "danger"
1449
- }, /*#__PURE__*/React.createElement(Typography, {
1450
- style: "body2"
1451
- }, isUnsupportedBrowserVersion ? /*#__PURE__*/React.createElement(UnsupportedBrowserVersion, {
1642
+ if (isBrowserFullySupported) return /*#__PURE__*/React.createElement(React.Fragment, null, children);
1643
+ if (isBrowserPartiallySupported) {
1644
+ return /*#__PURE__*/React.createElement(PartialSupportedBrowserVersion, {
1645
+ browserName: browserName,
1646
+ browserVersion: browserVersion,
1647
+ downloadPageLink: downloadPageLink,
1648
+ requiredMinBrowserVersion: requiredMinBrowserVersion
1649
+ }, children);
1650
+ }
1651
+ return /*#__PURE__*/React.createElement(UnsupportedBrowserVersion, {
1452
1652
  browserName: browserName,
1453
1653
  browserVersion: browserVersion,
1454
1654
  downloadPageLink: downloadPageLink,
1455
1655
  requiredMinBrowserVersion: requiredMinBrowserVersion
1456
- }) : /*#__PURE__*/React.createElement(UnsupportedBrowser, {
1457
- browserName: browserName,
1458
- browserVersion: browserVersion
1459
- })));
1656
+ });
1460
1657
  };
1461
1658
 
1462
1659
  export { BrowserSupport as default };