first commit

This commit is contained in:
2024-07-15 11:28:08 +02:00
commit f52d538ea5
21891 changed files with 6161164 additions and 0 deletions

View File

@@ -0,0 +1 @@
#jet-tabs-settings-page{visibility:hidden}#jet-tabs-settings-page.is-mounted{visibility:visible}.jet-tabs-settings-page{margin:25px 15px 0 15px}.jet-tabs-settings-page .cx-vui-tabs-panel>.cx-vui-subtitle{padding:20px;margin-top:20px}.jet-tabs-settings-page .cx-vui-tabs-panel>.cx-vui-subtitle:first-child{margin-top:0}.jet-tabs-settings-page .jet-tabs-avaliable-widgets-control .cx-vui-checkgroup{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.jet-tabs-settings-page .jet-tabs-avaliable-widgets-control .cx-vui-checkgroup .cx-vui-checkbox-wrap{width:25%}@media screen and (max-width: 1200px){.jet-tabs-settings-page .jet-tabs-avaliable-widgets-control .cx-vui-checkgroup .cx-vui-checkbox-wrap{width:50%}}@media screen and (max-width: 782px){.jet-tabs-settings-page .jet-tabs-avaliable-widgets-control .cx-vui-checkgroup .cx-vui-checkbox-wrap{width:100%}}.jet-tabs-settings-page__avaliable-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.jet-tabs-settings-page__avaliable-control{width:33.3333%}@media screen and (max-width: 1200px){.jet-tabs-settings-page__avaliable-control{width:50%}}@media screen and (max-width: 782px){.jet-tabs-settings-page__avaliable-control{width:100%}}.jet-tabs-settings-page__avaliable-control .cx-vui-component{padding:10px 0}.jet-tabs-settings-page__disable-all-widgets{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #ECECEC;padding-bottom:20px;margin:20px 0}.jet-tabs-settings-page__disable-all-widgets .cx-vui-component__label{margin-right:10px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="32px" height="32px" viewBox="0 0 128 128" xml:space="preserve"><g><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="1"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.67" transform="rotate(45,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.42" transform="rotate(90,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.2" transform="rotate(135,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.12" transform="rotate(180,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.12" transform="rotate(225,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.12" transform="rotate(270,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.12" transform="rotate(315,64,64)"/><animateTransform attributeName="transform" type="rotate" values="0 64 64;315 64 64;270 64 64;225 64 64;180 64 64;135 64 64;90 64 64;45 64 64" calcMode="discrete" dur="800ms" repeatCount="indefinite"></animateTransform></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="64px" height="64px" viewBox="0 0 128 128" xml:space="preserve"><g><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="1"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.67" transform="rotate(45,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.42" transform="rotate(90,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.2" transform="rotate(135,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.12" transform="rotate(180,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.12" transform="rotate(225,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.12" transform="rotate(270,64,64)"/><circle cx="16" cy="64" r="16" fill="#ffffff" fill-opacity="0.12" transform="rotate(315,64,64)"/><animateTransform attributeName="transform" type="rotate" values="0 64 64;315 64 64;270 64 64;225 64 64;180 64 64;135 64 64;90 64 64;45 64 64" calcMode="discrete" dur="800ms" repeatCount="indefinite"></animateTransform></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,107 @@
(function( $, settingsPageConfig ) {
'use strict';
Vue.config.devtools = true;
window.JetTabsSettingsPage = new Vue( {
el: '#jet-tabs-settings-page',
data: {
pageOptions: settingsPageConfig.settingsData,
preparedOptions: {},
savingStatus: false,
ajaxSaveHandler: null,
disableAllWidgets: false
},
mounted: function() {
for ( var slug in this.pageOptions['avaliable_widgets']['value'] ) {
if ( 'true' === this.pageOptions['avaliable_widgets']['value'][slug] ) {
this.disableAllWidgets = true;
break;
}
}
this.$el.className = 'is-mounted';
},
watch: {
pageOptions: {
handler( options ) {
let prepared = {};
for ( let option in options ) {
if ( options.hasOwnProperty( option ) ) {
prepared[ option ] = options[option]['value'];
}
}
this.preparedOptions = prepared;
this.saveOptions();
},
deep: true
}
},
methods: {
disableAllWidgetsEvent: function( state ) {
if ( state ) {
for ( var slug in this.pageOptions['avaliable_widgets']['value'] ) {
this.pageOptions['avaliable_widgets']['value'][slug] = 'true';
}
} else {
for ( var slug in this.pageOptions['avaliable_widgets']['value'] ) {
this.pageOptions['avaliable_widgets']['value'][slug] = 'false';
}
}
},
saveOptions: function() {
var self = this;
self.savingStatus = true;
self.ajaxSaveHandler = $.ajax( {
type: 'POST',
url: settingsPageConfig.settingsApiUrl,
dataType: 'json',
data: self.preparedOptions,
beforeSend: function( jqXHR, ajaxSettings ) {
if ( null !== self.ajaxSaveHandler ) {
self.ajaxSaveHandler.abort();
}
},
success: function( responce, textStatus, jqXHR ) {
self.savingStatus = false;
if ( 'success' === responce.status ) {
self.$CXNotice.add( {
message: responce.message,
type: 'success',
duration: 3000,
} );
}
if ( 'error' === responce.status ) {
self.$CXNotice.add( {
message: responce.message,
type: 'error',
duration: 3000,
} );
}
}
} );
},
}
} );
})( jQuery, window.JetTabsSettingsPageConfig );

View File

@@ -0,0 +1,89 @@
(function( $ ) {
'use strict';
var JetTabsEditor,
JetTabsData = window.JetTabsData || {};
JetTabsEditor = {
modal: false,
init: function() {
window.elementor.on( 'preview:loaded', JetTabsEditor.onPreviewLoaded );
},
onPreviewLoaded: function() {
var $previewContents = window.elementor.$previewContents,
elementorFrontend = $('#elementor-preview-iframe')[0].contentWindow.elementorFrontend;
elementorFrontend.hooks.addAction( 'frontend/element_ready/jet-tabs.default', function( $scope ){
$scope.find( '.jet-tabs__edit-cover' ).on( 'click', JetTabsEditor.showTemplatesModal );
$scope.find( '.jet-tabs-new-template-link' ).on( 'click', function( event ) {
window.location.href = $( this ).attr( 'href' );
} );
} );
elementorFrontend.hooks.addAction( 'frontend/element_ready/jet-accordion.default', function( $scope ){
$scope.find( '.jet-toggle__edit-cover' ).on( 'click', JetTabsEditor.showTemplatesModal );
$scope.find( '.jet-toogle-new-template-link' ).on( 'click', function( event ) {
window.location.href = $( this ).attr( 'href' );
} );
} );
elementorFrontend.hooks.addAction( 'frontend/element_ready/jet-switcher.default', function( $scope ){
$scope.find( '.jet-switcher__edit-cover' ).on( 'click', JetTabsEditor.showTemplatesModal );
$scope.find( '.jet-switcher-new-template-link' ).on( 'click', function( event ) {
window.location.href = $( this ).attr( 'href' );
} );
} );
JetTabsEditor.getModal().on( 'hide', function() {
window.elementor.reloadPreview();
});
},
showTemplatesModal: function() {
var editLink = $( this ).data( 'template-edit-link' );
JetTabsEditor.showModal( editLink );
},
showModal: function( link ) {
var $iframe,
$loader;
JetTabsEditor.getModal().show();
$( '#jet-tabs-template-edit-modal .dialog-message').html( '<iframe src="' + link + '" id="jet-tabs-edit-frame" width="100%" height="100%"></iframe>' );
$( '#jet-tabs-template-edit-modal .dialog-message').append( '<div id="jet-tabs-loading"><div class="elementor-loader-wrapper"><div class="elementor-loader"><div class="elementor-loader-boxes"><div class="elementor-loader-box"></div><div class="elementor-loader-box"></div><div class="elementor-loader-box"></div><div class="elementor-loader-box"></div></div></div><div class="elementor-loading-title">Loading</div></div></div>' );
$iframe = $( '#jet-tabs-edit-frame');
$loader = $( '#jet-tabs-loading');
$iframe.on( 'load', function() {
$loader.fadeOut( 300 );
} );
},
getModal: function() {
if ( ! JetTabsEditor.modal ) {
this.modal = elementor.dialogsManager.createWidget( 'lightbox', {
id: 'jet-tabs-template-edit-modal',
closeButton: true,
closeButtonClass: 'eicon-close',
hide: {
onBackgroundClick: false
}
} );
}
return JetTabsEditor.modal;
}
};
$( window ).on( 'elementor:init', JetTabsEditor.init );
})( jQuery );

