123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- import "./chunk-Y2F7D3TJ.js";
- // F:/test/exam_exam/node_modules/screenfull/index.js
- var methodMap = [
- [
- "requestFullscreen",
- "exitFullscreen",
- "fullscreenElement",
- "fullscreenEnabled",
- "fullscreenchange",
- "fullscreenerror"
- ],
- // New WebKit
- [
- "webkitRequestFullscreen",
- "webkitExitFullscreen",
- "webkitFullscreenElement",
- "webkitFullscreenEnabled",
- "webkitfullscreenchange",
- "webkitfullscreenerror"
- ],
- // Old WebKit
- [
- "webkitRequestFullScreen",
- "webkitCancelFullScreen",
- "webkitCurrentFullScreenElement",
- "webkitCancelFullScreen",
- "webkitfullscreenchange",
- "webkitfullscreenerror"
- ],
- [
- "mozRequestFullScreen",
- "mozCancelFullScreen",
- "mozFullScreenElement",
- "mozFullScreenEnabled",
- "mozfullscreenchange",
- "mozfullscreenerror"
- ],
- [
- "msRequestFullscreen",
- "msExitFullscreen",
- "msFullscreenElement",
- "msFullscreenEnabled",
- "MSFullscreenChange",
- "MSFullscreenError"
- ]
- ];
- var nativeAPI = (() => {
- if (typeof document === "undefined") {
- return false;
- }
- const unprefixedMethods = methodMap[0];
- const returnValue = {};
- for (const methodList of methodMap) {
- const exitFullscreenMethod = methodList == null ? void 0 : methodList[1];
- if (exitFullscreenMethod in document) {
- for (const [index, method] of methodList.entries()) {
- returnValue[unprefixedMethods[index]] = method;
- }
- return returnValue;
- }
- }
- return false;
- })();
- var eventNameMap = {
- change: nativeAPI.fullscreenchange,
- error: nativeAPI.fullscreenerror
- };
- var screenfull = {
- // eslint-disable-next-line default-param-last
- request(element = document.documentElement, options) {
- return new Promise((resolve, reject) => {
- const onFullScreenEntered = () => {
- screenfull.off("change", onFullScreenEntered);
- resolve();
- };
- screenfull.on("change", onFullScreenEntered);
- const returnPromise = element[nativeAPI.requestFullscreen](options);
- if (returnPromise instanceof Promise) {
- returnPromise.then(onFullScreenEntered).catch(reject);
- }
- });
- },
- exit() {
- return new Promise((resolve, reject) => {
- if (!screenfull.isFullscreen) {
- resolve();
- return;
- }
- const onFullScreenExit = () => {
- screenfull.off("change", onFullScreenExit);
- resolve();
- };
- screenfull.on("change", onFullScreenExit);
- const returnPromise = document[nativeAPI.exitFullscreen]();
- if (returnPromise instanceof Promise) {
- returnPromise.then(onFullScreenExit).catch(reject);
- }
- });
- },
- toggle(element, options) {
- return screenfull.isFullscreen ? screenfull.exit() : screenfull.request(element, options);
- },
- onchange(callback) {
- screenfull.on("change", callback);
- },
- onerror(callback) {
- screenfull.on("error", callback);
- },
- on(event, callback) {
- const eventName = eventNameMap[event];
- if (eventName) {
- document.addEventListener(eventName, callback, false);
- }
- },
- off(event, callback) {
- const eventName = eventNameMap[event];
- if (eventName) {
- document.removeEventListener(eventName, callback, false);
- }
- },
- raw: nativeAPI
- };
- Object.defineProperties(screenfull, {
- isFullscreen: {
- get: () => Boolean(document[nativeAPI.fullscreenElement])
- },
- element: {
- enumerable: true,
- get: () => document[nativeAPI.fullscreenElement] ?? void 0
- },
- isEnabled: {
- enumerable: true,
- // Coerce to boolean in case of old WebKit.
- get: () => Boolean(document[nativeAPI.fullscreenEnabled])
- }
- });
- if (!nativeAPI) {
- screenfull = { isEnabled: false };
- }
- var screenfull_default = screenfull;
- export {
- screenfull_default as default
- };
- //# sourceMappingURL=screenfull.js.map
|