HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vm8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: afleverb (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //var/www/drakkar_site_dev/wp-content/themes/blocksy/static/js/customizer/panels-builder.js
import { render, createElement } from '@wordpress/element'

const getDocument = x =>
	x.document || x.contentDocument || x.contentWindow.document

const buildersMaps = {
	header: {
		panelType: 'header',
		customizerFieldKey: 'header_placements'
	},

	footer: {
		panelType: 'footer',
		customizerFieldKey: 'footer_placements'
	}
}

const openBuilderFor = key => {
	document.querySelector('.ct-panel-builder').dataset.builder =
		buildersMaps[key].panelType

	document.querySelector('.wp-full-overlay').classList.add('ct-show-builder')

	if (buildersMaps[key].panelType === 'footer') {
		document.body.classList.add('ct-footer-builder')
	}
}

const closeBuilderFor = key => {
	document
		.querySelector('.wp-full-overlay')
		.classList.remove('ct-show-builder')
	document.body.classList.remove('ct-footer-builder')
}

export const initBuilder = () => {
	const root = document.createElement('div')
	root.classList.add('ct-panel-builder')

	document.querySelector('.wp-full-overlay').appendChild(root)

	Object.keys(buildersMaps).map(singleKey =>
		(wp.customize.panel(singleKey)
			? wp.customize.panel
			: wp.customize.section)(singleKey, section =>
			section.expanded.bind(value =>
				value ? openBuilderFor(singleKey) : closeBuilderFor(singleKey)
			)
		)
	)
}