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/wp-content/themes/blocksy/static/js/backend/woo-attributes/AfterHeading.js
import { Fragment, createElement } from '@wordpress/element'
import { __ } from 'ct-i18n'

const AfterHeading = ({ item, attribute, onChange, value }) => {
	const dopdownOptions = [
		{
			label: __('Color', 'blocksy'),
			value: 'color',
		},
		{
			label: __('Image', 'blocksy'),
			value: 'image',
		},
		{
			label: __('Button', 'blocksy'),
			value: 'button',
		},
		{
			label: __('Mixed', 'blocksy'),
			value: 'mixed',
		},
		{
			label: __('Select', 'blocksy'),
			value: 'select',
		},
	]

	if (!attribute.customAttr) {
		dopdownOptions.unshift({
			label: __('Inherit', 'blocksy'),
			value: 'inherit',
		})
	}

	const handleChange = (e) => {
		e.stopPropagation()

		const taxonomy = value[attribute.taxonomy] || {}

		onChange({
			...value,

			[attribute.taxonomy]: {
				...taxonomy,

				swatch_type: e.target.value,
			},
		})
	}

	return (
		<Fragment>
			{__('Type', 'blocksy')}
			<select
				id={`ct-variation-type-${attribute.taxonomy}`}
				name={`ct-variation-type-${attribute.taxonomy}`}
				onChange={handleChange}
				value={value[attribute.taxonomy]?.swatch_type || 'button'}>
				{dopdownOptions.map(({ label, value: val }) => {
					return (
						<option
							value={val}
							selected={
								value[attribute.taxonomy]?.swatch_type ===
									val ||
								(attribute.customAttr
									? val === 'button'
									: false)
							}>
							{label}
						</option>
					)
				})}
			</select>
		</Fragment>
	)
}

export default AfterHeading