import { createElement, useState, useRef } from '@wordpress/element' import OutsideClickHandler from './react-outside-click-handler' import classnames from 'classnames' import SingleColorPicker from './color-picker/single-picker' import { __ } from 'ct-i18n' import BoxShadowModal from './box-shadow/modal' import { useSpringModal } from '../helpers/useSpringModal' const BoxShadow = ({ value, option, onChange }) => { // null | color | opts const [currentView, setCurrentView] = useState(null) const [colorPickerEl, setColorPickerEl] = useState(null) const { modalOpen, modalStyles, openModal, closeModal } = useSpringModal({ onClosed: () => { setCurrentView(null) setColorPickerEl(null) }, }) const el = useRef() const colorPicker = useRef() const hOffsetRef = useRef() const vOffsetRef = useRef() const blurRef = useRef() const spreadRef = useRef() const containerRef = useRef() const modalRef = useRef() return (
{ closeModal() }} wrapperProps={{ ref: containerRef, onClick: (e) => { e.preventDefault() if (modalOpen) { closeModal() return } setCurrentView('opts') openModal() }, }}> {value.inherit ? __('Inherit', 'blocksy') : value.enable ? __('Adjust', 'blocksy') : __('None', 'blocksy')} {value.enable && !value.inherit && ( { if (!value.enable) { return } if (modalOpen) { closeModal() return } setCurrentView('color') setColorPickerEl(el) openModal() }} onChange={(colorValue) => onChange({ ...value, color: colorValue, }) } value={value.color} /> )} {modalOpen && ( )}
) } export default BoxShadow