/
home
/
vianto5
/
duettowers.mx
/
wp-content
/
plugins
/
elementor-pro
/
assets
/
js
/
/home/vianto5/duettowers.mx/wp-content/plugins/elementor-pro/assets/js
mkdir
upload
Name
Size
Mode
Actions
notes/
-
0755
rm
packages/
-
0755
rm
8b11be0d97d58e135d30.bundle.js
62863
0644
edit
dl
rm
36c2990924ec9596ffad.bundle.js
6239
0644
edit
dl
rm
0726b2d81686a5392236.bundle.min.js
23229
0644
edit
dl
rm
0726b2d81686a5392236.bundle.min.js.LICENSE.txt
188
0644
edit
dl
rm
admin.js
58637
0644
edit
dl
rm
admin.min.js
29069
0644
edit
dl
rm
ajax-pagination.2090b5f4906bcda1dcc2.bundle.min.js
2814
0644
edit
dl
rm
ajax-pagination.2390838f542f1a8d5ed4.bundle.js
5178
0644
edit
dl
rm
animated-headline.32baaa2ad2ea939224d5.bundle.js
12206
0644
edit
dl
rm
animated-headline.c009d6fa482515df23f8.bundle.min.js
7765
0644
edit
dl
rm
app.js
411040
0644
edit
dl
rm
app.min.js
138774
0644
edit
dl
rm
archive-posts.6e398ddd4a81a78bcea3.bundle.js
15895
0644
edit
dl
rm
archive-posts.16a93245d08246e5e540.bundle.min.js
8106
0644
edit
dl
rm
carousel.298f1fc9c115422aad0e.bundle.js
10166
0644
edit
dl
rm
carousel.3620fca501cb18163600.bundle.min.js
5014
0644
edit
dl
rm
code-highlight.7121ad6fca6bf899bbb5.bundle.js
1024
0644
edit
dl
rm
code-highlight.b9addbc842a50347c9ab.bundle.min.js
468
0644
edit
dl
rm
contact-buttons-var-10.16cf733dc3d3b250fef4.bundle.min.js
7861
0644
edit
dl
rm
contact-buttons-var-10.44dafff87cd10dfffc68.bundle.js
14532
0644
edit
dl
rm
contact-buttons.23b3f042ed41cf9221f4.bundle.js
23541
0644
edit
dl
rm
contact-buttons.99a987d66bcc2ade0ee6.bundle.min.js
13839
0644
edit
dl
rm
countdown.0e9e688751d29d07a8d3.bundle.min.js
2688
0644
edit
dl
rm
countdown.6e87ca40d36793d92aea.bundle.js
4941
0644
edit
dl
rm
custom-code.js
101111
0644
edit
dl
rm
custom-code.min.js
27645
0644
edit
dl
rm
d241154d3774d66da9eb.bundle.min.js
3247
0644
edit
dl
rm
display-conditions.js
240825
0644
edit
dl
rm
display-conditions.min.js
77018
0644
edit
dl
rm
e8eba20060a4b0fa29dc.bundle.js
12405
0644
edit
dl
rm
editor.js
382854
0644
edit
dl
rm
editor.min.js
154129
0644
edit
dl
rm
elements-handlers.js
115700
0644
edit
dl
rm
elements-handlers.min.js
44258
0644
edit
dl
rm
floating-bars-var-2.75c36e8b0bacbac6105e.bundle.min.js
14542
0644
edit
dl
rm
floating-bars-var-2.fa9c6b6e6aaeb43504f2.bundle.js
13114
0644
edit
dl
rm
floating-bars-var-3.cdf99fd0b063a0032d53.bundle.min.js
14027
0644
edit
dl
rm
floating-bars-var-3.ce31fbd73759a9439cbf.bundle.js
13010
0644
edit
dl
rm
form-submission-admin.js
276422
0644
edit
dl
rm
form-submission-admin.min.js
88938
0644
edit
dl
rm
form.151b991a4cbdda620c22.bundle.js
34781
0644
edit
dl
rm
form.71055747203b48a65a24.bundle.min.js
19776
0644
edit
dl
rm
frontend.js
54247
0644
edit
dl
rm
frontend.min.js
24047
0644
edit
dl
rm
gallery.06be1c07b9901f53d709.bundle.min.js
5913
0644
edit
dl
rm
gallery.ac8ddd9e62465c5cdb2d.bundle.js
9642
0644
edit
dl
rm
hotspot.5e711b7707a884acf3f1.bundle.js
5013
0644
edit
dl
rm
hotspot.5033ed75928eff79cb95.bundle.min.js
2817
0644
edit
dl
rm
jszip.vendor.a3c65615c1de5560962d.bundle.js
97933
0644
edit
dl
rm
jszip.vendor.eba4ace24dcc63eadac0.bundle.min.js
98185
0644
edit
dl
rm
jszip.vendor.eba4ace24dcc63eadac0.bundle.min.js.LICENSE.txt
383
0644
edit
dl
rm
load-more.8b46f464e573feab5dd7.bundle.min.js
5346
0644
edit
dl
rm
load-more.f5ecc1c66872d0bd2d17.bundle.js
9668
0644
edit
dl
rm
loop-carousel.122d0b9321a9edad91b0.bundle.js
2840
0644
edit
dl
rm
loop-carousel.cd9a95b2e4dd2a239b81.bundle.min.js
1353
0644
edit
dl
rm
loop-filter-editor.46a4c013b80a381a50c9.bundle.js
7191
0644
edit
dl
rm
loop-filter-editor.be7377d717e2499f4676.bundle.min.js
3355
0644
edit
dl
rm
loop.89cc81d2188312a17a17.bundle.min.js
9006
0644
edit
dl
rm
loop.43307e757bd5a39f14cd.bundle.js
17169
0644
edit
dl
rm
lottie.824e2adeeca89f4297c7.bundle.js
24993
0644
edit
dl
rm
lottie.a287ccfe024bea61e651.bundle.min.js
14405
0644
edit
dl
rm
media-carousel.8d26e5df1a1527329fde.bundle.min.js
6995
0644
edit
dl
rm
media-carousel.8f7b71d582be9d9410fe.bundle.js
13362
0644
edit
dl
rm
mega-menu-editor.be91c0f96af4174d83d0.bundle.js
19495
0644
edit
dl
rm
mega-menu-editor.da6571bb00aaa3092eab.bundle.min.js
8442
0644
edit
dl
rm
mega-menu-stretch-content.0d76e4a3b7bf65ff6f9b.bundle.js
1868
0644
edit
dl
rm
mega-menu-stretch-content.480e081cebe071d683e8.bundle.min.js
1122
0644
edit
dl
rm
mega-menu.595ee0dffef2bd038c6b.bundle.js
51566
0644
edit
dl
rm
mega-menu.82093824ddb3f5531ab4.bundle.min.js
28243
0644
edit
dl
rm
menu-title-keyboard-handler.efa6d39b4096f1de6f4d.bundle.js
12314
0644
edit
dl
rm
menu-title-keyboard-handler.f0362773c21105d2c65c.bundle.min.js
7691
0644
edit
dl
rm
nav-menu.8521a0597c50611efdc6.bundle.min.js
5240
0644
edit
dl
rm
nav-menu.fd37f05286fae9cd6d0c.bundle.js
9239
0644
edit
dl
rm
nested-carousel-editor.0df35e0e1a284d4bd18b.bundle.js
1880
0644
edit
dl
rm
nested-carousel-editor.6d7500036d0766bbe2fc.bundle.min.js
623
0644
edit
dl
rm
nested-carousel.ce414a51f188ccf670ee.bundle.js
6806
0644
edit
dl
rm
nested-carousel.db797a097fdc5532ef4a.bundle.min.js
3374
0644
edit
dl
rm
off-canvas-editor.9d374fa1254f9efc259e.bundle.min.js
2578
0644
edit
dl
rm
off-canvas-editor.d30e3b4fb19101e5ff36.bundle.js
6309
0644
edit
dl
rm
off-canvas.137463f629e2b7cbaf02.bundle.min.js
6889
0644
edit
dl
rm
off-canvas.ff4d0ebaaec46fc178b2.bundle.js
10941
0644
edit
dl
rm
page-transitions.js
38684
0644
edit
dl
rm
page-transitions.min.js
17657
0644
edit
dl
rm
paypal-button.55ffb013a3fe565f55a5.bundle.js
1577
0644
edit
dl
rm
paypal-button.f4f64e46173f50701949.bundle.min.js
871
0644
edit
dl
rm
popup.996738ad83c089bcc0b9.bundle.js
1543
0644
edit
dl
rm
popup.f7b15b2ca565b152bf98.bundle.min.js
752
0644
edit
dl
rm
portfolio.4cd5da34009c30cb5d70.bundle.min.js
7271
0644
edit
dl
rm
portfolio.5727b56368be256d0893.bundle.js
12994
0644
edit
dl
rm
posts.aec59265318492b89cb5.bundle.min.js
3317
0644
edit
dl
rm
posts.e99f84b83c36d4568ffe.bundle.js
5941
0644
edit
dl
rm
preview.js
83093
0644
edit
dl
rm
preview.min.js
17336
0644
edit
dl
rm
product-add-to-cart.0c33bb82cd57e51665f9.bundle.js
7341
0644
edit
dl
rm
product-add-to-cart.c32f5d5e404511d68720.bundle.min.js
3502
0644
edit
dl
rm
progress-tracker.8cccdda9737c272489fc.bundle.min.js
5237
0644
edit
dl
rm
progress-tracker.fd1d31a26340ed74e10a.bundle.js
9433
0644
edit
dl
rm
screenshot.js
11857
0644
edit
dl
rm
screenshot.min.js
5784
0644
edit
dl
rm
search-form.8941aba5c12cdb05fb7c.bundle.js
4503
0644
edit
dl
rm
search-form.b7065999d77832a1b764.bundle.min.js
2124
0644
edit
dl
rm
search.1a4ea982239b5f5db501.bundle.js
20612
0644
edit
dl
rm
search.5d88e65c03029f91931d.bundle.min.js
13203
0644
edit
dl
rm
share-buttons.63d984f8c96d1e053bc0.bundle.min.js
1577
0644
edit
dl
rm
share-buttons.fda49c1691f4a352c7ef.bundle.js
4372
0644
edit
dl
rm
slides.bcd16bbde90338846bd7.bundle.js
7567
0644
edit
dl
rm
slides.c0029640cbdb48199471.bundle.min.js
3926
0644
edit
dl
rm
social.83aec5578e50a413de57.bundle.js
1993
0644
edit
dl
rm
social.d71d263bd937f0906192.bundle.min.js
1018
0644
edit
dl
rm
stripe-button.49130d6eecb5ebc8afbd.bundle.min.js
2015
0644
edit
dl
rm
stripe-button.cb4b1cf19f1c46430f76.bundle.js
4283
0644
edit
dl
rm
table-of-contents.3be1ab725f562d10dd86.bundle.min.js
8236
0644
edit
dl
rm
table-of-contents.6ac58abccb098fb35213.bundle.js
15971
0644
edit
dl
rm
taxonomy-filter.a32526f3e4a201b5fce1.bundle.min.js
7600
0644
edit
dl
rm
taxonomy-filter.f3f2746a00fed7447ff5.bundle.js
16052
0644
edit
dl
rm
video-playlist.909c41acbc73cb741e9d.bundle.min.js
22664
0644
edit
dl
rm
video-playlist.7140c18aeaebfda82118.bundle.js
50154
0644
edit
dl
rm
webpack-pro.runtime.js
16759
0644
edit
dl
rm
webpack-pro.runtime.min.js
6248
0644
edit
dl
rm
woocommerce-cart.3e38c78b18f28be95e9d.bundle.js
10775
0644
edit
dl
rm
woocommerce-cart.480d117b95956d1f28a5.bundle.min.js
5183
0644
edit
dl
rm
woocommerce-checkout-page.6ba1f1f2aa99210fa1cf.bundle.min.js
6613
0644
edit
dl
rm
woocommerce-checkout-page.48b0561b8ee895da5af5.bundle.js
12169
0644
edit
dl
rm
woocommerce-menu-cart.54f2e75f6769dce707e2.bundle.min.js
4672
0644
edit
dl
rm
woocommerce-menu-cart.a0d098b5b49cb56bf258.bundle.js
8843
0644
edit
dl
rm
woocommerce-my-account.7c01b4a03ae07847db06.bundle.js
11636
0644
edit
dl
rm
woocommerce-my-account.d54826f355f9822b0ec0.bundle.min.js
6223
0644
edit
dl
rm
woocommerce-notices.00f9132bbbd683277a27.bundle.min.js
1879
0644
edit
dl
rm
woocommerce-notices.c1b466cde2ea03db7d6e.bundle.js
3035
0644
edit
dl
rm
woocommerce-purchase-summary.2ebf26dca7d446fdd128.bundle.js
7508
0644
edit
dl
rm
woocommerce-purchase-summary.88a2d8ca449739e34f9f.bundle.min.js
3496
0644
edit
dl
rm
Edit:
/home/vianto5/duettowers.mx/wp-content/plugins/elementor-pro/assets/js/screenshot.js
(11857B)
/*! elementor-pro - v3.33.0 - 11-11-2025 */ /******/ (() => { // webpackBootstrap /******/ "use strict"; /*!**************************************************************!*\ !*** ../modules/screenshots/assets/js/preview/screenshot.js ***! \**************************************************************/ /* global ElementorScreenshotConfig */ class Screenshot extends elementorModules.ViewModule { getDefaultSettings() { return { empty_content_headline: 'Empty Content.', crop: { width: 1200, height: 1500 }, excluded_external_css_urls: ['https://kit-pro.fontawesome.com'], external_images_urls: ['https://i.ytimg.com' // Youtube images domain. ], timeout: 15000, // Wait until screenshot taken or fail in 15 secs. render_timeout: 5000, // Wait until all the element will be loaded or 5 sec and then take screenshot. timerLabel: null, timer_label: `${ElementorScreenshotConfig.post_id} - timer`, image_placeholder: 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=', isDebug: elementorCommonConfig.isElementorDebug, isDebugSvg: false, ...ElementorScreenshotConfig }; } getDefaultElements() { const $elementor = jQuery(ElementorScreenshotConfig.selector); const $sections = $elementor.find('.elementor-section-wrap > .elementor-section, .elementor > .elementor-section'); return { $elementor, $sections, $firstSection: $sections.first(), $notElementorElements: elementorCommon.elements.$body.find('> *:not(style, link)').not($elementor), $head: jQuery('head') }; } onInit() { super.onInit(); this.log('Screenshot init', 'time'); /** * Hold the timeout timer * * @type {number|null} */ this.timeoutTimer = setTimeout(this.screenshotFailed.bind(this), this.getSettings('timeout')); return this.captureScreenshot(); } /** * The main method for this class. */ captureScreenshot() { if (!this.elements.$elementor.length) { elementorCommon.helpers.consoleWarn('Screenshots: The content of this page is empty, the module will create a fake conent just for this screenshot.'); this.createFakeContent(); } this.removeUnnecessaryElements(); this.handleIFrames(); this.removeFirstSectionMargin(); this.handleLinks(); this.loadExternalCss(); this.loadExternalImages(); return Promise.resolve().then(this.createImage.bind(this)).then(this.createImageElement.bind(this)).then(this.cropCanvas.bind(this)).then(this.save.bind(this)).then(this.screenshotSucceed.bind(this)).catch(this.screenshotFailed.bind(this)); } /** * Fake content for documents that dont have any content. */ createFakeContent() { this.elements.$elementor = jQuery('<div>').css({ height: this.getSettings('crop.height'), width: this.getSettings('crop.width'), display: 'flex', alignItems: 'center', justifyContent: 'center' }); this.elements.$elementor.append(jQuery('<h1>').css({ fontSize: '85px' }).html(this.getSettings('empty_content_headline'))); document.body.prepend(this.elements.$elementor); } /** * CSS from another server cannot be loaded with the current dom to image library. * this method take all the links from another domain and proxy them. */ loadExternalCss() { const excludedUrls = [this.getSettings('home_url'), ...this.getSettings('excluded_external_css_urls')]; const notSelector = excludedUrls.map(url => `[href^="${url}"]`).join(', '); jQuery('link').not(notSelector).each((index, el) => { const $link = jQuery(el), $newLink = $link.clone(); $newLink.attr('href', this.getScreenshotProxyUrl($link.attr('href'))); this.elements.$head.append($newLink); $link.remove(); }); } /** * Make a proxy to images urls that has some problems with cross origin (like youtube). */ loadExternalImages() { const selector = this.getSettings('external_images_urls').map(url => `img[src^="${url}"]`).join(', '); jQuery(selector).each((index, el) => { const $img = jQuery(el); $img.attr('src', this.getScreenshotProxyUrl($img.attr('src'))); }); } /** * Html to images libraries can not snapshot IFrames * this method convert all the IFrames to some other elements. */ handleIFrames() { this.elements.$elementor.find('iframe').each((index, el) => { const $iframe = jQuery(el), $iframeMask = jQuery('<div />', { css: { background: 'gray', width: $iframe.width(), height: $iframe.height() } }); $iframe.before($iframeMask); $iframe.remove(); }); } /** * Remove all the sections that should not be in the screenshot. */ removeUnnecessaryElements() { let currentHeight = 0; this.elements.$sections.filter((index, el) => { let shouldBeRemoved = false; if (currentHeight >= this.getSettings('crop.height')) { shouldBeRemoved = true; } currentHeight += jQuery(el).outerHeight(); return shouldBeRemoved; }).each((index, el) => { el.remove(); }); // Some 3rd party plugins inject elements into the dom, so this method removes all // the elements that was injected, to make sure that it capture a screenshot only of the post itself. this.elements.$notElementorElements.remove(); } /** * Some urls make some problems to the svg parser. * this method convert all the urls to just '/'. */ handleLinks() { elementorCommon.elements.$body.find('a').attr('href', '/'); } /** * Remove unnecessary margin from the first element of the post (singles and footers). */ removeFirstSectionMargin() { this.elements.$firstSection.css({ marginTop: 0 }); } /** * Creates a png image. * * @return {Promise<unknown>} URI containing image data */ createImage() { const pageLoadedPromise = new Promise(resolve => { window.addEventListener('load', () => { resolve(); }); }); const timeOutPromise = new Promise(resolve => { setTimeout(() => { resolve(); }, this.getSettings('render_timeout')); }); return Promise.race([pageLoadedPromise, timeOutPromise]).then(() => { this.log('Start creating screenshot.'); if (this.getSettings('isDebugSvg')) { domtoimage.toSvg(document.body, { imagePlaceholder: this.getSettings('image_placeholder') }).then(svg => this.download(svg)); return Promise.reject('Debug SVG.'); } // TODO: Extract to util function. const isSafari = /^((?!chrome|android).)*safari/i.test(window.userAgent); // Safari browser has some problems with the images that dom-to-images // library creates, so in this specific case the screenshot uses html2canvas. // Note that dom-to-image creates more accurate screenshot in "not safari" browsers. if (isSafari) { this.log('Creating screenshot with "html2canvas"'); return html2canvas(document.body).then(canvas => { return canvas.toDataURL('image/png'); }); } this.log('Creating screenshot with "dom-to-image"'); return domtoimage.toPng(document.body, { imagePlaceholder: this.getSettings('image_placeholder') }); }); } /** * Download a uri, use for debugging the svg that created from dom to image libraries. * * @param {string} uri */ download(uri) { const $link = jQuery('<a/>', { href: uri, download: 'debugSvg.svg', html: 'Download SVG' }); elementorCommon.elements.$body.append($link); $link.trigger('click'); } /** * Creates fake image element to get the size of the image later on. * * @param {string} dataUrl * @return {Promise<HTMLImageElement>} Image Element */ createImageElement(dataUrl) { const image = new Image(); image.src = dataUrl; return new Promise(resolve => { image.onload = () => resolve(image); }); } /** * Crop the image to requested sizes. * * @param {HTMLImageElement} image * @return {Promise<unknown>} Canvas */ cropCanvas(image) { const width = this.getSettings('crop.width'); const height = this.getSettings('crop.height'); const cropCanvas = document.createElement('canvas'), cropContext = cropCanvas.getContext('2d'), ratio = width / image.width; cropCanvas.width = width; cropCanvas.height = height > image.height ? image.height : height; cropContext.drawImage(image, 0, 0, image.width, image.height, 0, 0, image.width * ratio, image.height * ratio); return Promise.resolve(cropCanvas); } /** * Send the image to the server. * * @param {HTMLCanvasElement} canvas * @return {Promise<unknown>} Screenshot URL */ save(canvas) { return new Promise((resolve, reject) => { elementorCommon.ajax.addRequest('screenshot_save', { data: { post_id: this.getSettings('post_id'), screenshot: canvas.toDataURL('image/png') }, success: url => { this.log(`Screenshot created: ${encodeURI(url)}`); resolve(url); }, error: () => { this.log('Failed to create screenshot.'); reject(); } }); }); } /** * Mark this post screenshot as failed. */ markAsFailed() { return new Promise((resolve, reject) => { elementorCommon.ajax.addRequest('screenshot_failed', { data: { post_id: this.getSettings('post_id') }, success: () => { this.log(`Marked as failed.`); resolve(); }, error: () => { this.log('Failed to mark this screenshot as failed.'); reject(); } }); }); } /** * @param {string} url * @return {string} Screenshot Proxy URL */ getScreenshotProxyUrl(url) { return `${this.getSettings('home_url')}?screenshot_proxy&nonce=${this.getSettings('nonce')}&href=${url}`; } /** * Notify that the screenshot has been succeed. * * @param {string} imageUrl */ screenshotSucceed(imageUrl) { this.screenshotDone(true, imageUrl); } /** * Notify that the screenshot has been failed. * * @param {Error} e */ screenshotFailed(e) { this.log(e, null); this.markAsFailed().then(() => this.screenshotDone(false)); } /** * Final method of the screenshot. * * @param {boolean} success * @param {string} imageUrl */ screenshotDone(success, imageUrl = null) { clearTimeout(this.timeoutTimer); this.timeoutTimer = null; // Send the message to the parent window and not to the top. // e.g: The `Theme builder` is loaded into an iFrame so the message of the screenshot // should be sent to the `Theme builder` window and not to the top window. window.parent.postMessage({ name: 'capture-screenshot-done', success, id: this.getSettings('post_id'), imageUrl }, '*'); this.log(`Screenshot ${success ? 'Succeed' : 'Failed'}.`, 'timeEnd'); } /** * Log messages for debugging. * * @param {any} message * @param {string?} timerMethod */ log(message, timerMethod = 'timeLog') { if (!this.getSettings('isDebug')) { return; } // eslint-disable-next-line no-console console.log('string' === typeof message ? `${this.getSettings('post_id')} - ${message}` : message); if (timerMethod) { // eslint-disable-next-line no-console console[timerMethod](this.getSettings('timer_label')); } } } jQuery(() => { new Screenshot(); }); /******/ })() ; //# sourceMappingURL=screenshot.js.map
Save
cmd:
run