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/options/containers/Tabs.js
import { createElement, Fragment, Component } from '@wordpress/element'
import OptionsPanel from '../OptionsPanel'
import classnames from 'classnames'
import { normalizeCondition, matchValuesWithCondition } from 'match-conditions'

export default class Tabs extends Component {
	state = {
		currentTab: 0
	}

	render() {
		const filteredTabs = this.props.renderingChunk.filter(
			singleTab =>
				!singleTab.condition ||
				matchValuesWithCondition(
					normalizeCondition(singleTab.condition),
					this.props.value
				)
		)

		const currentTab = filteredTabs[this.state.currentTab]

		return (
			<div className="ct-tabs">
				<ul>
					{filteredTabs
						.map((singleTab, index) => ({ singleTab, index }))
						.map(({ singleTab, index }) => (
							<li
								key={singleTab.id}
								onClick={() =>
									this.setState({ currentTab: index })
								}
								className={classnames({
									active: index === this.state.currentTab
								})}>
								{singleTab.title
									? singleTab.title
									: singleTab.id}
							</li>
						))}
				</ul>

				<div className="ct-current-tab">
					<OptionsPanel
						purpose={this.props.purpose}
						key={currentTab.id}
						onChange={(key, val) => this.props.onChange(key, val)}
						options={currentTab.options}
						value={this.props.value}
					/>
				</div>
			</div>
		)
	}
}

/*
const Condition = ({ renderingChunk, value, onChange }) =>
	renderingChunk.map(
		conditionOption =>
			matchValuesWithCondition(
				normalizeCondition(conditionOption.condition),
				value
			) ? (
				<OptionsPanel
					key={conditionOption.id}
					onChange={val => onChange({ ...value, ...val })}
					options={conditionOption.options}
					value={value}
				/>
			) : (
				[]
			)
	)

export default Condition

*/