1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./zoom-privacy.BFqd9N-A.js","./app-shared.DUa2vUya.js","./rolldown-runtime.DEcEaBT7.js","./zoom-ui.CS5w_Hhr.js","./vue-core.B1XZHJcz.js","../assets/zoom-ui.DVS4344l.css","../assets/app-shared.DQF1YM_7.css","./login-disclaimer.D7q-3Dn2.js","../assets/login-disclaimer.x9EwgjFL.css","./aic-guide.C7gJrba-.js","./app-new-experience-portal.D7u74EsY.js","./zoom-fusion.DgoIiUAe.js","../assets/zoom-fusion.BhGB03MM.css","./app-avatar-menu.IUcxj0ao.js","../assets/app-avatar-menu.z1IgNGTR.css","./app-ai-companion.CMGw6hgE.js","./app-admin-menu.BqYrctsT.js","../assets/app-ai-companion.BjCHzD6c.css","../assets/app-new-experience-portal.O28Y6OUM.css","../assets/aic-guide.D1jdDaB2.css","./division-tips.DmOeRYSX.js","../assets/division-tips.DbuDFxPW.css","./external-account.DKGch3tL.js","../assets/external-account.CeeS-Dud.css","./web-dialog.8VKhYAXq.js","../assets/web-dialog.DSASgN80.css","./simplified-toggle.B6CqMkLE.js","../assets/simplified-toggle.CridV77f.css","./app-online-monetization-widgets.D6WbL6gC.js","./user-difference.BAv0QlGI.js","../assets/user-difference.DgNqC8yx.css","./feedback.CmdSjS8v.js","../assets/feedback.BBcsA88o.css","./sign.DftAAkXi.js","./term-change.BY-BHDl-.js","../assets/term-change.C002sRMY.css","./web-popup.Dk-QIoY2.js","../assets/web-popup.CU9563qu.css","./web-bar.Bjhgs1RG.js","./app-marketing-notice.DDXH9-YG.js","../assets/app-marketing-notice.C0-_8jDI.css","../assets/web-bar.CF7FCdGp.css","./common-notice.p8uDKZr9.js","../assets/common-notice.BPF0cgy0.css","./app-webinar-bar.BX_NdbSf.js","./app-campaign-coupon-banner.ie7aP4QH.js","../assets/app-campaign-coupon-banner.7A1T26Dy.css","../assets/app-webinar-bar.DnV_iiAz.css","./simple-side-menu.BC2gw4K5.js","../assets/simple-side-menu.BDLLUF0k.css","./app-side-menu.ByiYtbwz.js","../assets/app-side-menu.VIY0K47x.css","./side-menu-free.BUkL9Lrg.js","../assets/side-menu-free.Qzvk-Y8t.css"])))=>i.map(i=>d[i]); 2import { r as __exportAll } from "./rolldown-runtime.DEcEaBT7.js"; 3import { Et as _asyncToGenerator } from "./zoom-ui.CS5w_Hhr.js"; 4import { a as __vitePreload } from "./zoom-fusion.DgoIiUAe.js"; 5import { t as isCampaignCouponBannerPath } from "./app-campaign-coupon-banner.ie7aP4QH.js"; 6import { n as getUrlParam } from "./app-side-menu.ByiYtbwz.js"; 7//#region src/apps/sign/utils.js 8var _toString = Object.prototype.toString; 9function isPlainObject(val) { 10 return _toString.call(val) === "[object Object]"; 11} 12function safeJSONParse(jsonStr, defaultVal = null) { 13 try { 14 const val = JSON.parse(jsonStr); 15 return typeof val === "undefined" ? defaultVal : val; 16 } catch (_unused) { 17 return defaultVal; 18 } 19} 20//#endregion 21//#region src/apps/sign/checker.js 22function loadChecker(microsData) { 23 return showSigninPhoneBoundSuccessChecker(microsData) || showMfaToSigninPhoneSuccessChecker(microsData) || showLoginPasskeyBoundSuccessChecker(microsData); 24} 25function showSigninPhoneBoundSuccessChecker(microsData) { 26 const { userId } = microsData || {}; 27 if (!userId) return false; 28 const data = safeJSONParse(window.localStorage.getItem(`user_sign/signin_phone_bound_success-${userId}`)); 29 if (!isPlainObject(data)) return false; 30 const { userId: _userId } = data; 31 if (_userId !== userId) return false; 32 return true; 33} 34function showMfaToSigninPhoneSuccessChecker(microsData) { 35 const { userId } = microsData || {}; 36 if (!userId) return false; 37 const data = safeJSONParse(window.localStorage.getItem(`user_sign/mfa_to_signin_phone_success-${userId}`)); 38 if (!isPlainObject(data)) return false; 39 const { userId: _userId, email, phoneNumber: _phoneNumber, formattedPhoneNumber } = data; 40 const phoneNumber = formattedPhoneNumber || _phoneNumber; 41 if (_userId !== userId || !email || !String(phoneNumber)) return false; 42 return { 43 email, 44 phoneNumber 45 }; 46} 47function getLoginPasskeyBoundSuccessStorageKey(userId) { 48 return `user_auth/login_passkey_bound_success-${userId}`; 49} 50function showLoginPasskeyBoundSuccessChecker(microsData) { 51 const { userId } = microsData || {}; 52 if (!userId) return false; 53 const data = safeJSONParse(window.sessionStorage.getItem(getLoginPasskeyBoundSuccessStorageKey(userId))); 54 if (!isPlainObject(data)) return false;
55 const { userId: _userId } = data; 56 if (_userId !== userId) return false; 57 return true; 58} 59//#endregion 60//#region src/config/microApps.config.js 61var microApps_config_exports = /* @__PURE__ */ __exportAll({ 62 conditionalApps: () => conditionalApps, 63 getAllAppsSorted: () => getAllAppsSorted, 64 getAppConfig: () => getAppConfig, 65 getAppsStats: () => getAppsStats, 66 microAppsConfig: () => microAppsConfig, 67 parallelApps: () => parallelApps, 68 queueApps: () => queueApps 69}); 70var isInIframe = window.self !== window.top; 71var queueApps = [ 72 { 73 name: "zoomPrivacy", 74 loader: () => __vitePreload(() => import("./zoom-privacy.BFqd9N-A.js"), __vite__mapDeps([0,1,2,3,4,5,6]), import.meta.url), 75 condition: (config) => config.showPrivacyWindow, 76 executor: "queue", 77 priority: 1, 78 timeout: 3e4, 79 description: "Zoom privacy policy dialog" 80 }, 81 { 82 name: "loginDisclaimer", 83 loader: () => __vitePreload(() => import("./login-disclaimer.D7q-3Dn2.js"), __vite__mapDeps([7,1,2,3,4,5,6,8]), import.meta.url), 84 condition: (config) => { 85 var _config$loginDisclaim; 86 return (_config$loginDisclaim = config.loginDisclaimer) === null || _config$loginDisclaim === void 0 ? void 0 : _config$loginDisclaim.showUserLoginDisclaimer; 87 }, 88 executor: "queue", 89 priority: 2, 90 timeout: 3e4, 91 description: "Login disclaimer dialog" 92 }, 93 { 94 name: "aicGuide", 95 loader: () => __vitePreload(() => import("./aic-guide.C7gJrba-.js"), __vite__mapDeps([9,1,2,3,4,5,6,10,11,12,13,14,15,16,17,18,19]), import.meta.url), 96 condition: (config) => config.isHaveSideMenu && config.showAicCoachMark, 97 executor: "queue", 98 priority: 3, 99 timeout: 2e4, 100 description: "AIC feature guide" 101 }, 102 { 103 name: "divisionCoachMark", 104 loader: () => __vitePreload(() => import("./division-tips.DmOeRYSX.js"), __vite__mapDeps([20,1,2,3,4,5,6,21]), import.meta.url), 105 condition: (config) => config.isHaveSideMenu && config.showDivisionCoachMark, 106 executor: "queue", 107 priority: 4, 108 timeout: 2e4, 109 description: "Division tips coach mark" 110 }, 111 { 112 name: "externalAccountsCoachMark", 113 loader: () => __vitePreload(() => import("./external-account.DKGch3tL.js"), __vite__mapDeps([22,1,2,3,4,5,6,23]), import.meta.url), 114 condition: (config) => config.isHaveSideMenu && config.showExternalAccountsCoachMark, 115 executor: "queue", 116 priority: 5, 117 timeout: 2e4, 118 description: "External accounts tips" 119 }, 120 { 121 name: "webDialog", 122 loader: () => __vitePreload(() => import("./web-dialog.8VKhYAXq.js"), __vite__mapDeps([24,1,2,3,4,5,6,25]), import.meta.url), 123 condition: (config) => !config.enableMarketNoticeCombineWebApis && config.showMarketingWebDialogV3, 124 executor: "queue", 125 priority: 6, 126 timeout: 2e4, 127 description: "Marketing web dialog (legacy)" 128 } 129]; 130var parallelApps = [ 131 { 132 name: "simplifiedGuide", 133 loader: () => __vitePreload(() => import("./simplified-toggle.B6CqMkLE.js"), __vite__mapDeps([26,1,2,3,4,5,6,10,11,12,13,14,15,16,17,18,27]), import.meta.url), 134 condition: (config) => typeof config.useSimplifiedPortal !== "undefined", 135 executor: "immediate", 136 description: "Simplified portal guide" 137 }, 138 { 139 name: "onlineMonetizationWidgets", 140 loader: () => __vitePreload(() => import("./app-online-monetization-widgets.D6WbL6gC.js").then((n) => n.t), __vite__mapDeps([28,2,1,3,4,5,6]), import.meta.url), 141 condition: (config) => config.isLoggedIn && config.isHaveSideMenu, 142 executor: "immediate", 143 description: "Online monetization widgets" 144 }, 145 { 146 name: "userDifference", 147 loader: () => __vitePreload(() => import("./user-difference.BAv0QlGI.js"), __vite__mapDeps([29,1,2,3,4,5,6,10,11,12,13,14,15,16,17,18,30]), import.meta.url), 148 condition: (config) => config.enableUserDifference, 149 executor: "immediate", 150 description: "User difference feature" 151 }, 152 { 153 name: "feedback", 154 loader: () => __vitePreload(() => import("./feedback.CmdSjS8v.js"), __vite__mapDeps([31,1,2,3,4,5,6,10,11,12,13,14,15,16,17,18,32]), import.meta.url), 155 condition: (config) => config.feedback, 156 executor: "immediate", 157 description: "Feedback feature" 158 }, 159 { 160 name: "sign", 161 loader: () => __vitePreload(() => import("./sign.DftAAkXi.js"), __vite__mapDeps([33,1,2,3,4,5,6]), import.meta.url), 162 condition: (config) => loadChecker(config), 163 executor: "immediate", 164 description: "Sign/Check-in feature" 165 }, 166 { 167 name: "termChange", 168 loader: () => __vitePreload(() => import("./term-change.BY-BHDl-.js"), __vite__mapDeps([34,1,2,3,4,5,6,10,11,12,13,14,15,16,17,18,35]), import.meta.url), 169 condition: (config) => { 170 var _config$termChange; 171 return (_config$termChange = config.termChange) === null || _config$termChange === void 0 ? void 0 : _config$termChange.enable; 172 }, 173 executor: "immediate", 174 description: "Terms change notification" 175 }, 176 {
177 name: "webPopup", 178 loader: () => __vitePreload(() => import("./web-popup.Dk-QIoY2.js"), __vite__mapDeps([36,1,2,3,4,5,6,37]), import.meta.url), 179 condition: (config) => !config.enableMarketNoticeCombineWebApis && config.marketingPopupType, 180 executor: "immediate", 181 description: "Marketing web popup (legacy)" 182 }, 183 { 184 name: "webBar", 185 loader: () => __vitePreload(() => import("./web-bar.Bjhgs1RG.js"), __vite__mapDeps([38,1,2,3,4,5,6,39,11,12,40,41]), import.meta.url), 186 condition: (config) => !config.enableMarketNoticeCombineWebApis && config.showMarketingWebBarV3, 187 executor: "immediate", 188 description: "Marketing web bar (legacy)" 189 }, 190 { 191 name: "commonNoticeBar", 192 loader: () => __vitePreload(() => import("./common-notice.p8uDKZr9.js"), __vite__mapDeps([42,1,2,3,4,5,6,43]), import.meta.url), 193 condition: (config) => { 194 const { newZoomWebExperienceMigrationBanner = {}, useSimplifiedPortal, isAdminMenu } = config; 195 const { showAdminReminderBanner, showCompletedBanner } = newZoomWebExperienceMigrationBanner; 196 return !isInIframe && (showAdminReminderBanner || showCompletedBanner) && typeof useSimplifiedPortal === "boolean" && (!useSimplifiedPortal || useSimplifiedPortal && isAdminMenu); 197 }, 198 executor: "immediate", 199 description: "Common notice web bar" 200 }, 201 { 202 name: "webinarBar", 203 loader: () => __vitePreload(() => import("./app-webinar-bar.BX_NdbSf.js").then((n) => n.t), __vite__mapDeps([44,2,1,3,4,5,6,11,12,45,46,10,13,14,15,16,17,18,47]), import.meta.url), 204 condition: (config) => { 205 var _config$webinarCancel; 206 return (_config$webinarCancel = config.webinarCancellationBar) === null || _config$webinarCancel === void 0 ? void 0 : _config$webinarCancel.show; 207 }, 208 executor: "immediate", 209 description: "Webinar bar in .content-body" 210 }, 211 { 212 name: "campaignCouponBanner", 213 loader: () => __vitePreload(() => import("./app-campaign-coupon-banner.ie7aP4QH.js").then((n) => n.n), __vite__mapDeps([45,2,1,3,4,5,6,11,12,46]), import.meta.url), 214 condition: () => isCampaignCouponBannerPath(), 215 executor: "immediate", 216 description: "Campaign coupon banner watcher (retention save-offer dialog)" 217 } 218]; 219function bootSideMenu(_x, _x2, _x3) { 220 return _bootSideMenu.apply(this, arguments); 221} 222function _bootSideMenu() { 223 _bootSideMenu = _asyncToGenerator(function* (_appConfig, _runner, context) { 224 const { globalConfig } = context; 225 const isPersonalReport = () => location.pathname === "/account/report" && getUrlParam("isPersonal") === "true"; 226 const { isHaveSideMenu, isAdminMenu, isAdminCenter, isPersonalCenter, sideFreeMenus, simpleSideMenus, sideMenuConfig = {} } = globalConfig; 227 if (isHaveSideMenu && !isPersonalCenter && (isAdminMenu || isAdminCenter && !isPersonalReport() || sideFreeMenus || (sideMenuConfig === null || sideMenuConfig === void 0 ? void 0 : sideMenuConfig.isVideoSdk))) return (yield __vitePreload(_asyncToGenerator(function* () { 228 const { default: __vite_default__ } = yield import("./app-admin-menu.BqYrctsT.js").then((n) => n.t); 229 return { default: __vite_default__ }; 230 }), __vite__mapDeps([16,2,1,3,4,5,6,11,12]), import.meta.url)).default(); 231 if (isHaveSideMenu && (isPersonalCenter || simpleSideMenus)) return (yield __vitePreload(_asyncToGenerator(function* () { 232 const { default: __vite_default__ } = yield import("./simple-side-menu.BC2gw4K5.js"); 233 return { default: __vite_default__ }; 234 }), __vite__mapDeps([48,1,2,3,4,5,6,16,11,12,49]), import.meta.url)).default(); 235 }); 236 return _bootSideMenu.apply(this, arguments); 237} 238var conditionalApps = [ 239 { 240 name: "newExperiencePortal", 241 loader: () => __vitePreload(() => import("./app-new-experience-portal.D7u74EsY.js").then((n) => n.t), __vite__mapDeps([10,2,1,3,4,5,6,11,12,13,14,15,16,17,18]), import.meta.url), 242 condition: (config) => config.useSimplifiedPortal, 243 executor: "special", 244 description: "Common header (preloaded for faster FCP)" 245 }, 246 { 247 name: "sideMenu", 248 condition: (config) => config.useSimplifiedPortal, 249 handler: bootSideMenu, 250 description: "Side menu (choose implementation based on config)" 251 }, 252 { 253 name: "marketingNotices", 254 loader: () => __vitePreload(() => import("./app-marketing-notice.DDXH9-YG.js").then((n) => n.t), __vite__mapDeps([39,2,1,3,4,5,6,11,12,40]), import.meta.url), 255 condition: (config) => { 256 return config.enableMarketNoticeCombineWebApis && (config.showMarketingWebBarV3 || config.marketingPopupType || config.showMarketingWebDialogV3); 257 }, 258 executor: "special", 259 description: "Marketing notices (new unified system)" 260 }, 261 { 262 name: "avatarMenu", 263 loader: () => __vitePreload(() => import("./app-avatar-menu.IUcxj0ao.js").then((n) => n.t), __vite__mapDeps([13,2,3,4,5,11,12,14]), import.meta.url), 264 condition: (config) => !config.useSimplifiedPortal && window.__avatar_menu_for_micros, 265 executor: "special", 266 description: "Avatar menu" 267 }, 268 { 269 name: "legacySideMenu", 270 condition: (config) => { 271 return !config.useSimplifiedPortal && (config.personalSideMenus || config.adminSideMenus); 272 }, 273 handler: function() { 274 var _ref = _asyncToGenerator(function* () { 275 return (yield __vitePreload(_asyncToGenerator(function* () { 276 const { default: __vite_default__ } = yield import("./app-side-menu.ByiYtbwz.js").then((n) => n.t); 277 return { default: __vite_default__ }; 278 }), __vite__mapDeps([50,2,1,3,4,5,6,11,12,10,13,14,15,16,17,18,51]), import.meta.url)).default(); 279 }); 280 return function handler() { 281 return _ref.apply(this, arguments); 282 }; 283 }(), 284 description: "Legacy side menu" 285 }, 286 { 287 name: "sideFreeMenu", 288 loader: () => __vitePreload(() => import("./side-menu-free.BUkL9Lrg.js"), __vite__mapDeps([52,1,2,3,4,5,6,53]), import.meta.url), 289 condition: (config) => !config.useSimplifiedPortal && config.sideFreeMenus, 290 executor: "special", 291 description: "Free layout side menu" 292 } 293]; 294var microAppsConfig = { 295 queueApps, 296 parallelApps, 297 conditionalApps 298}; 299function getAppConfig(appName) { 300 return [ 301 ...queueApps, 302 ...parallelApps, 303 ...conditionalApps 304 ].find((app) => app.name === appName); 305} 306function getAllAppsSorted() { 307 return [ 308 ...queueApps.sort((a, b) => (a.priority || 0) - (b.priority || 0)), 309 ...parallelApps, 310 ...conditionalApps 311 ]; 312} 313function getAppsStats() { 314 return { 315 queue: queueApps.length, 316 parallel: parallelApps.length, 317 conditional: conditionalApps.length, 318 total: queueApps.length + parallelApps.length + conditionalApps.length 319 }; 320} 321//#endregion 322export { showSigninPhoneBoundSuccessChecker as a, conditionalApps, getAllAppsSorted, getAppConfig, getAppsStats, showMfaToSigninPhoneSuccessChecker as i, microAppsConfig, getLoginPasskeyBoundSuccessStorageKey as n, parallelApps, queueApps, showLoginPasskeyBoundSuccessChecker as r, microApps_config_exports as t }; 323 324//# sourceMappingURL=microApps.config.8iJPK6gs.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.