();\n\n checkBrowser() {\n const ua = navigator.userAgent;\n let tem,\n M =\n ua.match(\n /(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i\n ) || [];\n if (/trident/i.test(M[1])) {\n tem = /\\brv[ :]+(\\d+)/g.exec(ua) || [];\n return { name: 'IE', version: tem[1] || '' };\n }\n if (M[1] === 'Chrome') {\n tem = ua.match(/\\bOPR|Edge\\/(\\d+)/);\n if (tem != null) {\n return { name: 'Opera', version: tem[1] };\n }\n }\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\n if ((tem = ua.match(/version\\/(\\d+\\.\\d+)/i)) != null) {\n M.splice(1, 1, tem[1]);\n }\n return {\n name: M[0],\n version: parseFloat(M[1]),\n };\n }\n\n /*\n * Create a Map for any menu that request mobile mode\n */\n private processRequests(menuId: string, mode: string) {\n if (mode === 'mobile') {\n this.requestsBufferMap.set(menuId, true);\n } else if (this.requestsBufferMap.has(menuId)) {\n this.requestsBufferMap.delete(menuId);\n }\n\n // set header mobile mode if at least 1 menu requires mobile mode\n this.isMobile = this.requestsBufferMap.size > 0;\n }\n\n private _menuModeListener(e: CustomEvent) {\n this.processRequests(e.detail.menuId, e.detail.mode);\n }\n\n render() {\n this.translateObserver();\n return html`\n ${this.browserInfo?.name === 'Safari' && this.browserInfo?.version < 15.5\n ? html`\n \n ${this.warningText}\n
`\n : null}\n\n