PATH:
home
/
lab2454c
/
fcxpro.com
/
wp-content
/
plugins
/
elementor-pro
/
assets
/
js
/*! elementor-pro - v3.7.2 - 15-06-2022 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["progress-tracker"],{ /***/ "../modules/progress-tracker/assets/js/frontend/handlers/circular-progress.js": /*!************************************************************************************!*\ !*** ../modules/progress-tracker/assets/js/frontend/handlers/circular-progress.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class CircularProgress { constructor(element, settings) { this.settings = settings; this.lastKnownProgress = null; this.circularProgressTracker = element.find('.elementor-scrolling-tracker-circular')[0]; this.circularCurrentProgress = this.circularProgressTracker.getElementsByClassName('current-progress')[0]; this.circularCurrentProgressPercentage = this.circularProgressTracker.getElementsByClassName('current-progress-percentage')[0]; const radius = this.circularCurrentProgress.r.baseVal.value; const circumference = radius * 2 * Math.PI; this.circularCurrentProgress.style.strokeDasharray = `${circumference} ${circumference}`; this.circularCurrentProgress.style.strokeDashoffset = circumference; this.elements = this.cacheElements(); this.resizeObserver = new ResizeObserver(() => { if (this.lastKnownProgress) { this.updateProgress(this.lastKnownProgress); } }); this.resizeObserver.observe(this.circularProgressTracker); } cacheElements() { return { circularProgressTracker: this.circularProgressTracker, circularCurrentProgress: this.circularCurrentProgress, circularCurrentProgressPercentage: this.circularCurrentProgressPercentage }; } updateProgress(progress) { // On page load, there is no progress and some of the elements might be not fully rendered - so we hide the progress. if (progress <= 0) { this.elements.circularCurrentProgress.style.display = 'none'; this.elements.circularCurrentProgressPercentage.style.display = 'none'; return; } this.elements.circularCurrentProgress.style.display = 'block'; this.elements.circularCurrentProgressPercentage.style.display = 'block'; const radius = this.elements.circularCurrentProgress.r.baseVal.value, circumference = radius * 2 * Math.PI, offset = circumference - progress / 100 * circumference; this.lastKnownProgress = progress; this.elements.circularCurrentProgress.style.strokeDasharray = `${circumference} ${circumference}`; this.elements.circularCurrentProgress.style.strokeDashoffset = 'ltr' === this.settings.direction ? -offset : offset; if ('yes' === this.settings.percentage) { this.elements.circularCurrentProgressPercentage.innerHTML = Math.round(progress) + '%'; } } onDestroy() { this.resizeObserver.unobserve(this.circularProgressTracker); } } var _default = CircularProgress; exports["default"] = _default; /***/ }), /***/ "../modules/progress-tracker/assets/js/frontend/handlers/linear-progress.js": /*!**********************************************************************************!*\ !*** ../modules/progress-tracker/assets/js/frontend/handlers/linear-progress.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class LinearProgress { constructor(element, settings) { this.settings = settings; this.linearProgressTracker = element.find('.elementor-scrolling-tracker-horizontal')[0]; this.linearCurrentProgress = this.linearProgressTracker.getElementsByClassName('current-progress')[0]; this.linearCurrentProgressPercentage = this.linearProgressTracker.getElementsByClassName('current-progress-percentage')[0]; this.elements = this.cacheElements(); } cacheElements() { return { linearProgressTracker: this.linearProgressTracker, linearCurrentProgress: this.linearCurrentProgress, linearCurrentProgressPercentage: this.linearCurrentProgressPercentage }; } updateProgress(progress) { // On page load, there is no progress and some of the elements might be not fully rendered - so we hide the progress. if (progress < 1) { this.elements.linearCurrentProgress.style.display = 'none'; return; } this.elements.linearCurrentProgress.style.display = 'flex'; this.elements.linearCurrentProgress.style.width = progress + '%'; if ('yes' === this.settings.percentage && // Multiplying the progress percentage width by 1.5 to make sure it has enough space to be shown correctly. this.elements.linearCurrentProgress.getBoundingClientRect().width > this.elements.linearCurrentProgressPercentage.getBoundingClientRect().width * 1.5) { this.elements.linearCurrentProgressPercentage.innerHTML = Math.round(progress) + '%'; this.elements.linearCurrentProgressPercentage.style.color = getComputedStyle(this.linearCurrentProgress).getPropertyValue('--percentage-color'); } else { this.elements.linearCurrentProgressPercentage.style.color = 'transparent'; } } } var _default = LinearProgress; exports["default"] = _default; /***/ }), /***/ "../modules/progress-tracker/assets/js/frontend/handlers/progress-tracker.js": /*!***********************************************************************************!*\ !*** ../modules/progress-tracker/assets/js/frontend/handlers/progress-tracker.js ***! \***********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _circularProgress = _interopRequireDefault(__webpack_require__(/*! ./circular-progress */ "../modules/progress-tracker/assets/js/frontend/handlers/circular-progress.js")); var _linearProgress = _interopRequireDefault(__webpack_require__(/*! ./linear-progress */ "../modules/progress-tracker/assets/js/frontend/handlers/linear-progress.js")); class ProgressTracker extends elementorModules.frontend.handlers.Base { onInit() { elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments); this.circular = 'circular' === this.getElementSettings().type; const Handler = this.circular ? _circularProgress.default : _linearProgress.default; this.progressBar = new Handler(this.$element, this.getElementSettings()); this.progressPercentage = 0; this.scrollHandler(); this.handler = this.scrollHandler.bind(this); this.initListeners(); } getTrackingElementSelector() { const trackingElementSetting = this.getElementSettings().relative_to; let selector; switch (trackingElementSetting) { case 'selector': selector = jQuery(this.getElementSettings().selector); break; case 'post_content': selector = jQuery('.elementor-widget-theme-post-content'); break; default: selector = this.isScrollSnap() ? jQuery('#e-scroll-snap-container') : elementorFrontend.elements.$body; break; } return selector; } // TODO: On Elementor-Pro-3.6.0 delete this function and instead // use the function isScrollSnapActivated() from \elementor\assets\dev\js\frontend\utils\utils.js isScrollSnap() { const scrollSnapStatus = this.isEdit ? elementor.settings.page.model.attributes.scroll_snap : elementorFrontend.config.settings.page.scroll_snap; return 'yes' === scrollSnapStatus ? true : false; } addScrollSnapContainer() { if (this.isScrollSnap() && !jQuery('#e-scroll-snap-container').length) { jQuery('body').wrapInner('<div id="e-scroll-snap-container" />'); } } scrollHandler() { // Temporary solution to integrate Scroll-Snap with Progress-Tracker. // Add Scroll-Snap container to all content in order to calculate the viewport percentage. this.addScrollSnapContainer(); const $trackingElementSelector = this.getTrackingElementSelector(), scrollStartPercentage = $trackingElementSelector.is(elementorFrontend.elements.$body) || $trackingElementSelector.is(jQuery('#e-scroll-snap-container')) ? -100 : 0; this.progressPercentage = elementorModules.utils.Scroll.getElementViewportPercentage(this.getTrackingElementSelector(), { start: scrollStartPercentage, end: -100 }); this.progressBar.updateProgress(this.progressPercentage); } initListeners() { window.addEventListener('scroll', this.handler); elementorFrontend.elements.$body[0].addEventListener('scroll', this.handler); } onDestroy() { if (this.progressBar.onDestroy) { this.progressBar.onDestroy(); } window.removeEventListener('scroll', this.handler); elementorFrontend.elements.$body[0].removeEventListener('scroll', this.handler); } } var _default = ProgressTracker; exports["default"] = _default; /***/ }) }]); //# sourceMappingURL=progress-tracker.d38557a8e9be0c7ac097.bundle.js.map
[+]
..
[-] jszip.vendor.dc89f0ba11b047e93d46.bundle.min.js
[edit]
[-] frontend.min.js
[edit]
[-] paypal-button.35291ad27cdc2a8a7921.bundle.js
[edit]
[-] elements-handlers.js
[edit]
[-] editor.js
[edit]
[-] woocommerce-purchase-summary.d052d7d713baf4381542.bundle.js
[edit]
[-] screenshot.min.js
[edit]
[-] portfolio.ba524e4b5f1108ecb13c.bundle.min.js
[edit]
[-] table-of-contents.04aedbfe66f61e99e535.bundle.js
[edit]
[-] qunit-tests.min.js
[edit]
[-] stripe-button.7c183c3003a91f048606.bundle.min.js
[edit]
[-] elements-handlers.min.js
[edit]
[-] form.358793a6bb3724ab5f99.bundle.min.js
[edit]
[-] woocommerce-checkout-page.22ee57e21c8eac231aba.bundle.min.js
[edit]
[-] form-submission-admin.js
[edit]
[-] frontend.js
[edit]
[-] form-submission-admin.min.js
[edit]
[-] table-of-contents.a695231ee79a390b7620.bundle.min.js
[edit]
[-] nav-menu.3de49ba5ef86f9a22ff5.bundle.min.js
[edit]
[-] code-highlight.025966fc6b037ea07f05.bundle.js
[edit]
[-] admin.js
[edit]
[-] custom-code.min.js.LICENSE.txt
[edit]
[-] preview.min.js
[edit]
[-] woocommerce-purchase-summary.555e6a4935b6f2ea3fbe.bundle.min.js
[edit]
[-] slides.c147fd1a583874a5c204.bundle.js
[edit]
[-] share-buttons.0bdd88c45462dfb2b073.bundle.min.js
[edit]
[-] slides.8e4c7cc58ad39c5630ac.bundle.min.js
[edit]
[-] webpack-pro.runtime.min.js
[edit]
[-] app.min.js
[edit]
[-] page-transitions-editor.d337d52b02b13965bde2.bundle.js
[edit]
[-] lottie.68b160acb16985899f6c.bundle.js
[edit]
[-] app.js
[edit]
[-] editor.min.js.LICENSE.txt
[edit]
[-] page-transitions.min.js
[edit]
[-] popup.1e0f0af4c386170080a9.bundle.js
[edit]
[+]
notes
[-] video-playlist.1aa3281934eb1be42914.bundle.js
[edit]
[-] hotspot.6ab1751404c381bfe390.bundle.min.js
[edit]
[-] popup.483b906ddaa1af17ff14.bundle.min.js
[edit]
[-] social.2d2e44e8608690943f29.bundle.min.js
[edit]
[-] progress-tracker.7a4e50d1be14525d8ffb.bundle.min.js
[edit]
[-] stripe-button.3c4e82ad4f8635e44542.bundle.js
[edit]
[-] nav-menu.344ae9625cf591e355d9.bundle.js
[edit]
[-] woocommerce-checkout-page.f8efa8ea5086f53925da.bundle.js
[edit]
[-] hotspot.7a26a87c29a1cd99ebc4.bundle.js
[edit]
[-] form.e231ef9f8b852ecaa4d3.bundle.js
[edit]
[-] woocommerce-my-account.8877c071e31d5024f717.bundle.min.js
[edit]
[-] editor.min.js
[edit]
[-] custom-code.js
[edit]
[-] woocommerce-notices.7acc357dab73c74f532c.bundle.js
[edit]
[-] search-form.a396372f407d3c16a0ef.bundle.min.js
[edit]
[-] video-playlist.e7e71397df149e9406ce.bundle.min.js
[edit]
[-] woocommerce-notices.da27b22c491f7cbe9158.bundle.min.js
[edit]
[-] preloaded-elements-handlers.js
[edit]
[-] jszip.vendor.dc89f0ba11b047e93d46.bundle.min.js.LICENSE.txt
[edit]
[-] woocommerce-menu-cart.3dd7c3f10f39d618076a.bundle.js
[edit]
[-] search-form.2a7313a0f793c51489e5.bundle.js
[edit]
[-] webpack-pro.runtime.js
[edit]
[-] load-more.80eb3caec79a44347d74.bundle.min.js
[edit]
[-] countdown.b0ef6392ec4ff09ca2f2.bundle.min.js
[edit]
[-] jszip.vendor.2d31998ec05c74562278.bundle.js
[edit]
[-] paypal-button.3d0d5af7df85963df32c.bundle.min.js
[edit]
[-] woocommerce-cart.e2b26d683c4de1ac5aff.bundle.js
[edit]
[-] gallery.ab76804bbe6e9657fa8b.bundle.js
[edit]
[-] gallery.9c61bb9957e10e6d7bda.bundle.min.js
[edit]
[-] screenshot.js
[edit]
[-] preview.js
[edit]
[-] animated-headline.a669865c518a01b3654e.bundle.min.js
[edit]
[-] posts.c35de42fde52aa1dbfe2.bundle.min.js
[edit]
[-] woocommerce-menu-cart.37905d32f638831bc09d.bundle.min.js
[edit]
[-] animated-headline.4d4d3c90102df0feeeb4.bundle.js
[edit]
[-] carousel.5af857cc40abaf7d2683.bundle.min.js
[edit]
[-] media-carousel.20a9d5cef4d885304bea.bundle.min.js
[edit]
[-] media-carousel.e3ec0e8809948259690d.bundle.js
[edit]
[-] code-highlight.28a979661569ddbbf60d.bundle.min.js
[edit]
[-] countdown.486737044795b3a87ad3.bundle.js
[edit]
[-] admin.min.js
[edit]
[-] woocommerce-my-account.44bbb4dd4591f0c43079.bundle.js
[edit]
[-] social.1c34ab246a4f2f971eb3.bundle.js
[edit]
[-] preloaded-elements-handlers.min.js
[edit]
[-] portfolio.71a295881db9bf336b34.bundle.js
[edit]
[-] page-transitions.js
[edit]
[-] qunit-tests.js
[edit]
[-] custom-code.min.js
[edit]
[-] archive-posts.a4d8e162c4df3b058868.bundle.min.js
[edit]
[-] carousel.ec49ae64da497d8adeee.bundle.js
[edit]
[-] progress-tracker.d38557a8e9be0c7ac097.bundle.js
[edit]
[-] archive-posts.9298f3dd8f2722909f33.bundle.js
[edit]
[-] lottie.147bf20db94f86cc4295.bundle.min.js
[edit]
[-] share-buttons.d46ad1a7ae4811ddf539.bundle.js
[edit]
[-] page-transitions-editor.8e84a298bb20935a26be.bundle.min.js
[edit]
[-] woocommerce-cart.7b31441d24d96ca1a4f8.bundle.min.js
[edit]
[-] posts.088a95f657e27386e013.bundle.js
[edit]
[-] load-more.fec6d8e0469ce9de4c2e.bundle.js
[edit]