import {__} from '@wordpress/i18n';
import {Component, Fragment} from '@wordpress/element';
var onClose, node, customizerNode, feedbackNode = null;
export class Modal extends Component {
constructor(props) {
super(props)
this.state = {
afterOpen: false,
beforeClose: false,
}
}
close() {
if (!this.props.onRequestClose || this.props.onRequestClose()) {
if (customizerNode) ModalManager.closeCustomizer()
else ModalManager.close()
}
}
componentDidMount() {
const {openTimeoutMS, closeTimeoutMS} = this.props
setTimeout(() => this.setState({afterOpen: true}), openTimeoutMS ? openTimeoutMS : 150)
onClose = (callback) => {
this.setState({beforeClose: true}, () => {
this.closeTimer = setTimeout(callback, closeTimeoutMS ? closeTimeoutMS : 150)
});
};
}
componentWillUnmount() {
onClose = null;
clearTimeout(this.closeTimer)
}
render() {
return (
{
this.close()
}} className={'redux-templates-pagelist-modal-overlay'}>
e.stopPropagation()}>
{this.props.children}
);
}
}
export const ModalManager = {
open(component) {
if (onClose) {
this.close();
// throw __('There is already one modal.It must be closed before one new modal will be opened');
}
if (!node) {
node = document.createElement('div')
node.className = 'redux-templates-builder-modal'
document.body.appendChild(node)
}
wp.element.render(component, node)
document.body.classList.add('redux-templates-builder-modal-open')
},
close() {
onClose && onClose(() => {
wp.element.unmountComponentAtNode(node)
document.body.classList.remove('redux-templates-builder-modal-open')
});
},
openCustomizer(component) {
if (!customizerNode) {
customizerNode = document.createElement('div');
document.body.appendChild(customizerNode);
}
wp.element.render(component, customizerNode);
},
closeCustomizer() {
if (customizerNode) {
wp.element.unmountComponentAtNode(customizerNode);
customizerNode = false
}
},
openFeedback(component) {
feedbackNode = document.getElementsByClassName('feedback-wrapper');
if (!feedbackNode || feedbackNode.length < 1) {
feedbackNode = document.createElement('div');
feedbackNode.className = 'feedback-wrapper';
document.body.appendChild(feedbackNode);
} else {
feedbackNode = feedbackNode[0];
}
wp.element.render(component, feedbackNode);
},
closeFeedback() {
if (feedbackNode) {
wp.element.unmountComponentAtNode(feedbackNode);
feedbackNode = false;
}
},
isCustomizerOpened() {
return customizerNode ? true : false;
},
hide () {
document.body.classList.remove('redux-templates-builder-modal-open')
node.classList.add('hidden')
},
show () {
document.body.classList.add('redux-templates-builder-modal-open')
if (node)
node.classList.remove('hidden')
}
}
/*---------------------------------------------------------------------------------------------
*
* Media Model
*
*---------------------------------------------------------------------------------------------*/
/* WP sets tables to act as divs. SCF uses tables, so these muct be reset */
.media-modal .compat-attachment-fields td.acf-input {
table {
display: table;
table-layout: auto;
tbody {
display: table-row-group;
}
tr {
display: table-row;
}
td, th {
display: table-cell;
}
}
}
/* field widths floats */
.media-modal .compat-attachment-fields > tbody > .acf-field {
margin: 5px 0;
> .acf-label {
min-width: 30%;
margin: 0;
padding: 0;
float: left;
text-align: right;
display: block;
float: left;
> label {
padding-top: 6px;
margin: 0;
color: #666666;
font-weight: 400;
line-height: 16px;
}
}
> .acf-input {
width: 65%;
margin: 0;
padding: 0;
float: right;
display: block;
}
p.description {
margin: 0;
}
}
/* restricted selection (copy of WP .upload-errors)*/
.acf-selection-error {
background: #ffebe8;
border: 1px solid #c00;
border-radius: 3px;
padding: 8px;
margin: 20px 0 0;
.selection-error-label {
background: #CC0000;
border-radius: 3px;
color: #fff;
font-weight: bold;
margin-right: 8px;
padding: 2px 4px;
}
.selection-error-message {
color: #b44;
display: block;
padding-top: 8px;
word-wrap: break-word;
white-space: pre-wrap;
}
}
/* disabled attachment */
.media-modal .attachment.acf-disabled {
.thumbnail {
opacity: 0.25 !important;
}
.attachment-preview:before {
background: rgba(0,0,0,0.15);
z-index: 1;
position: relative;
}
}
/* misc */
.media-modal {
/* compat-item */
.compat-field-acf-form-data,
.compat-field-acf-blank {
display: none !important;
}
/* allow line breaks in upload error */
.upload-error-message {
white-space: pre-wrap;
}
/* fix required span */
.acf-required {
padding: 0 !important;
margin: 0 !important;
float: none !important;
color: #f00 !important;
}
/* sidebar */
.media-sidebar {
.compat-item{
padding-bottom: 20px;
}
}
/* mobile md */
@media (max-width: 900px) {
/* label */
.setting span,
.compat-attachment-fields > tbody > .acf-field > .acf-label {
width: 98%;
float: none;
text-align: left;
min-height: 0;
padding: 0;
}
/* field */
.setting input,
.setting textarea,
.compat-attachment-fields > tbody > .acf-field > .acf-input {
float: none;
height: auto;
max-width: none;
width: 98%;
}
}
}
/*---------------------------------------------------------------------------------------------
*
* Media Model (expand details)
*
*---------------------------------------------------------------------------------------------*/
.media-modal .acf-expand-details {
float: right;
padding: 8px 10px;
margin-right: 6px;
font-size: 13px;
height: 18px;
line-height: 18px;
color: #666;
text-decoration: none;
// States.
&:focus, &:active {
outline: 0 none;
box-shadow: none;
color: #666;
}
&:hover {
color: #000;
}
// Open & close.
.is-open { display: none; }
.is-closed { display: block; }
// Hide on mobile.
@media (max-width: $sm) {
display: none;
}
}
/* expanded */
.media-modal.acf-expanded {
/* toggle */
.acf-expand-details {
.is-open { display: block; }
.is-closed { display: none; }
}
// Components.
.attachments-browser .media-toolbar,
.attachments-browser .attachments { right: 740px; }
.media-sidebar { width: 708px; }
// Sidebar.
.media-sidebar {
// Attachment info.
.attachment-info {
.thumbnail {
float: left;
max-height: none;
img {
max-width: 100%;
max-height: 200px;
}
}
.details {
float: right;
}
}
// Label
.attachment-info .thumbnail,
.attachment-details .setting .name,
.compat-attachment-fields > tbody > .acf-field > .acf-label {
min-width: 20%;
margin-right: 0;
}
// Input
.attachment-info .details,
.attachment-details .setting input,
.attachment-details .setting textarea,
.attachment-details .setting + .description,
.compat-attachment-fields > tbody > .acf-field > .acf-input {
min-width: 77%;
}
}
// Screen: Medium.
@media (max-width: 900px) {
// Components.
.attachments-browser .media-toolbar { display: none; }
.attachments { display: none; }
.media-sidebar { width: auto; max-width: none !important; bottom: 0 !important; }
// Sidebar.
.media-sidebar {
// Attachment info.
.attachment-info {
.thumbnail {
min-width: 0;
max-width: none;
width: 30%;
}
.details {
min-width: 0;
max-width: none;
width: 67%;
}
}
}
}
// Screen: small.
@media (max-width: 640px) {
// Sidebar.
.media-sidebar {
// Attachment info.
.attachment-info {
.thumbnail, .details {
width: 100%;
}
}
}
}
}
/*---------------------------------------------------------------------------------------------
*
* ACF Media Model
*
*---------------------------------------------------------------------------------------------*/
.acf-media-modal {
/* hide embed settings */
.media-embed {
.setting.align,
.setting.link-to {
display: none;
}
}
}
/*---------------------------------------------------------------------------------------------
*
* ACF Media Model (Select Mode)
*
*---------------------------------------------------------------------------------------------*/
.acf-media-modal.-select {
}
/*---------------------------------------------------------------------------------------------
*
* ACF Media Model (Edit Mode)
*
*---------------------------------------------------------------------------------------------*/
.acf-media-modal.-edit {
/* resize modal */
left: 15%;
right: 15%;
top: 100px;
bottom: 100px;
/* hide elements */
.media-frame-menu,
.media-frame-router,
.media-frame-content .attachments,
.media-frame-content .media-toolbar {
display: none;
}
/* full width */
.media-frame-title,
.media-frame-content,
.media-frame-toolbar,
.media-sidebar {
width: auto;
left: 0;
right: 0;
}
/* tidy up incorrect distance */
.media-frame-content {
top: 50px;
}
/* title box shadow (to match media grid) */
.media-frame-title {
border-bottom: 1px solid #DFDFDF;
box-shadow: 0 4px 4px -4px rgba(0, 0, 0, 0.1);
}
/* sidebar */
.media-sidebar {
padding: 0 16px;
/* WP details */
.attachment-details {
overflow: visible;
/* hide 'Attachment Details' heading */
> h3, > h2 {
display: none;
}
/* remove overflow */
.attachment-info {
background: #fff;
border-bottom: #dddddd solid 1px;
padding: 16px;
margin: 0 -16px 16px;
}
/* move thumbnail */
.thumbnail {
margin: 0 16px 0 0;
}
.setting {
margin: 0 0 5px;
span {
margin: 0;
}
}
}
/* ACF fields */
.compat-attachment-fields {
> tbody > .acf-field {
margin: 0 0 5px;
p.description {
margin-top: 3px;
}
}
}
/* WP required message */
.media-types-required-info { display: none; }
}
/* mobile md */
@media (max-width: 900px) {
top: 30px;
right: 30px;
bottom: 30px;
left: 30px;
}
/* mobile sm */
@media (max-width: 640px) {
top: 0;
right: 0;
bottom: 0;
left: 0;
}
@media (max-width: 480px) {
.media-frame-content {
top: 40px;
}
}
}
https://catalystgate.top/post-sitemap.xml
2026-10-05T21:08:22+00:00
https://catalystgate.top/page-sitemap.xml
2026-05-21T20:47:35+00:00
https://catalystgate.top/category-sitemap.xml
2026-10-05T21:08:22+00:00
https://catalystgate.top/author-sitemap.xml
2021-06-21T17:44:58+00:00