HEX
Server: Apache
System: Linux b5.s-host.com.ua 4.18.0-305.10.2.el7.x86_64 #1 SMP Fri Jul 23 21:00:55 UTC 2021 x86_64
User: unelbhzm (1470)
PHP: 8.0.18
Disabled: NONE
Upload Files
File: /sites/nuofama.com/wp-content/themes/blocksy/static/js/options/options/ct-switch.js
import { createElement, Component } from '@wordpress/element'
import classnames from 'classnames'

const isActive = ({ option: { behavior = 'words' }, value }) =>
	behavior === 'words' ? value === 'yes' : !!value

const alternateValueFor = ({
	option = {},
	option: { behavior = 'words' },
	value,
}) =>
	isActive({ option, value })
		? behavior === 'words'
			? 'no'
			: false
		: behavior === 'words'
		? 'yes'
		: true

const Switch = ({ value, option = {}, onChange, onClick }) => (
	<div
		className={classnames({
			[`ct-option-switch`]: true,
			[`ct-active`]: isActive({ option, value }),
		})}
		onClick={(e) => {
			onClick && onClick(e)
			onChange(alternateValueFor({ option, value }))
		}}>
		<span />
	</div>
)

Switch.renderingConfig = {
	design: 'inline',
}

export default Switch