| Current Path : /home/x/b/o/xbodynamge/namtation/wp-content/ |
| Current File : /home/x/b/o/xbodynamge/namtation/wp-content/sizing-control.tar |
index.js 0000666 00000007154 15114632103 0006220 0 ustar 00 /**
* External dependencies
*/
import classnames from 'classnames';
/**
* WordPress dependencies
*/
const { __ } = wp.i18n;
const {
Dropdown,
IconButton,
RangeControl
} = wp.components;
const { withInstanceId } = wp.compose;
const { Component } = wp.element;
/**
* Internal dependencies
*/
import './editor.scss';
class SizingControl extends Component {
constructor() {
super( ...arguments );
}
render() {
const id = `inspector-sizing-control-${ this.props.instanceId }`;
if ( this.props.options && 1 > this.props.options.length ) {
return __( 'Please specify more options.' );
}
return (
<div
id={ id }
className="wp-block-themeisle-blocks-sizing-control"
>
<div className="components-base-control__field">
{ this.props.label && (
<label
className="components-base-control__label"
htmlFor={ id }
>
{ this.props.label }
</label>
) }
<div
className={ classnames(
'wp-block-themeisle-blocks-sizing-control-wrapper',
{ 'linking': this.props.type }
) }
>
{ this.props.options.map( ( i, n ) => {
return (
<div className="wp-block-themeisle-blocks-sizing-control-item">
{ i.disabled ? (
<input
type="number"
disabled={ i.disabled }
className="wp-block-themeisle-blocks-sizing-control-item-input"
id={ `wp-block-themeisle-blocks-sizing-control-item-input-${ n }` }
/>
) : (
<Dropdown
position="top center"
focusOnMount={ false }
renderToggle={ ({ isOpen, onToggle }) => (
<input
type="number"
className="wp-block-themeisle-blocks-sizing-control-item-input"
id={ `wp-block-themeisle-blocks-sizing-control-item-input-${ n }` }
value={ i.value }
min={ this.props.min }
max={ this.props.max }
onFocus={ onToggle }
onFocusOut={ onToggle }
onChange={ e => this.props.onChange( i.type, parseInt( e.target.value ) ) }
/>
) }
renderContent={ ({ onToggle }) => (
<div className="wp-block-themeisle-blocks-sizing-control-overlay">
<RangeControl
value={ i.value }
initialPosition={ i.value }
beforeIcon="minus"
afterIcon="plus"
min={ this.props.min }
max={ this.props.max }
onChange={ e => this.props.onChange( i.type, e ) }
/>
</div>
) }
/>
)}
{ i.label && (
<label
className="wp-block-themeisle-blocks-sizing-control-item-label"
htmlFor={ `wp-block-themeisle-blocks-sizing-control-item-input-${ n }` }
>
{ i.label }
</label>
) }
</div>
);
}) }
{ this.props.type && (
<div
className={ classnames(
'wp-block-themeisle-blocks-sizing-control-item',
'toggle-linking',
{ 'is-linked': 'linked' === this.props.type }
) }
>
<IconButton
icon={ 'linked' === this.props.type ? 'admin-links' : 'editor-unlink' }
tooltip={ 'linked' === this.props.type ? __( 'Unlink Values' ) : __( 'Link Values' ) }
className="wp-block-themeisle-blocks-sizing-control-item-input"
onClick={ () => this.props.changeType( 'linked' === this.props.type ? 'unlinked' : 'linked' ) }
/>
</div>
) }
</div>
</div>
</div>
);
}
}
export default withInstanceId( SizingControl );
editor.scss 0000666 00000003760 15114632103 0006735 0 ustar 00 .wp-block-themeisle-blocks-sizing-control {
.components-base-control__label {
margin-bottom: 4px;
}
.wp-block-themeisle-blocks-sizing-control-wrapper {
display: grid;
grid-template-columns: 25% 25% 25% 25%;
padding: 6px 0;
&.linking {
grid-template-columns: 20% 20% 20% 20% 20%;
}
.wp-block-themeisle-blocks-sizing-control-item {
.wp-block-themeisle-blocks-sizing-control-item-input {
width: 100%;
border-radius: 0;
text-align: center;
padding: 5px;
&[disabled] {
background-color: #e6e9ec;
cursor: not-allowed;
}
}
.wp-block-themeisle-blocks-sizing-control-item-label {
display: block;
text-align: center;
font-size: 9px;
text-transform: uppercase;
padding-top: 2px;
}
&:first-child {
.wp-block-themeisle-blocks-sizing-control-item-input {
border-radius: 5px 0 0 5px;
}
}
&:last-child {
.wp-block-themeisle-blocks-sizing-control-item-input {
border-radius: 0 5px 5px 0;
}
}
&.toggle-linking {
display: flex;
.wp-block-themeisle-blocks-sizing-control-item-input {
height: 28px;
border: 1px solid #8d96a0;
width: 100%;
display: flex;
justify-content: center;
margin: 1px;
svg {
width: 16px;
height: 16px;
}
}
&.is-linked {
.wp-block-themeisle-blocks-sizing-control-item-input {
background: #a4afb7;
color: #fff;
&:hover {
box-shadow: inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #a4afb7,0 1px 1px rgba(25,30,35,.2);
}
}
}
}
}
}
}
.wp-block-themeisle-blocks-sizing-control-overlay {
margin: 8px;
.dashicons-plus {
margin-left: 10px;
margin-right: 5px;
}
}
@media ( max-width: 782px ) {
.wp-block-themeisle-blocks-sizing-control {
.wp-block-themeisle-blocks-sizing-control-wrapper {
.wp-block-themeisle-blocks-sizing-control-item {
&.toggle-linking {
.wp-block-themeisle-blocks-sizing-control-item-input {
height: 40px;
}
}
}
}
}
}