Submit
Path:
~
/
home
/
getwphos
/
public_html
/
almajd
/
wp-content
/
plugins
/
elementor
/
assets
/
js
/
File Content:
cloud-library-screenshot.js
/*! elementor - v3.31.0 - 27-08-2025 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _arrayWithoutHoles(r) { if (Array.isArray(r)) return arrayLikeToArray(r); } module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***! \***********************************************************************/ /***/ ((module) => { function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***! \****************************************************************/ /***/ ((module) => { function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/createClass.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/createClass.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js"); function _defineProperty(e, r, t) { return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/get.js": /*!*****************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/get.js ***! \*****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var superPropBase = __webpack_require__(/*! ./superPropBase.js */ "../node_modules/@babel/runtime/helpers/superPropBase.js"); function _get() { return module.exports = _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, module.exports.__esModule = true, module.exports["default"] = module.exports, _get.apply(null, arguments); } module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _getPrototypeOf(t) { return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, module.exports.__esModule = true, module.exports["default"] = module.exports, _getPrototypeOf(t); } module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/inherits.js": /*!**********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/inherits.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js"); function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && setPrototypeOf(t, e); } module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \***********************************************************************/ /***/ ((module) => { function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***! \*****************************************************************/ /***/ ((module) => { function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***! \*******************************************************************/ /***/ ((module) => { function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js": /*!***************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***! \***************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"); function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return assertThisInitialized(t); } module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/readOnlyError.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/readOnlyError.js ***! \***************************************************************/ /***/ ((module) => { function _readOnlyError(r) { throw new TypeError('"' + r + '" is read-only'); } module.exports = _readOnlyError, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***! \****************************************************************/ /***/ ((module) => { function _setPrototypeOf(t, e) { return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _setPrototypeOf(t, e); } module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/superPropBase.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/superPropBase.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"); function _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t));); return t; } module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js": /*!*******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js"); var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js"); function _toConsumableArray(r) { return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread(); } module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js": /*!*************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); function toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]); var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js"); function toPropertyKey(t) { var i = toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/typeof.js": /*!********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/typeof.js ***! \********************************************************/ /***/ ((module) => { function _typeof(o) { "@babel/helpers - typeof"; return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js": /*!****************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; } } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. (() => { "use strict"; /*!****************************************************************!*\ !*** ../modules/cloud-library/assets/js/preview/screenshot.js ***! \****************************************************************/ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _readOnlyError2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/readOnlyError */ "../node_modules/@babel/runtime/helpers/readOnlyError.js")); var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js")); var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "../node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js")); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; } /* global ElementorScreenshotConfig */ var Screenshot = /*#__PURE__*/function (_elementorModules$Vie) { function Screenshot() { (0, _classCallCheck2.default)(this, Screenshot); return _callSuper(this, Screenshot, arguments); } (0, _inherits2.default)(Screenshot, _elementorModules$Vie); return (0, _createClass2.default)(Screenshot, [{ key: "getDefaultSettings", value: function getDefaultSettings() { var _ElementorScreenshotC, _ElementorScreenshotC2; return _objectSpread({ empty_content_headline: 'Empty Content.', crop: { width: ((_ElementorScreenshotC = ElementorScreenshotConfig) === null || _ElementorScreenshotC === void 0 || (_ElementorScreenshotC = _ElementorScreenshotC.crop) === null || _ElementorScreenshotC === void 0 ? void 0 : _ElementorScreenshotC.width) || 1200, height: ((_ElementorScreenshotC2 = ElementorScreenshotConfig) === null || _ElementorScreenshotC2 === void 0 || (_ElementorScreenshotC2 = _ElementorScreenshotC2.crop) === null || _ElementorScreenshotC2 === void 0 ? void 0 : _ElementorScreenshotC2.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: "".concat(ElementorScreenshotConfig.post_id, " - timer"), image_placeholder: 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=', isDebug: elementorCommonConfig.isElementorDebug, isDebugSvg: false }, ElementorScreenshotConfig); } }, { key: "getDefaultElements", value: function getDefaultElements() { var $elementor = jQuery(ElementorScreenshotConfig.selector); var $sections = $elementor.find('.elementor-section-wrap > .elementor-section, .elementor > .elementor-section'); return { $elementor: $elementor, $sections: $sections, $firstSection: $sections.first(), $notElementorElements: elementorCommon.elements.$body.find('> *:not(style, link)').not($elementor), $head: jQuery('head') }; } }, { key: "onInit", value: function onInit() { _superPropGet(Screenshot, "onInit", this, 3)([]); 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. */ }, { key: "captureScreenshot", value: function captureScreenshot() { if (!this.elements.$elementor.length && !this.getSettings('kit_id')) { 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. */ }, { key: "createFakeContent", value: function 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. */ }, { key: "loadExternalCss", value: function loadExternalCss() { var _this = this; var excludedUrls = [this.getSettings('home_url')].concat((0, _toConsumableArray2.default)(this.getSettings('excluded_external_css_urls'))); var notSelector = excludedUrls.map(function (url) { return "[href^=\"".concat(url, "\"]"); }).join(', '); jQuery('link').not(notSelector).each(function (index, el) { var $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). */ }, { key: "loadExternalImages", value: function loadExternalImages() { var _this2 = this; var selector = this.getSettings('external_images_urls').map(function (url) { return "img[src^=\"".concat(url, "\"]"); }).join(', '); jQuery(selector).each(function (index, el) { var $img = jQuery(el); $img.attr('src', _this2.getScreenshotProxyUrl($img.attr('src'))); }); } /** * Html to images libraries can not snapshot IFrames * this method convert all the IFrames to some other elements. */ }, { key: "handleIFrames", value: function handleIFrames() { this.elements.$elementor.find('iframe').each(function (index, el) { var $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. */ }, { key: "removeUnnecessaryElements", value: function removeUnnecessaryElements() { var _this3 = this; var currentHeight = 0; // We need to keep all elements as for Kit we render the entire homepage if (this.getSettings('kit_id')) { return; } this.elements.$sections.filter(function (index, el) { var shouldBeRemoved = false; if (currentHeight >= _this3.getSettings('crop.height')) { shouldBeRemoved = true; } currentHeight += jQuery(el).outerHeight(); return shouldBeRemoved; }).each(function (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 '/'. */ }, { key: "handleLinks", value: function handleLinks() { elementorCommon.elements.$body.find('a').attr('href', '/'); } /** * Remove unnecessary margin from the first element of the post (singles and footers). */ }, { key: "removeFirstSectionMargin", value: function removeFirstSectionMargin() { this.elements.$firstSection.css({ marginTop: 0 }); } /** * Creates a png image. * * @return {Promise<unknown>} URI containing image data */ }, { key: "createImage", value: function createImage() { var _this4 = this; var pageLoadedPromise = new Promise(function (resolve) { window.addEventListener('load', function () { resolve(); }); }); var timeOutPromise = new Promise(function (resolve) { setTimeout(function () { resolve(); }, _this4.getSettings('render_timeout')); }); return Promise.race([pageLoadedPromise, timeOutPromise]).then(function () { _this4.log('Start creating screenshot.'); if (_this4.getSettings('isDebugSvg')) { domtoimage.toSvg(document.body, { imagePlaceholder: _this4.getSettings('image_placeholder') }).then(function (svg) { return _this4.download(svg); }); return Promise.reject('Debug SVG.'); } // TODO: Extract to util function. var 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) { _this4.log('Creating screenshot with "html2canvas"'); return html2canvas(document.body).then(function (canvas) { return canvas.toDataURL('image/png'); }); } _this4.log('Creating screenshot with "dom-to-image"'); return domtoimage.toPng(document.body, { imagePlaceholder: _this4.getSettings('image_placeholder') }).catch(function () { return html2canvas(document.body).then(function (canvas) { return canvas.toDataURL('image/png'); }); }); }); } /** * Download a uri, use for debugging the svg that created from dom to image libraries. * * @param {string} uri */ }, { key: "download", value: function download(uri) { var $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 */ }, { key: "createImageElement", value: function createImageElement(dataUrl) { var image = new Image(); image.src = dataUrl; return new Promise(function (resolve) { image.onload = function () { return resolve(image); }; }); } /** * Crop the image to requested sizes. * * @param {HTMLImageElement} image * @return {Promise<unknown>} Canvas */ }, { key: "cropCanvas", value: function cropCanvas(image) { var width = this.getSettings('crop.width'); var height = this.getSettings('crop.height'); var 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 */ }, { key: "save", value: function save(canvas) { var _this5 = this; var _this$getSaveAction = this.getSaveAction(), key = _this$getSaveAction.key, action = _this$getSaveAction.action; var data = (0, _defineProperty2.default)((0, _defineProperty2.default)({}, key, this.getSettings(key)), "screenshot", canvas.toDataURL('image/png')); return new Promise(function (resolve, reject) { if ('kit_id' === key) { return resolve(data.screenshot); } elementorCommon.ajax.addRequest(action, { data: data, success: function success(url) { _this5.log("Screenshot created: ".concat(encodeURI(url))); resolve(url); }, error: function error() { _this5.log('Failed to create screenshot.'); reject(); } }); }); } /** * Mark this post screenshot as failed. * @param {Error} e */ }, { key: "markAsFailed", value: function markAsFailed(e) { var _this6 = this; return new Promise(function (resolve, reject) { var templateId = _this6.getSettings('template_id'); var postId = _this6.getSettings('post_id'); var kitId = _this6.getSettings('kit_id'); if (kitId) { resolve(); } else { var route = templateId ? 'template_screenshot_failed' : 'screenshot_failed'; var data = templateId ? { template_id: templateId, error: e.message || e.toString() } : { post_id: postId }; elementorCommon.ajax.addRequest(route, { data: data, success: function success() { _this6.log("Marked as failed."); resolve(); }, error: function error() { _this6.log('Failed to mark this screenshot as failed.'); reject(); } }); } }); } /** * @param {string} url * @return {string} Screenshot Proxy URL */ }, { key: "getScreenshotProxyUrl", value: function getScreenshotProxyUrl(url) { return "".concat(this.getSettings('home_url'), "?screenshot_proxy&nonce=").concat(this.getSettings('nonce'), "&href=").concat(url); } /** * Notify that the screenshot has been succeed. * * @param {string} imageUrl */ }, { key: "screenshotSucceed", value: function screenshotSucceed(imageUrl) { this.screenshotDone(true, imageUrl); } /** * Notify that the screenshot has been failed. * * @param {Error} e */ }, { key: "screenshotFailed", value: function screenshotFailed(e) { var _this7 = this; this.log(e, null); this.markAsFailed(e).then(function () { return _this7.screenshotDone(false); }); } /** * Final method of the screenshot. * * @param {boolean} success * @param {string} imageUrl */ }, { key: "screenshotDone", value: function screenshotDone(success) { var imageUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; clearTimeout(this.timeoutTimer); this.timeoutTimer = null; var _this$getSaveAction2 = this.getSaveAction(), message = _this$getSaveAction2.message, key = _this$getSaveAction2.key; // 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: message, success: success, id: this.getSettings(key), imageUrl: imageUrl }, '*'); this.log("Screenshot ".concat(success ? 'Succeed' : 'Failed', "."), 'timeEnd'); } /** * Log messages for debugging. * * @param {any} message * @param {string?} timerMethod */ }, { key: "log", value: function log(message) { var timerMethod = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'timeLog'; if (!this.getSettings('isDebug')) { return; } // eslint-disable-next-line no-console console.log('string' === typeof message ? "".concat(this.getSettings('post_id'), " - ").concat(message) : message); if (timerMethod) { // eslint-disable-next-line no-console console[timerMethod](this.getSettings('timer_label')); } } }, { key: "getSaveAction", value: function getSaveAction() { var config = this.getSettings(); if (config.kit_id) { return { message: 'kit-screenshot-done', action: 'update_kit_preview', key: 'kit_id' }; } if (config.template_id) { return { message: 'library/capture-screenshot-done', action: 'save_template_screenshot', key: 'template_id' }; } return { message: 'capture-screenshot-done', action: 'screenshot_save', key: 'post_id' }; } }]); }(elementorModules.ViewModule); jQuery(function () { new Screenshot(); }); })(); /******/ })() ; //# sourceMappingURL=cloud-library-screenshot.js.map
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
packages
---
0755
0d1a75a41cae2a76432a.bundle.js
15095 bytes
0644
152f977e0c1304a3b0db.bundle.js
25561 bytes
0644
4102e11512e21a92ba35.bundle.js
44941 bytes
0644
471f5dab6676072462a8.bundle.js
63415 bytes
0644
8277989eebcfba278cb0.bundle.min.js
36863 bytes
0644
9f88a0d716a691c2448a.bundle.min.js
12958 bytes
0644
a802b9aa6f4b87a294e5.bundle.js
114146 bytes
0644
accordion.28788e18d1d35c23f450.bundle.min.js
3791 bytes
0644
accordion.7b5b5744bdd225280eca.bundle.js
8086 bytes
0644
adbbe9b5d6b520e98e4c.bundle.js
14519 bytes
0644
admin-feedback.js
4612 bytes
0644
admin-feedback.min.js
1953 bytes
0644
admin-notifications.js
76124 bytes
0644
admin-notifications.min.js
14618 bytes
0644
admin-top-bar.min.js
11894 bytes
0644
admin.js
119649 bytes
0644
admin.min.js
54067 bytes
0644
ai-admin.js
1981549 bytes
0644
ai-admin.min.js
609438 bytes
0644
ai-admin.min.js.LICENSE.txt
525 bytes
0644
ai-gutenberg.min.js
638633 bytes
0644
ai-layout.js
501863 bytes
0644
ai-media-library.js
2098483 bytes
0644
ai-media-library.min.js
633271 bytes
0644
ai.js
2152800 bytes
0644
ai.min.js
655427 bytes
0644
alert.42cc1d522ef5c60bf874.bundle.min.js
658 bytes
0644
alert.b696182ec6f18a35bc69.bundle.js
1445 bytes
0644
announcements-app.js
103755 bytes
0644
announcements-app.min.js
26048 bytes
0644
announcements-app.min.js.LICENSE.txt
163 bytes
0644
app-loader.js
261264 bytes
0644
app-loader.min.js
90270 bytes
0644
app-packages.min.js
120125 bytes
0644
app.js
1130421 bytes
0644
app.min.js
394391 bytes
0644
atomic-widgets-editor.js
94747 bytes
0644
b96d70044d0d67c2df19.bundle.min.js
23455 bytes
0644
bb8b6cce5ae5b36077e0.bundle.js
92039 bytes
0644
beta-tester.js
21458 bytes
0644
beta-tester.min.js
8862 bytes
0644
checklist.js
163099 bytes
0644
cloud-library-screenshot.js
37836 bytes
0644
common-modules.min.js
103803 bytes
0644
common.js
411772 bytes
0644
common.min.js
151812 bytes
0644
contact-buttons.c21325756a91b795f8e4.bundle.js
14886 bytes
0644
contact-buttons.d999c7d620ad8d4132c6.bundle.min.js
8707 bytes
0644
container-converter.js
52011 bytes
0644
container-converter.min.js
18320 bytes
0644
container-editor-handlers.e7ee82232887ec8b73b7.bundle.min.js
9639 bytes
0644
counter.f359dee9199f5aad06c6.bundle.js
1933 bytes
0644
daedc6797eaad5c82711.bundle.min.js
4100 bytes
0644
dev-tools.js
23856 bytes
0644
e-home-screen.js
108705 bytes
0644
e-home-screen.min.js
26848 bytes
0644
e-react-promotions.js
124573 bytes
0644
e-react-promotions.min.js
39680 bytes
0644
e1cb4d726bb59646c677.bundle.min.js
5432 bytes
0644
e5d6feb1b1d6cf52126f.bundle.js
11262 bytes
0644
editor-document.js
71618 bytes
0644
editor-document.min.js
25881 bytes
0644
editor-environment-v2.js
640 bytes
0644
editor-environment-v2.min.js
246 bytes
0644
editor-loader-v1.js
372 bytes
0644
editor-loader-v1.min.js
88 bytes
0644
editor-loader-v2.js
861 bytes
0644
editor-loader-v2.min.js
440 bytes
0644
editor-modules.js
120535 bytes
0644
editor-modules.min.js
49389 bytes
0644
editor-modules.min.js.LICENSE.txt
163 bytes
0644
editor-notifications.js
86595 bytes
0644
editor-notifications.min.js
18400 bytes
0644
editor-v4-opt-in-alphachip.js
59852 bytes
0644
editor-v4-opt-in-alphachip.min.js
8550 bytes
0644
editor-v4-opt-in.js
171195 bytes
0644
editor-v4-opt-in.min.js
53556 bytes
0644
editor-v4-opt-in.min.js.LICENSE.txt
352 bytes
0644
editor-v4-welcome-opt-in.js
60055 bytes
0644
editor-v4-welcome-opt-in.min.js
9075 bytes
0644
editor.js
3812589 bytes
0644
editor.min.js
1588923 bytes
0644
editor.min.js.LICENSE.txt
352 bytes
0644
ef2100ac3eda1a957819.bundle.min.js
5090 bytes
0644
element-manager-admin.js
171804 bytes
0644
element-manager-admin.min.js
46330 bytes
0644
element-manager-admin.min.js.LICENSE.txt
324 bytes
0644
elementor-admin-bar.js
18643 bytes
0644
elementor-admin-bar.min.js
7353 bytes
0644
floating-bars.7efeeb8b098e55999ff1.bundle.js
15148 bytes
0644
floating-bars.a3070326b4333354cbd7.bundle.min.js
7931 bytes
0644
floating-elements-modal.js
34512 bytes
0644
floating-elements-modal.min.js
14518 bytes
0644
frontend-modules.js
187776 bytes
0644
frontend-modules.min.js
49432 bytes
0644
frontend.js
101426 bytes
0644
frontend.min.js
32879 bytes
0644
gutenberg.js
7653 bytes
0644
image-carousel.1a3e0c6222562304eed5.bundle.js
945 bytes
0644
image-carousel.6167d20b95b33386757b.bundle.min.js
448 bytes
0644
import-export-admin.js
15085 bytes
0644
import-export-admin.min.js
6321 bytes
0644
kit-elements-defaults-editor.js
87216 bytes
0644
kit-elements-defaults-editor.min.js
32766 bytes
0644
kit-elements-defaults-editor.min.js.LICENSE.txt
163 bytes
0644
kit-library.2b8b21c9592ab21984d3.bundle.min.js
110641 bytes
0644
kit-library.8357091f2047eb2634d3.bundle.js
279798 bytes
0644
lightbox.408665be3d65f6ab17f0.bundle.min.js
28964 bytes
0644
media-hints.js
11982 bytes
0644
nested-accordion.a0f28ea648b29da812a1.bundle.js
19215 bytes
0644
nested-accordion.a29d85d5aa492aef7142.bundle.min.js
9827 bytes
0644
nested-accordion.js
29736 bytes
0644
nested-accordion.min.js
10927 bytes
0644
nested-elements.js
20735 bytes
0644
nested-elements.min.js
6450 bytes
0644
nested-tabs.213892f3e7a826d32481.bundle.js
21299 bytes
0644
nested-tabs.a542ad943214eb6c3ed8.bundle.min.js
11429 bytes
0644
nested-tabs.js
29696 bytes
0644
nested-tabs.min.js
10922 bytes
0644
nested-title-keyboard-handler.967db65f6ba460c1f2e9.bundle.js
8062 bytes
0644
nested-title-keyboard-handler.fc9d01c2cd0ef46d20fd.bundle.min.js
4358 bytes
0644
new-template.min.js
6805 bytes
0644
notes.min.js
9110 bytes
0644
progress.0ea083b809812c0e3aa1.bundle.min.js
829 bytes
0644
progress.5d8492a023e85c6cc0e0.bundle.js
1980 bytes
0644
section-editor-handlers.c420276353ec5aba196e.bundle.min.js
1788 bytes
0644
section-frontend-handlers.d0665d28b9f0b188fe4f.bundle.js
1047 bytes
0644
section-frontend-handlers.d85ab872da118940910d.bundle.min.js
489 bytes
0644
shared-editor-handlers.22c8f376e58bdba40f71.bundle.js
2608 bytes
0644
shared-editor-handlers.a182e3f9ce3b8b1e4b74.bundle.min.js
1389 bytes
0644
shared-frontend-handlers.4c8abccc3e268b0767b2.bundle.min.js
8525 bytes
0644
shared-frontend-handlers.a82dc0e60728c9cb9860.bundle.js
16268 bytes
0644
styleguide-app-initiator.js
37531 bytes
0644
styleguide-app.04340244193733d78622.bundle.min.js
26257 bytes
0644
styleguide-app.77392704cadf8bc1ca69.bundle.js
67876 bytes
0644
styleguide.js
99000 bytes
0644
tabs.1a165c2a54522842b0f1.bundle.min.js
3753 bytes
0644
tabs.e808857358793ac13db5.bundle.js
8013 bytes
0644
text-editor.abc8f59c62f2820dc25a.bundle.min.js
1392 bytes
0644
text-editor.bd4eccbd156d0b1fc3cf.bundle.js
3105 bytes
0644
text-path.ebcd5a983a56266562f3.bundle.min.js
26463 bytes
0644
toggle.375da8e2f6fed12731c2.bundle.js
8117 bytes
0644
toggle.f7afe5f9f0f912b34b22.bundle.min.js
3821 bytes
0644
video.87291d1f5076f8939c18.bundle.min.js
3271 bytes
0644
web-cli.js
496119 bytes
0644
web-cli.min.js
170468 bytes
0644
wp-audio.c91cab3152c3f241f266.bundle.js
797 bytes
0644
wp-audio.c9624cb6e5dc9de86abd.bundle.min.js
366 bytes
0644
N4ST4R_ID | Naxtarrr