(function($){
'use strict';
const dcHiddenSelector='.dc-hidden-column',
dcHideWrapperSelector='.dc-hide-wrapper',
dcHideOthersSelector='.dc-hide-others',
dcRowSelector='.elementor-row,.elementor-container',
dcColumnSelector='> .elementor-column';
function resizeColumns(){
const $columns=$(dcHiddenSelector);
$columns.each(function(index, column){
const $column=$(column),
hiddenSize=parseFloat($column.data('size')),
$row=$column.closest(dcRowSelector),
$children=$row.find(dcColumnSelector);
if($children.length===0){
return;
}
const rowSize=$children.toArray().reduce((acc, child)=> acc + calcRowWidth($(child), $row),
0
);
$children.each(function(cIndex, child){
const $child=$(child),
childSize=calcRowWidth($child, $row),
newSize=childSize + (hiddenSize * (childSize / rowSize));
if(childSize < 100){
$child.css({width: newSize + '%'});
}});
});
}
function calcRowWidth($child, $row){
return parseFloat($child.width() / $row.width() * 100);
}
function resetColumns(){
const $columns=$(dcHiddenSelector);
$columns.each(function(index, column){
const $children=$(column).closest(dcRowSelector).find(dcColumnSelector);
$children.css({width: ''});
});
}
function hideWrappers(){
const $elements=$(dcHideWrapperSelector);
$elements.each(function(index, element){
const $element=$(element),
$wrapper=$element.closest($element.data('selector'));
$wrapper.css({display: 'none'});
});
}
function hideOthers(){
const $elements=$(dcHideOthersSelector);
$elements.each(function(index, element){
const $element=$(element),
$toHide=$($element.data('selector'));
$toHide.css({display: 'none'});
});
}
$(window).on('resize', function(){
resetColumns();
resizeColumns();
});
$(window).on('elementor/frontend/init', function(){
resetColumns();
resizeColumns();
hideWrappers();
hideOthers();
});
})(jQuery);