View File

@@ -0,0 +1 @@
!function(e){"use strict";var t;window.JetTabsData;t={modal:!1,init:function(){window.elementor.on("preview:loaded",t.onPreviewLoaded)},onPreviewLoaded:function(){window.elementor.$previewContents;var o=e("#elementor-preview-iframe")[0].contentWindow.elementorFrontend;o.hooks.addAction("frontend/element_ready/jet-tabs.default",function(o){o.find(".jet-tabs__edit-cover").on("click",t.showTemplatesModal),o.find(".jet-tabs-new-template-link").on("click",function(t){window.location.href=e(this).attr("href")})}),o.hooks.addAction("frontend/element_ready/jet-accordion.default",function(o){o.find(".jet-toggle__edit-cover").on("click",t.showTemplatesModal),o.find(".jet-toogle-new-template-link").on("click",function(t){window.location.href=e(this).attr("href")})}),o.hooks.addAction("frontend/element_ready/jet-switcher.default",function(o){o.find(".jet-switcher__edit-cover").on("click",t.showTemplatesModal),o.find(".jet-switcher-new-template-link").on("click",function(t){window.location.href=e(this).attr("href")})}),t.getModal().on("hide",function(){window.elementor.reloadPreview()})},showTemplatesModal:function(){var o=e(this).data("template-edit-link");t.showModal(o)},showModal:function(o){var i,n;t.getModal().show(),e("#jet-tabs-template-edit-modal .dialog-message").html('<iframe src="'+o+'" id="jet-tabs-edit-frame" width="100%" height="100%"></iframe>'),e("#jet-tabs-template-edit-modal .dialog-message").append('<div id="jet-tabs-loading"><div class="elementor-loader-wrapper"><div class="elementor-loader"><div class="elementor-loader-boxes"><div class="elementor-loader-box"></div><div class="elementor-loader-box"></div><div class="elementor-loader-box"></div><div class="elementor-loader-box"></div></div></div><div class="elementor-loading-title">Loading</div></div></div>'),i=e("#jet-tabs-edit-frame"),n=e("#jet-tabs-loading"),i.on("load",function(){n.fadeOut(300)})},getModal:function(){return t.modal||(this.modal=elementor.dialogsManager.createWidget("lightbox",{id:"jet-tabs-template-edit-modal",closeButton:!0,closeButtonClass:"eicon-close",hide:{onBackgroundClick:!1}})),t.modal}},e(window).on("elementor:init",t.init)}(jQuery);

View File

