@bigbinary/neeto-molecules 1.0.50 → 1.0.52

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