@bigbinary/neeto-molecules 5.3.16 → 5.3.18
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/BrowserSupport.js +116 -51
- package/dist/BrowserSupport.js.map +1 -1
- package/dist/cjs/BrowserSupport.js +119 -51
- package/dist/cjs/BrowserSupport.js.map +1 -1
- package/dist/cjs/v2/BrowserSupport.js +119 -51
- package/dist/cjs/v2/BrowserSupport.js.map +1 -1
- package/dist/cjs/v2/Engagements.js +9 -6
- package/dist/cjs/v2/Engagements.js.map +1 -1
- package/dist/v2/BrowserSupport.js +116 -51
- package/dist/v2/BrowserSupport.js.map +1 -1
- package/dist/v2/Engagements.js +9 -6
- package/dist/v2/Engagements.js.map +1 -1
- package/package.json +1 -1
- package/types/BrowserSupport.d.ts +128 -39
package/dist/BrowserSupport.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createRoot } from 'react-dom/client';
|
|
1
2
|
import { n } from './inject-css-C2dztUxs.js';
|
|
2
3
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
4
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
@@ -10,68 +11,66 @@ import { t } from 'i18next';
|
|
|
10
11
|
import { mergeDeepLeft, uniq, concat } from 'ramda';
|
|
11
12
|
import { UAParser } from 'ua-parser-js';
|
|
12
13
|
|
|
13
|
-
var css = ":root{--neeto-molecules-browser-support-callout-bg:#feecf0;--neeto-molecules-browser-support-border-color:#d7373f;--neeto-molecules-browser-support-text-color:#121212;--neeto-molecules-browser-support-link-color:#2d36d4}.neeto-molecules-browser-support-callout{background-color:#feecf0;background-color:var(--neeto-molecules-browser-support-callout-bg);display:flex;justify-content:center;line-height:1.5;padding:.3125rem .625rem}.neeto-molecules-browser-support-callout__message{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:.875rem}.neeto-molecules-browser-support-page{align-items:center;background-color:#fff;display:flex;flex-direction:column;height:100vh;height:100dvh;justify-content:center;overflow-y:auto}.neeto-molecules-browser-support-page__content{align-items:center;display:flex;flex-direction:column;justify-content:center;max-width:100%;padding-left:.9375rem;padding-right:.9375rem;width:45rem}.neeto-molecules-browser-support-page__header{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:1.5rem;margin:0 0 .5rem}.neeto-molecules-browser-support-page__desc{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:1rem;line-height:1.5;margin:0 0 1rem}.neeto-molecules-browser-support-callout__message,.neeto-molecules-browser-support-page__desc{text-align:center}.neeto-molecules-browser-support-callout__message a,.neeto-molecules-browser-support-page__desc a{color:#2d36d4;color:var(--neeto-molecules-browser-support-link-color)}.neeto-molecules-browser-support-callout__message a:hover,.neeto-molecules-browser-support-page__desc a:hover{text-decoration:underline}.neeto-molecules-browser-support__link-button{color:#2d36d4;color:var(--neeto-molecules-browser-support-link-color)
|
|
14
|
+
var css = ":root{--neeto-molecules-browser-support-callout-bg:#feecf0;--neeto-molecules-browser-support-border-color:#d7373f;--neeto-molecules-browser-support-text-color:#121212;--neeto-molecules-browser-support-link-color:#2d36d4}.neeto-molecules-browser-support-callout{background-color:#feecf0;background-color:var(--neeto-molecules-browser-support-callout-bg);display:flex;justify-content:center;line-height:1.5;padding:.3125rem .625rem}.neeto-molecules-browser-support-callout__message{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:.875rem}.neeto-molecules-browser-support-page{align-items:center;background-color:#fff;display:flex;flex-direction:column;height:100vh;height:100dvh;justify-content:center;overflow-y:auto}.neeto-molecules-browser-support-page__content{align-items:center;display:flex;flex-direction:column;justify-content:center;max-width:100%;padding-left:.9375rem;padding-right:.9375rem;width:45rem}.neeto-molecules-browser-support-page__header{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:1.5rem;margin:0 0 .5rem}.neeto-molecules-browser-support-page__desc{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:1rem;line-height:1.5;margin:0 0 1rem}.neeto-molecules-browser-support-callout__message,.neeto-molecules-browser-support-page__desc{text-align:center}.neeto-molecules-browser-support-callout__message a,.neeto-molecules-browser-support-page__desc a{color:#2d36d4;color:var(--neeto-molecules-browser-support-link-color)}.neeto-molecules-browser-support-callout__message a:hover,.neeto-molecules-browser-support-page__desc a:hover{text-decoration:underline}.neeto-molecules-browser-support__link-button{color:#2d36d4;color:var(--neeto-molecules-browser-support-link-color);cursor:pointer;text-decoration:underline;text-underline-offset:2px}";
|
|
14
15
|
n(css,{});
|
|
15
16
|
|
|
17
|
+
// Floor is set by Tailwind v4, which hardcodes its Lightning CSS targets to
|
|
18
|
+
// Safari/iOS 16.4, Chrome 111 and Firefox 128 and exposes no way to lower them.
|
|
19
|
+
// Below it the generated CSS (@property, oklch(), :has(), @container) is dropped
|
|
20
|
+
// by the parser with no error, so the app renders broken rather than degraded.
|
|
21
|
+
// Remaining engines are the first release built on an equivalent core.
|
|
16
22
|
var DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS = {
|
|
17
23
|
Chrome: {
|
|
18
|
-
softLimit:
|
|
19
|
-
hardLimit:
|
|
24
|
+
softLimit: 111,
|
|
25
|
+
hardLimit: 111
|
|
26
|
+
},
|
|
27
|
+
MobileChrome: {
|
|
28
|
+
softLimit: 111,
|
|
29
|
+
hardLimit: 111
|
|
20
30
|
},
|
|
21
31
|
Edge: {
|
|
22
|
-
softLimit:
|
|
23
|
-
hardLimit:
|
|
32
|
+
softLimit: 111,
|
|
33
|
+
hardLimit: 111
|
|
24
34
|
},
|
|
25
35
|
Firefox: {
|
|
26
|
-
softLimit:
|
|
27
|
-
hardLimit:
|
|
28
|
-
},
|
|
29
|
-
IE: {
|
|
30
|
-
softLimit: 11,
|
|
31
|
-
hardLimit: 11
|
|
36
|
+
softLimit: 128,
|
|
37
|
+
hardLimit: 128
|
|
32
38
|
},
|
|
33
|
-
|
|
34
|
-
softLimit:
|
|
35
|
-
hardLimit:
|
|
39
|
+
MobileFirefox: {
|
|
40
|
+
softLimit: 128,
|
|
41
|
+
hardLimit: 128
|
|
36
42
|
},
|
|
37
43
|
Safari: {
|
|
38
|
-
softLimit:
|
|
39
|
-
hardLimit:
|
|
40
|
-
},
|
|
41
|
-
WebKit: {
|
|
42
|
-
softLimit: 604,
|
|
43
|
-
hardLimit: 600
|
|
44
|
-
},
|
|
45
|
-
MobileChrome: {
|
|
46
|
-
softLimit: 109,
|
|
47
|
-
hardLimit: 105
|
|
48
|
-
},
|
|
49
|
-
MobileFirefox: {
|
|
50
|
-
softLimit: 109,
|
|
51
|
-
hardLimit: 105
|
|
44
|
+
softLimit: 16.4,
|
|
45
|
+
hardLimit: 16.4
|
|
52
46
|
},
|
|
53
47
|
MobileSafari: {
|
|
54
|
-
softLimit:
|
|
55
|
-
hardLimit:
|
|
48
|
+
softLimit: 16.4,
|
|
49
|
+
hardLimit: 16.4
|
|
56
50
|
},
|
|
57
|
-
|
|
58
|
-
softLimit:
|
|
59
|
-
hardLimit:
|
|
51
|
+
Opera: {
|
|
52
|
+
softLimit: 98,
|
|
53
|
+
hardLimit: 98
|
|
60
54
|
},
|
|
61
55
|
SamsungInternet: {
|
|
62
|
-
softLimit:
|
|
63
|
-
hardLimit:
|
|
64
|
-
},
|
|
65
|
-
AndroidBrowser: {
|
|
66
|
-
softLimit: 4,
|
|
67
|
-
hardLimit: 3
|
|
56
|
+
softLimit: 22,
|
|
57
|
+
hardLimit: 22
|
|
68
58
|
},
|
|
69
59
|
Electron: {
|
|
70
|
-
softLimit:
|
|
71
|
-
hardLimit:
|
|
60
|
+
softLimit: 24,
|
|
61
|
+
hardLimit: 24
|
|
62
|
+
},
|
|
63
|
+
// Safari freezes the WebKit build number in its UA (605.1.15 since Safari
|
|
64
|
+
// 12), so this cannot discriminate versions. Kept only to keep generic
|
|
65
|
+
// WebKit clients out of the unknown-browser branch.
|
|
66
|
+
WebKit: {
|
|
67
|
+
softLimit: 605,
|
|
68
|
+
hardLimit: 605
|
|
72
69
|
}
|
|
73
70
|
};
|
|
74
|
-
|
|
71
|
+
|
|
72
|
+
// Engines that cannot reach the floor at any released version.
|
|
73
|
+
var UNSUPPORTED_BROWSERS = ["OperaMini", "IE", "UCBrowser", "AndroidBrowser"];
|
|
75
74
|
var BROWSER_UPGRADE_PAGE_LINKS = {
|
|
76
75
|
Chrome: "https://www.google.com/chrome/update",
|
|
77
76
|
Edge: "https://support.microsoft.com/en-us/topic/microsoft-edge-update-settings-af8aaca2-1b69-4870-94fe-18822dbb7ef1#:~:text=Update%20once,Download%20and%20install%20to%20proceed",
|
|
@@ -91,6 +90,15 @@ var TYPES = {
|
|
|
91
90
|
MOBILE: "mobile"
|
|
92
91
|
};
|
|
93
92
|
|
|
93
|
+
// Where mount() looks for the app root, so the gate can take the same element
|
|
94
|
+
// before the app chunk is imported.
|
|
95
|
+
var DEFAULT_MOUNT_SELECTOR = "[data-react-class]";
|
|
96
|
+
|
|
97
|
+
// The page loader rendered by shared/_page_loader in neeto-commons-backend. It
|
|
98
|
+
// sits outside the react root, so blocking has to take it down explicitly or it
|
|
99
|
+
// keeps spinning over the message.
|
|
100
|
+
var DEFAULT_LOADER_SELECTOR = "#neeto-page-loader";
|
|
101
|
+
|
|
94
102
|
var _excluded = ["children"];
|
|
95
103
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
96
104
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -131,13 +139,17 @@ var DownloadLink = function DownloadLink(_ref) {
|
|
|
131
139
|
className = _ref$className === void 0 ? "" : _ref$className,
|
|
132
140
|
link = _ref.link;
|
|
133
141
|
return /*#__PURE__*/jsx(Trans, {
|
|
142
|
+
i18nKey: "neetoMolecules.browserSupport.downloadLink.main",
|
|
134
143
|
components: {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
144
|
+
// Not every engine has an upgrade page to point at: an Electron client is
|
|
145
|
+
// updated by whoever ships it. Render the words rather than a dead link.
|
|
146
|
+
button: link ? /*#__PURE__*/jsx("a", {
|
|
147
|
+
href: link,
|
|
148
|
+
className: classnames("neeto-molecules-browser-support__link-button", className)
|
|
149
|
+
}) : /*#__PURE__*/jsx("span", {
|
|
150
|
+
className: className
|
|
138
151
|
})
|
|
139
|
-
}
|
|
140
|
-
i18nKey: "neetoMolecules.browserSupport.downloadLink.main"
|
|
152
|
+
}
|
|
141
153
|
});
|
|
142
154
|
};
|
|
143
155
|
|
|
@@ -305,6 +317,25 @@ var isBrowserUnsupported = function isBrowserUnsupported(browserName, unsupporte
|
|
|
305
317
|
var isBrowserSupported = function isBrowserSupported(browserName, supportedBrowserVersionsMap) {
|
|
306
318
|
return !!supportedBrowserVersionsMap[convertToPlatformBrowserName(browserName)];
|
|
307
319
|
};
|
|
320
|
+
|
|
321
|
+
/*
|
|
322
|
+
Mirrors the branches of the BrowserSupport render ladder that swallow their
|
|
323
|
+
children. Kept beside getBrowserStatus so a caller can learn the verdict without
|
|
324
|
+
rendering, and covered by a test asserting it agrees with what the component
|
|
325
|
+
actually renders.
|
|
326
|
+
*/
|
|
327
|
+
var isBrowserBlocked = function isBrowserBlocked(_ref) {
|
|
328
|
+
var browserType = _ref.browserType,
|
|
329
|
+
deviceType = _ref.deviceType,
|
|
330
|
+
isUnsupportedBrowser = _ref.isUnsupportedBrowser,
|
|
331
|
+
isKnownBrowser = _ref.isKnownBrowser,
|
|
332
|
+
isBrowserFullySupported = _ref.isBrowserFullySupported,
|
|
333
|
+
isBrowserPartiallySupported = _ref.isBrowserPartiallySupported;
|
|
334
|
+
if (browserType === TYPES.INAPP || deviceType === TYPES.MOBILE) return false;
|
|
335
|
+
if (isUnsupportedBrowser) return true;
|
|
336
|
+
if (!isKnownBrowser) return false;
|
|
337
|
+
return !isBrowserFullySupported && !isBrowserPartiallySupported;
|
|
338
|
+
};
|
|
308
339
|
var getBrowserStatus = function getBrowserStatus(overrides, additionalUnsupported) {
|
|
309
340
|
var _UAParser$getResult = new UAParser(navigator.userAgent).getResult(),
|
|
310
341
|
browser = _UAParser$getResult.browser,
|
|
@@ -318,12 +349,12 @@ var getBrowserStatus = function getBrowserStatus(overrides, additionalUnsupporte
|
|
|
318
349
|
var isUnsupportedBrowser = isBrowserUnsupported(browserName, unsupportedBrowsersList);
|
|
319
350
|
var isKnownBrowser = isBrowserSupported(browserName, supportedBrowserVersionsMap);
|
|
320
351
|
var requiredMinBrowserVersion = isKnownBrowser ? getRequiredMinBrowserVersion(browserName, supportedBrowserVersionsMap) : null;
|
|
321
|
-
var
|
|
352
|
+
var _ref2 = isKnownBrowser ? isVersionSupported(browserVersion, requiredMinBrowserVersion) : {
|
|
322
353
|
isBrowserFullySupported: false,
|
|
323
354
|
isBrowserPartiallySupported: false
|
|
324
355
|
},
|
|
325
|
-
isBrowserFullySupported =
|
|
326
|
-
isBrowserPartiallySupported =
|
|
356
|
+
isBrowserFullySupported = _ref2.isBrowserFullySupported,
|
|
357
|
+
isBrowserPartiallySupported = _ref2.isBrowserPartiallySupported;
|
|
327
358
|
var downloadPageLink = isKnownBrowser ? buildDownloadPageLink(browserName) : null;
|
|
328
359
|
return {
|
|
329
360
|
browserName: browserName,
|
|
@@ -393,6 +424,40 @@ var BrowserSupport = function BrowserSupport(_ref) {
|
|
|
393
424
|
requiredMinBrowserVersion: requiredMinBrowserVersion
|
|
394
425
|
});
|
|
395
426
|
};
|
|
427
|
+
/*
|
|
428
|
+
Renders the unsupported-browser page ahead of the app, and reports whether the
|
|
429
|
+
app should be mounted at all.
|
|
430
|
+
|
|
431
|
+
Products mount BrowserSupport inside their React tree, which cannot help when
|
|
432
|
+
the browser is old enough that the app chunk fails to parse: the dynamic import
|
|
433
|
+
rejects and React never renders, so the user gets a blank page instead of an
|
|
434
|
+
explanation. Call this from the pack, before mount(), where only the entry
|
|
435
|
+
chunk has had to parse.
|
|
436
|
+
|
|
437
|
+
Returns true when the browser was blocked and the app must not be mounted.
|
|
438
|
+
*/
|
|
439
|
+
var renderBrowserSupportGate = function renderBrowserSupportGate() {
|
|
440
|
+
var _document$querySelect;
|
|
441
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
442
|
+
_ref2$overrides = _ref2.overrides,
|
|
443
|
+
overrides = _ref2$overrides === void 0 ? {} : _ref2$overrides,
|
|
444
|
+
_ref2$unsupportedBrow = _ref2.unsupportedBrowsers,
|
|
445
|
+
unsupportedBrowsers = _ref2$unsupportedBrow === void 0 ? [] : _ref2$unsupportedBrow,
|
|
446
|
+
element = _ref2.element,
|
|
447
|
+
_ref2$loaderSelector = _ref2.loaderSelector,
|
|
448
|
+
loaderSelector = _ref2$loaderSelector === void 0 ? DEFAULT_LOADER_SELECTOR : _ref2$loaderSelector;
|
|
449
|
+
var target = element !== null && element !== void 0 ? element : document.querySelector(DEFAULT_MOUNT_SELECTOR);
|
|
450
|
+
if (!target) return false;
|
|
451
|
+
if (!isBrowserBlocked(getBrowserStatus(overrides, unsupportedBrowsers))) {
|
|
452
|
+
return false;
|
|
453
|
+
}
|
|
454
|
+
(_document$querySelect = document.querySelector(loaderSelector)) === null || _document$querySelect === void 0 || _document$querySelect.remove();
|
|
455
|
+
createRoot(target).render(/*#__PURE__*/jsx(BrowserSupport, {
|
|
456
|
+
overrides: overrides,
|
|
457
|
+
unsupportedBrowsers: unsupportedBrowsers
|
|
458
|
+
}));
|
|
459
|
+
return true;
|
|
460
|
+
};
|
|
396
461
|
|
|
397
|
-
export { BrowserSupport as default };
|
|
462
|
+
export { BrowserSupport as default, renderBrowserSupportGate };
|
|
398
463
|
//# sourceMappingURL=BrowserSupport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserSupport.js","sources":["../src/components/BrowserSupport/constants.js","../src/components/BrowserSupport/Callout.jsx","../src/components/BrowserSupport/ContactUs.jsx","../src/components/BrowserSupport/DownloadLink.jsx","../src/components/BrowserSupport/UnsupportedVersionMessage.jsx","../src/components/BrowserSupport/PartialSupportedBrowserVersion.jsx","../src/components/BrowserSupport/UnsupportedBrowserMessage.jsx","../src/components/BrowserSupport/UnknownBrowser.jsx","../src/components/BrowserSupport/UnsupportedBrowser.jsx","../src/components/BrowserSupport/UnsupportedBrowserVersion.jsx","../src/components/BrowserSupport/utils.js","../src/components/BrowserSupport/index.jsx"],"sourcesContent":["export const DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS = {\n Chrome: { softLimit: 108, hardLimit: 70 },\n Edge: { softLimit: 108, hardLimit: 106 },\n Firefox: { softLimit: 102, hardLimit: 90 },\n IE: { softLimit: 11, hardLimit: 11 },\n Opera: { softLimit: 93, hardLimit: 89 },\n Safari: { softLimit: 11, hardLimit: 10 },\n WebKit: { softLimit: 604, hardLimit: 600 },\n MobileChrome: { softLimit: 109, hardLimit: 105 },\n MobileFirefox: { softLimit: 109, hardLimit: 105 },\n MobileSafari: { softLimit: 11, hardLimit: 10 },\n UCBrowser: { softLimit: 13.4, hardLimit: 13.0 },\n SamsungInternet: { softLimit: 18, hardLimit: 4 },\n AndroidBrowser: { softLimit: 4, hardLimit: 3 },\n Electron: { softLimit: 17, hardLimit: 16 },\n};\n\nexport const UNSUPPORTED_BROWSERS = [\"OperaMini\"];\n\nexport const BROWSER_UPGRADE_PAGE_LINKS = {\n Chrome: \"https://www.google.com/chrome/update\",\n Edge: \"https://support.microsoft.com/en-us/topic/microsoft-edge-update-settings-af8aaca2-1b69-4870-94fe-18822dbb7ef1#:~:text=Update%20once,Download%20and%20install%20to%20proceed\",\n Firefox: \"https://support.mozilla.org/en-US/kb/update-firefox-latest-release\",\n 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\",\n Opera: \"https://help.opera.com/en/latest/crashes-and-issues/#updateBrowser\",\n Safari: \"https://support.apple.com/HT204416\",\n WebKit: \"https://support.apple.com/HT204204\",\n MobileChrome:\n \"https://play.google.com/store/apps/details?id=com.android.chrome&hl=en_IN&gl=US\",\n MobileFirefox:\n \"https://play.google.com/store/apps/details?id=org.mozilla.firefox&hl=en_IN&gl=US\",\n MobileSafari: \"https://support.apple.com/HT204416\",\n UCBrowser:\n \"https://play.google.com/store/apps/details?id=com.UCMobile.intl&hl=en_IN&gl=US\",\n SamsungInternet:\n \"https://play.google.com/store/apps/details?id=com.sec.android.app.sbrowser&hl=en_IN&gl=US\",\n};\n\nexport const TYPES = { INAPP: \"inapp\", MOBILE: \"mobile\" };\n","const Callout = ({ children, ...props }) => (\n <div\n className=\"neeto-molecules-browser-support-callout\"\n data-testid=\"browser-support-callout\"\n {...props}\n >\n <p className=\"neeto-molecules-browser-support-callout__message\">\n {children}\n </p>\n </div>\n);\n\nexport default Callout;\n","import classnames from \"classnames\";\nimport { Trans } from \"react-i18next\";\n\nconst ContactUs = ({ className = \"\" }) => (\n <Trans\n i18nKey=\"neetoMolecules.browserSupport.contactUs.main\"\n components={{\n button: (\n <button\n className={classnames(\n \"neeto-molecules-browser-support__link-button\",\n className\n )}\n onClick={() => {\n window.NeetoChat?.contextualHelp?.maximizeWidget();\n window.NeetoChat?.contextualHelp?.openWidget();\n }}\n />\n ),\n }}\n />\n);\n\nexport default ContactUs;\n","import { Trans } from \"react-i18next\";\n\nconst DownloadLink = ({ className = \"\", link }) => (\n <Trans\n components={{ button: <a {...{ className }} href={link} /> }}\n i18nKey=\"neetoMolecules.browserSupport.downloadLink.main\"\n />\n);\n\nexport default DownloadLink;\n","import { memo } from \"react\";\n\nimport { Trans } from \"react-i18next\";\n\nimport ContactUs from \"./ContactUs\";\nimport DownloadLink from \"./DownloadLink\";\n\nconst UnsupportedVersionMessage = ({\n browserName,\n browserVersion,\n className = \"\",\n downloadPageLink,\n requiredMinBrowserVersion,\n}) => (\n <Trans\n i18nKey=\"neetoMolecules.browserSupport.unsupportedBrowserVersion.description\"\n components={{\n downloadLink: <DownloadLink {...{ className }} link={downloadPageLink} />,\n contactUs: <ContactUs {...{ className }} />,\n }}\n values={{\n browserName,\n browserVersion,\n requiredMinBrowserVersion: requiredMinBrowserVersion?.softLimit,\n }}\n />\n);\n\nexport default memo(UnsupportedVersionMessage);\n","import Callout from \"./Callout\";\nimport UnsupportedVersionMessage from \"./UnsupportedVersionMessage\";\n\nexport const PartialSupportedBrowserVersion = ({\n browserName,\n browserVersion,\n requiredMinBrowserVersion,\n downloadPageLink,\n children,\n}) => (\n <>\n <Callout>\n <UnsupportedVersionMessage\n {...{\n browserName,\n browserVersion,\n downloadPageLink,\n requiredMinBrowserVersion,\n }}\n />\n </Callout>\n {children}\n </>\n);\n\nexport default PartialSupportedBrowserVersion;\n","import { memo } from \"react\";\n\nimport { Trans } from \"react-i18next\";\n\nimport ContactUs from \"./ContactUs\";\n\nconst UnsupportedBrowserMessage = ({\n browserName,\n browserVersion,\n className = \"\",\n}) => (\n <Trans\n components={{ contactUs: <ContactUs {...{ className }} /> }}\n i18nKey=\"neetoMolecules.browserSupport.unsupportedBrowser.description\"\n values={{ browserName, browserVersion }}\n />\n);\n\nexport default memo(UnsupportedBrowserMessage);\n","import Callout from \"./Callout\";\nimport UnsupportedBrowserMessage from \"./UnsupportedBrowserMessage\";\n\nconst UnknownBrowser = ({ browserName, browserVersion, children }) => (\n <>\n <Callout>\n <UnsupportedBrowserMessage {...{ browserName, browserVersion }} />\n </Callout>\n {children}\n </>\n);\n\nexport default UnknownBrowser;\n","import { memo } from \"react\";\n\nimport { Trans } from \"react-i18next\";\n\nimport UnsupportedBrowserMessage from \"./UnsupportedBrowserMessage\";\n\nconst UnsupportedBrowser = ({ browserName, browserVersion }) => (\n <div\n className=\"neeto-molecules-browser-support-page\"\n data-testid=\"browser-support-page\"\n >\n <div className=\"neeto-molecules-browser-support-page__content\">\n <h1 className=\"neeto-molecules-browser-support-page__header\">\n <Trans i18nKey=\"neetoMolecules.browserSupport.unsupportedBrowser.title\" />\n </h1>\n <p className=\"neeto-molecules-browser-support-page__desc\">\n <UnsupportedBrowserMessage\n {...{ browserName, browserVersion }}\n className=\"neeto-ui-text-body1\"\n />\n </p>\n </div>\n </div>\n);\n\nexport default memo(UnsupportedBrowser);\n","import { memo } from \"react\";\n\nimport { Trans } from \"react-i18next\";\n\nimport UnsupportedVersionMessage from \"./UnsupportedVersionMessage\";\n\nconst UnsupportedBrowserVersion = ({\n browserName,\n browserVersion,\n requiredMinBrowserVersion,\n downloadPageLink,\n}) => (\n <div\n className=\"neeto-molecules-browser-support-page\"\n data-testid=\"browser-support-page\"\n >\n <div className=\"neeto-molecules-browser-support-page__content\">\n <h1 className=\"neeto-molecules-browser-support-page__header\">\n <Trans i18nKey=\"neetoMolecules.browserSupport.unsupportedBrowserVersion.title\" />\n </h1>\n <p className=\"neeto-molecules-browser-support-page__desc\">\n <UnsupportedVersionMessage\n {...{\n browserName,\n browserVersion,\n downloadPageLink,\n requiredMinBrowserVersion,\n }}\n />\n </p>\n </div>\n </div>\n);\n\nexport default memo(UnsupportedBrowserVersion);\n","import { t } from \"i18next\";\nimport { concat, mergeDeepLeft, uniq } from \"ramda\";\nimport { UAParser } from \"ua-parser-js\";\n\nimport {\n BROWSER_UPGRADE_PAGE_LINKS,\n DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS,\n UNSUPPORTED_BROWSERS,\n} from \"./constants\";\n\nconst convertToPlatformBrowserName = browserName =>\n browserName.replace(/\\s/g, \"\");\n\nconst getRequiredMinBrowserVersion = (\n browserName,\n supportedBrowserVersionsMap\n) => supportedBrowserVersionsMap[convertToPlatformBrowserName(browserName)];\n\nconst convertSemverToFloat = browserVersion => {\n const [majorVersion, minorVersion] = browserVersion.split(\".\");\n\n return parseFloat(`${majorVersion}.${minorVersion}`) || \"\";\n};\n\nconst isVersionSupported = (browserVersion, requiredMinBrowserVersion) => {\n const isBrowserFullySupported =\n browserVersion >= requiredMinBrowserVersion?.softLimit;\n\n const isBrowserPartiallySupported =\n browserVersion >= requiredMinBrowserVersion?.hardLimit;\n\n return { isBrowserFullySupported, isBrowserPartiallySupported };\n};\n\nconst buildDownloadPageLink = browserName =>\n BROWSER_UPGRADE_PAGE_LINKS[convertToPlatformBrowserName(browserName)];\n\nconst isBrowserUnsupported = (browserName, unsupportedBrowsersList) =>\n unsupportedBrowsersList.includes(convertToPlatformBrowserName(browserName));\n\nconst isBrowserSupported = (browserName, supportedBrowserVersionsMap) =>\n !!supportedBrowserVersionsMap[convertToPlatformBrowserName(browserName)];\n\nexport const getBrowserStatus = (overrides, additionalUnsupported) => {\n const { browser, device } = new UAParser(navigator.userAgent).getResult();\n\n const browserName =\n browser.name || t(\"neetoMolecules.browserSupport.unknownBrowserMsg\");\n const browserVersion = convertSemverToFloat(browser.version || \"\");\n const browserType = browser.type;\n const deviceType = device.type;\n\n const supportedBrowserVersionsMap = mergeDeepLeft(\n overrides,\n DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS\n );\n\n const unsupportedBrowsersList = uniq(\n concat(UNSUPPORTED_BROWSERS, additionalUnsupported)\n );\n\n const isUnsupportedBrowser = isBrowserUnsupported(\n browserName,\n unsupportedBrowsersList\n );\n\n const isKnownBrowser = isBrowserSupported(\n browserName,\n supportedBrowserVersionsMap\n );\n\n const requiredMinBrowserVersion = isKnownBrowser\n ? getRequiredMinBrowserVersion(browserName, supportedBrowserVersionsMap)\n : null;\n\n const { isBrowserFullySupported, isBrowserPartiallySupported } =\n isKnownBrowser\n ? isVersionSupported(browserVersion, requiredMinBrowserVersion)\n : { isBrowserFullySupported: false, isBrowserPartiallySupported: false };\n\n const downloadPageLink = isKnownBrowser\n ? buildDownloadPageLink(browserName)\n : null;\n\n return {\n browserName,\n browserVersion,\n browserType,\n deviceType,\n isUnsupportedBrowser,\n isKnownBrowser,\n requiredMinBrowserVersion,\n isBrowserFullySupported,\n isBrowserPartiallySupported,\n downloadPageLink,\n };\n};\n","import PropTypes from \"prop-types\";\n\nimport \"./browsersupport.scss\";\nimport { TYPES } from \"./constants\";\nimport PartialSupportedBrowserVersion from \"./PartialSupportedBrowserVersion\";\nimport UnknownBrowser from \"./UnknownBrowser\";\nimport UnsupportedBrowser from \"./UnsupportedBrowser\";\nimport UnsupportedBrowserVersion from \"./UnsupportedBrowserVersion\";\nimport { getBrowserStatus } from \"./utils\";\n\nconst BrowserSupport = ({\n overrides = {},\n unsupportedBrowsers = [],\n children,\n}) => {\n const {\n browserName,\n browserVersion,\n browserType,\n deviceType,\n isUnsupportedBrowser,\n isKnownBrowser,\n isBrowserFullySupported,\n isBrowserPartiallySupported,\n requiredMinBrowserVersion,\n downloadPageLink,\n } = getBrowserStatus(overrides, unsupportedBrowsers);\n\n if (browserType === TYPES.INAPP || deviceType === TYPES.MOBILE) {\n return <>{children}</>;\n }\n\n if (isUnsupportedBrowser) {\n return <UnsupportedBrowser {...{ browserName, browserVersion }} />;\n }\n\n if (!isKnownBrowser) {\n return (\n <UnknownBrowser {...{ browserName, browserVersion }}>\n {children}\n </UnknownBrowser>\n );\n }\n\n if (isBrowserFullySupported) return <>{children}</>;\n\n if (isBrowserPartiallySupported) {\n return (\n <PartialSupportedBrowserVersion\n {...{\n browserName,\n browserVersion,\n downloadPageLink,\n requiredMinBrowserVersion,\n }}\n >\n {children}\n </PartialSupportedBrowserVersion>\n );\n }\n\n return (\n <UnsupportedBrowserVersion\n {...{\n browserName,\n browserVersion,\n downloadPageLink,\n requiredMinBrowserVersion,\n }}\n />\n );\n};\n\nBrowserSupport.propTypes = {\n /**\n * To override the default minimum supported versions of the browsers.\n */\n overrides: PropTypes.shape({\n Chrome: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n Edge: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n Firefox: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n IE: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n Opera: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n Safari: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n AndroidBrowser: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n OperaMini: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n MobileChrome: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n MobileFirefox: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n UCBrowser: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n SamsungInternet: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n }),\n /**\n * To add more browsers to the list of unsupported browsers\n */\n unsupportedBrowsers: PropTypes.arrayOf(PropTypes.string),\n};\n\nexport default BrowserSupport;\n"],"names":["DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS","Chrome","softLimit","hardLimit","Edge","Firefox","IE","Opera","Safari","WebKit","MobileChrome","MobileFirefox","MobileSafari","UCBrowser","SamsungInternet","AndroidBrowser","Electron","UNSUPPORTED_BROWSERS","BROWSER_UPGRADE_PAGE_LINKS","TYPES","INAPP","MOBILE","Callout","_ref","children","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","ContactUs","_ref$className","Trans","i18nKey","components","button","classnames","onClick","_window$NeetoChat","_window$NeetoChat2","window","NeetoChat","contextualHelp","maximizeWidget","openWidget","DownloadLink","link","href","UnsupportedVersionMessage","browserName","browserVersion","downloadPageLink","requiredMinBrowserVersion","downloadLink","contactUs","values","memo","PartialSupportedBrowserVersion","_jsxs","_Fragment","UnsupportedBrowserMessage","UnknownBrowser","UnsupportedBrowser","UnsupportedBrowserVersion","convertToPlatformBrowserName","replace","getRequiredMinBrowserVersion","supportedBrowserVersionsMap","convertSemverToFloat","_browserVersion$split","split","_browserVersion$split2","_slicedToArray","majorVersion","minorVersion","parseFloat","concat","isVersionSupported","isBrowserFullySupported","isBrowserPartiallySupported","buildDownloadPageLink","isBrowserUnsupported","unsupportedBrowsersList","includes","isBrowserSupported","getBrowserStatus","overrides","additionalUnsupported","_UAParser$getResult","UAParser","navigator","userAgent","getResult","browser","device","name","t","version","browserType","type","deviceType","mergeDeepLeft","uniq","isUnsupportedBrowser","isKnownBrowser","BrowserSupport","_ref$overrides","_ref$unsupportedBrows","unsupportedBrowsers","_getBrowserStatus"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BrowserSupport.js","sources":["../src/components/BrowserSupport/constants.js","../src/components/BrowserSupport/Callout.jsx","../src/components/BrowserSupport/ContactUs.jsx","../src/components/BrowserSupport/DownloadLink.jsx","../src/components/BrowserSupport/UnsupportedVersionMessage.jsx","../src/components/BrowserSupport/PartialSupportedBrowserVersion.jsx","../src/components/BrowserSupport/UnsupportedBrowserMessage.jsx","../src/components/BrowserSupport/UnknownBrowser.jsx","../src/components/BrowserSupport/UnsupportedBrowser.jsx","../src/components/BrowserSupport/UnsupportedBrowserVersion.jsx","../src/components/BrowserSupport/utils.js","../src/components/BrowserSupport/index.jsx"],"sourcesContent":["// Floor is set by Tailwind v4, which hardcodes its Lightning CSS targets to\n// Safari/iOS 16.4, Chrome 111 and Firefox 128 and exposes no way to lower them.\n// Below it the generated CSS (@property, oklch(), :has(), @container) is dropped\n// by the parser with no error, so the app renders broken rather than degraded.\n// Remaining engines are the first release built on an equivalent core.\nexport const DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS = {\n Chrome: { softLimit: 111, hardLimit: 111 },\n MobileChrome: { softLimit: 111, hardLimit: 111 },\n Edge: { softLimit: 111, hardLimit: 111 },\n Firefox: { softLimit: 128, hardLimit: 128 },\n MobileFirefox: { softLimit: 128, hardLimit: 128 },\n Safari: { softLimit: 16.4, hardLimit: 16.4 },\n MobileSafari: { softLimit: 16.4, hardLimit: 16.4 },\n Opera: { softLimit: 98, hardLimit: 98 },\n SamsungInternet: { softLimit: 22, hardLimit: 22 },\n Electron: { softLimit: 24, hardLimit: 24 },\n // Safari freezes the WebKit build number in its UA (605.1.15 since Safari\n // 12), so this cannot discriminate versions. Kept only to keep generic\n // WebKit clients out of the unknown-browser branch.\n WebKit: { softLimit: 605, hardLimit: 605 },\n};\n\n// Engines that cannot reach the floor at any released version.\nexport const UNSUPPORTED_BROWSERS = [\n \"OperaMini\",\n \"IE\",\n \"UCBrowser\",\n \"AndroidBrowser\",\n];\n\nexport const BROWSER_UPGRADE_PAGE_LINKS = {\n Chrome: \"https://www.google.com/chrome/update\",\n Edge: \"https://support.microsoft.com/en-us/topic/microsoft-edge-update-settings-af8aaca2-1b69-4870-94fe-18822dbb7ef1#:~:text=Update%20once,Download%20and%20install%20to%20proceed\",\n Firefox: \"https://support.mozilla.org/en-US/kb/update-firefox-latest-release\",\n 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\",\n Opera: \"https://help.opera.com/en/latest/crashes-and-issues/#updateBrowser\",\n Safari: \"https://support.apple.com/HT204416\",\n WebKit: \"https://support.apple.com/HT204204\",\n MobileChrome:\n \"https://play.google.com/store/apps/details?id=com.android.chrome&hl=en_IN&gl=US\",\n MobileFirefox:\n \"https://play.google.com/store/apps/details?id=org.mozilla.firefox&hl=en_IN&gl=US\",\n MobileSafari: \"https://support.apple.com/HT204416\",\n UCBrowser:\n \"https://play.google.com/store/apps/details?id=com.UCMobile.intl&hl=en_IN&gl=US\",\n SamsungInternet:\n \"https://play.google.com/store/apps/details?id=com.sec.android.app.sbrowser&hl=en_IN&gl=US\",\n};\n\nexport const TYPES = { INAPP: \"inapp\", MOBILE: \"mobile\" };\n\n// Where mount() looks for the app root, so the gate can take the same element\n// before the app chunk is imported.\nexport const DEFAULT_MOUNT_SELECTOR = \"[data-react-class]\";\n\n// The page loader rendered by shared/_page_loader in neeto-commons-backend. It\n// sits outside the react root, so blocking has to take it down explicitly or it\n// keeps spinning over the message.\nexport const DEFAULT_LOADER_SELECTOR = \"#neeto-page-loader\";\n","const Callout = ({ children, ...props }) => (\n <div\n className=\"neeto-molecules-browser-support-callout\"\n data-testid=\"browser-support-callout\"\n {...props}\n >\n <p className=\"neeto-molecules-browser-support-callout__message\">\n {children}\n </p>\n </div>\n);\n\nexport default Callout;\n","import classnames from \"classnames\";\nimport { Trans } from \"react-i18next\";\n\nconst ContactUs = ({ className = \"\" }) => (\n <Trans\n i18nKey=\"neetoMolecules.browserSupport.contactUs.main\"\n components={{\n button: (\n <button\n className={classnames(\n \"neeto-molecules-browser-support__link-button\",\n className\n )}\n onClick={() => {\n window.NeetoChat?.contextualHelp?.maximizeWidget();\n window.NeetoChat?.contextualHelp?.openWidget();\n }}\n />\n ),\n }}\n />\n);\n\nexport default ContactUs;\n","import classnames from \"classnames\";\nimport { Trans } from \"react-i18next\";\n\nconst DownloadLink = ({ className = \"\", link }) => (\n <Trans\n i18nKey=\"neetoMolecules.browserSupport.downloadLink.main\"\n components={{\n // Not every engine has an upgrade page to point at: an Electron client is\n // updated by whoever ships it. Render the words rather than a dead link.\n button: link ? (\n <a\n href={link}\n className={classnames(\n \"neeto-molecules-browser-support__link-button\",\n className\n )}\n />\n ) : (\n <span {...{ className }} />\n ),\n }}\n />\n);\n\nexport default DownloadLink;\n","import { memo } from \"react\";\n\nimport { Trans } from \"react-i18next\";\n\nimport ContactUs from \"./ContactUs\";\nimport DownloadLink from \"./DownloadLink\";\n\nconst UnsupportedVersionMessage = ({\n browserName,\n browserVersion,\n className = \"\",\n downloadPageLink,\n requiredMinBrowserVersion,\n}) => (\n <Trans\n i18nKey=\"neetoMolecules.browserSupport.unsupportedBrowserVersion.description\"\n components={{\n downloadLink: <DownloadLink {...{ className }} link={downloadPageLink} />,\n contactUs: <ContactUs {...{ className }} />,\n }}\n values={{\n browserName,\n browserVersion,\n requiredMinBrowserVersion: requiredMinBrowserVersion?.softLimit,\n }}\n />\n);\n\nexport default memo(UnsupportedVersionMessage);\n","import Callout from \"./Callout\";\nimport UnsupportedVersionMessage from \"./UnsupportedVersionMessage\";\n\nexport const PartialSupportedBrowserVersion = ({\n browserName,\n browserVersion,\n requiredMinBrowserVersion,\n downloadPageLink,\n children,\n}) => (\n <>\n <Callout>\n <UnsupportedVersionMessage\n {...{\n browserName,\n browserVersion,\n downloadPageLink,\n requiredMinBrowserVersion,\n }}\n />\n </Callout>\n {children}\n </>\n);\n\nexport default PartialSupportedBrowserVersion;\n","import { memo } from \"react\";\n\nimport { Trans } from \"react-i18next\";\n\nimport ContactUs from \"./ContactUs\";\n\nconst UnsupportedBrowserMessage = ({\n browserName,\n browserVersion,\n className = \"\",\n}) => (\n <Trans\n components={{ contactUs: <ContactUs {...{ className }} /> }}\n i18nKey=\"neetoMolecules.browserSupport.unsupportedBrowser.description\"\n values={{ browserName, browserVersion }}\n />\n);\n\nexport default memo(UnsupportedBrowserMessage);\n","import Callout from \"./Callout\";\nimport UnsupportedBrowserMessage from \"./UnsupportedBrowserMessage\";\n\nconst UnknownBrowser = ({ browserName, browserVersion, children }) => (\n <>\n <Callout>\n <UnsupportedBrowserMessage {...{ browserName, browserVersion }} />\n </Callout>\n {children}\n </>\n);\n\nexport default UnknownBrowser;\n","import { memo } from \"react\";\n\nimport { Trans } from \"react-i18next\";\n\nimport UnsupportedBrowserMessage from \"./UnsupportedBrowserMessage\";\n\nconst UnsupportedBrowser = ({ browserName, browserVersion }) => (\n <div\n className=\"neeto-molecules-browser-support-page\"\n data-testid=\"browser-support-page\"\n >\n <div className=\"neeto-molecules-browser-support-page__content\">\n <h1 className=\"neeto-molecules-browser-support-page__header\">\n <Trans i18nKey=\"neetoMolecules.browserSupport.unsupportedBrowser.title\" />\n </h1>\n <p className=\"neeto-molecules-browser-support-page__desc\">\n <UnsupportedBrowserMessage\n {...{ browserName, browserVersion }}\n className=\"neeto-ui-text-body1\"\n />\n </p>\n </div>\n </div>\n);\n\nexport default memo(UnsupportedBrowser);\n","import { memo } from \"react\";\n\nimport { Trans } from \"react-i18next\";\n\nimport UnsupportedVersionMessage from \"./UnsupportedVersionMessage\";\n\nconst UnsupportedBrowserVersion = ({\n browserName,\n browserVersion,\n requiredMinBrowserVersion,\n downloadPageLink,\n}) => (\n <div\n className=\"neeto-molecules-browser-support-page\"\n data-testid=\"browser-support-page\"\n >\n <div className=\"neeto-molecules-browser-support-page__content\">\n <h1 className=\"neeto-molecules-browser-support-page__header\">\n <Trans i18nKey=\"neetoMolecules.browserSupport.unsupportedBrowserVersion.title\" />\n </h1>\n <p className=\"neeto-molecules-browser-support-page__desc\">\n <UnsupportedVersionMessage\n {...{\n browserName,\n browserVersion,\n downloadPageLink,\n requiredMinBrowserVersion,\n }}\n />\n </p>\n </div>\n </div>\n);\n\nexport default memo(UnsupportedBrowserVersion);\n","import { t } from \"i18next\";\nimport { concat, mergeDeepLeft, uniq } from \"ramda\";\nimport { UAParser } from \"ua-parser-js\";\n\nimport {\n BROWSER_UPGRADE_PAGE_LINKS,\n DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS,\n TYPES,\n UNSUPPORTED_BROWSERS,\n} from \"./constants\";\n\nconst convertToPlatformBrowserName = browserName =>\n browserName.replace(/\\s/g, \"\");\n\nconst getRequiredMinBrowserVersion = (\n browserName,\n supportedBrowserVersionsMap\n) => supportedBrowserVersionsMap[convertToPlatformBrowserName(browserName)];\n\nconst convertSemverToFloat = browserVersion => {\n const [majorVersion, minorVersion] = browserVersion.split(\".\");\n\n return parseFloat(`${majorVersion}.${minorVersion}`) || \"\";\n};\n\nconst isVersionSupported = (browserVersion, requiredMinBrowserVersion) => {\n const isBrowserFullySupported =\n browserVersion >= requiredMinBrowserVersion?.softLimit;\n\n const isBrowserPartiallySupported =\n browserVersion >= requiredMinBrowserVersion?.hardLimit;\n\n return { isBrowserFullySupported, isBrowserPartiallySupported };\n};\n\nconst buildDownloadPageLink = browserName =>\n BROWSER_UPGRADE_PAGE_LINKS[convertToPlatformBrowserName(browserName)];\n\nconst isBrowserUnsupported = (browserName, unsupportedBrowsersList) =>\n unsupportedBrowsersList.includes(convertToPlatformBrowserName(browserName));\n\nconst isBrowserSupported = (browserName, supportedBrowserVersionsMap) =>\n !!supportedBrowserVersionsMap[convertToPlatformBrowserName(browserName)];\n\n/*\nMirrors the branches of the BrowserSupport render ladder that swallow their\nchildren. Kept beside getBrowserStatus so a caller can learn the verdict without\nrendering, and covered by a test asserting it agrees with what the component\nactually renders.\n*/\nexport const isBrowserBlocked = ({\n browserType,\n deviceType,\n isUnsupportedBrowser,\n isKnownBrowser,\n isBrowserFullySupported,\n isBrowserPartiallySupported,\n}) => {\n if (browserType === TYPES.INAPP || deviceType === TYPES.MOBILE) return false;\n\n if (isUnsupportedBrowser) return true;\n\n if (!isKnownBrowser) return false;\n\n return !isBrowserFullySupported && !isBrowserPartiallySupported;\n};\n\nexport const getBrowserStatus = (overrides, additionalUnsupported) => {\n const { browser, device } = new UAParser(navigator.userAgent).getResult();\n\n const browserName =\n browser.name || t(\"neetoMolecules.browserSupport.unknownBrowserMsg\");\n const browserVersion = convertSemverToFloat(browser.version || \"\");\n const browserType = browser.type;\n const deviceType = device.type;\n\n const supportedBrowserVersionsMap = mergeDeepLeft(\n overrides,\n DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS\n );\n\n const unsupportedBrowsersList = uniq(\n concat(UNSUPPORTED_BROWSERS, additionalUnsupported)\n );\n\n const isUnsupportedBrowser = isBrowserUnsupported(\n browserName,\n unsupportedBrowsersList\n );\n\n const isKnownBrowser = isBrowserSupported(\n browserName,\n supportedBrowserVersionsMap\n );\n\n const requiredMinBrowserVersion = isKnownBrowser\n ? getRequiredMinBrowserVersion(browserName, supportedBrowserVersionsMap)\n : null;\n\n const { isBrowserFullySupported, isBrowserPartiallySupported } =\n isKnownBrowser\n ? isVersionSupported(browserVersion, requiredMinBrowserVersion)\n : { isBrowserFullySupported: false, isBrowserPartiallySupported: false };\n\n const downloadPageLink = isKnownBrowser\n ? buildDownloadPageLink(browserName)\n : null;\n\n return {\n browserName,\n browserVersion,\n browserType,\n deviceType,\n isUnsupportedBrowser,\n isKnownBrowser,\n requiredMinBrowserVersion,\n isBrowserFullySupported,\n isBrowserPartiallySupported,\n downloadPageLink,\n };\n};\n","import PropTypes from \"prop-types\";\nimport { createRoot } from \"react-dom/client\";\n\nimport \"./browsersupport.scss\";\nimport {\n DEFAULT_LOADER_SELECTOR,\n DEFAULT_MOUNT_SELECTOR,\n TYPES,\n} from \"./constants\";\nimport PartialSupportedBrowserVersion from \"./PartialSupportedBrowserVersion\";\nimport UnknownBrowser from \"./UnknownBrowser\";\nimport UnsupportedBrowser from \"./UnsupportedBrowser\";\nimport UnsupportedBrowserVersion from \"./UnsupportedBrowserVersion\";\nimport { getBrowserStatus, isBrowserBlocked } from \"./utils\";\n\nconst BrowserSupport = ({\n overrides = {},\n unsupportedBrowsers = [],\n children,\n}) => {\n const {\n browserName,\n browserVersion,\n browserType,\n deviceType,\n isUnsupportedBrowser,\n isKnownBrowser,\n isBrowserFullySupported,\n isBrowserPartiallySupported,\n requiredMinBrowserVersion,\n downloadPageLink,\n } = getBrowserStatus(overrides, unsupportedBrowsers);\n\n if (browserType === TYPES.INAPP || deviceType === TYPES.MOBILE) {\n return <>{children}</>;\n }\n\n if (isUnsupportedBrowser) {\n return <UnsupportedBrowser {...{ browserName, browserVersion }} />;\n }\n\n if (!isKnownBrowser) {\n return (\n <UnknownBrowser {...{ browserName, browserVersion }}>\n {children}\n </UnknownBrowser>\n );\n }\n\n if (isBrowserFullySupported) return <>{children}</>;\n\n if (isBrowserPartiallySupported) {\n return (\n <PartialSupportedBrowserVersion\n {...{\n browserName,\n browserVersion,\n downloadPageLink,\n requiredMinBrowserVersion,\n }}\n >\n {children}\n </PartialSupportedBrowserVersion>\n );\n }\n\n return (\n <UnsupportedBrowserVersion\n {...{\n browserName,\n browserVersion,\n downloadPageLink,\n requiredMinBrowserVersion,\n }}\n />\n );\n};\n\nBrowserSupport.propTypes = {\n /**\n * To override the default minimum supported versions of the browsers.\n */\n overrides: PropTypes.shape({\n Chrome: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n MobileChrome: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n Edge: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n Firefox: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n MobileFirefox: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n Safari: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n MobileSafari: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n Opera: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n SamsungInternet: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n Electron: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n WebKit: PropTypes.shape({\n hardLimit: PropTypes.number,\n softLimit: PropTypes.number,\n }),\n }),\n /**\n * To add more browsers to the list of unsupported browsers\n */\n unsupportedBrowsers: PropTypes.arrayOf(PropTypes.string),\n};\n\n/*\nRenders the unsupported-browser page ahead of the app, and reports whether the\napp should be mounted at all.\n\nProducts mount BrowserSupport inside their React tree, which cannot help when\nthe browser is old enough that the app chunk fails to parse: the dynamic import\nrejects and React never renders, so the user gets a blank page instead of an\nexplanation. Call this from the pack, before mount(), where only the entry\nchunk has had to parse.\n\nReturns true when the browser was blocked and the app must not be mounted.\n*/\nexport const renderBrowserSupportGate = ({\n overrides = {},\n unsupportedBrowsers = [],\n element,\n loaderSelector = DEFAULT_LOADER_SELECTOR,\n} = {}) => {\n const target = element ?? document.querySelector(DEFAULT_MOUNT_SELECTOR);\n if (!target) return false;\n\n if (!isBrowserBlocked(getBrowserStatus(overrides, unsupportedBrowsers))) {\n return false;\n }\n\n document.querySelector(loaderSelector)?.remove();\n createRoot(target).render(\n <BrowserSupport {...{ overrides, unsupportedBrowsers }} />\n );\n\n return true;\n};\n\nexport default BrowserSupport;\n"],"names":["DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS","Chrome","softLimit","hardLimit","MobileChrome","Edge","Firefox","MobileFirefox","Safari","MobileSafari","Opera","SamsungInternet","Electron","WebKit","UNSUPPORTED_BROWSERS","BROWSER_UPGRADE_PAGE_LINKS","IE","UCBrowser","TYPES","INAPP","MOBILE","DEFAULT_MOUNT_SELECTOR","DEFAULT_LOADER_SELECTOR","Callout","_ref","children","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","className","ContactUs","_ref$className","Trans","i18nKey","components","button","classnames","onClick","_window$NeetoChat","_window$NeetoChat2","window","NeetoChat","contextualHelp","maximizeWidget","openWidget","DownloadLink","link","href","UnsupportedVersionMessage","browserName","browserVersion","downloadPageLink","requiredMinBrowserVersion","downloadLink","contactUs","values","memo","PartialSupportedBrowserVersion","_jsxs","_Fragment","UnsupportedBrowserMessage","UnknownBrowser","UnsupportedBrowser","UnsupportedBrowserVersion","convertToPlatformBrowserName","replace","getRequiredMinBrowserVersion","supportedBrowserVersionsMap","convertSemverToFloat","_browserVersion$split","split","_browserVersion$split2","_slicedToArray","majorVersion","minorVersion","parseFloat","concat","isVersionSupported","isBrowserFullySupported","isBrowserPartiallySupported","buildDownloadPageLink","isBrowserUnsupported","unsupportedBrowsersList","includes","isBrowserSupported","isBrowserBlocked","browserType","deviceType","isUnsupportedBrowser","isKnownBrowser","getBrowserStatus","overrides","additionalUnsupported","_UAParser$getResult","UAParser","navigator","userAgent","getResult","browser","device","name","t","version","type","mergeDeepLeft","uniq","_ref2","BrowserSupport","_ref$overrides","_ref$unsupportedBrows","unsupportedBrowsers","_getBrowserStatus","renderBrowserSupportGate","_document$querySelect","arguments","length","undefined","_ref2$overrides","_ref2$unsupportedBrow","element","_ref2$loaderSelector","loaderSelector","target","document","querySelector","remove","createRoot","render"],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var client = require('react-dom/client');
|
|
3
6
|
var injectCss = require('./inject-css-B6qYtOJe.js');
|
|
4
7
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
8
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -12,68 +15,66 @@ var i18next = require('i18next');
|
|
|
12
15
|
var ramda = require('ramda');
|
|
13
16
|
var uaParserJs = require('ua-parser-js');
|
|
14
17
|
|
|
15
|
-
var css = ":root{--neeto-molecules-browser-support-callout-bg:#feecf0;--neeto-molecules-browser-support-border-color:#d7373f;--neeto-molecules-browser-support-text-color:#121212;--neeto-molecules-browser-support-link-color:#2d36d4}.neeto-molecules-browser-support-callout{background-color:#feecf0;background-color:var(--neeto-molecules-browser-support-callout-bg);display:flex;justify-content:center;line-height:1.5;padding:.3125rem .625rem}.neeto-molecules-browser-support-callout__message{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:.875rem}.neeto-molecules-browser-support-page{align-items:center;background-color:#fff;display:flex;flex-direction:column;height:100vh;height:100dvh;justify-content:center;overflow-y:auto}.neeto-molecules-browser-support-page__content{align-items:center;display:flex;flex-direction:column;justify-content:center;max-width:100%;padding-left:.9375rem;padding-right:.9375rem;width:45rem}.neeto-molecules-browser-support-page__header{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:1.5rem;margin:0 0 .5rem}.neeto-molecules-browser-support-page__desc{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:1rem;line-height:1.5;margin:0 0 1rem}.neeto-molecules-browser-support-callout__message,.neeto-molecules-browser-support-page__desc{text-align:center}.neeto-molecules-browser-support-callout__message a,.neeto-molecules-browser-support-page__desc a{color:#2d36d4;color:var(--neeto-molecules-browser-support-link-color)}.neeto-molecules-browser-support-callout__message a:hover,.neeto-molecules-browser-support-page__desc a:hover{text-decoration:underline}.neeto-molecules-browser-support__link-button{color:#2d36d4;color:var(--neeto-molecules-browser-support-link-color)
|
|
18
|
+
var css = ":root{--neeto-molecules-browser-support-callout-bg:#feecf0;--neeto-molecules-browser-support-border-color:#d7373f;--neeto-molecules-browser-support-text-color:#121212;--neeto-molecules-browser-support-link-color:#2d36d4}.neeto-molecules-browser-support-callout{background-color:#feecf0;background-color:var(--neeto-molecules-browser-support-callout-bg);display:flex;justify-content:center;line-height:1.5;padding:.3125rem .625rem}.neeto-molecules-browser-support-callout__message{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:.875rem}.neeto-molecules-browser-support-page{align-items:center;background-color:#fff;display:flex;flex-direction:column;height:100vh;height:100dvh;justify-content:center;overflow-y:auto}.neeto-molecules-browser-support-page__content{align-items:center;display:flex;flex-direction:column;justify-content:center;max-width:100%;padding-left:.9375rem;padding-right:.9375rem;width:45rem}.neeto-molecules-browser-support-page__header{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:1.5rem;margin:0 0 .5rem}.neeto-molecules-browser-support-page__desc{color:#121212;color:var(--neeto-molecules-browser-support-text-color);font-size:1rem;line-height:1.5;margin:0 0 1rem}.neeto-molecules-browser-support-callout__message,.neeto-molecules-browser-support-page__desc{text-align:center}.neeto-molecules-browser-support-callout__message a,.neeto-molecules-browser-support-page__desc a{color:#2d36d4;color:var(--neeto-molecules-browser-support-link-color)}.neeto-molecules-browser-support-callout__message a:hover,.neeto-molecules-browser-support-page__desc a:hover{text-decoration:underline}.neeto-molecules-browser-support__link-button{color:#2d36d4;color:var(--neeto-molecules-browser-support-link-color);cursor:pointer;text-decoration:underline;text-underline-offset:2px}";
|
|
16
19
|
injectCss.n(css,{});
|
|
17
20
|
|
|
21
|
+
// Floor is set by Tailwind v4, which hardcodes its Lightning CSS targets to
|
|
22
|
+
// Safari/iOS 16.4, Chrome 111 and Firefox 128 and exposes no way to lower them.
|
|
23
|
+
// Below it the generated CSS (@property, oklch(), :has(), @container) is dropped
|
|
24
|
+
// by the parser with no error, so the app renders broken rather than degraded.
|
|
25
|
+
// Remaining engines are the first release built on an equivalent core.
|
|
18
26
|
var DEFAULT_MINIMUM_SUPPORTED_BROWSER_VERSIONS = {
|
|
19
27
|
Chrome: {
|
|
20
|
-
softLimit:
|
|
21
|
-
hardLimit:
|
|
28
|
+
softLimit: 111,
|
|
29
|
+
hardLimit: 111
|
|
30
|
+
},
|
|
31
|
+
MobileChrome: {
|
|
32
|
+
softLimit: 111,
|
|
33
|
+
hardLimit: 111
|
|
22
34
|
},
|
|
23
35
|
Edge: {
|
|
24
|
-
softLimit:
|
|
25
|
-
hardLimit:
|
|
36
|
+
softLimit: 111,
|
|
37
|
+
hardLimit: 111
|
|
26
38
|
},
|
|
27
39
|
Firefox: {
|
|
28
|
-
softLimit:
|
|
29
|
-
hardLimit:
|
|
40
|
+
softLimit: 128,
|
|
41
|
+
hardLimit: 128
|
|
30
42
|
},
|
|
31
|
-
|
|
32
|
-
softLimit:
|
|
33
|
-
hardLimit:
|
|
34
|
-
},
|
|
35
|
-
Opera: {
|
|
36
|
-
softLimit: 93,
|
|
37
|
-
hardLimit: 89
|
|
43
|
+
MobileFirefox: {
|
|
44
|
+
softLimit: 128,
|
|
45
|
+
hardLimit: 128
|
|
38
46
|
},
|
|
39
47
|
Safari: {
|
|
40
|
-
softLimit:
|
|
41
|
-
hardLimit:
|
|
42
|
-
},
|
|
43
|
-
WebKit: {
|
|
44
|
-
softLimit: 604,
|
|
45
|
-
hardLimit: 600
|
|
46
|
-
},
|
|
47
|
-
MobileChrome: {
|
|
48
|
-
softLimit: 109,
|
|
49
|
-
hardLimit: 105
|
|
50
|
-
},
|
|
51
|
-
MobileFirefox: {
|
|
52
|
-
softLimit: 109,
|
|
53
|
-
hardLimit: 105
|
|
48
|
+
softLimit: 16.4,
|
|
49
|
+
hardLimit: 16.4
|
|
54
50
|
},
|
|
55
51
|
MobileSafari: {
|
|
56
|
-
softLimit:
|
|
57
|
-
hardLimit:
|
|
52
|
+
softLimit: 16.4,
|
|
53
|
+
hardLimit: 16.4
|
|
58
54
|
},
|
|
59
|
-
|
|
60
|
-
softLimit:
|
|
61
|
-
hardLimit:
|
|
55
|
+
Opera: {
|
|
56
|
+
softLimit: 98,
|
|
57
|
+
hardLimit: 98
|
|
62
58
|
},
|
|
63
59
|
SamsungInternet: {
|
|
64
|
-
softLimit:
|
|
65
|
-
hardLimit:
|
|
66
|
-
},
|
|
67
|
-
AndroidBrowser: {
|
|
68
|
-
softLimit: 4,
|
|
69
|
-
hardLimit: 3
|
|
60
|
+
softLimit: 22,
|
|
61
|
+
hardLimit: 22
|
|
70
62
|
},
|
|
71
63
|
Electron: {
|
|
72
|
-
softLimit:
|
|
73
|
-
hardLimit:
|
|
64
|
+
softLimit: 24,
|
|
65
|
+
hardLimit: 24
|
|
66
|
+
},
|
|
67
|
+
// Safari freezes the WebKit build number in its UA (605.1.15 since Safari
|
|
68
|
+
// 12), so this cannot discriminate versions. Kept only to keep generic
|
|
69
|
+
// WebKit clients out of the unknown-browser branch.
|
|
70
|
+
WebKit: {
|
|
71
|
+
softLimit: 605,
|
|
72
|
+
hardLimit: 605
|
|
74
73
|
}
|
|
75
74
|
};
|
|
76
|
-
|
|
75
|
+
|
|
76
|
+
// Engines that cannot reach the floor at any released version.
|
|
77
|
+
var UNSUPPORTED_BROWSERS = ["OperaMini", "IE", "UCBrowser", "AndroidBrowser"];
|
|
77
78
|
var BROWSER_UPGRADE_PAGE_LINKS = {
|
|
78
79
|
Chrome: "https://www.google.com/chrome/update",
|
|
79
80
|
Edge: "https://support.microsoft.com/en-us/topic/microsoft-edge-update-settings-af8aaca2-1b69-4870-94fe-18822dbb7ef1#:~:text=Update%20once,Download%20and%20install%20to%20proceed",
|
|
@@ -93,6 +94,15 @@ var TYPES = {
|
|
|
93
94
|
MOBILE: "mobile"
|
|
94
95
|
};
|
|
95
96
|
|
|
97
|
+
// Where mount() looks for the app root, so the gate can take the same element
|
|
98
|
+
// before the app chunk is imported.
|
|
99
|
+
var DEFAULT_MOUNT_SELECTOR = "[data-react-class]";
|
|
100
|
+
|
|
101
|
+
// The page loader rendered by shared/_page_loader in neeto-commons-backend. It
|
|
102
|
+
// sits outside the react root, so blocking has to take it down explicitly or it
|
|
103
|
+
// keeps spinning over the message.
|
|
104
|
+
var DEFAULT_LOADER_SELECTOR = "#neeto-page-loader";
|
|
105
|
+
|
|
96
106
|
var _excluded = ["children"];
|
|
97
107
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
98
108
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -133,13 +143,17 @@ var DownloadLink = function DownloadLink(_ref) {
|
|
|
133
143
|
className = _ref$className === void 0 ? "" : _ref$className,
|
|
134
144
|
link = _ref.link;
|
|
135
145
|
return /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
146
|
+
i18nKey: "neetoMolecules.browserSupport.downloadLink.main",
|
|
136
147
|
components: {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
148
|
+
// Not every engine has an upgrade page to point at: an Electron client is
|
|
149
|
+
// updated by whoever ships it. Render the words rather than a dead link.
|
|
150
|
+
button: link ? /*#__PURE__*/jsxRuntime.jsx("a", {
|
|
151
|
+
href: link,
|
|
152
|
+
className: classnames("neeto-molecules-browser-support__link-button", className)
|
|
153
|
+
}) : /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
154
|
+
className: className
|
|
140
155
|
})
|
|
141
|
-
}
|
|
142
|
-
i18nKey: "neetoMolecules.browserSupport.downloadLink.main"
|
|
156
|
+
}
|
|
143
157
|
});
|
|
144
158
|
};
|
|
145
159
|
|
|
@@ -307,6 +321,25 @@ var isBrowserUnsupported = function isBrowserUnsupported(browserName, unsupporte
|
|
|
307
321
|
var isBrowserSupported = function isBrowserSupported(browserName, supportedBrowserVersionsMap) {
|
|
308
322
|
return !!supportedBrowserVersionsMap[convertToPlatformBrowserName(browserName)];
|
|
309
323
|
};
|
|
324
|
+
|
|
325
|
+
/*
|
|
326
|
+
Mirrors the branches of the BrowserSupport render ladder that swallow their
|
|
327
|
+
children. Kept beside getBrowserStatus so a caller can learn the verdict without
|
|
328
|
+
rendering, and covered by a test asserting it agrees with what the component
|
|
329
|
+
actually renders.
|
|
330
|
+
*/
|
|
331
|
+
var isBrowserBlocked = function isBrowserBlocked(_ref) {
|
|
332
|
+
var browserType = _ref.browserType,
|
|
333
|
+
deviceType = _ref.deviceType,
|
|
334
|
+
isUnsupportedBrowser = _ref.isUnsupportedBrowser,
|
|
335
|
+
isKnownBrowser = _ref.isKnownBrowser,
|
|
336
|
+
isBrowserFullySupported = _ref.isBrowserFullySupported,
|
|
337
|
+
isBrowserPartiallySupported = _ref.isBrowserPartiallySupported;
|
|
338
|
+
if (browserType === TYPES.INAPP || deviceType === TYPES.MOBILE) return false;
|
|
339
|
+
if (isUnsupportedBrowser) return true;
|
|
340
|
+
if (!isKnownBrowser) return false;
|
|
341
|
+
return !isBrowserFullySupported && !isBrowserPartiallySupported;
|
|
342
|
+
};
|
|
310
343
|
var getBrowserStatus = function getBrowserStatus(overrides, additionalUnsupported) {
|
|
311
344
|
var _UAParser$getResult = new uaParserJs.UAParser(navigator.userAgent).getResult(),
|
|
312
345
|
browser = _UAParser$getResult.browser,
|
|
@@ -320,12 +353,12 @@ var getBrowserStatus = function getBrowserStatus(overrides, additionalUnsupporte
|
|
|
320
353
|
var isUnsupportedBrowser = isBrowserUnsupported(browserName, unsupportedBrowsersList);
|
|
321
354
|
var isKnownBrowser = isBrowserSupported(browserName, supportedBrowserVersionsMap);
|
|
322
355
|
var requiredMinBrowserVersion = isKnownBrowser ? getRequiredMinBrowserVersion(browserName, supportedBrowserVersionsMap) : null;
|
|
323
|
-
var
|
|
356
|
+
var _ref2 = isKnownBrowser ? isVersionSupported(browserVersion, requiredMinBrowserVersion) : {
|
|
324
357
|
isBrowserFullySupported: false,
|
|
325
358
|
isBrowserPartiallySupported: false
|
|
326
359
|
},
|
|
327
|
-
isBrowserFullySupported =
|
|
328
|
-
isBrowserPartiallySupported =
|
|
360
|
+
isBrowserFullySupported = _ref2.isBrowserFullySupported,
|
|
361
|
+
isBrowserPartiallySupported = _ref2.isBrowserPartiallySupported;
|
|
329
362
|
var downloadPageLink = isKnownBrowser ? buildDownloadPageLink(browserName) : null;
|
|
330
363
|
return {
|
|
331
364
|
browserName: browserName,
|
|
@@ -395,6 +428,41 @@ var BrowserSupport = function BrowserSupport(_ref) {
|
|
|
395
428
|
requiredMinBrowserVersion: requiredMinBrowserVersion
|
|
396
429
|
});
|
|
397
430
|
};
|
|
431
|
+
/*
|
|
432
|
+
Renders the unsupported-browser page ahead of the app, and reports whether the
|
|
433
|
+
app should be mounted at all.
|
|
434
|
+
|
|
435
|
+
Products mount BrowserSupport inside their React tree, which cannot help when
|
|
436
|
+
the browser is old enough that the app chunk fails to parse: the dynamic import
|
|
437
|
+
rejects and React never renders, so the user gets a blank page instead of an
|
|
438
|
+
explanation. Call this from the pack, before mount(), where only the entry
|
|
439
|
+
chunk has had to parse.
|
|
440
|
+
|
|
441
|
+
Returns true when the browser was blocked and the app must not be mounted.
|
|
442
|
+
*/
|
|
443
|
+
var renderBrowserSupportGate = function renderBrowserSupportGate() {
|
|
444
|
+
var _document$querySelect;
|
|
445
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
446
|
+
_ref2$overrides = _ref2.overrides,
|
|
447
|
+
overrides = _ref2$overrides === void 0 ? {} : _ref2$overrides,
|
|
448
|
+
_ref2$unsupportedBrow = _ref2.unsupportedBrowsers,
|
|
449
|
+
unsupportedBrowsers = _ref2$unsupportedBrow === void 0 ? [] : _ref2$unsupportedBrow,
|
|
450
|
+
element = _ref2.element,
|
|
451
|
+
_ref2$loaderSelector = _ref2.loaderSelector,
|
|
452
|
+
loaderSelector = _ref2$loaderSelector === void 0 ? DEFAULT_LOADER_SELECTOR : _ref2$loaderSelector;
|
|
453
|
+
var target = element !== null && element !== void 0 ? element : document.querySelector(DEFAULT_MOUNT_SELECTOR);
|
|
454
|
+
if (!target) return false;
|
|
455
|
+
if (!isBrowserBlocked(getBrowserStatus(overrides, unsupportedBrowsers))) {
|
|
456
|
+
return false;
|
|
457
|
+
}
|
|
458
|
+
(_document$querySelect = document.querySelector(loaderSelector)) === null || _document$querySelect === void 0 || _document$querySelect.remove();
|
|
459
|
+
client.createRoot(target).render(/*#__PURE__*/jsxRuntime.jsx(BrowserSupport, {
|
|
460
|
+
overrides: overrides,
|
|
461
|
+
unsupportedBrowsers: unsupportedBrowsers
|
|
462
|
+
}));
|
|
463
|
+
return true;
|
|
464
|
+
};
|
|
398
465
|
|
|
399
|
-
|
|
466
|
+
exports.default = BrowserSupport;
|
|
467
|
+
exports.renderBrowserSupportGate = renderBrowserSupportGate;
|
|
400
468
|
//# sourceMappingURL=BrowserSupport.js.map
|