@@ -0,0 +1,837 @@
// Promise polyfill
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n():"function"==typeof define&&define.amd?define(n):n()}(0,function(){"use strict";function e(e){var n=this.constructor;return this.then(function(t){return n.resolve(e()).then(function(){return t})},function(t){return n.resolve(e()).then(function(){return n.reject(t)})})}function n(e){return!(!e||"undefined"==typeof e.length)}function t(){}function o(e){if(!(this instanceof o))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=undefined,this._deferreds=[],c(e,this)}function r(e,n){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,o._immediateFn(function(){var t=1===e._state?n.onFulfilled:n.onRejected;if(null!==t){var o;try{o=t(e._value)}catch(r){return void f(n.promise,r)}i(n.promise,o)}else(1===e._state?i:f)(n.promise,e._value)})):e._deferreds.push(n)}function i(e,n){try{if(n===e)throw new TypeError("A promise cannot be resolved with itself.");if(n&&("object"==typeof n||"function"==typeof n)){var t=n.then;if(n instanceof o)return e._state=3,e._value=n,void u(e);if("function"==typeof t)return void c(function(e,n){return function(){e.apply(n,arguments)}}(t,n),e)}e._state=1,e._value=n,u(e)}catch(r){f(e,r)}}function f(e,n){e._state=2,e._value=n,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&o._immediateFn(function(){e._handled||o._unhandledRejectionFn(e._value)});for(var n=0,t=e._deferreds.length;t>n;n++)r(e,e._deferreds[n]);e._deferreds=null}function c(e,n){var t=!1;try{e(function(e){t||(t=!0,i(n,e))},function(e){t||(t=!0,f(n,e))})}catch(o){if(t)return;t=!0,f(n,o)}}var a=setTimeout;o.prototype["catch"]=function(e){return this.then(null,e)},o.prototype.then=function(e,n){var o=new this.constructor(t);return r(this,new function(e,n,t){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof n?n:null,this.promise=t}(e,n,o)),o},o.prototype["finally"]=e,o.all=function(e){return new o(function(t,o){function r(e,n){try{if(n&&("object"==typeof n||"function"==typeof n)){var u=n.then;if("function"==typeof u)return void u.call(n,function(n){r(e,n)},o)}i[e]=n,0==--f&&t(i)}catch(c){o(c)}}if(!n(e))return o(new TypeError("Promise.all accepts an array"));var i=Array.prototype.slice.call(e);if(0===i.length)return t([]);for(var f=i.length,u=0;i.length>u;u++)r(u,i[u])})},o.resolve=function(e){return e&&"object"==typeof e&&e.constructor===o?e:new o(function(n){n(e)})},o.reject=function(e){return new o(function(n,t){t(e)})},o.race=function(e){return new o(function(t,r){if(!n(e))return r(new TypeError("Promise.race accepts an array"));for(var i=0,f=e.length;f>i;i++)o.resolve(e[i]).then(t,r)})},o._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){a(e,0)},o._unhandledRejectionFn=function(e){void 0!==console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var l=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}();"Promise"in l?l.Promise.prototype["finally"]||(l.Promise.prototype["finally"]=e):l.Promise=o});
( function( $, elementor, settings ) {
'use strict';
var JetTabs = {
addedScripts: {},
addedStyles: {},
addedAssetsPromises: [],
devMode: JetTabsSettings.devMode || 'false',
init: function() {
var widgets = {
'jet-tabs.default': JetTabs.tabsInit,
'jet-accordion.default': JetTabs.accordionInit,
'jet-image-accordion.default': JetTabs.imageAccordionInit,
'jet-switcher.default': JetTabs.switcherInit,
};
$.each( widgets, function( widget, callback ) {
elementor.hooks.addAction( 'frontend/element_ready/' + widget, callback );
});
},
tabsInit: function( $scope ) {
var $target = $( '.jet-tabs', $scope ).first(),
$widgetId = $target.data( 'id' ),
$window = $( window ),
$controlWrapper = $( '.jet-tabs__control-wrapper', $target ).first(),
$contentWrapper = $( '.jet-tabs__content-wrapper', $target ).first(),
$controlList = $( '> .jet-tabs__control', $controlWrapper ),
$contentList = $( '> .jet-tabs__content', $contentWrapper ),
settings = $target.data( 'settings' ) || {},
toogleEvents = 'mouseenter mouseleave',
scrollOffset,
autoSwitchInterval = null,
curentHash = window.location.hash || false,
tabsArray = curentHash ? curentHash.replace( '#', '' ).split( '&' ) : false;
if ( 'click' === settings['event'] ) {
addClickEvent();
} else {
addMouseEvent();
}
if ( settings['autoSwitch'] ) {
var startIndex = settings['activeIndex'],
currentIndex = startIndex,
controlListLength = $controlList.length;
autoSwitchInterval = setInterval( function() {
if ( currentIndex < controlListLength - 1 ) {
currentIndex++;
} else {
currentIndex = 0;
}
if ( settings['ajaxTemplate'] ) {
ajaxLoadTemplate( currentIndex );
}
switchTab( currentIndex );
}, +settings['autoSwitchDelay'] );
}
if ( settings['ajaxTemplate'] ) {
ajaxLoadTemplate( settings['activeIndex'] );
}
$( window ).on( 'resize.jetTabs orientationchange.jetTabs', function() {
$contentWrapper.css( { 'height': 'auto' } );
} );
/**
* [addClickEvent description]
*/
function addClickEvent() {
$controlList.on( 'click.jetTabs', function() {
var $this = $( this ),
tabId = +$this.data( 'tab' ) - 1,
templateId = $this.data( 'template-id' );
clearInterval( autoSwitchInterval );
if ( settings['ajaxTemplate'] && templateId ) {
ajaxLoadTemplate( tabId );
}
switchTab( tabId );
});
}
/**
* [addMouseEvent description]
*/
function addMouseEvent() {
if ( 'ontouchend' in window || 'ontouchstart' in window ) {
$controlList.on( 'touchstart', function( event ) {
scrollOffset = $( window ).scrollTop();
} );
$controlList.on( 'touchend', function( event ) {
var $this = $( this ),
tabId = +$this.data( 'tab' ) - 1,
templateId = $this.data( 'template-id' );
if ( scrollOffset !== $( window ).scrollTop() ) {
return false;
}
clearInterval( autoSwitchInterval );
if ( settings['ajaxTemplate'] && templateId ) {
ajaxLoadTemplate( tabId );
}
switchTab( tabId );
} );
} else {
$controlList.on( 'mouseenter', function( event ) {
var $this = $( this ),
tabId = +$this.data( 'tab' ) - 1,
templateId = $this.data( 'template-id' );
clearInterval( autoSwitchInterval );
if ( settings['ajaxTemplate'] && templateId ) {
ajaxLoadTemplate( tabId );
}
switchTab( tabId );
} );
}
}
/**
* [switchTab description]
* @param {[type]} curentIndex [description]
* @return {[type]} [description]
*/
function switchTab( curentIndex ) {
var $activeControl = $controlList.eq( curentIndex ),
$activeContent = $contentList.eq( curentIndex ),
activeContentHeight = 'auto',
timer;
$contentWrapper.css( { 'height': $contentWrapper.outerHeight( true ) } );
$controlList.removeClass( 'active-tab' );
$activeControl.addClass( 'active-tab' );
$controlList.attr( 'aria-expanded', 'false' );
$activeControl.attr( 'aria-expanded', 'true' );
$contentList.removeClass( 'active-content' );
activeContentHeight = $activeContent.outerHeight( true );
activeContentHeight += parseInt( $contentWrapper.css( 'border-top-width' ) ) + parseInt( $contentWrapper.css( 'border-bottom-width' ) );
$activeContent.addClass( 'active-content' );
$contentList.attr( 'aria-hidden', 'true' );
$activeContent.attr( 'aria-hidden', 'false' );
$contentWrapper.css( { 'height': activeContentHeight } );
$window.trigger( 'jet-tabs/tabs/show-tab-event/before', {
widgetId: $widgetId,
tabIndex: curentIndex,
} );
if ( timer ) {
clearTimeout( timer );
}
timer = setTimeout( function() {
$window.trigger( 'jet-tabs/tabs/show-tab-event/after', {
widgetId: $widgetId,
tabIndex: curentIndex,
} );
$contentWrapper.css( { 'height': 'auto' } );
}, 500 );
}
/**
* [ajaxLoadTemplate description]
* @param {[type]} $index [description]
* @return {[type]} [description]
*/
function ajaxLoadTemplate( $index ) {
var $contentHolder = $contentList.eq( $index ),
templateLoaded = $contentHolder.data( 'template-loaded' ) || false,
templateId = $contentHolder.data( 'template-id' ),
loader = $( '.jet-tabs-loader', $contentHolder );
if ( templateLoaded ) {
return false;
}
$contentHolder.data( 'template-loaded', true );
$.ajax( {
type: 'GET',
url: window.JetTabsSettings.templateApiUrl,
dataType: 'json',
data: {
'id': templateId,
'dev': window.JetTabsSettings.devMode
},
success: function( responce, textStatus, jqXHR ) {
var templateContent = responce['template_content'],
templateScripts = responce['template_scripts'],
templateStyles = responce['template_styles'];
for ( var scriptHandler in templateScripts ) {
JetTabs.addedAssetsPromises.push( JetTabs.loadScriptAsync( scriptHandler, templateScripts[ scriptHandler ] ) );
}
for ( var styleHandler in templateStyles ) {
JetTabs.addedAssetsPromises.push( JetTabs.loadStyle( styleHandler, templateStyles[ styleHandler ] ) );
}
Promise.all( JetTabs.addedAssetsPromises ).then( value => {
loader.remove();
$contentHolder.append( templateContent );
JetTabs.elementorFrontendInit( $contentHolder );
}, reason => {
console.log( 'Script Loaded Error' );
});
}
} );//end
}
// Hash Watch Handler
if ( tabsArray ) {
$controlList.each( function( index ) {
var $this = $( this ),
id = $this.attr( 'id' ),
templateId = $this.data( 'template-id' ),
tabIndex = index;
tabsArray.forEach( function( itemHash, i ) {
if ( itemHash === id ) {
if ( settings['ajaxTemplate'] && templateId ) {
ajaxLoadTemplate( tabIndex );
}
switchTab( tabIndex );
}
} );
} );
}
$( document ).on( 'click.jetTabAnchor', 'a[href*="#jet-tabs-control-"]', function( event ) {
var $hash = $( this.hash );
if ( ! $hash.closest( $scope )[0] ) {
return;
}
var tabInx = $hash.data( 'tab' ) - 1;
if ( settings['ajaxTemplate'] ) {
ajaxLoadTemplate( tabInx );
}
switchTab( tabInx );
} );
},// tabsInit end
switcherInit: function( $scope ) {
var $target = $( '.jet-switcher', $scope ).first(),
$widgetId = $target.data( 'id' ),
$window = $( window ),
$controlWrapper = $( '.jet-switcher__control-wrapper', $target ).first(),
$contentWrapper = $( '.jet-switcher__content-wrapper', $target ).first(),
$controlInstance = $( '> .jet-switcher__control-instance', $controlWrapper ),
$controlList = $( '> .jet-switcher__control-instance > .jet-switcher__control, > .jet-switcher__control', $controlWrapper ),
$contentList = $( '> .jet-switcher__content', $contentWrapper ),
$disableContent = $( '> .jet-switcher__content--disable', $contentWrapper ),
$enableContent = $( '> .jet-switcher__content--enable', $contentWrapper ),
state = $target.hasClass( 'jet-switcher--disable' ),
settings = $target.data( 'settings' ) || {},
toogleEvents = 'mouseenter mouseleave',
scrollOffset;
if ( 'ontouchend' in window || 'ontouchstart' in window ) {
addTouchEvent();
} else {
addClickEvent();
}
$( window ).on( 'resize.jetSwitcher orientationchange.jetSwitcher', function() {
$contentWrapper.css( { 'height': 'auto' } );
} );
function addClickEvent() {
$controlInstance.on( 'click.jetSwitcher', function() {
switchTab();
});
}
function addTouchEvent() {
$controlInstance.on( 'touchstart', function( event ) {
scrollOffset = $( window ).scrollTop();
} );
$controlInstance.on( 'touchend', function( event ) {
if ( scrollOffset !== $( window ).scrollTop() ) {
return false;
}
switchTab();
} );
}
function switchTab( curentIndex ) {
var $activeControl, $activeContent,
activeContentHeight = 'auto',
timer;
$contentWrapper.css( { 'height': $contentWrapper.outerHeight( true ) } );
$target.toggleClass( 'jet-switcher--disable jet-switcher--enable' );
if ( $target.hasClass( 'jet-switcher--disable' ) ) {
state = false;
} else {
state = true;
}
$activeControl = ! state ? $controlList.eq(0) : $controlList.eq(1);
$activeContent = ! state ? $contentList.eq(0) : $contentList.eq(1);
$contentList.removeClass( 'active-content' );
activeContentHeight = $activeContent.outerHeight( true );
activeContentHeight += parseInt( $contentWrapper.css( 'border-top-width' ) ) + parseInt( $contentWrapper.css( 'border-bottom-width' ) );
$activeContent.addClass( 'active-content' );
$controlList.attr( 'aria-expanded', 'false' );
$activeControl.attr( 'aria-expanded', 'true' );
$contentList.attr( 'aria-hidden', 'true' );
$activeContent.attr( 'aria-hidden', 'false' );
$contentWrapper.css( { 'height': activeContentHeight } );
$window.trigger( 'jet-tabs/switcher/show-case-event/before', {
widgetId: $widgetId,
caseIndex: curentIndex,
} );
if ( timer ) {
clearTimeout( timer );
}
timer = setTimeout( function() {
$window.trigger( 'jet-tabs/switcher/show-case-event/after', {
widgetId: $widgetId,
caseIndex: curentIndex,
} );
$contentWrapper.css( { 'height': 'auto' } );
}, 500 );
}
},
accordionInit: function( $scope ) {
var $target = $( '.jet-accordion', $scope ).first(),
$widgetId = $target.data( 'id' ),
$window = $( window ),
$controlsList = $( '> .jet-accordion__inner > .jet-toggle > .jet-toggle__control', $target ),
settings = $target.data( 'settings' ),
$toggleList = $( '> .jet-accordion__inner > .jet-toggle', $target ),
timer, timer2,
curentHash = window.location.hash || false,
togglesArray = curentHash ? curentHash.replace( '#', '' ).split( '&' ) : false;
$( window ).on( 'resize.jetAccordion orientationchange.jetAccordion', function() {
var activeToggle = $( '> .jet-accordion__inner > .active-toggle', $target ),
activeToggleContent = $( '> .jet-toggle__content', activeToggle );
activeToggleContent.css( { 'height': 'auto' } );
} );
$controlsList.on( 'click.jetAccordion', function() {
var $this = $( this ),
$toggle = $this.closest( '.jet-toggle' ),
toggleIndex = +$this.data( 'toggle' ) - 1;
if ( settings['collapsible'] ) {
if ( ! $toggle.hasClass( 'active-toggle' ) ) {
$toggleList.each( function( index ) {
var $this = $( this ),
$toggleControl = $( '> .jet-toggle__control', $this ),
$toggleContent = $( '> .jet-toggle__content', $this ),
$toggleContentHeight = $( '> .jet-toggle__content > .jet-toggle__content-inner', $this ).outerHeight();
$toggleContentHeight += parseInt( $toggleContent.css( 'border-top-width' ) ) + parseInt( $toggleContent.css( 'border-bottom-width' ) );
if ( index === toggleIndex ) {
$this.addClass( 'active-toggle' );
$toggleContent.css( { 'height': $toggleContentHeight } );
$toggleControl.attr( 'aria-expanded', 'true' );
$toggleContent.attr( 'aria-hidden', 'false' );
if ( settings['ajaxTemplate'] ) {
ajaxLoadTemplate( toggleIndex );
}
$window.trigger( 'jet-tabs/accordion/show-toggle-event/before', {
widgetId: $widgetId,
toggleIndex: toggleIndex,
} );
if ( timer ) {
clearTimeout( timer );
}
timer = setTimeout( function() {
$window.trigger( 'jet-tabs/accordion/show-toggle-event/after', {
widgetId: $widgetId,
toggleIndex: toggleIndex,
} );
$toggleContent.css( { 'height': 'auto' } );
}, 300 );
} else {
if ( $this.hasClass( 'active-toggle' ) ) {
$toggleContent.css( { 'height': $toggleContent.outerHeight() } );
$this.removeClass( 'active-toggle' );
$toggleControl.attr( 'aria-expanded', 'false' );
$toggleContent.attr( 'aria-hidden', 'true' );
if ( timer2 ) {
clearTimeout( timer2 );
}
timer2 = setTimeout( function() {
$toggleContent.css( { 'height': 0 } );
}, 5 );
}
}
} );
}
} else {
var $toggleContent = $( '> .jet-toggle__content', $toggle ),
$toggleContentHeight = $( '> .jet-toggle__content > .jet-toggle__content-inner', $toggle ).outerHeight();
$toggleContentHeight += parseInt( $toggleContent.css( 'border-top-width' ) ) + parseInt( $toggleContent.css( 'border-bottom-width' ) );
$toggle.toggleClass( 'active-toggle' );
if ( $toggle.hasClass( 'active-toggle') ) {
$toggleContent.css( { 'height': $toggleContentHeight } );
$this.attr( 'aria-expanded', 'true' );
$toggleContent.attr( 'aria-hidden', 'false' );
if ( settings['ajaxTemplate'] ) {
ajaxLoadTemplate( toggleIndex );
}
$window.trigger( 'jet-tabs/accordion/show-toggle-event/before', {
widgetId: $widgetId,
toggleIndex: toggleIndex,
} );
if ( timer ) {
clearTimeout( timer );
}
timer = setTimeout( function() {
$window.trigger( 'jet-tabs/accordion/show-toggle-event/after', {
widgetId: $widgetId,
toggleIndex: toggleIndex,
} );
$toggleContent.css( { 'height': 'auto' } );
}, 300 );
} else {
$toggleContent.css( { 'height': $toggleContent.outerHeight() } );
$this.attr( 'aria-expanded', 'false' );
$toggleContent.attr( 'aria-hidden', 'true' );
if ( timer2 ) {
clearTimeout( timer2 );
}
timer2 = setTimeout( function() {
$toggleContent.css( { 'height': 0 } );
}, 5 );
}
}
});
/**
* [ajaxLoadTemplate description]
* @param {[type]} $index [description]
* @return {[type]} [description]
*/
function ajaxLoadTemplate( $index ) {
var $toggle = $toggleList.eq( $index ),
$contentHolder = $( '> .jet-toggle__content', $toggle ),
$contentHolderInner = $( '> .jet-toggle__content > .jet-toggle__content-inner', $toggle ),
templateLoaded = $contentHolder.data( 'template-loaded' ) || false,
templateId = $contentHolder.data( 'template-id' ),
loader = $( '.jet-tabs-loader', $contentHolderInner );
if ( templateLoaded ) {
return false;
}
$contentHolder.data( 'template-loaded', true );
$.ajax( {
type: 'GET',
url: window.JetTabsSettings.templateApiUrl,
dataType: 'json',
data: {
'id': templateId,
'dev': window.JetTabsSettings.devMode
},
success: function( responce, textStatus, jqXHR ) {
var templateContent = responce['template_content'],
templateScripts = responce['template_scripts'],
templateStyles = responce['template_styles'];
for ( var scriptHandler in templateScripts ) {
JetTabs.addedAssetsPromises.push( JetTabs.loadScriptAsync( scriptHandler, templateScripts[ scriptHandler ] ) );
}
for ( var styleHandler in templateStyles ) {
JetTabs.addedAssetsPromises.push( JetTabs.loadStyle( styleHandler, templateStyles[ styleHandler ] ) );
}
Promise.all( JetTabs.addedAssetsPromises ).then( value => {
loader.remove();
$contentHolderInner.append( templateContent );
JetTabs.elementorFrontendInit( $contentHolderInner );
}, reason => {
console.log( 'Script Loaded Error' );
});
}
} );//end
}
// Hash Watch Handler
if ( togglesArray ) {
$controlsList.each( function( index ) {
var $this = $( this ),
id = $this.attr( 'id' ),
toggleIndex = index;
togglesArray.forEach( function( itemHash, i ) {
if ( itemHash === id ) {
$this.trigger('click.jetAccordion');
}
} );
} );
}
$( document ).on( 'click.jetAccordionAnchor', 'a[href*="#jet-toggle-control-"]', function( event ) {
var $hash = $( this.hash );
if ( ! $hash.closest( $scope )[0] ) {
return;
}
$hash.trigger( 'click.jetAccordion' );
} );
},// accordionInit end
imageAccordionInit: function( $scope) {
var $target = $( '.jet-image-accordion', $scope ),
instance = null,
settings = {};
if ( ! $target.length ) {
return;
}
settings = $target.data( 'settings' );
instance = new jetImageAccordion( $target, settings );
instance.init();
},// imageAccordionInit end
loadScriptAsync: function( script, uri ) {
if ( JetTabs.addedScripts.hasOwnProperty( script ) ) {
return script;
}
JetTabs.addedScripts[ script ] = uri;
return new Promise( ( resolve, reject ) => {
var tag = document.createElement( 'script' );
tag.src = uri;
tag.async = true;
tag.onload = () => {
resolve( script );
};
document.head.appendChild( tag );
});
},
loadStyle: function( style, uri ) {
if ( JetTabs.addedStyles.hasOwnProperty( style ) && JetTabs.addedStyles[ style ] === uri) {
return style;
}
JetTabs.addedStyles[ style ] = uri;
return new Promise( ( resolve, reject ) => {
var tag = document.createElement( 'link' );
tag.id = style;
tag.rel = 'stylesheet';
tag.href = uri;
tag.type = 'text/css';
tag.media = 'all';
tag.onload = () => {
resolve( style );
};
document.head.appendChild( tag );
});
},
elementorFrontendInit: function( $container ) {
$container.find( 'div[data-element_type]' ).each( function() {
var $this = $( this ),
elementType = $this.data( 'element_type' );
if ( ! elementType ) {
return;
}
try {
if ( 'widget' === elementType ) {
elementType = $this.data( 'widget_type' );
window.elementorFrontend.hooks.doAction( 'frontend/element_ready/widget', $this, $ );
}
window.elementorFrontend.hooks.doAction( 'frontend/element_ready/global', $this, $ );
window.elementorFrontend.hooks.doAction( 'frontend/element_ready/' + elementType, $this, $ );
} catch ( err ) {
console.log(err);
$this.remove();
return false;
}
} );
}
};
/**
* jetImageAccordion Class
*
* @return {void}
*/
window.jetImageAccordion = function( $selector, settings ) {
var self = this,
$instance = $selector,
$itemsList = $( '.jet-image-accordion__item', $instance ),
itemslength = $itemsList.length,
defaultSettings = {
orientation: 'vertical',
activeSize: {
size: 50,
unit: '%'
},
duration: 500,
activeItem: -1
},
settings = settings || {},
activeItem = -1;
/**
* Checking options, settings and options merging
*/
settings = $.extend( defaultSettings, settings );
activeItem = settings['activeItem'];
/**
* Layout Build
*/
this.layoutBuild = function( ) {
$itemsList.css( {
'transition-duration': settings.duration + 'ms'
} );
$itemsList.each( function( index ) {
if ( index === activeItem ) {
$( this ).addClass( 'active-accordion' );
self.layoutRender();
}
} );
$( '.jet-image-accordion__image-instance', $itemsList ).imagesLoaded().progress( function( instance, image ) {
var $image = $( image.img ),
$parentItem = $image.closest( '.jet-image-accordion__item' ),
$loader = $( '.jet-image-accordion__item-loader', $parentItem );
$image.addClass( 'loaded' );
$loader.fadeTo( 250, 0, function() {
$( this ).remove();
} );
});
self.layoutRender();
self.addEvents();
}
/**
* Layout Render
*/
this.layoutRender = function( $accordionItem ) {
var $accordionItem = $accordionItem || false,
activeSize = settings.activeSize.size,
basis = ( 100 / itemslength ).toFixed(2),
grow = activeSize / ( ( 100 - activeSize ) / ( itemslength - 1 ) );
$( '.jet-image-accordion__item:not(.active-accordion)', $instance ).css( {
'flex-grow': 1
} );
$( '.active-accordion', $instance ).css( {
'flex-grow': grow
} );
}
this.addEvents = function() {
var toogleEvents = 'mouseenter',
scrollOffset = $( window ).scrollTop();
if ( 'ontouchend' in window || 'ontouchstart' in window ) {
$itemsList.on( 'touchstart.jetImageAccordion', function( event ) {
scrollOffset = $( window ).scrollTop();
} );
$itemsList.on( 'touchend.jetImageAccordion', function( event ) {
event.stopPropagation();
var $this = $( this );
if ( scrollOffset !== $( window ).scrollTop() ) {
return false;
}
if ( ! $this.hasClass( 'active-accordion' ) ) {
$itemsList.removeClass( 'active-accordion' );
$this.addClass( 'active-accordion' );
} else {
$itemsList.removeClass( 'active-accordion' );
}
self.layoutRender();
} );
} else {
$itemsList.on( 'mouseenter', function( event ) {
var $this = $( this );
if ( ! $this.hasClass( 'active-accordion' ) ) {
$itemsList.removeClass( 'active-accordion' );
$this.addClass( 'active-accordion' );
}
self.layoutRender();
} );
}
$instance.on( 'mouseleave.jetImageAccordion', function( event ) {
$itemsList.removeClass( 'active-accordion' );
if ( -1 !== activeItem ) {
$itemsList.eq( activeItem ).addClass( 'active-accordion' );
}
self.layoutRender();
} );
/*$( document ).on( 'touchend.jetImageAccordion', function( event ) {
$itemsList.removeClass( 'active-accordion' );
self.layoutRender();
} );*/
}
/**
* Init
*/
this.init = function() {
self.layoutBuild();
}
}
$( window ).on( 'elementor/frontend/init', JetTabs.init );
}( jQuery, window.elementorFrontend, window.JetTabsSettings ) );

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,229 @@
.jet-accordion {
&__inner {
display: flex;
flex-flow: column;
align-items: stretch;
}
}
.jet-toggle {
display: flex;
flex-flow: column;
align-items: stretch;
//overflow: hidden; // @since 1.1.8 Disabled this property to prevent cut box-shadow
border: 1px solid #e8e8f6;
border-radius: 5px;
margin-bottom: 20px;
background-color: white;
&:first-child {
margin-top: 0 !important;
}
&:last-child {
margin-bottom: 0 !important;
}
&.active-toggle {
> .jet-toggle__control {
.jet-toggle__label-icon {
.icon-normal {
display: none;
}
.icon-active {
display: flex;
}
}
}
> .jet-toggle__content {
height: auto;
}
}
&__control {
padding: 15px 20px;
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: center;
cursor: pointer;
&:hover {}
}
&__label-icon {
margin-right: 10px;
&.jet-toggle-icon-position-right {
margin-left: 10px;
margin-right: 0;
order: 3;
}
.icon-active {
display: none;
}
i {
display: flex;
}
}
&__icon {
display: flex;
justify-content: center;
align-items: center;
font-size: 15px;
width: 25px;
height: 25px;
border-radius: 50%;
color: white;
background-color: #6ec1e4;
}
&__label-text {
font-weight: 600;
color: #7a7a7a;
user-select: none;
}
&__content {
height: 0;
overflow: hidden;
transition: height 0.5s ease;
.jet-toggle:not(.active-toggle) > & {
padding: 0 !important;
margin: 0 !important;
border: none !important;
box-shadow: none !important;
}
> .elementor {
> .elementor-inner {
margin: 0;
}
}
}
&__content-inner {
position: relative;
padding: 30px;
}
&-fade-effect {
&.active-toggle {
.jet-toggle__content {
.jet-toggle__content-inner {
animation-name: fade;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
}
&-zoom-in-effect {
&.active-toggle {
.jet-toggle__content {
.jet-toggle__content-inner {
animation-name: zoomIn;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
}
&-zoom-out-effect {
&.active-toggle {
.jet-toggle__content {
.jet-toggle__content-inner {
animation-name: zoomOut;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
}
&-move-up-effect {
&.active-toggle {
.jet-toggle__content {
.jet-toggle__content-inner {
animation-name: moveUp;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
}
&-fall-perspective-effect {
&.active-toggle {
.jet-toggle__content {
.jet-toggle__content-inner {
animation-name: fallPerspective;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
}
}
.jet-toggle__edit-cover {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
box-sizing: border-box;
height: 30px;
padding: 5px 10px;
right: 15px;
top: 15px;
border-radius: 3px;
background-color: #b7084e;
z-index: 99;
cursor: pointer;
transition: opacity 0.3s ease;
box-shadow: 0 0 0 0 rgba( 183, 8, 78, 0.6);
animation: edit-button-pulse 5s infinite;
i {
font-size: 14px;
color: white;
margin-right: 5px;
}
span{
font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
font-size: 13px;
color: white;
}
&:hover {
background-color: #840739;
animation: none;
}
}
.jet-toggle-no-template-message {
text-align: center;
padding: 10px;
}
.jet-toggle-new-template-link {
color: #6ec1e4;
text-decoration: underline;
}

View File

@@ -0,0 +1,194 @@
.jet-image-accordion {
&__list {
display: flex;
flex-wrap: nowrap;
position: relative;
width: 100%;
height: 600px;
overflow: hidden;
z-index: 1;
}
&__item {
display: flex;
align-items: stretch;
overflow: hidden;
flex-shrink: 0;
flex-basis: auto;
transition-property: all;
transition-duration: 500ms;
transition-timing-function: cubic-bezier(.83,.08,.16,.97);
backface-visibility: hidden;
transform: translateZ(0);
&.active-accordion {
flex-grow: 2;
.jet-image-accordion__content {
opacity: 1;
transition-delay: 500ms;
}
}
&:before {
position: absolute;
width: 100%;
height: 100%;
display: block;
top: 0;
left: 0;
z-index: 1;
content: '';
}
}
&__image-instance {
position: absolute;
top: 0;
left: 0;
object-fit: cover;
width: 100%;
height: 100% !important;
opacity: 0;
transition: opacity 300ms ease;
&.loaded {
opacity: 1;
}
}
&__content {
position: absolute;
display: flex;
flex-flow: column;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 20px;
overflow: hidden;
opacity: 0;
z-index: 2;
background-color: rgba( 0,0,0, 0.5 );
transition: opacity 300ms ease;
&:empty {
display: none;
}
}
&__title {
align-self: stretch;
text-align: left;
color: white;
font-size: 20px;
}
&__desc {
align-self: stretch;
text-align: left;
color: white;
font-size: 16px;
margin-bottom: 20px;
}
&__button {
font-weight: 500;
background-color: #6ec1e4;
}
&__item-loader {
position: absolute;
display: none;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
left: 0;
top: 0;
background-color: rgba( 0,0,0, 0.5 );
z-index: 1;
.jet-image-accordion__image-instance ~ & {
display: flex;
}
span {
width: 32px;
height: 32px;
display: block;
background: url( '../images/spinner-32.svg' ) no-repeat;
}
}
&.jet-image-accordion-vertical-orientation {
.jet-image-accordion__list {
flex-direction: row;
align-items: stretch;
}
.jet-image-accordion__item {
margin-top: 0 !important;
margin-bottom: 0 !important;
&:first-child {
margin-left: 0 !important;
}
&:last-child {
margin-right: 0 !important;
}
}
}
&.jet-image-accordion-horizontal-orientation {
.jet-image-accordion__list {
flex-direction: column;
align-items: stretch;
}
.jet-image-accordion__item {
margin-left: 0 !important;
margin-right: 0 !important;
&:first-child {
margin-top: 0 !important;
}
&:last-child {
margin-bottom: 0 !important;
}
}
}
&.jet-image-accordion-sine-ease {
.jet-image-accordion__item {
transition-timing-function: cubic-bezier(0.390, 0.575, 0.565, 1.000);
}
}
&.jet-image-accordion-quint-ease {
.jet-image-accordion__item {
transition-timing-function: cubic-bezier(0.230, 1.000, 0.320, 1.000);
}
}
&.jet-image-accordion-cubic-ease {
.jet-image-accordion__item {
transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
}
&.jet-image-accordion-expo-ease {
.jet-image-accordion__item {
transition-timing-function: cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
}
&.jet-image-accordion-back-ease {
.jet-image-accordion__item {
transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.275);
}
}
}

View File

@@ -0,0 +1,304 @@
.jet-switcher {
display: flex;
flex-flow: column;
justify-content: flex-start;
align-items: stretch;
&__control-wrapper {
display: flex;
justify-content: center;
align-items: center;
}
&__control-instance {
display: flex;
align-items: center;
position: relative;
cursor: pointer;
background-color: #f7f7fb;
border-radius: 50px;
transition: background-color 0.3s cubic-bezier(.44,.95,.57,.97);
}
&__control-handler {
position: absolute;
border-radius: inherit;
display: flex;
align-items: stretch;
top: 0;
z-index: 1;
span {
flex: 0 1 100%;
margin: 3px;
transition: all 0.3s cubic-bezier(.44,.95,.57,.97);
border-radius: inherit;
}
}
&__control {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
outline: none;
pointer-events: none;
z-index: 2;
text-align: center;
transition: all 0.3s cubic-bezier(.44,.95,.57,.97);
&--disable {
}
&--enable {
}
}
&__label-text {
user-select: none;
}
&__content-wrapper {
width: 100%;
position: relative;
transition: height 0.25s cubic-bezier(.44,.96,.5,.98);
overflow: hidden;
}
&__content {
width: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
pointer-events: none;
> .elementor {
> .elementor-inner {
margin: 0;
}
}
&.active-content {
position: relative;
pointer-events: auto;
opacity: 1;
}
}
}
.jet-switcher--preset-1 {
&.jet-switcher--disable {
.jet-switcher__control-handler {
transform: translateX(0);
span {
background-color: #c3c3c3;
}
}
.jet-switcher__control--disable {
color: #fff;
}
}
&.jet-switcher--enable {
.jet-switcher__control-handler {
transform: translateX(100%);
.rtl & {
transform: translateX(-100%);
}
span {
background-color: #61ce70;
}
}
.jet-switcher__control--enable {
color: #fff;
}
}
.jet-switcher__control-instance {
width: 160px;
height: 50px;
justify-content: flex-start;
}
.jet-switcher__control {
max-width: 50%;
}
.jet-switcher__control-handler {
width: 50%;
height: 100%;
transition: transform 0.3s cubic-bezier(.44,.95,.57,.97);
}
.jet-switcher__control--disable {
width: 50%;
height: 100%;
}
.jet-switcher__control--enable {
width: 50%;
height: 100%;
}
}
.jet-switcher--preset-2 {
&.jet-switcher--disable {
.jet-switcher__control-handler {
left: 0;
span {
background-color: #c3c3c3;
}
}
}
&.jet-switcher--enable {
.jet-switcher__control-handler {
left: calc(100% - 30px);
span {
background-color: #61ce70;
}
}
}
.jet-switcher__control-instance {
width: 80px;
height: 40px;
}
.jet-switcher__control-handler {
width: 60px;
height: 100%;
transition: left 0.3s cubic-bezier(.44,.95,.57,.97);
}
.jet-switcher__control--disable {
margin-right: 15px;
.rtl & {
margin-left: 15px;
}
}
.jet-switcher__control--enable {
margin-left: 15px;
.rtl & {
margin-right: 15px;
}
}
}
.jet-switcher {
&-fade-effect {
.jet-tabs__content {
&.active-content {
animation-name: fade;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
&-zoom-in-effect {
.jet-switcher__content {
&.active-content {
animation-name: zoomIn;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
&-zoom-out-effect {
.jet-switcher__content {
&.active-content {
animation-name: zoomOut;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
&-move-up-effect {
.jet-switcher__content {
&.active-content {
animation-name: moveUp;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
&-fall-perspective-effect {
.jet-switcher__content {
&.active-content {
animation-name: fallPerspective;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
}
.jet-switcher__edit-cover {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
box-sizing: border-box;
height: 30px;
padding: 5px 10px;
right: 15px;
top: 15px;
border-radius: 3px;
background-color: #b7084e;
z-index: 99;
cursor: pointer;
transition: opacity 0.3s ease;
box-shadow: 0 0 0 0 rgba( 183, 8, 78, 0.6);
animation: edit-button-pulse 5s infinite;
i {
font-size: 14px;
color: white;
margin-right: 5px;
}
span {
font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
font-size: 13px;
color: white;
}
&:hover {
background-color: #840739;
animation: none;
}
}
.jet-switcher-no-template-message {
text-align: center;
padding: 10px;
}
.jet-switcher-new-template-link {
color: #6ec1e4;
text-decoration: underline;
}

View File

@@ -0,0 +1,475 @@
.jet-tabs {
display: flex;
&__control-wrapper {
display: flex;
background-color: white;
overflow: hidden;
z-index: 1;
}
&__content-wrapper {
position: relative;
overflow: hidden;
background-color: white;
transition: height 0.25s cubic-bezier(.44,.96,.5,.98);
}
&__control {
cursor: pointer;
outline: none;
&.jet-tabs__control-icon-left {
.jet-tabs__control-inner {
flex-flow: row nowrap;
}
}
&.jet-tabs__control-icon-top {
.jet-tabs__control-inner {
flex-flow: column nowrap;
}
}
}
&__control-inner {
padding: 10px 20px;
display: flex;
justify-content: center;
align-items: center;
}
&__label-icon {
margin-right: 5px;
line-height: 1;
.active-tab & {
color: #6ec1e4;
}
}
&__label-image {
width: 25px;
}
&__label-text {
.active-tab & {
color: #6ec1e4;
}
}
&__content {
width: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
pointer-events: none;
padding: 10px;
> .elementor {
> .elementor-inner {
margin: 0;
}
}
&.active-content {
position: relative;
pointer-events: auto;
opacity: 1;
.jet-popup--hide-state & {
pointer-events: none;
}
}
}
&-position-top {
flex-flow: column nowrap;
align-items: stretch;
.jet-tabs__control-wrapper {
align-self: flex-start;
flex-flow: row wrap;
justify-content: flex-start;
align-items: center;
border-width: 1px 1px 0 1px;
order: 1;
}
.jet-tabs__content-wrapper {
order: 2;
border-top-width: 1px;
}
}
&-position-bottom {
flex-flow: column nowrap;
align-items: stretch;
.jet-tabs__control-wrapper {
align-self: flex-start;
flex-flow: row wrap;
justify-content: flex-start;
align-items: center;
border-width: 0 1px 1px 1px;
order: 2;
}
.jet-tabs__content-wrapper {
order: 1;
}
}
&-position-left {
flex-flow: row nowrap;
.jet-tabs__control-wrapper {
flex: 0 1 auto;
min-width: 200px;
order: 1;
display: flex;
flex-flow: column nowrap;
align-items: stretch;
}
.jet-tabs__content-wrapper{
flex: 1 1 auto;
order: 2;
border-left-width: 2px;
align-self: stretch;
}
}
&-position-right {
flex-flow: row nowrap;
.jet-tabs__control-wrapper {
flex: 0 1 auto;
min-width: 100px;
width: 200px;
order: 2;
display: flex;
flex-flow: column nowrap;
align-items: stretch;
}
.jet-tabs__content-wrapper{
flex: 1 1 auto;
order: 1;
}
}
&-ajax-template {
.jet-tabs__content {
min-height: 30px;
}
}
@media (max-width: 1024px) {
&.jet-tabs-position-tablet-top {
flex-flow: column nowrap;
align-items: stretch;
.jet-tabs__control-wrapper {
width: auto;
min-width: inherit;
align-self: flex-start;
flex-flow: row wrap;
justify-content: flex-start;
align-items: center;
order: 1;
}
.jet-tabs__content-wrapper {
order: 2;
}
}
&.jet-tabs-position-tablet-bottom {
flex-flow: column nowrap;
align-items: stretch;
.jet-tabs__control-wrapper {
align-self: flex-start;
flex-flow: row wrap;
justify-content: flex-start;
align-items: center;
order: 2;
}
.jet-tabs__content-wrapper {
order: 1;
}
}
&.jet-tabs-position-tablet-left {
flex-flow: row nowrap;
.jet-tabs__control-wrapper {
flex: 0 1 auto;
min-width: 200px;
order: 1;
display: flex;
flex-flow: column nowrap;
align-items: stretch;
}
.jet-tabs__content-wrapper{
flex: 1 1 auto;
order: 2;
border-left-width: 2px;
align-self: stretch;
}
}
&.jet-tabs-position-tablet-right {
flex-flow: row nowrap;
.jet-tabs__control-wrapper {
flex: 0 1 auto;
min-width: 100px;
width: 200px;
order: 2;
display: flex;
flex-flow: column nowrap;
align-items: stretch;
}
.jet-tabs__content-wrapper{
flex: 1 1 auto;
order: 1;
}
}
}
@media (max-width: 767px) {
&.jet-tabs-position-mobile-top {
flex-flow: column nowrap;
align-items: stretch;
.jet-tabs__control-wrapper {
width: auto;
min-width: inherit;
align-self: flex-start;
flex-flow: row wrap;
justify-content: flex-start;
align-items: center;
order: 1;
}
.jet-tabs__content-wrapper {
order: 2;
}
}
&.jet-tabs-position-mobile-bottom {
flex-flow: column nowrap;
align-items: stretch;
.jet-tabs__control-wrapper {
align-self: flex-start;
flex-flow: row wrap;
justify-content: flex-start;
align-items: center;
order: 2;
}
.jet-tabs__content-wrapper {
order: 1;
}
}
&.jet-tabs-position-mobile-left {
flex-flow: row nowrap;
.jet-tabs__control-wrapper {
flex: 0 1 auto;
min-width: 200px;
order: 1;
display: flex;
flex-flow: column nowrap;
align-items: stretch;
}
.jet-tabs__content-wrapper{
flex: 1 1 auto;
order: 2;
align-self: stretch;
}
}
&.jet-tabs-position-mobile-right {
flex-flow: row nowrap;
.jet-tabs__control-wrapper {
flex: 0 1 auto;
min-width: 100px;
width: 200px;
order: 2;
display: flex;
flex-flow: column nowrap;
align-items: stretch;
}
.jet-tabs__content-wrapper{
flex: 1 1 auto;
order: 1;
}
}
}
&-fade-effect {
.jet-tabs__content {
&.active-content {
animation-name: fade;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
&-column-fade-effect {
.jet-tabs__content {
//display: none;
.elementor-top-column {
animation-name: fade;
animation-fill-mode: backwards;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
}
&.active-content {
//display: block;
.elementor-top-column {
@for $i from 1 through 4 {
&:nth-child(#{$i}) {
animation-delay: #{$i*100}ms;
}
}
}
}
}
}
&-zoom-in-effect {
.jet-tabs__content {
&.active-content {
animation-name: zoomIn;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
&-zoom-out-effect {
.jet-tabs__content {
&.active-content {
animation-name: zoomOut;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
&-move-up-effect {
.jet-tabs__content {
&.active-content {
animation-name: moveUp;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
&-column-move-up-effect {
.jet-tabs__content {
//display: none;
.elementor-top-column {
animation-name: moveUp;
animation-fill-mode: backwards;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
}
&.active-content {
//display: block;
.elementor-top-column {
@for $i from 1 through 4 {
&:nth-child(#{$i}) {
animation-delay: #{$i*100}ms;
}
}
}
}
}
}
&-fall-perspective-effect {
.jet-tabs__content {
&.active-content {
animation-name: fallPerspective;
animation-duration: 500ms;
animation-timing-function: cubic-bezier(.26,.69,.37,.96);
animation-play-state: running;
}
}
}
}
.jet-tabs__edit-cover {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
box-sizing: border-box;
height: 30px;
padding: 5px 10px;
right: 15px;
top: 15px;
border-radius: 3px;
background-color: #b7084e;
z-index: 99;
cursor: pointer;
transition: opacity 0.3s ease;
box-shadow: 0 0 0 0 rgba( 183, 8, 78, 0.6);
animation: edit-button-pulse 5s infinite;
i {
font-size: 14px;
color: white;
margin-right: 5px;
}
span {
font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
font-size: 13px;
color: white;
}
&:hover {
background-color: #840739;
animation: none;
}
}
.jet-tabs-no-template-message {
text-align: center;
padding: 10px;
}
.jet-tabs-new-template-link {
color: #6ec1e4;
text-decoration: underline;
}

View File

@@ -0,0 +1,76 @@
#jet-tabs-settings-page {
visibility: hidden;
&.is-mounted {
visibility: visible;
}
}
.jet-tabs-settings-page {
margin: 25px 15px 0 15px;
.cx-vui-tabs-panel {
> .cx-vui-subtitle {
padding: 20px;
margin-top: 20px;
&:first-child {
margin-top: 0;
}
}
}
.jet-tabs-avaliable-widgets-control {
.cx-vui-checkgroup {
display: flex;
flex-flow: row wrap;
.cx-vui-checkbox-wrap {
width: 25%;
@media screen and (max-width: 1200px) {
width: 50%;
}
@media screen and (max-width: 782px) {
width: 100%;
}
}
}
}
&__avaliable-controls {
display: flex;
flex-flow: row wrap;
}
&__avaliable-control {
width: 33.3333%;
@media screen and (max-width: 1200px) {
width: 50%;
}
@media screen and (max-width: 782px) {
width: 100%;
}
.cx-vui-component {
padding: 10px 0;
}
}
&__disable-all-widgets {
display: flex;
justify-content: flex-start;
align-items: center;
border-bottom: 1px solid #ECECEC;
padding-bottom: 20px;
margin: 20px 0;
.cx-vui-component__label {
margin-right: 10px;
}
}
}

View File

@@ -0,0 +1,73 @@
@import "jet-tabs-icons";
#jet-tabs-template-edit-modal {
.dialog-widget-content {
width: 100%;
height: 90vh;
min-height: 700px;
background-color: #f1f3f5;
@media (min-width: 1440px) {
max-width: 90vw;
}
}
.dialog-close-button {
font-size: 25px;
}
.dialog-header {
display: none;
}
.dialog-message {
padding: 0;
height: 100%;
iframe {
height: 100%;
}
}
#jet-tabs-loading {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #f1f3f5;
z-index: 9999;
transform: translateZ(0);
display: flex;
justify-content: center;
align-items: center;
.elementor-loader-wrapper {
top: auto;
left: auto;
transform: none;
}
}
}
#elementor-widget-template-empty-templates {
margin-top: 15px;
text-align: center;
.elementor-widget-template-empty-templates {
&-title {
padding: 25px 0 25px;
}
&-icon {
font-size: 96px;
color: #d5dadf;
}
&-footer {
font-style: italic;
margin-bottom: 15px;
}
}
}

View File

@@ -0,0 +1,27 @@
@import "utils/jet-tabs-effects";
@import "addons/jet-tabs";
@import "addons/jet-accordion";
@import "addons/jet-image-accordion";
@import "addons/jet-switcher";
.jet-tabs-loader {
position: absolute;
left: 50%;
top: 50%;
width: 24px;
height: 24px;
margin-top: -12px;
margin-left: -12px;
border: 4px rgba( #000,0.15 ) solid;
border-top-width: 4px;
border-top-style: solid;
border-top-color: #fff;
border-radius: 50%;
animation: spCircRot .6s infinite linear;
}
@keyframes spCircRot {
from { transform: rotate(0deg); }
to { transform: rotate(359deg); }
}

View File

@@ -0,0 +1,40 @@
[class*="jet-tabs-icon-"] {
display: block;
.elementor-panel &,
.elementor-sortable-helper & {
font-size: 38px;
margin-bottom: calc( 28px - 1em );
}
.elementor-navigator__item & {
font-size: 16px;
}
&:before {
content: '';
display: block;
width: 1em;
height: 1em;
margin: 0 auto;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
}
}
.jet-tabs-icon-tabs:before {
background-image: url("data:image/svg+xml,%3Csvg width='64' height='40' viewBox='0 0 64 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9H60C61.6569 9 63 10.3431 63 12V36C63 37.6569 61.6569 39 60 39H4C2.34315 39 1 37.6569 1 36V9Z' fill='white' stroke='%23162B40' stroke-width='2'/%3E%3Crect x='7' y='16' width='50' height='2' rx='1' fill='%23162B40'/%3E%3Crect x='7' y='20' width='50' height='2' rx='1' fill='%23162B40'/%3E%3Cpath d='M7 25C7 24.4477 7.44772 24 8 24H31C31.5523 24 32 24.4477 32 25C32 25.5523 31.5523 26 31 26H8C7.44772 26 7 25.5523 7 25Z' fill='%23162B40'/%3E%3Cpath d='M1 4C1 2.34315 2.34315 1 4 1H17V9H1V4Z' fill='%236F8BFF' stroke='%23162B40' stroke-width='2'/%3E%3Cpath d='M17 1H33V9H17V1Z' fill='white' stroke='%23162B40' stroke-width='2'/%3E%3Cpath d='M33 1H46C47.6569 1 49 2.34315 49 4V9H33V1Z' fill='white' stroke='%23162B40' stroke-width='2'/%3E%3C/svg%3E%0A");
}
.jet-tabs-icon-accordion:before {
background-image: url("data:image/svg+xml,%3Csvg width='64' height='42' viewBox='0 0 64 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='62' height='10' rx='3' fill='%236F8BFF' stroke='%23162B40' stroke-width='2'/%3E%3Cpath d='M53 7L55 5L57 7' stroke='%23162B40' stroke-width='2' stroke-linecap='round'/%3E%3Crect x='1' y='31' width='62' height='10' rx='3' fill='white' stroke='%23162B40' stroke-width='2'/%3E%3Cpath d='M53 35L55 37L57 35' stroke='%23162B40' stroke-width='2' stroke-linecap='round'/%3E%3Crect x='2' y='16' width='60' height='2' rx='1' fill='%23162B40'/%3E%3Crect x='2' y='20' width='60' height='2' rx='1' fill='%23162B40'/%3E%3Cpath d='M2 25C2 24.4477 2.44772 24 3 24H31C31.5523 24 32 24.4477 32 25C32 25.5523 31.5523 26 31 26H3C2.44772 26 2 25.5523 2 25Z' fill='%23162B40'/%3E%3C/svg%3E%0A");
}
.jet-tabs-icon-switcher:before {
background-image: url("data:image/svg+xml,%3Csvg width='49' height='28' viewBox='0 0 49 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 14C1 6.8203 6.8203 1 14 1H35C42.1797 1 48 6.8203 48 14C48 21.1797 42.1797 27 35 27H14C6.8203 27 1 21.1797 1 14Z' fill='white' stroke='%23162B40' stroke-width='2'/%3E%3Cpath d='M22 14C22 18.4183 18.4183 22 14 22C9.58172 22 6 18.4183 6 14C6 9.58172 9.58172 6 14 6C18.4183 6 22 9.58172 22 14Z' fill='%234AF3BA' stroke='%23162B40' stroke-width='2'/%3E%3C/svg%3E%0A");
}
.jet-tabs-icon-image-accordion:before {
background-image: url("data:image/svg+xml,%3Csvg width='64' height='50' viewBox='0 0 64 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='10' height='48' rx='3' fill='%234AF3BA' stroke='%23162B40' stroke-width='2'/%3E%3Cpath d='M5 7L7 9L5 11' stroke='%23162B40' stroke-width='2' stroke-linecap='round'/%3E%3Crect x='15' y='1' width='34' height='48' rx='3' fill='white' stroke='%23162B40' stroke-width='2'/%3E%3Cpath d='M24 33L27.5789 29.3636L31.1579 33L36.0789 28L41 33' stroke='%23162B40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='31.5' cy='21.5' r='2.5' fill='white' stroke='%23162B40' stroke-width='2'/%3E%3Cpath d='M21 7L19 9L21 11' stroke='%23162B40' stroke-width='2' stroke-linecap='round'/%3E%3Crect x='53' y='1' width='10' height='48' rx='3' fill='%234AF3BA' stroke='%23162B40' stroke-width='2'/%3E%3Cpath d='M57 7L59 9L57 11' stroke='%23162B40' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E%0A");
}

View File

@@ -0,0 +1,82 @@
@keyframes fade {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes zoomIn {
0% {
opacity: 0;
transform: scale(0.75);
}
100% {
opacity: 1;
transform: scale(1);
}
}
@keyframes zoomOut {
0% {
opacity: 0;
transform: scale(1.1);
}
100% {
opacity: 1;
transform: scale(1);
}
}
@keyframes moveUp {
0% {
opacity: 0;
transform: translateY(25px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes columnMoveUp {
0% {
opacity: 0;
transform: translateY(25px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fallPerspective {
0% {
opacity: 0;
transform: perspective(1000px) translateY(50px) translateZ(-300px) rotateX(-35deg);
}
100% {
opacity: 1;
transform: perspective(1000px) translateY(0) translateZ(0) rotateX(0deg);
}
}
@keyframes edit-button-pulse {
0% {
box-shadow: 0 0 2px 0 rgba( 183, 8, 78, 0.6);
}
30% {
box-shadow: 0 0 2px 10px rgba( 183, 8, 78, 0);
}
100% {
box-shadow: 0 0 2px 0 rgba( 183, 8, 78, 0);
}
}