PATH:
home
/
lab2454c
/
caimegroup.com
/
wp-content
/
plugins
/
elementor
/
assets
/
js
/*! elementor - v3.20.0 - 26-03-2024 */ "use strict"; (self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["video"],{ /***/ "../assets/dev/js/frontend/handlers/video.js": /*!***************************************************!*\ !*** ../assets/dev/js/frontend/handlers/video.js ***! \***************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Video extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { imageOverlay: '.elementor-custom-embed-image-overlay', video: '.elementor-video', videoIframe: '.elementor-video-iframe', playIcon: '.elementor-custom-embed-play' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $imageOverlay: this.$element.find(selectors.imageOverlay), $video: this.$element.find(selectors.video), $videoIframe: this.$element.find(selectors.videoIframe), $playIcon: this.$element.find(selectors.playIcon) }; } handleVideo() { if (this.getElementSettings('lightbox')) { return; } if ('youtube' === this.getElementSettings('video_type')) { this.apiProvider.onApiReady(apiObject => { this.elements.$imageOverlay.remove(); this.prepareYTVideo(apiObject, true); }); } else { this.elements.$imageOverlay.remove(); this.playVideo(); } } playVideo() { if (this.elements.$video.length) { // This.youtubePlayer exists only for YouTube videos, and its play function is different. if (this.youtubePlayer) { this.youtubePlayer.playVideo(); } else { this.elements.$video[0].play(); } return; } const $videoIframe = this.elements.$videoIframe, lazyLoad = $videoIframe.data('lazy-load'); if (lazyLoad) { $videoIframe.attr('src', lazyLoad); } $videoIframe[0].src = this.apiProvider.getAutoplayURL($videoIframe[0].src); } async animateVideo() { const lightbox = await elementorFrontend.utils.lightbox; lightbox.setEntranceAnimation(this.getCurrentDeviceSetting('lightbox_content_animation')); } async hideLightbox() { const lightbox = await elementorFrontend.utils.lightbox; lightbox.getModal().hide(); } prepareYTVideo(YT, onOverlayClick) { const elementSettings = this.getElementSettings(), playerOptions = { videoId: this.videoID, events: { onReady: () => { if (elementSettings.mute) { this.youtubePlayer.mute(); } if (elementSettings.autoplay || onOverlayClick) { this.youtubePlayer.playVideo(); } }, onStateChange: event => { if (event.data === YT.PlayerState.ENDED && elementSettings.loop) { this.youtubePlayer.seekTo(elementSettings.start || 0); } } }, playerVars: { controls: elementSettings.controls ? 1 : 0, rel: elementSettings.rel ? 1 : 0, playsinline: elementSettings.play_on_mobile ? 1 : 0, modestbranding: elementSettings.modestbranding ? 1 : 0, autoplay: elementSettings.autoplay ? 1 : 0, start: elementSettings.start, end: elementSettings.end } }; // To handle CORS issues, when the default host is changed, the origin parameter has to be set. if (elementSettings.yt_privacy) { playerOptions.host = 'https://www.youtube-nocookie.com'; playerOptions.origin = window.location.hostname; } this.youtubePlayer = new YT.Player(this.elements.$video[0], playerOptions); } bindEvents() { this.elements.$imageOverlay.on('click', this.handleVideo.bind(this)); this.elements.$playIcon.on('keydown', event => { const playKeys = [13, // Enter key. 32 // Space bar key. ]; if (playKeys.includes(event.keyCode)) { this.handleVideo(); } }); } onInit() { super.onInit(); const elementSettings = this.getElementSettings(); if (elementorFrontend.utils[elementSettings.video_type]) { this.apiProvider = elementorFrontend.utils[elementSettings.video_type]; } else { this.apiProvider = elementorFrontend.utils.baseVideoLoader; } if ('youtube' !== elementSettings.video_type) { // Currently the only API integration in the Video widget is for the YT API return; } this.videoID = this.apiProvider.getVideoIDFromURL(elementSettings.youtube_url); // If there is an image overlay, the YouTube video prep method will be triggered on click if (!this.videoID) { return; } // If the user is using an image overlay, loading the API happens on overlay click instead of on init. if (elementSettings.show_image_overlay && elementSettings.image_overlay.url) { return; } if (elementSettings.lazy_load) { this.intersectionObserver = elementorModules.utils.Scroll.scrollObserver({ callback: event => { if (event.isInViewport) { this.intersectionObserver.unobserve(this.elements.$video.parent()[0]); this.apiProvider.onApiReady(apiObject => this.prepareYTVideo(apiObject)); } } }); // We observe the parent, since the video container has a height of 0. this.intersectionObserver.observe(this.elements.$video.parent()[0]); return; } // When Optimized asset loading is set to off, the video type is set to 'Youtube', and 'Privacy Mode' is set // to 'On', there might be a conflict with other videos that are loaded WITHOUT privacy mode, such as a // video bBackground in a section. In these cases, to avoid the conflict, a timeout is added to postpone the // initialization of the Youtube API object. if (!elementorFrontend.config.experimentalFeatures.e_optimized_assets_loading) { setTimeout(() => { this.apiProvider.onApiReady(apiObject => this.prepareYTVideo(apiObject)); }, 0); } else { this.apiProvider.onApiReady(apiObject => this.prepareYTVideo(apiObject)); } } onElementChange(propertyName) { if (0 === propertyName.indexOf('lightbox_content_animation')) { this.animateVideo(); return; } const isLightBoxEnabled = this.getElementSettings('lightbox'); if ('lightbox' === propertyName && !isLightBoxEnabled) { this.hideLightbox(); } } } exports["default"] = Video; /***/ }) }]); //# sourceMappingURL=video.bb330f394f46f2666bc1.bundle.js.map
[+]
..
[-] editor-environment-v2.js
[edit]
[-] c96bb3445f3bc9de7d26.bundle.min.js
[edit]
[-] frontend.min.js
[edit]
[-] admin-notifications.min.js
[edit]
[-] admin-notifications.js
[edit]
[-] nested-accordion.js
[edit]
[-] be69c0d71c69e96d6a96.bundle.min.js
[edit]
[-] editor.js
[edit]
[-] f45f06ab7bc79ea02cfc.bundle.js
[edit]
[-] e3f753621bf9be55ec4d.bundle.js
[edit]
[-] alert.cbc2a0fee74ee3ed0419.bundle.min.js
[edit]
[-] accordion.c16b88b2e8a0c50189bc.bundle.js
[edit]
[-] alert.c3c6a3fdf4745bd26b7f.bundle.js
[edit]
[-] admin-feedback.min.js
[edit]
[-] text-path.2bc8a9cd0e50cf1a5a9c.bundle.min.js
[edit]
[-] fd6a00ae23a1bc2c6190.bundle.js
[edit]
[-] nested-tabs.min.js
[edit]
[-] frontend.js
[edit]
[-] editor-modules.min.js.LICENSE.txt
[edit]
[-] container-converter.min.js
[edit]
[-] kit-elements-defaults-editor.js
[edit]
[-] notes.min.js
[edit]
[-] video.bb330f394f46f2666bc1.bundle.js
[edit]
[-] kit-library.ac1a4cd5deae5526ce49.bundle.js
[edit]
[-] editor-notifications.min.js
[edit]
[-] progress.ca55d33bb06cee4e6f02.bundle.min.js
[edit]
[-] admin-top-bar.min.js
[edit]
[-] editor-loader-v1.min.js
[edit]
[-] media-hints.js
[edit]
[-] tabs.c2af5be7f9cb3cdcf3d5.bundle.min.js
[edit]
[-] import-export-admin.min.js
[edit]
[-] admin.js
[edit]
[-] 4fdaa70e951ad90db2f2.bundle.min.js
[edit]
[-] admin-modules.js
[edit]
[-] styleguide-app-initiator.js
[edit]
[-] admin-top-bar.js
[edit]
[-] editor-modules.min.js
[edit]
[-] lightbox.94b920846d1e37cafb78.bundle.min.js
[edit]
[-] lightbox.6565606db58088dcec66.bundle.js
[edit]
[-] gutenberg.min.js
[edit]
[-] app.min.js
[edit]
[-] element-manager-admin.min.js
[edit]
[-] nested-tabs.js
[edit]
[-] app.js
[edit]
[-] editor-loader-v1.js
[edit]
[-] editor-notifications.js
[edit]
[-] editor.min.js.LICENSE.txt
[edit]
[-] preloaded-modules.min.js
[edit]
[+]
packages
[-] preloaded-modules.js
[edit]
[-] nested-elements.min.js
[edit]
[-] kit-elements-defaults-editor.min.js
[edit]
[-] gutenberg.js
[edit]
[-] ai-admin.min.js.LICENSE.txt
[edit]
[-] dev-tools.js
[edit]
[-] editor-document.js
[edit]
[-] 711ef4fb95afdad77d95.bundle.min.js
[edit]
[-] ai-layout.min.js
[edit]
[-] admin-modules.min.js.LICENSE.txt
[edit]
[-] app-packages.js
[edit]
[-] common.min.js
[edit]
[-] styleguide-app-initiator.min.js.LICENSE.txt
[edit]
[-] web-cli.min.js
[edit]
[-] common-modules.min.js
[edit]
[-] common-modules.js
[edit]
[-] frontend-modules.min.js
[edit]
[-] element-manager-admin.js
[edit]
[-] text-path.2bc8a9cd0e50cf1a5a9c.bundle.min.js.LICENSE.txt
[edit]
[-] common.js
[edit]
[-] new-template.min.js
[edit]
[-] app-loader.js
[edit]
[-] admin.min.js.LICENSE.txt
[edit]
[-] editor.min.js
[edit]
[-] elementor-admin-bar.js
[edit]
[-] editor-loader-v2.js
[edit]
[-] kit-elements-defaults-editor.min.js.LICENSE.txt
[edit]
[-] onboarding.f2f8af9f7327abc100f1.bundle.js
[edit]
[-] container.a7f0a15dfa05df34e1f7.bundle.js
[edit]
[-] elementor-admin-bar.min.js
[edit]
[-] text-editor.2f2f7e0ea1e16387a004.bundle.js
[edit]
[-] d3bdd130eb38d3b07f85.bundle.js
[edit]
[-] nested-elements.js
[edit]
[-] toggle.31881477c45ff5cf9d4d.bundle.min.js
[edit]
[-] frontend-modules.js
[edit]
[-] webpack.runtime.min.js
[edit]
[-] styleguide-app-initiator.min.js
[edit]
[-] video.fea4f8dfdf17262f23e8.bundle.min.js
[edit]
[-] image-carousel.9399f19d95d7300cbc2e.bundle.js
[edit]
[-] 0880f3bc2f53dadb50fa.bundle.min.js
[edit]
[-] app-loader.min.js
[edit]
[-] e8a7573e654d921656ab.bundle.js
[edit]
[-] web-cli.js
[edit]
[-] styleguide.js
[edit]
[-] webpack.runtime.js
[edit]
[-] tabs.520bc2ed4560c561029e.bundle.js
[edit]
[-] editor-modules.js
[edit]
[-] announcements-app.min.js
[edit]
[-] 4586b3ce03181d93c8bf.bundle.js
[edit]
[-] a730ee9caa710006b307.bundle.js
[edit]
[-] counter.02cef29c589e742d4c8c.bundle.min.js
[edit]
[-] app-packages.min.js.LICENSE.txt
[edit]
[-] media-hints.min.js
[edit]
[-] kit-library.fa1bd4bf32021742c7f0.bundle.min.js
[edit]
[-] styleguide.min.js
[edit]
[-] new-template.js
[edit]
[-] app.min.js.LICENSE.txt
[edit]
[-] responsive-bar.min.js
[edit]
[-] 46e544e5863270fc32f2.bundle.js
[edit]
[-] admin-feedback.js
[edit]
[-] accordion.8799675460c73eb48972.bundle.min.js
[edit]
[-] editor-document.min.js
[edit]
[-] f9b37afff6a65f7b9541.bundle.js
[edit]
[-] beta-tester.js
[edit]
[-] common.min.js.LICENSE.txt
[edit]
[-] wp-audio.b8efdc046bc9df72a075.bundle.js
[edit]
[-] container.c65a2a923085e1120e75.bundle.min.js
[edit]
[-] nested-accordion.min.js.LICENSE.txt
[edit]
[-] ai.min.js.LICENSE.txt
[edit]
[-] announcements-app.js
[edit]
[-] toggle.d79746a764407a0828ee.bundle.js
[edit]
[-] web-cli.min.js.LICENSE.txt
[edit]
[-] ai-layout.js
[edit]
[-] 0880f3bc2f53dadb50fa.bundle.min.js.LICENSE.txt
[edit]
[-] app-packages.min.js
[edit]
[-] text-path.fa44919c1abfe9244186.bundle.js
[edit]
[-] text-editor.2c35aafbe5bf0e127950.bundle.min.js
[edit]
[-] admin.min.js
[edit]
[-] editor-environment-v2.min.js
[edit]
[-] nested-accordion.min.js
[edit]
[-] onboarding.94a8ac732fd1698fee56.bundle.min.js
[edit]
[-] 79d91b3af4aa6bc1c967.bundle.min.js
[edit]
[-] admin-modules.min.js
[edit]
[-] ai-layout.min.js.LICENSE.txt
[edit]
[-] 906cf49fecec599e1a67.bundle.min.js
[edit]
[-] container-converter.js
[edit]
[-] responsive-bar.js
[edit]
[-] ai.min.js
[edit]
[-] counter.3f74a246dff765f39aea.bundle.js
[edit]
[-] editor-loader-v2.min.js
[edit]
[-] ai-admin.min.js
[edit]
[-] 1bef795bdeaafc779b19.bundle.min.js
[edit]
[-] element-manager-admin.min.js.LICENSE.txt
[edit]
[-] ai-admin.js
[edit]
[-] image-carousel.4455c6362492d9067512.bundle.min.js
[edit]
[-] progress.553d43a5b3903206bedc.bundle.js
[edit]
[-] ai.js
[edit]
[-] nested-tabs.min.js.LICENSE.txt
[edit]
[-] import-export-admin.js
[edit]
[-] notes.js
[edit]
[-] wp-audio.75f0ced143febb8cd31a.bundle.min.js
[edit]
[-] dev-tools.min.js
[edit]
[-] beta-tester.min.js
[edit]
[-] announcements-app.min.js.LICENSE.txt
[edit]