{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/hooks/use-overlay/index.ts"],"sourcesContent":["let activeOverlayCount = 0;\n\n/** 全局页面遮罩层控制器。 */\nexport const useOverlay = {\n\t/**\n\t * 显示全局页面遮罩层。\n\t *\n\t * @param transparent - 遮罩层透明度。\n\t */\n\tshow: (transparent = 0): void => {\n\t\tactiveOverlayCount++;\n\t\t// 判断是否存在遮罩层\n\t\tlet overlayEl = document.querySelector<HTMLElement>(\".__fa-overlay\");\n\t\tif (!overlayEl) {\n\t\t\tconst bodyEl: Element = document.body;\n\t\t\toverlayEl = document.createElement(\"div\");\n\t\t\toverlayEl.className = \"__fa-overlay\";\n\t\t\tbodyEl.insertBefore(overlayEl, bodyEl.firstChild);\n\t\t}\n\t\toverlayEl.style.backgroundColor = `rgba(0, 0, 0, ${transparent})`;\n\t\twindow.overlay = true;\n\t},\n\t/** 隐藏全局页面遮罩层。 */\n\thide: (): void => {\n\t\tactiveOverlayCount = Math.max(activeOverlayCount - 1, 0);\n\t\tif (activeOverlayCount > 0 || !window.overlay) return;\n\t\tdocument.querySelector(\".__fa-overlay\")?.remove();\n\t\twindow.overlay = false;\n\t},\n};\n"],"mappings":";AAAA,IAAI,qBAAqB;;AAGzB,MAAa,aAAa;;;;;;CAMzB,OAAO,cAAc,MAAY;EAChC;EAEA,IAAI,YAAY,SAAS,cAA2B,eAAe;EACnE,IAAI,CAAC,WAAW;GACf,MAAM,SAAkB,SAAS;GACjC,YAAY,SAAS,cAAc,KAAK;GACxC,UAAU,YAAY;GACtB,OAAO,aAAa,WAAW,OAAO,UAAU;EACjD;EACA,UAAU,MAAM,kBAAkB,iBAAiB,YAAY;EAC/D,OAAO,UAAU;CAClB;;CAEA,YAAkB;EACjB,qBAAqB,KAAK,IAAI,qBAAqB,GAAG,CAAC;EACvD,IAAI,qBAAqB,KAAK,CAAC,OAAO,SAAS;EAC/C,SAAS,cAAc,eAAe,CAAC,EAAE,OAAO;EAChD,OAAO,UAAU;CAClB;AACD"}