/*! * jQuery UI Bootstrap (0.5) * http://addyosmani.github.com/jquery-ui-bootstrap * * Copyright 2012 - 2013, Addy Osmani * Dual licensed under the MIT or GPL Version 2 licenses. * * Portions copyright jQuery UI & Twitter Bootstrap */ #redux-dialog-confirm, #redux-dialog-message { display: none; } .redux-support-dialog.ui-dialog, .redux-message-dialog.ui-dialog { position: absolute; top: 0; left: 0; padding: 0.2em; outline: 0; background-color: #ffffff; } .redux-support-dialog.ui-dialog .ui-dialog-buttonpane, .redux-message-dialog.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; padding: 0.3em 1em 0.5em 0.4em; } .redux-support-dialog.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset, .redux-message-dialog.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } .redux-support-dialog.ui-dialog .ui-dialog-buttonpane button, .redux-message-dialog.ui-dialog .ui-dialog-buttonpane button { margin: 0.5em 0.4em 0.5em 0; cursor: pointer; } .redux-support-dialog.ui-dialog .ui-dialog-titlebar, .redux-message-dialog.ui-dialog .ui-dialog-titlebar { padding: 0.4em 1em; position: relative; } .redux-support-dialog.ui-dialog .ui-dialog-content, .redux-message-dialog.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: 0.5em 1em; background: none; background-color: #ffffff; overflow: auto; } .redux-support-dialog.ui-dialog .ui-dialog-title, .redux-message-dialog.ui-dialog .ui-dialog-title { float: left; margin: 0.1em 0; white-space: nowrap; width: 90%; overflow: hidden; text-overflow: ellipsis; } .redux-support-dialog.ui-dialog .ui-dialog-titlebar-close, .redux-message-dialog.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: 0.3em; top: 50%; width: 20px; margin: -10px 0 0 0; padding: 1px; height: 20px; } .redux-support-dialog.ui-widget, .redux-message-dialog.ui-widget { font-family: Arial, Helvetica, sans-serif; font-size: 1em; } .redux-support-dialog.ui-widget .ui-widget, .redux-message-dialog.ui-widget .ui-widget { font-size: 1em; } .redux-support-dialog.ui-widget input, .redux-support-dialog.ui-widget select, .redux-support-dialog.ui-widget textarea, .redux-support-dialog.ui-widget button, .redux-message-dialog.ui-widget input, .redux-message-dialog.ui-widget select, .redux-message-dialog.ui-widget textarea, .redux-message-dialog.ui-widget button { font-family: Arial, Helvetica, sans-serif; font-size: 1em; } .redux-support-dialog.ui-widget.ui-widget-content, .redux-message-dialog.ui-widget.ui-widget-content { border: 1px solid #c5c5c5; } .redux-support-dialog.ui-draggable, .redux-support-dialog.ui-droppable, .redux-message-dialog.ui-draggable, .redux-message-dialog.ui-droppable { background-position: top; } .redux-support-dialog.ui-corner-all, .redux-support-dialog.ui-corner-bottom, .redux-support-dialog.ui-corner-right, .redux-support-dialog.ui-corner-br, .redux-message-dialog.ui-corner-all, .redux-message-dialog.ui-corner-bottom, .redux-message-dialog.ui-corner-right, .redux-message-dialog.ui-corner-br { border-bottom-right-radius: 3px; } .redux-support-dialog.ui-corner-all, .redux-support-dialog.ui-corner-bottom, .redux-support-dialog.ui-corner-left, .redux-support-dialog.ui-corner-bl, .redux-message-dialog.ui-corner-all, .redux-message-dialog.ui-corner-bottom, .redux-message-dialog.ui-corner-left, .redux-message-dialog.ui-corner-bl { border-bottom-left-radius: 3px; } .redux-support-dialog.ui-corner-all, .redux-support-dialog.ui-corner-top, .redux-support-dialog.ui-corner-right, .redux-support-dialog.ui-corner-tr, .redux-message-dialog.ui-corner-all, .redux-message-dialog.ui-corner-top, .redux-message-dialog.ui-corner-right, .redux-message-dialog.ui-corner-tr { border-top-right-radius: 3px; } .redux-support-dialog.ui-corner-all, .redux-support-dialog.ui-corner-top, .redux-support-dialog.ui-corner-left, .redux-support-dialog.ui-corner-tl, .redux-message-dialog.ui-corner-all, .redux-message-dialog.ui-corner-top, .redux-message-dialog.ui-corner-left, .redux-message-dialog.ui-corner-tl { border-top-left-radius: 3px; } .redux-support-dialog .ui-widget-content, .redux-message-dialog .ui-widget-content { border: 1px solid #dddddd; background: #ffffff none; color: #333333; } .redux-support-dialog.ui-draggable .ui-dialog-titlebar, .redux-message-dialog.ui-draggable .ui-dialog-titlebar { cursor: move; } .redux-support-dialog .ui-widget-header, .redux-message-dialog .ui-widget-header { border: 1px solid #dddddd; background: #e9e9e9; color: #333333; font-weight: bold; } .redux-support-dialog .ui-draggable-handle, .redux-message-dialog .ui-draggable-handle { -ms-touch-action: none; touch-action: none; } .redux-support-dialog .ui-widget-content, .redux-message-dialog .ui-widget-content { border: 1px solid #dddddd; background: #ffffff; color: #333333; } .redux-support-dialog .ui-helper-clearfix::before, .redux-support-dialog .ui-helper-clearfix::after, .redux-message-dialog .ui-helper-clearfix::before, .redux-message-dialog .ui-helper-clearfix::after { content: ""; display: table; border-collapse: collapse; } .redux-support-dialog .ui-helper-clearfix::after, .redux-message-dialog .ui-helper-clearfix::after { clear: both; } .redux-support-dialog .ui-state-default a, .redux-support-dialog .ui-state-default a:link, .redux-support-dialog .ui-state-default a:visited, .redux-support-dialog a.ui-button, .redux-support-dialog a:link.ui-button, .redux-support-dialog a:visited.ui-button, .redux-support-dialog .ui-button, .redux-message-dialog .ui-state-default a, .redux-message-dialog .ui-state-default a:link, .redux-message-dialog .ui-state-default a:visited, .redux-message-dialog a.ui-button, .redux-message-dialog a:link.ui-button, .redux-message-dialog a:visited.ui-button, .redux-message-dialog .ui-button { color: #454545; text-decoration: none; } .redux-support-dialog .ui-state-default, .redux-support-dialog .ui-widget-content .ui-state-default, .redux-support-dialog .ui-widget-header .ui-state-default, .redux-support-dialog .ui-button, .redux-message-dialog .ui-state-default, .redux-message-dialog .ui-widget-content .ui-state-default, .redux-message-dialog .ui-widget-header .ui-state-default, .redux-message-dialog .ui-button { border: 1px solid #c5c5c5; background: #f6f6f6; font-weight: normal; color: #454; } .redux-support-dialog .ui-button, .redux-message-dialog .ui-button { padding: 0.4em 1em; display: inline-block; position: relative; line-height: normal; margin-right: 0.1em; cursor: pointer; vertical-align: middle; text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; overflow: visible; } .redux-support-dialog .ui-button .ui-icon, .redux-message-dialog .ui-button .ui-icon { background-image: url("../../img/jquery-ui-bootstrap/ui-icons_777777_256x240.png"); } .redux-support-dialog .ui-button-icon-only, .redux-message-dialog .ui-button-icon-only { text-indent: -9999px; white-space: nowrap; } .redux-support-dialog .ui-button-icon-only .ui-icon, .redux-message-dialog .ui-button-icon-only .ui-icon { position: absolute; top: 50%; left: 50%; margin-top: -8px; margin-left: -8px; } .redux-support-dialog .ui-icon-closethick, .redux-message-dialog .ui-icon-closethick { background-position: -96px -128px; } .redux-support-dialog .ui-icon, .redux-support-dialog .ui-widget-content .ui-icon, .redux-message-dialog .ui-icon, .redux-message-dialog .ui-widget-content .ui-icon { background-image: url("../../img/jquery-ui-bootstrap/ui-icons_444444_256x240.png"); } .redux-support-dialog .ui-icon-alert, .redux-message-dialog .ui-icon-alert { background-position: 0 -144px; } .redux-support-dialog .ui-icon-circle-check, .redux-message-dialog .ui-icon-circle-check { background-position: -208px -192px; } .redux-support-dialog .ui-icon, .redux-message-dialog .ui-icon { width: 16px; height: 16px; display: inline-block; vertical-align: middle; margin-top: -0.25em; position: relative; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } .ui-widget-overlay { background: #aaaaaa; opacity: 0.3; filter: Alpha(Opacity=30); position: fixed; top: 0; left: 0; width: 100%; height: 100%; } .ui-front { z-index: 100; } .redux-container, .control-section-redux, .control-panel-redux, .redux-metabox { /* Interaction Cues ----------------------------------*/ /* Icons ----------------------------------*/ /* states and images */ /* Misc visuals ----------------------------------*/ /* * jQuery UI CSS Framework 1.10.0 * * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * * * To view and modify this theme, visit http://jqueryui.com/themeroller/ */ /* Component containers ----------------------------------*/ /* Interaction states ----------------------------------*/ /* Interaction Cues ----------------------------------*/ /* For IE8 - See #6059 */ /* Icons ----------------------------------*/ /* states and images */ /* positioning */ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ /* Misc visuals ----------------------------------*/ /* Corner radius */ /* Overlays */ /* * jQuery UI Accordion 1.10.0 * * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://jqueryui.com/accordion/ */ /* IE/Win - Fix animation bug - #4615 */ /* * jQuery UI Button 1.10.0 * * Copyright 2013, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI/Button#theming */ /* the overflow property removes extra width in IE */ /* to make room for the icon, a width needs to be set here */ /* button elements seem to need a little more width */ /*button text element */ /* no icon support for input elements, provide padding by default */ /* input.ui-button { padding: .4em 1em; } */ /*button icon element(s) */ /*button sets*/ /* workarounds */ /* reset extra padding in Firefox */ /* * jQuery UI Datepicker 1.9.0 * * Copyright 2012-10-11, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://jqueryui.com/datepicker/ */ /* with multiple calendars */ /* RTL support */ /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ } .redux-container .ui-state-disabled, .control-section-redux .ui-state-disabled, .control-panel-redux .ui-state-disabled, .redux-metabox .ui-state-disabled { cursor: default !important; } .redux-container .ui-icon, .control-section-redux .ui-icon, .control-panel-redux .ui-icon, .redux-metabox .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } .redux-container .ui-widget-content, .control-section-redux .ui-widget-content, .control-panel-redux .ui-widget-content, .redux-metabox .ui-widget-content { border: 1px solid #aaa; background: #fff url("../../img/jquery-ui-bootstrap/ui-bg_glass_75_ffffff_1x400.png") 50% 50% repeat-x; color: #404040; } .redux-container .ui-widget-header, .control-section-redux .ui-widget-header, .control-panel-redux .ui-widget-header, .redux-metabox .ui-widget-header { font-weight: bold; border-color: #0064cd #0064cd #003f81; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border: 1px solid #666; } .redux-container .ui-widget-header a, .control-section-redux .ui-widget-header a, .control-panel-redux .ui-widget-header a, .redux-metabox .ui-widget-header a { color: #222; } .redux-container .ui-state-default, .redux-container .ui-widget-content .ui-state-default, .redux-container .ui-widget-header .ui-state-default, .control-section-redux .ui-state-default, .control-section-redux .ui-widget-content .ui-state-default, .control-section-redux .ui-widget-header .ui-state-default, .control-panel-redux .ui-state-default, .control-panel-redux .ui-widget-content .ui-state-default, .control-panel-redux .ui-widget-header .ui-state-default, .redux-metabox .ui-state-default, .redux-metabox .ui-widget-content .ui-state-default, .redux-metabox .ui-widget-header .ui-state-default { background-color: #e6e6e6; background-repeat: no-repeat; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), color-stop(25%, #fff), to(#e6e6e6)); background-image: -webkit-linear-gradient(#fff, #fff 25%, #e6e6e6); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(25%, #fff), to(#e6e6e6)); background-image: linear-gradient(#fff, #fff 25%, #e6e6e6); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#e6e6e6", GradientType=0); text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); color: #333; font-size: 13px; line-height: normal; border: 1px solid #ccc; border-bottom-color: #bbb; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -webkit-transition: 0.1s linear background-image; transition: 0.1s linear background-image; overflow: visible; } .redux-container .ui-state-default a, .redux-container .ui-state-default a:link, .redux-container .ui-state-default a:visited, .control-section-redux .ui-state-default a, .control-section-redux .ui-state-default a:link, .control-section-redux .ui-state-default a:visited, .control-panel-redux .ui-state-default a, .control-panel-redux .ui-state-default a:link, .control-panel-redux .ui-state-default a:visited, .redux-metabox .ui-state-default a, .redux-metabox .ui-state-default a:link, .redux-metabox .ui-state-default a:visited { color: #555; text-decoration: none; } .redux-container .ui-state-hover, .redux-container .ui-widget-content .ui-state-hover, .redux-container .ui-widget-header .ui-state-hover, .redux-container .ui-state-focus, .redux-container .ui-widget-content .ui-state-focus, .redux-container .ui-widget-header .ui-state-focus, .control-section-redux .ui-state-hover, .control-section-redux .ui-widget-content .ui-state-hover, .control-section-redux .ui-widget-header .ui-state-hover, .control-section-redux .ui-state-focus, .control-section-redux .ui-widget-content .ui-state-focus, .control-section-redux .ui-widget-header .ui-state-focus, .control-panel-redux .ui-state-hover, .control-panel-redux .ui-widget-content .ui-state-hover, .control-panel-redux .ui-widget-header .ui-state-hover, .control-panel-redux .ui-state-focus, .control-panel-redux .ui-widget-content .ui-state-focus, .control-panel-redux .ui-widget-header .ui-state-focus, .redux-metabox .ui-state-hover, .redux-metabox .ui-widget-content .ui-state-hover, .redux-metabox .ui-widget-header .ui-state-hover, .redux-metabox .ui-state-focus, .redux-metabox .ui-widget-content .ui-state-focus, .redux-metabox .ui-widget-header .ui-state-focus { background-position: 0 -15px; color: #333; text-decoration: none; } .redux-container .ui-state-hover a, .redux-container .ui-state-hover a:hover, .redux-container .ui-state-hover a:link, .redux-container .ui-state-hover a:visited, .control-section-redux .ui-state-hover a, .control-section-redux .ui-state-hover a:hover, .control-section-redux .ui-state-hover a:link, .control-section-redux .ui-state-hover a:visited, .control-panel-redux .ui-state-hover a, .control-panel-redux .ui-state-hover a:hover, .control-panel-redux .ui-state-hover a:link, .control-panel-redux .ui-state-hover a:visited, .redux-metabox .ui-state-hover a, .redux-metabox .ui-state-hover a:hover, .redux-metabox .ui-state-hover a:link, .redux-metabox .ui-state-hover a:visited { color: #212121; text-decoration: none; } .redux-container .ui-state-active, .redux-container .ui-widget-content .ui-state-active, .redux-container .ui-widget-header .ui-state-active, .control-section-redux .ui-state-active, .control-section-redux .ui-widget-content .ui-state-active, .control-section-redux .ui-widget-header .ui-state-active, .control-panel-redux .ui-state-active, .control-panel-redux .ui-widget-content .ui-state-active, .control-panel-redux .ui-widget-header .ui-state-active, .redux-metabox .ui-state-active, .redux-metabox .ui-widget-content .ui-state-active, .redux-metabox .ui-widget-header .ui-state-active { border: 1px solid #aaa; font-weight: normal; color: #212121; } .redux-container .ui-state-active a, .redux-container .ui-state-active a:link, .redux-container .ui-state-active a:visited, .control-section-redux .ui-state-active a, .control-section-redux .ui-state-active a:link, .control-section-redux .ui-state-active a:visited, .control-panel-redux .ui-state-active a, .control-panel-redux .ui-state-active a:link, .control-panel-redux .ui-state-active a:visited, .redux-metabox .ui-state-active a, .redux-metabox .ui-state-active a:link, .redux-metabox .ui-state-active a:visited { color: #212121; text-decoration: none; } .redux-container .ui-widget :active, .control-section-redux .ui-widget :active, .control-panel-redux .ui-widget :active, .redux-metabox .ui-widget :active { outline: none; } .redux-container .ui-state-highlight p, .redux-container .ui-state-error p, .redux-container .ui-state-default p, .control-section-redux .ui-state-highlight p, .control-section-redux .ui-state-error p, .control-section-redux .ui-state-default p, .control-panel-redux .ui-state-highlight p, .control-panel-redux .ui-state-error p, .control-panel-redux .ui-state-default p, .redux-metabox .ui-state-highlight p, .redux-metabox .ui-state-error p, .redux-metabox .ui-state-default p { font-size: 13px; font-weight: normal; line-height: 18px; margin: 7px 15px; } .redux-container .ui-state-highlight, .redux-container .ui-widget-content .ui-state-highlight, .redux-container .ui-widget-header .ui-state-highlight, .control-section-redux .ui-state-highlight, .control-section-redux .ui-widget-content .ui-state-highlight, .control-section-redux .ui-widget-header .ui-state-highlight, .control-panel-redux .ui-state-highlight, .control-panel-redux .ui-widget-content .ui-state-highlight, .control-panel-redux .ui-widget-header .ui-state-highlight, .redux-metabox .ui-state-highlight, .redux-metabox .ui-widget-content .ui-state-highlight, .redux-metabox .ui-widget-header .ui-state-highlight { position: relative; margin-bottom: 18px; color: #404040; background-color: #eedc94; background-repeat: repeat-x; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94)); background-image: -webkit-linear-gradient(top, #fceec1, #eedc94); background-image: -webkit-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94)); background-image: linear-gradient(to bottom, #fceec1, #eedc94); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fceec1", endColorstr="#eedc94", GradientType=0); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); border-color: #eedc94 #eedc94 #e4c652; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); border-width: 1px; border-style: solid; border-radius: 4px; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); } .redux-container .ui-state-highlight a, .redux-container .ui-widget-content .ui-state-highlight a, .redux-container .ui-widget-header .ui-state-highlight a, .control-section-redux .ui-state-highlight a, .control-section-redux .ui-widget-content .ui-state-highlight a, .control-section-redux .ui-widget-header .ui-state-highlight a, .control-panel-redux .ui-state-highlight a, .control-panel-redux .ui-widget-content .ui-state-highlight a, .control-panel-redux .ui-widget-header .ui-state-highlight a, .redux-metabox .ui-state-highlight a, .redux-metabox .ui-widget-content .ui-state-highlight a, .redux-metabox .ui-widget-header .ui-state-highlight a { color: #363636; } .redux-container .ui-state-error, .redux-container .ui-widget-content .ui-state-error, .redux-container .ui-widget-header .ui-state-error, .control-section-redux .ui-state-error, .control-section-redux .ui-widget-content .ui-state-error, .control-section-redux .ui-widget-header .ui-state-error, .control-panel-redux .ui-state-error, .control-panel-redux .ui-widget-content .ui-state-error, .control-panel-redux .ui-widget-header .ui-state-error, .redux-metabox .ui-state-error, .redux-metabox .ui-widget-content .ui-state-error, .redux-metabox .ui-widget-header .ui-state-error { position: relative; margin-bottom: 18px; color: #fff; border-width: 1px; border-style: solid; border-radius: 4px; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); background-color: #c43c35; background-repeat: repeat-x; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35)); background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); background-image: -webkit-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35)); background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ee5f5b", endColorstr="#c43c35", GradientType=0); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); border-color: #c43c35 #c43c35 #882a25; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); } .redux-container .ui-state-error a, .redux-container .ui-widget-content .ui-state-error a, .redux-container .ui-widget-header .ui-state-error a, .control-section-redux .ui-state-error a, .control-section-redux .ui-widget-content .ui-state-error a, .control-section-redux .ui-widget-header .ui-state-error a, .control-panel-redux .ui-state-error a, .control-panel-redux .ui-widget-content .ui-state-error a, .control-panel-redux .ui-widget-header .ui-state-error a, .redux-metabox .ui-state-error a, .redux-metabox .ui-widget-content .ui-state-error a, .redux-metabox .ui-widget-header .ui-state-error a { color: #cd0a0a; } .redux-container .ui-state-error-text, .redux-container .ui-widget-content .ui-state-error-text, .redux-container .ui-widget-header .ui-state-error-text, .control-section-redux .ui-state-error-text, .control-section-redux .ui-widget-content .ui-state-error-text, .control-section-redux .ui-widget-header .ui-state-error-text, .control-panel-redux .ui-state-error-text, .control-panel-redux .ui-widget-content .ui-state-error-text, .control-panel-redux .ui-widget-header .ui-state-error-text, .redux-metabox .ui-state-error-text, .redux-metabox .ui-widget-content .ui-state-error-text, .redux-metabox .ui-widget-header .ui-state-error-text { color: #cd0a0a; } .redux-container .ui-priority-primary, .redux-container .ui-widget-content .ui-priority-primary, .redux-container .ui-widget-header .ui-priority-primary, .control-section-redux .ui-priority-primary, .control-section-redux .ui-widget-content .ui-priority-primary, .control-section-redux .ui-widget-header .ui-priority-primary, .control-panel-redux .ui-priority-primary, .control-panel-redux .ui-widget-content .ui-priority-primary, .control-panel-redux .ui-widget-header .ui-priority-primary, .redux-metabox .ui-priority-primary, .redux-metabox .ui-widget-content .ui-priority-primary, .redux-metabox .ui-widget-header .ui-priority-primary { font-weight: bold; } .redux-container .ui-priority-secondary, .redux-container .ui-widget-content .ui-priority-secondary, .redux-container .ui-widget-header .ui-priority-secondary, .control-section-redux .ui-priority-secondary, .control-section-redux .ui-widget-content .ui-priority-secondary, .control-section-redux .ui-widget-header .ui-priority-secondary, .control-panel-redux .ui-priority-secondary, .control-panel-redux .ui-widget-content .ui-priority-secondary, .control-panel-redux .ui-widget-header .ui-priority-secondary, .redux-metabox .ui-priority-secondary, .redux-metabox .ui-widget-content .ui-priority-secondary, .redux-metabox .ui-widget-header .ui-priority-secondary { opacity: 0.7; filter: alpha(Opacity=70); font-weight: normal; } .redux-container .ui-state-disabled, .redux-container .ui-widget-content .ui-state-disabled, .redux-container .ui-widget-header .ui-state-disabled, .control-section-redux .ui-state-disabled, .control-section-redux .ui-widget-content .ui-state-disabled, .control-section-redux .ui-widget-header .ui-state-disabled, .control-panel-redux .ui-state-disabled, .control-panel-redux .ui-widget-content .ui-state-disabled, .control-panel-redux .ui-widget-header .ui-state-disabled, .redux-metabox .ui-state-disabled, .redux-metabox .ui-widget-content .ui-state-disabled, .redux-metabox .ui-widget-header .ui-state-disabled { opacity: 0.35; filter: alpha(Opacity=35); background-image: none; } .redux-container .ui-state-disabled .ui-icon, .control-section-redux .ui-state-disabled .ui-icon, .control-panel-redux .ui-state-disabled .ui-icon, .redux-metabox .ui-state-disabled .ui-icon { filter: alpha(Opacity=35); } .redux-container .ui-icon, .control-section-redux .ui-icon, .control-panel-redux .ui-icon, .redux-metabox .ui-icon { width: 16px; height: 16px; background-image: url("../../img/jquery-ui-bootstrap/ui-icons_222222_256x240.png"); } .redux-container .ui-widget-content .ui-icon, .control-section-redux .ui-widget-content .ui-icon, .control-panel-redux .ui-widget-content .ui-icon, .redux-metabox .ui-widget-content .ui-icon { background-image: url("../../img/jquery-ui-bootstrap/ui-icons_222222_256x240.png"); } .redux-container .ui-widget-header .ui-icon, .control-section-redux .ui-widget-header .ui-icon, .control-panel-redux .ui-widget-header .ui-icon, .redux-metabox .ui-widget-header .ui-icon { background-image: url("../../img/jquery-ui-bootstrap/ui-icons_222222_256x240.png"); } .redux-container .ui-state-default .ui-icon, .control-section-redux .ui-state-default .ui-icon, .control-panel-redux .ui-state-default .ui-icon, .redux-metabox .ui-state-default .ui-icon { background-image: url("../../img/jquery-ui-bootstrap/ui-icons_888888_256x240.png"); } .redux-container .ui-state-hover .ui-icon, .redux-container .ui-state-focus .ui-icon, .control-section-redux .ui-state-hover .ui-icon, .control-section-redux .ui-state-focus .ui-icon, .control-panel-redux .ui-state-hover .ui-icon, .control-panel-redux .ui-state-focus .ui-icon, .redux-metabox .ui-state-hover .ui-icon, .redux-metabox .ui-state-focus .ui-icon { background-image: url("../../img/jquery-ui-bootstrap/ui-icons_454545_256x240.png"); } .redux-container .ui-state-active .ui-icon, .control-section-redux .ui-state-active .ui-icon, .control-panel-redux .ui-state-active .ui-icon, .redux-metabox .ui-state-active .ui-icon { background-image: url("../../img/jquery-ui-bootstrap/ui-icons_454545_256x240.png"); } .redux-container .ui-state-highlight .ui-icon, .control-section-redux .ui-state-highlight .ui-icon, .control-panel-redux .ui-state-highlight .ui-icon, .redux-metabox .ui-state-highlight .ui-icon { background-image: url("../../img/jquery-ui-bootstrap/ui-icons_2e83ff_256x240.png"); } .redux-container .ui-state-error .ui-icon, .redux-container .ui-state-error-text .ui-icon, .control-section-redux .ui-state-error .ui-icon, .control-section-redux .ui-state-error-text .ui-icon, .control-panel-redux .ui-state-error .ui-icon, .control-panel-redux .ui-state-error-text .ui-icon, .redux-metabox .ui-state-error .ui-icon, .redux-metabox .ui-state-error-text .ui-icon { background-image: url("../../img/jquery-ui-bootstrap/ui-icons_f6cf3b_256x240.png"); } .redux-container .ui-icon-carat-1-n, .control-section-redux .ui-icon-carat-1-n, .control-panel-redux .ui-icon-carat-1-n, .redux-metabox .ui-icon-carat-1-n { background-position: 0 0; } .redux-container .ui-icon-carat-1-ne, .control-section-redux .ui-icon-carat-1-ne, .control-panel-redux .ui-icon-carat-1-ne, .redux-metabox .ui-icon-carat-1-ne { background-position: -16px 0; } .redux-container .ui-icon-carat-1-e, .control-section-redux .ui-icon-carat-1-e, .control-panel-redux .ui-icon-carat-1-e, .redux-metabox .ui-icon-carat-1-e { background-position: -32px 0; } .redux-container .ui-icon-carat-1-se, .control-section-redux .ui-icon-carat-1-se, .control-panel-redux .ui-icon-carat-1-se, .redux-metabox .ui-icon-carat-1-se { background-position: -48px 0; } .redux-container .ui-icon-carat-1-s, .control-section-redux .ui-icon-carat-1-s, .control-panel-redux .ui-icon-carat-1-s, .redux-metabox .ui-icon-carat-1-s { background-position: -64px 0; } .redux-container .ui-icon-carat-1-sw, .control-section-redux .ui-icon-carat-1-sw, .control-panel-redux .ui-icon-carat-1-sw, .redux-metabox .ui-icon-carat-1-sw { background-position: -80px 0; } .redux-container .ui-icon-carat-1-w, .control-section-redux .ui-icon-carat-1-w, .control-panel-redux .ui-icon-carat-1-w, .redux-metabox .ui-icon-carat-1-w { background-position: -96px 0; } .redux-container .ui-icon-carat-1-nw, .control-section-redux .ui-icon-carat-1-nw, .control-panel-redux .ui-icon-carat-1-nw, .redux-metabox .ui-icon-carat-1-nw { background-position: -112px 0; } .redux-container .ui-icon-carat-2-n-s, .control-section-redux .ui-icon-carat-2-n-s, .control-panel-redux .ui-icon-carat-2-n-s, .redux-metabox .ui-icon-carat-2-n-s { background-position: -128px 0; } .redux-container .ui-icon-carat-2-e-w, .control-section-redux .ui-icon-carat-2-e-w, .control-panel-redux .ui-icon-carat-2-e-w, .redux-metabox .ui-icon-carat-2-e-w { background-position: -144px 0; } .redux-container .ui-icon-triangle-1-n, .control-section-redux .ui-icon-triangle-1-n, .control-panel-redux .ui-icon-triangle-1-n, .redux-metabox .ui-icon-triangle-1-n { background-position: 0 -16px; } .redux-container .ui-icon-triangle-1-ne, .control-section-redux .ui-icon-triangle-1-ne, .control-panel-redux .ui-icon-triangle-1-ne, .redux-metabox .ui-icon-triangle-1-ne { background-position: -16px -16px; } .redux-container .ui-icon-triangle-1-e, .control-section-redux .ui-icon-triangle-1-e, .control-panel-redux .ui-icon-triangle-1-e, .redux-metabox .ui-icon-triangle-1-e { background-position: -32px -16px; } .redux-container .ui-icon-triangle-1-se, .control-section-redux .ui-icon-triangle-1-se, .control-panel-redux .ui-icon-triangle-1-se, .redux-metabox .ui-icon-triangle-1-se { background-position: -48px -16px; } .redux-container .ui-icon-triangle-1-s, .control-section-redux .ui-icon-triangle-1-s, .control-panel-redux .ui-icon-triangle-1-s, .redux-metabox .ui-icon-triangle-1-s { background-position: -64px -16px; } .redux-container .ui-icon-triangle-1-sw, .control-section-redux .ui-icon-triangle-1-sw, .control-panel-redux .ui-icon-triangle-1-sw, .redux-metabox .ui-icon-triangle-1-sw { background-position: -80px -16px; } .redux-container .ui-icon-triangle-1-w, .control-section-redux .ui-icon-triangle-1-w, .control-panel-redux .ui-icon-triangle-1-w, .redux-metabox .ui-icon-triangle-1-w { background-position: -96px -16px; } .redux-container .ui-icon-triangle-1-nw, .control-section-redux .ui-icon-triangle-1-nw, .control-panel-redux .ui-icon-triangle-1-nw, .redux-metabox .ui-icon-triangle-1-nw { background-position: -112px -16px; } .redux-container .ui-icon-triangle-2-n-s, .control-section-redux .ui-icon-triangle-2-n-s, .control-panel-redux .ui-icon-triangle-2-n-s, .redux-metabox .ui-icon-triangle-2-n-s { background-position: -128px -16px; } .redux-container .ui-icon-triangle-2-e-w, .control-section-redux .ui-icon-triangle-2-e-w, .control-panel-redux .ui-icon-triangle-2-e-w, .redux-metabox .ui-icon-triangle-2-e-w { background-position: -144px -16px; } .redux-container .ui-icon-arrow-1-n, .control-section-redux .ui-icon-arrow-1-n, .control-panel-redux .ui-icon-arrow-1-n, .redux-metabox .ui-icon-arrow-1-n { background-position: 0 -32px; } .redux-container .ui-icon-arrow-1-ne, .control-section-redux .ui-icon-arrow-1-ne, .control-panel-redux .ui-icon-arrow-1-ne, .redux-metabox .ui-icon-arrow-1-ne { background-position: -16px -32px; } .redux-container .ui-icon-arrow-1-e, .control-section-redux .ui-icon-arrow-1-e, .control-panel-redux .ui-icon-arrow-1-e, .redux-metabox .ui-icon-arrow-1-e { background-position: -32px -32px; } .redux-container .ui-icon-arrow-1-se, .control-section-redux .ui-icon-arrow-1-se, .control-panel-redux .ui-icon-arrow-1-se, .redux-metabox .ui-icon-arrow-1-se { background-position: -48px -32px; } .redux-container .ui-icon-arrow-1-s, .control-section-redux .ui-icon-arrow-1-s, .control-panel-redux .ui-icon-arrow-1-s, .redux-metabox .ui-icon-arrow-1-s { background-position: -64px -32px; } .redux-container .ui-icon-arrow-1-sw, .control-section-redux .ui-icon-arrow-1-sw, .control-panel-redux .ui-icon-arrow-1-sw, .redux-metabox .ui-icon-arrow-1-sw { background-position: -80px -32px; } .redux-container .ui-icon-arrow-1-w, .control-section-redux .ui-icon-arrow-1-w, .control-panel-redux .ui-icon-arrow-1-w, .redux-metabox .ui-icon-arrow-1-w { background-position: -96px -32px; } .redux-container .ui-icon-arrow-1-nw, .control-section-redux .ui-icon-arrow-1-nw, .control-panel-redux .ui-icon-arrow-1-nw, .redux-metabox .ui-icon-arrow-1-nw { background-position: -112px -32px; } .redux-container .ui-icon-arrow-2-n-s, .control-section-redux .ui-icon-arrow-2-n-s, .control-panel-redux .ui-icon-arrow-2-n-s, .redux-metabox .ui-icon-arrow-2-n-s { background-position: -128px -32px; } .redux-container .ui-icon-arrow-2-ne-sw, .control-section-redux .ui-icon-arrow-2-ne-sw, .control-panel-redux .ui-icon-arrow-2-ne-sw, .redux-metabox .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } .redux-container .ui-icon-arrow-2-e-w, .control-section-redux .ui-icon-arrow-2-e-w, .control-panel-redux .ui-icon-arrow-2-e-w, .redux-metabox .ui-icon-arrow-2-e-w { background-position: -160px -32px; } .redux-container .ui-icon-arrow-2-se-nw, .control-section-redux .ui-icon-arrow-2-se-nw, .control-panel-redux .ui-icon-arrow-2-se-nw, .redux-metabox .ui-icon-arrow-2-se-nw { background-position: -176px -32px; } .redux-container .ui-icon-arrowstop-1-n, .control-section-redux .ui-icon-arrowstop-1-n, .control-panel-redux .ui-icon-arrowstop-1-n, .redux-metabox .ui-icon-arrowstop-1-n { background-position: -192px -32px; } .redux-container .ui-icon-arrowstop-1-e, .control-section-redux .ui-icon-arrowstop-1-e, .control-panel-redux .ui-icon-arrowstop-1-e, .redux-metabox .ui-icon-arrowstop-1-e { background-position: -208px -32px; } .redux-container .ui-icon-arrowstop-1-s, .control-section-redux .ui-icon-arrowstop-1-s, .control-panel-redux .ui-icon-arrowstop-1-s, .redux-metabox .ui-icon-arrowstop-1-s { background-position: -224px -32px; } .redux-container .ui-icon-arrowstop-1-w, .control-section-redux .ui-icon-arrowstop-1-w, .control-panel-redux .ui-icon-arrowstop-1-w, .redux-metabox .ui-icon-arrowstop-1-w { background-position: -240px -32px; } .redux-container .ui-icon-arrowthick-1-n, .control-section-redux .ui-icon-arrowthick-1-n, .control-panel-redux .ui-icon-arrowthick-1-n, .redux-metabox .ui-icon-arrowthick-1-n { background-position: 0 -48px; } .redux-container .ui-icon-arrowthick-1-ne, .control-section-redux .ui-icon-arrowthick-1-ne, .control-panel-redux .ui-icon-arrowthick-1-ne, .redux-metabox .ui-icon-arrowthick-1-ne { background-position: -16px -48px; } .redux-container .ui-icon-arrowthick-1-e, .control-section-redux .ui-icon-arrowthick-1-e, .control-panel-redux .ui-icon-arrowthick-1-e, .redux-metabox .ui-icon-arrowthick-1-e { background-position: -32px -48px; } .redux-container .ui-icon-arrowthick-1-se, .control-section-redux .ui-icon-arrowthick-1-se, .control-panel-redux .ui-icon-arrowthick-1-se, .redux-metabox .ui-icon-arrowthick-1-se { background-position: -48px -48px; } .redux-container .ui-icon-arrowthick-1-s, .control-section-redux .ui-icon-arrowthick-1-s, .control-panel-redux .ui-icon-arrowthick-1-s, .redux-metabox .ui-icon-arrowthick-1-s { background-position: -64px -48px; } .redux-container .ui-icon-arrowthick-1-sw, .control-section-redux .ui-icon-arrowthick-1-sw, .control-panel-redux .ui-icon-arrowthick-1-sw, .redux-metabox .ui-icon-arrowthick-1-sw { background-position: -80px -48px; } .redux-container .ui-icon-arrowthick-1-w, .control-section-redux .ui-icon-arrowthick-1-w, .control-panel-redux .ui-icon-arrowthick-1-w, .redux-metabox .ui-icon-arrowthick-1-w { background-position: -96px -48px; } .redux-container .ui-icon-arrowthick-1-nw, .control-section-redux .ui-icon-arrowthick-1-nw, .control-panel-redux .ui-icon-arrowthick-1-nw, .redux-metabox .ui-icon-arrowthick-1-nw { background-position: -112px -48px; } .redux-container .ui-icon-arrowthick-2-n-s, .control-section-redux .ui-icon-arrowthick-2-n-s, .control-panel-redux .ui-icon-arrowthick-2-n-s, .redux-metabox .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } .redux-container .ui-icon-arrowthick-2-ne-sw, .control-section-redux .ui-icon-arrowthick-2-ne-sw, .control-panel-redux .ui-icon-arrowthick-2-ne-sw, .redux-metabox .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } .redux-container .ui-icon-arrowthick-2-e-w, .control-section-redux .ui-icon-arrowthick-2-e-w, .control-panel-redux .ui-icon-arrowthick-2-e-w, .redux-metabox .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } .redux-container .ui-icon-arrowthick-2-se-nw, .control-section-redux .ui-icon-arrowthick-2-se-nw, .control-panel-redux .ui-icon-arrowthick-2-se-nw, .redux-metabox .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } .redux-container .ui-icon-arrowthickstop-1-n, .control-section-redux .ui-icon-arrowthickstop-1-n, .control-panel-redux .ui-icon-arrowthickstop-1-n, .redux-metabox .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } .redux-container .ui-icon-arrowthickstop-1-e, .control-section-redux .ui-icon-arrowthickstop-1-e, .control-panel-redux .ui-icon-arrowthickstop-1-e, .redux-metabox .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } .redux-container .ui-icon-arrowthickstop-1-s, .control-section-redux .ui-icon-arrowthickstop-1-s, .control-panel-redux .ui-icon-arrowthickstop-1-s, .redux-metabox .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } .redux-container .ui-icon-arrowthickstop-1-w, .control-section-redux .ui-icon-arrowthickstop-1-w, .control-panel-redux .ui-icon-arrowthickstop-1-w, .redux-metabox .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } .redux-container .ui-icon-arrowreturnthick-1-w, .control-section-redux .ui-icon-arrowreturnthick-1-w, .control-panel-redux .ui-icon-arrowreturnthick-1-w, .redux-metabox .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } .redux-container .ui-icon-arrowreturnthick-1-n, .control-section-redux .ui-icon-arrowreturnthick-1-n, .control-panel-redux .ui-icon-arrowreturnthick-1-n, .redux-metabox .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } .redux-container .ui-icon-arrowreturnthick-1-e, .control-section-redux .ui-icon-arrowreturnthick-1-e, .control-panel-redux .ui-icon-arrowreturnthick-1-e, .redux-metabox .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } .redux-container .ui-icon-arrowreturnthick-1-s, .control-section-redux .ui-icon-arrowreturnthick-1-s, .control-panel-redux .ui-icon-arrowreturnthick-1-s, .redux-metabox .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } .redux-container .ui-icon-arrowreturn-1-w, .control-section-redux .ui-icon-arrowreturn-1-w, .control-panel-redux .ui-icon-arrowreturn-1-w, .redux-metabox .ui-icon-arrowreturn-1-w { background-position: -64px -64px; } .redux-container .ui-icon-arrowreturn-1-n, .control-section-redux .ui-icon-arrowreturn-1-n, .control-panel-redux .ui-icon-arrowreturn-1-n, .redux-metabox .ui-icon-arrowreturn-1-n { background-position: -80px -64px; } .redux-container .ui-icon-arrowreturn-1-e, .control-section-redux .ui-icon-arrowreturn-1-e, .control-panel-redux .ui-icon-arrowreturn-1-e, .redux-metabox .ui-icon-arrowreturn-1-e { background-position: -96px -64px; } .redux-container .ui-icon-arrowreturn-1-s, .control-section-redux .ui-icon-arrowreturn-1-s, .control-panel-redux .ui-icon-arrowreturn-1-s, .redux-metabox .ui-icon-arrowreturn-1-s { background-position: -112px -64px; } .redux-container .ui-icon-arrowrefresh-1-w, .control-section-redux .ui-icon-arrowrefresh-1-w, .control-panel-redux .ui-icon-arrowrefresh-1-w, .redux-metabox .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } .redux-container .ui-icon-arrowrefresh-1-n, .control-section-redux .ui-icon-arrowrefresh-1-n, .control-panel-redux .ui-icon-arrowrefresh-1-n, .redux-metabox .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } .redux-container .ui-icon-arrowrefresh-1-e, .control-section-redux .ui-icon-arrowrefresh-1-e, .control-panel-redux .ui-icon-arrowrefresh-1-e, .redux-metabox .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } .redux-container .ui-icon-arrowrefresh-1-s, .control-section-redux .ui-icon-arrowrefresh-1-s, .control-panel-redux .ui-icon-arrowrefresh-1-s, .redux-metabox .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } .redux-container .ui-icon-arrow-4, .control-section-redux .ui-icon-arrow-4, .control-panel-redux .ui-icon-arrow-4, .redux-metabox .ui-icon-arrow-4 { background-position: 0 -80px; } .redux-container .ui-icon-arrow-4-diag, .control-section-redux .ui-icon-arrow-4-diag, .control-panel-redux .ui-icon-arrow-4-diag, .redux-metabox .ui-icon-arrow-4-diag { background-position: -16px -80px; } .redux-container .ui-icon-extlink, .control-section-redux .ui-icon-extlink, .control-panel-redux .ui-icon-extlink, .redux-metabox .ui-icon-extlink { background-position: -32px -80px; } .redux-container .ui-icon-newwin, .control-section-redux .ui-icon-newwin, .control-panel-redux .ui-icon-newwin, .redux-metabox .ui-icon-newwin { background-position: -48px -80px; } .redux-container .ui-icon-refresh, .control-section-redux .ui-icon-refresh, .control-panel-redux .ui-icon-refresh, .redux-metabox .ui-icon-refresh { background-position: -64px -80px; } .redux-container .ui-icon-shuffle, .control-section-redux .ui-icon-shuffle, .control-panel-redux .ui-icon-shuffle, .redux-metabox .ui-icon-shuffle { background-position: -80px -80px; } .redux-container .ui-icon-transfer-e-w, .control-section-redux .ui-icon-transfer-e-w, .control-panel-redux .ui-icon-transfer-e-w, .redux-metabox .ui-icon-transfer-e-w { background-position: -96px -80px; } .redux-container .ui-icon-transferthick-e-w, .control-section-redux .ui-icon-transferthick-e-w, .control-panel-redux .ui-icon-transferthick-e-w, .redux-metabox .ui-icon-transferthick-e-w { background-position: -112px -80px; } .redux-container .ui-icon-folder-collapsed, .control-section-redux .ui-icon-folder-collapsed, .control-panel-redux .ui-icon-folder-collapsed, .redux-metabox .ui-icon-folder-collapsed { background-position: 0 -96px; } .redux-container .ui-icon-folder-open, .control-section-redux .ui-icon-folder-open, .control-panel-redux .ui-icon-folder-open, .redux-metabox .ui-icon-folder-open { background-position: -16px -96px; } .redux-container .ui-icon-document, .control-section-redux .ui-icon-document, .control-panel-redux .ui-icon-document, .redux-metabox .ui-icon-document { background-position: -32px -96px; } .redux-container .ui-icon-document-b, .control-section-redux .ui-icon-document-b, .control-panel-redux .ui-icon-document-b, .redux-metabox .ui-icon-document-b { background-position: -48px -96px; } .redux-container .ui-icon-note, .control-section-redux .ui-icon-note, .control-panel-redux .ui-icon-note, .redux-metabox .ui-icon-note { background-position: -64px -96px; } .redux-container .ui-icon-mail-closed, .control-section-redux .ui-icon-mail-closed, .control-panel-redux .ui-icon-mail-closed, .redux-metabox .ui-icon-mail-closed { background-position: -80px -96px; } .redux-container .ui-icon-mail-open, .control-section-redux .ui-icon-mail-open, .control-panel-redux .ui-icon-mail-open, .redux-metabox .ui-icon-mail-open { background-position: -96px -96px; } .redux-container .ui-icon-suitcase, .control-section-redux .ui-icon-suitcase, .control-panel-redux .ui-icon-suitcase, .redux-metabox .ui-icon-suitcase { background-position: -112px -96px; } .redux-container .ui-icon-comment, .control-section-redux .ui-icon-comment, .control-panel-redux .ui-icon-comment, .redux-metabox .ui-icon-comment { background-position: -128px -96px; } .redux-container .ui-icon-person, .control-section-redux .ui-icon-person, .control-panel-redux .ui-icon-person, .redux-metabox .ui-icon-person { background-position: -144px -96px; } .redux-container .ui-icon-print, .control-section-redux .ui-icon-print, .control-panel-redux .ui-icon-print, .redux-metabox .ui-icon-print { background-position: -160px -96px; } .redux-container .ui-icon-trash, .control-section-redux .ui-icon-trash, .control-panel-redux .ui-icon-trash, .redux-metabox .ui-icon-trash { background-position: -176px -96px; } .redux-container .ui-icon-locked, .control-section-redux .ui-icon-locked, .control-panel-redux .ui-icon-locked, .redux-metabox .ui-icon-locked { background-position: -192px -96px; } .redux-container .ui-icon-unlocked, .control-section-redux .ui-icon-unlocked, .control-panel-redux .ui-icon-unlocked, .redux-metabox .ui-icon-unlocked { background-position: -208px -96px; } .redux-container .ui-icon-bookmark, .control-section-redux .ui-icon-bookmark, .control-panel-redux .ui-icon-bookmark, .redux-metabox .ui-icon-bookmark { background-position: -224px -96px; } .redux-container .ui-icon-tag, .control-section-redux .ui-icon-tag, .control-panel-redux .ui-icon-tag, .redux-metabox .ui-icon-tag { background-position: -240px -96px; } .redux-container .ui-icon-home, .control-section-redux .ui-icon-home, .control-panel-redux .ui-icon-home, .redux-metabox .ui-icon-home { background-position: 0 -112px; } .redux-container .ui-icon-flag, .control-section-redux .ui-icon-flag, .control-panel-redux .ui-icon-flag, .redux-metabox .ui-icon-flag { background-position: -16px -112px; } .redux-container .ui-icon-calendar, .control-section-redux .ui-icon-calendar, .control-panel-redux .ui-icon-calendar, .redux-metabox .ui-icon-calendar { background-position: -32px -112px; } .redux-container .ui-icon-cart, .control-section-redux .ui-icon-cart, .control-panel-redux .ui-icon-cart, .redux-metabox .ui-icon-cart { background-position: -48px -112px; } .redux-container .ui-icon-pencil, .control-section-redux .ui-icon-pencil, .control-panel-redux .ui-icon-pencil, .redux-metabox .ui-icon-pencil { background-position: -64px -112px; } .redux-container .ui-icon-clock, .control-section-redux .ui-icon-clock, .control-panel-redux .ui-icon-clock, .redux-metabox .ui-icon-clock { background-position: -80px -112px; } .redux-container .ui-icon-disk, .control-section-redux .ui-icon-disk, .control-panel-redux .ui-icon-disk, .redux-metabox .ui-icon-disk { background-position: -96px -112px; } .redux-container .ui-icon-calculator, .control-section-redux .ui-icon-calculator, .control-panel-redux .ui-icon-calculator, .redux-metabox .ui-icon-calculator { background-position: -112px -112px; } .redux-container .ui-icon-zoomin, .control-section-redux .ui-icon-zoomin, .control-panel-redux .ui-icon-zoomin, .redux-metabox .ui-icon-zoomin { background-position: -128px -112px; } .redux-container .ui-icon-zoomout, .control-section-redux .ui-icon-zoomout, .control-panel-redux .ui-icon-zoomout, .redux-metabox .ui-icon-zoomout { background-position: -144px -112px; } .redux-container .ui-icon-search, .control-section-redux .ui-icon-search, .control-panel-redux .ui-icon-search, .redux-metabox .ui-icon-search { background-position: -160px -112px; } .redux-container .ui-icon-wrench, .control-section-redux .ui-icon-wrench, .control-panel-redux .ui-icon-wrench, .redux-metabox .ui-icon-wrench { background-position: -176px -112px; } .redux-container .ui-icon-gear, .control-section-redux .ui-icon-gear, .control-panel-redux .ui-icon-gear, .redux-metabox .ui-icon-gear { background-position: -192px -112px; } .redux-container .ui-icon-heart, .control-section-redux .ui-icon-heart, .control-panel-redux .ui-icon-heart, .redux-metabox .ui-icon-heart { background-position: -208px -112px; } .redux-container .ui-icon-star, .control-section-redux .ui-icon-star, .control-panel-redux .ui-icon-star, .redux-metabox .ui-icon-star { background-position: -224px -112px; } .redux-container .ui-icon-link, .control-section-redux .ui-icon-link, .control-panel-redux .ui-icon-link, .redux-metabox .ui-icon-link { background-position: -240px -112px; } .redux-container .ui-icon-cancel, .control-section-redux .ui-icon-cancel, .control-panel-redux .ui-icon-cancel, .redux-metabox .ui-icon-cancel { background-position: 0 -128px; } .redux-container .ui-icon-plus, .control-section-redux .ui-icon-plus, .control-panel-redux .ui-icon-plus, .redux-metabox .ui-icon-plus { background-position: -16px -128px; } .redux-container .ui-icon-plusthick, .control-section-redux .ui-icon-plusthick, .control-panel-redux .ui-icon-plusthick, .redux-metabox .ui-icon-plusthick { background-position: -32px -128px; } .redux-container .ui-icon-minus, .control-section-redux .ui-icon-minus, .control-panel-redux .ui-icon-minus, .redux-metabox .ui-icon-minus { background-position: -48px -128px; } .redux-container .ui-icon-minusthick, .control-section-redux .ui-icon-minusthick, .control-panel-redux .ui-icon-minusthick, .redux-metabox .ui-icon-minusthick { background-position: -64px -128px; } .redux-container .ui-icon-close, .control-section-redux .ui-icon-close, .control-panel-redux .ui-icon-close, .redux-metabox .ui-icon-close { background-position: -80px -128px; } .redux-container .ui-icon-closethick, .control-section-redux .ui-icon-closethick, .control-panel-redux .ui-icon-closethick, .redux-metabox .ui-icon-closethick { background-position: -96px -128px; } .redux-container .ui-icon-key, .control-section-redux .ui-icon-key, .control-panel-redux .ui-icon-key, .redux-metabox .ui-icon-key { background-position: -112px -128px; } .redux-container .ui-icon-lightbulb, .control-section-redux .ui-icon-lightbulb, .control-panel-redux .ui-icon-lightbulb, .redux-metabox .ui-icon-lightbulb { background-position: -128px -128px; } .redux-container .ui-icon-scissors, .control-section-redux .ui-icon-scissors, .control-panel-redux .ui-icon-scissors, .redux-metabox .ui-icon-scissors { background-position: -144px -128px; } .redux-container .ui-icon-clipboard, .control-section-redux .ui-icon-clipboard, .control-panel-redux .ui-icon-clipboard, .redux-metabox .ui-icon-clipboard { background-position: -160px -128px; } .redux-container .ui-icon-copy, .control-section-redux .ui-icon-copy, .control-panel-redux .ui-icon-copy, .redux-metabox .ui-icon-copy { background-position: -176px -128px; } .redux-container .ui-icon-contact, .control-section-redux .ui-icon-contact, .control-panel-redux .ui-icon-contact, .redux-metabox .ui-icon-contact { background-position: -192px -128px; } .redux-container .ui-icon-image, .control-section-redux .ui-icon-image, .control-panel-redux .ui-icon-image, .redux-metabox .ui-icon-image { background-position: -208px -128px; } .redux-container .ui-icon-video, .control-section-redux .ui-icon-video, .control-panel-redux .ui-icon-video, .redux-metabox .ui-icon-video { background-position: -224px -128px; } .redux-container .ui-icon-script, .control-section-redux .ui-icon-script, .control-panel-redux .ui-icon-script, .redux-metabox .ui-icon-script { background-position: -240px -128px; } .redux-container .ui-icon-alert, .control-section-redux .ui-icon-alert, .control-panel-redux .ui-icon-alert, .redux-metabox .ui-icon-alert { background-position: 0 -144px; } .redux-container .ui-icon-info, .control-section-redux .ui-icon-info, .control-panel-redux .ui-icon-info, .redux-metabox .ui-icon-info { background-position: -16px -144px; } .redux-container .ui-icon-notice, .control-section-redux .ui-icon-notice, .control-panel-redux .ui-icon-notice, .redux-metabox .ui-icon-notice { background-position: -32px -144px; } .redux-container .ui-icon-help, .control-section-redux .ui-icon-help, .control-panel-redux .ui-icon-help, .redux-metabox .ui-icon-help { background-position: -48px -144px; } .redux-container .ui-icon-check, .control-section-redux .ui-icon-check, .control-panel-redux .ui-icon-check, .redux-metabox .ui-icon-check { background-position: -64px -144px; } .redux-container .ui-icon-bullet, .control-section-redux .ui-icon-bullet, .control-panel-redux .ui-icon-bullet, .redux-metabox .ui-icon-bullet { background-position: -80px -144px; } .redux-container .ui-icon-radio-off, .control-section-redux .ui-icon-radio-off, .control-panel-redux .ui-icon-radio-off, .redux-metabox .ui-icon-radio-off { background-position: -96px -144px; } .redux-container .ui-icon-radio-on, .control-section-redux .ui-icon-radio-on, .control-panel-redux .ui-icon-radio-on, .redux-metabox .ui-icon-radio-on { background-position: -112px -144px; } .redux-container .ui-icon-pin-w, .control-section-redux .ui-icon-pin-w, .control-panel-redux .ui-icon-pin-w, .redux-metabox .ui-icon-pin-w { background-position: -128px -144px; } .redux-container .ui-icon-pin-s, .control-section-redux .ui-icon-pin-s, .control-panel-redux .ui-icon-pin-s, .redux-metabox .ui-icon-pin-s { background-position: -144px -144px; } .redux-container .ui-icon-play, .control-section-redux .ui-icon-play, .control-panel-redux .ui-icon-play, .redux-metabox .ui-icon-play { background-position: 0 -160px; } .redux-container .ui-icon-pause, .control-section-redux .ui-icon-pause, .control-panel-redux .ui-icon-pause, .redux-metabox .ui-icon-pause { background-position: -16px -160px; } .redux-container .ui-icon-seek-next, .control-section-redux .ui-icon-seek-next, .control-panel-redux .ui-icon-seek-next, .redux-metabox .ui-icon-seek-next { background-position: -32px -160px; } .redux-container .ui-icon-seek-prev, .control-section-redux .ui-icon-seek-prev, .control-panel-redux .ui-icon-seek-prev, .redux-metabox .ui-icon-seek-prev { background-position: -48px -160px; } .redux-container .ui-icon-seek-end, .control-section-redux .ui-icon-seek-end, .control-panel-redux .ui-icon-seek-end, .redux-metabox .ui-icon-seek-end { background-position: -64px -160px; } .redux-container .ui-icon-seek-start, .control-section-redux .ui-icon-seek-start, .control-panel-redux .ui-icon-seek-start, .redux-metabox .ui-icon-seek-start { background-position: -80px -160px; } .redux-container .ui-icon-seek-first, .control-section-redux .ui-icon-seek-first, .control-panel-redux .ui-icon-seek-first, .redux-metabox .ui-icon-seek-first { background-position: -80px -160px; } .redux-container .ui-icon-stop, .control-section-redux .ui-icon-stop, .control-panel-redux .ui-icon-stop, .redux-metabox .ui-icon-stop { background-position: -96px -160px; } .redux-container .ui-icon-eject, .control-section-redux .ui-icon-eject, .control-panel-redux .ui-icon-eject, .redux-metabox .ui-icon-eject { background-position: -112px -160px; } .redux-container .ui-icon-volume-off, .control-section-redux .ui-icon-volume-off, .control-panel-redux .ui-icon-volume-off, .redux-metabox .ui-icon-volume-off { background-position: -128px -160px; } .redux-container .ui-icon-volume-on, .control-section-redux .ui-icon-volume-on, .control-panel-redux .ui-icon-volume-on, .redux-metabox .ui-icon-volume-on { background-position: -144px -160px; } .redux-container .ui-icon-power, .control-section-redux .ui-icon-power, .control-panel-redux .ui-icon-power, .redux-metabox .ui-icon-power { background-position: 0 -176px; } .redux-container .ui-icon-signal-diag, .control-section-redux .ui-icon-signal-diag, .control-panel-redux .ui-icon-signal-diag, .redux-metabox .ui-icon-signal-diag { background-position: -16px -176px; } .redux-container .ui-icon-signal, .control-section-redux .ui-icon-signal, .control-panel-redux .ui-icon-signal, .redux-metabox .ui-icon-signal { background-position: -32px -176px; } .redux-container .ui-icon-battery-0, .control-section-redux .ui-icon-battery-0, .control-panel-redux .ui-icon-battery-0, .redux-metabox .ui-icon-battery-0 { background-position: -48px -176px; } .redux-container .ui-icon-battery-1, .control-section-redux .ui-icon-battery-1, .control-panel-redux .ui-icon-battery-1, .redux-metabox .ui-icon-battery-1 { background-position: -64px -176px; } .redux-container .ui-icon-battery-2, .control-section-redux .ui-icon-battery-2, .control-panel-redux .ui-icon-battery-2, .redux-metabox .ui-icon-battery-2 { background-position: -80px -176px; } .redux-container .ui-icon-battery-3, .control-section-redux .ui-icon-battery-3, .control-panel-redux .ui-icon-battery-3, .redux-metabox .ui-icon-battery-3 { background-position: -96px -176px; } .redux-container .ui-icon-circle-plus, .control-section-redux .ui-icon-circle-plus, .control-panel-redux .ui-icon-circle-plus, .redux-metabox .ui-icon-circle-plus { background-position: 0 -192px; } .redux-container .ui-icon-circle-minus, .control-section-redux .ui-icon-circle-minus, .control-panel-redux .ui-icon-circle-minus, .redux-metabox .ui-icon-circle-minus { background-position: -16px -192px; } .redux-container .ui-icon-circle-close, .control-section-redux .ui-icon-circle-close, .control-panel-redux .ui-icon-circle-close, .redux-metabox .ui-icon-circle-close { background-position: -32px -192px; } .redux-container .ui-icon-circle-triangle-e, .control-section-redux .ui-icon-circle-triangle-e, .control-panel-redux .ui-icon-circle-triangle-e, .redux-metabox .ui-icon-circle-triangle-e { background-position: -48px -192px; } .redux-container .ui-icon-circle-triangle-s, .control-section-redux .ui-icon-circle-triangle-s, .control-panel-redux .ui-icon-circle-triangle-s, .redux-metabox .ui-icon-circle-triangle-s { background-position: -64px -192px; } .redux-container .ui-icon-circle-triangle-w, .control-section-redux .ui-icon-circle-triangle-w, .control-panel-redux .ui-icon-circle-triangle-w, .redux-metabox .ui-icon-circle-triangle-w { background-position: -80px -192px; } .redux-container .ui-icon-circle-triangle-n, .control-section-redux .ui-icon-circle-triangle-n, .control-panel-redux .ui-icon-circle-triangle-n, .redux-metabox .ui-icon-circle-triangle-n { background-position: -96px -192px; } .redux-container .ui-icon-circle-arrow-e, .control-section-redux .ui-icon-circle-arrow-e, .control-panel-redux .ui-icon-circle-arrow-e, .redux-metabox .ui-icon-circle-arrow-e { background-position: -112px -192px; } .redux-container .ui-icon-circle-arrow-s, .control-section-redux .ui-icon-circle-arrow-s, .control-panel-redux .ui-icon-circle-arrow-s, .redux-metabox .ui-icon-circle-arrow-s { background-position: -128px -192px; } .redux-container .ui-icon-circle-arrow-w, .control-section-redux .ui-icon-circle-arrow-w, .control-panel-redux .ui-icon-circle-arrow-w, .redux-metabox .ui-icon-circle-arrow-w { background-position: -144px -192px; } .redux-container .ui-icon-circle-arrow-n, .control-section-redux .ui-icon-circle-arrow-n, .control-panel-redux .ui-icon-circle-arrow-n, .redux-metabox .ui-icon-circle-arrow-n { background-position: -160px -192px; } .redux-container .ui-icon-circle-zoomin, .control-section-redux .ui-icon-circle-zoomin, .control-panel-redux .ui-icon-circle-zoomin, .redux-metabox .ui-icon-circle-zoomin { background-position: -176px -192px; } .redux-container .ui-icon-circle-zoomout, .control-section-redux .ui-icon-circle-zoomout, .control-panel-redux .ui-icon-circle-zoomout, .redux-metabox .ui-icon-circle-zoomout { background-position: -192px -192px; } .redux-container .ui-icon-circle-check, .control-section-redux .ui-icon-circle-check, .control-panel-redux .ui-icon-circle-check, .redux-metabox .ui-icon-circle-check { background-position: -208px -192px; } .redux-container .ui-icon-circlesmall-plus, .control-section-redux .ui-icon-circlesmall-plus, .control-panel-redux .ui-icon-circlesmall-plus, .redux-metabox .ui-icon-circlesmall-plus { background-position: 0 -208px; } .redux-container .ui-icon-circlesmall-minus, .control-section-redux .ui-icon-circlesmall-minus, .control-panel-redux .ui-icon-circlesmall-minus, .redux-metabox .ui-icon-circlesmall-minus { background-position: -16px -208px; } .redux-container .ui-icon-circlesmall-close, .control-section-redux .ui-icon-circlesmall-close, .control-panel-redux .ui-icon-circlesmall-close, .redux-metabox .ui-icon-circlesmall-close { background-position: -32px -208px; } .redux-container .ui-icon-squaresmall-plus, .control-section-redux .ui-icon-squaresmall-plus, .control-panel-redux .ui-icon-squaresmall-plus, .redux-metabox .ui-icon-squaresmall-plus { background-position: -48px -208px; } .redux-container .ui-icon-squaresmall-minus, .control-section-redux .ui-icon-squaresmall-minus, .control-panel-redux .ui-icon-squaresmall-minus, .redux-metabox .ui-icon-squaresmall-minus { background-position: -64px -208px; } .redux-container .ui-icon-squaresmall-close, .control-section-redux .ui-icon-squaresmall-close, .control-panel-redux .ui-icon-squaresmall-close, .redux-metabox .ui-icon-squaresmall-close { background-position: -80px -208px; } .redux-container .ui-icon-grip-dotted-vertical, .control-section-redux .ui-icon-grip-dotted-vertical, .control-panel-redux .ui-icon-grip-dotted-vertical, .redux-metabox .ui-icon-grip-dotted-vertical { background-position: 0 -224px; } .redux-container .ui-icon-grip-dotted-horizontal, .control-section-redux .ui-icon-grip-dotted-horizontal, .control-panel-redux .ui-icon-grip-dotted-horizontal, .redux-metabox .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } .redux-container .ui-icon-grip-solid-vertical, .control-section-redux .ui-icon-grip-solid-vertical, .control-panel-redux .ui-icon-grip-solid-vertical, .redux-metabox .ui-icon-grip-solid-vertical { background-position: -32px -224px; } .redux-container .ui-icon-grip-solid-horizontal, .control-section-redux .ui-icon-grip-solid-horizontal, .control-panel-redux .ui-icon-grip-solid-horizontal, .redux-metabox .ui-icon-grip-solid-horizontal { background-position: -48px -224px; } .redux-container .ui-icon-gripsmall-diagonal-se, .control-section-redux .ui-icon-gripsmall-diagonal-se, .control-panel-redux .ui-icon-gripsmall-diagonal-se, .redux-metabox .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } .redux-container .ui-icon-grip-diagonal-se, .control-section-redux .ui-icon-grip-diagonal-se, .control-panel-redux .ui-icon-grip-diagonal-se, .redux-metabox .ui-icon-grip-diagonal-se { background-position: -80px -224px; } .redux-container .ui-corner-all, .redux-container .ui-corner-top, .redux-container .ui-corner-left, .redux-container .ui-corner-tl, .control-section-redux .ui-corner-all, .control-section-redux .ui-corner-top, .control-section-redux .ui-corner-left, .control-section-redux .ui-corner-tl, .control-panel-redux .ui-corner-all, .control-panel-redux .ui-corner-top, .control-panel-redux .ui-corner-left, .control-panel-redux .ui-corner-tl, .redux-metabox .ui-corner-all, .redux-metabox .ui-corner-top, .redux-metabox .ui-corner-left, .redux-metabox .ui-corner-tl { border-top-left-radius: 4px; } .redux-container .ui-corner-all, .redux-container .ui-corner-top, .redux-container .ui-corner-right, .redux-container .ui-corner-tr, .control-section-redux .ui-corner-all, .control-section-redux .ui-corner-top, .control-section-redux .ui-corner-right, .control-section-redux .ui-corner-tr, .control-panel-redux .ui-corner-all, .control-panel-redux .ui-corner-top, .control-panel-redux .ui-corner-right, .control-panel-redux .ui-corner-tr, .redux-metabox .ui-corner-all, .redux-metabox .ui-corner-top, .redux-metabox .ui-corner-right, .redux-metabox .ui-corner-tr { border-top-right-radius: 4px; } .redux-container .ui-corner-all, .redux-container .ui-corner-bottom, .redux-container .ui-corner-left, .redux-container .ui-corner-bl, .control-section-redux .ui-corner-all, .control-section-redux .ui-corner-bottom, .control-section-redux .ui-corner-left, .control-section-redux .ui-corner-bl, .control-panel-redux .ui-corner-all, .control-panel-redux .ui-corner-bottom, .control-panel-redux .ui-corner-left, .control-panel-redux .ui-corner-bl, .redux-metabox .ui-corner-all, .redux-metabox .ui-corner-bottom, .redux-metabox .ui-corner-left, .redux-metabox .ui-corner-bl { border-bottom-left-radius: 4px; } .redux-container .ui-corner-all, .redux-container .ui-corner-bottom, .redux-container .ui-corner-right, .redux-container .ui-corner-br, .control-section-redux .ui-corner-all, .control-section-redux .ui-corner-bottom, .control-section-redux .ui-corner-right, .control-section-redux .ui-corner-br, .control-panel-redux .ui-corner-all, .control-panel-redux .ui-corner-bottom, .control-panel-redux .ui-corner-right, .control-panel-redux .ui-corner-br, .redux-metabox .ui-corner-all, .redux-metabox .ui-corner-bottom, .redux-metabox .ui-corner-right, .redux-metabox .ui-corner-br { border-bottom-right-radius: 4px; } .redux-container .ui-widget-overlay, .control-section-redux .ui-widget-overlay, .control-panel-redux .ui-widget-overlay, .redux-metabox .ui-widget-overlay { background: #aaa url("../../img/jquery-ui-bootstrap/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; opacity: 0.3; filter: alpha(Opacity=30); } .redux-container .ui-widget-shadow, .control-section-redux .ui-widget-shadow, .control-panel-redux .ui-widget-shadow, .redux-metabox .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaa url("../../img/jquery-ui-bootstrap/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; opacity: 0.3; filter: alpha(Opacity=30); border-radius: 8px; } .redux-container .ui-accordion, .control-section-redux .ui-accordion, .control-panel-redux .ui-accordion, .redux-metabox .ui-accordion { width: 100%; } .redux-container .ui-accordion .ui-accordion-header, .control-section-redux .ui-accordion .ui-accordion-header, .control-panel-redux .ui-accordion .ui-accordion-header, .redux-metabox .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; font-weight: bold; } .redux-container .ui-accordion .ui-accordion-li-fix, .control-section-redux .ui-accordion .ui-accordion-li-fix, .control-panel-redux .ui-accordion .ui-accordion-li-fix, .redux-metabox .ui-accordion .ui-accordion-li-fix { display: inline; } .redux-container .ui-accordion .ui-accordion-header-active, .control-section-redux .ui-accordion .ui-accordion-header-active, .control-panel-redux .ui-accordion .ui-accordion-header-active, .redux-metabox .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } .redux-container .ui-accordion .ui-accordion-header a, .control-section-redux .ui-accordion .ui-accordion-header a, .control-panel-redux .ui-accordion .ui-accordion-header a, .redux-metabox .ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: 0.5em 0.5em 0.5em 1.7em; } .redux-container .ui-accordion-icons .ui-accordion-header a, .control-section-redux .ui-accordion-icons .ui-accordion-header a, .control-panel-redux .ui-accordion-icons .ui-accordion-header a, .redux-metabox .ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } .redux-container .ui-accordion .ui-accordion-header .ui-icon, .control-section-redux .ui-accordion .ui-accordion-header .ui-icon, .control-panel-redux .ui-accordion .ui-accordion-header .ui-icon, .redux-metabox .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: 0.5em; top: 50%; margin-top: -8px; } .redux-container .ui-accordion .ui-accordion-content, .control-section-redux .ui-accordion .ui-accordion-content, .control-panel-redux .ui-accordion .ui-accordion-content, .redux-metabox .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } .redux-container .ui-accordion .ui-accordion-content-active, .control-section-redux .ui-accordion .ui-accordion-content-active, .control-panel-redux .ui-accordion .ui-accordion-content-active, .redux-metabox .ui-accordion .ui-accordion-content-active { display: block; } .redux-container .ui-button, .control-section-redux .ui-button, .control-panel-redux .ui-button, .redux-metabox .ui-button { cursor: pointer; display: inline-block; background-color: #e6e6e6; background-repeat: no-repeat; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), color-stop(25%, #fff), to(#e6e6e6)); background-image: -webkit-linear-gradient(#fff, #fff 25%, #e6e6e6); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(25%, #fff), to(#e6e6e6)); background-image: linear-gradient(#fff, #fff 25%, #e6e6e6); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#e6e6e6", GradientType=0); padding: 5px 14px 6px; margin: 0; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); color: #333; font-size: 13px; line-height: normal; border: 1px solid #ccc; border-bottom-color: #bbb; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -webkit-transition: 0.1s linear background-image; transition: 0.1s linear background-image; overflow: visible; } .redux-container .ui-button-primary, .control-section-redux .ui-button-primary, .control-panel-redux .ui-button-primary, .redux-metabox .ui-button-primary { color: #fff; background-color: #0064cd; background-repeat: repeat-x; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd)); background-image: -webkit-linear-gradient(top, #049cdb, #0064cd); background-image: -webkit-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd)); background-image: linear-gradient(to bottom, #049cdb, #0064cd); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#049cdb", endColorstr="#0064cd", GradientType=0); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); border-color: #0064cd #0064cd #003f81; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); } .redux-container .ui-button-success, .control-section-redux .ui-button-success, .control-panel-redux .ui-button-success, .redux-metabox .ui-button-success { color: #fff; background-color: #57a957; background-repeat: repeat-x; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957)); background-image: -webkit-linear-gradient(top, #62c462, #57a957); background-image: -webkit-gradient(linear, left top, left bottom, from(#62c462), to(#57a957)); background-image: linear-gradient(to bottom, #62c462, #57a957); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#62c462", endColorstr="#57a957", GradientType=0); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); border-color: #57a957 #57a957 #3d773d; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); } .redux-container .ui-button-error, .control-section-redux .ui-button-error, .control-panel-redux .ui-button-error, .redux-metabox .ui-button-error { color: #fff; background-color: #c43c35; background-repeat: repeat-x; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35)); background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); background-image: -webkit-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35)); background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ee5f5b", endColorstr="#c43c35", GradientType=0); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); border-color: #c43c35 #c43c35 #882a25; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); } .redux-container .ui-button-icon-only, .control-section-redux .ui-button-icon-only, .control-panel-redux .ui-button-icon-only, .redux-metabox .ui-button-icon-only { width: 2.2em; } .redux-container .ui-button-icons-only, .control-section-redux .ui-button-icons-only, .control-panel-redux .ui-button-icons-only, .redux-metabox .ui-button-icons-only { width: 3.4em; } .redux-container button.ui-button-icons-only, .control-section-redux button.ui-button-icons-only, .control-panel-redux button.ui-button-icons-only, .redux-metabox button.ui-button-icons-only { width: 3.7em; } .redux-container .ui-button .ui-button-text, .control-section-redux .ui-button .ui-button-text, .control-panel-redux .ui-button .ui-button-text, .redux-metabox .ui-button .ui-button-text { display: block; } .redux-container .ui-button-icon-only .ui-button-text, .redux-container .ui-button-icons-only .ui-button-text, .control-section-redux .ui-button-icon-only .ui-button-text, .control-section-redux .ui-button-icons-only .ui-button-text, .control-panel-redux .ui-button-icon-only .ui-button-text, .control-panel-redux .ui-button-icons-only .ui-button-text, .redux-metabox .ui-button-icon-only .ui-button-text, .redux-metabox .ui-button-icons-only .ui-button-text { padding: 0.4em; text-indent: -9999999px; /*tempfix*/ display: none; } .redux-container .ui-button-text-icon-primary .ui-button-text, .redux-container .ui-button-text-icons .ui-button-text, .control-section-redux .ui-button-text-icon-primary .ui-button-text, .control-section-redux .ui-button-text-icons .ui-button-text, .control-panel-redux .ui-button-text-icon-primary .ui-button-text, .control-panel-redux .ui-button-text-icons .ui-button-text, .redux-metabox .ui-button-text-icon-primary .ui-button-text, .redux-metabox .ui-button-text-icons .ui-button-text { padding: 0.4em 1em 0.4em 2.1em; } .redux-container .ui-button-text-icon-secondary .ui-button-text, .redux-container .ui-button-text-icons .ui-button-text, .control-section-redux .ui-button-text-icon-secondary .ui-button-text, .control-section-redux .ui-button-text-icons .ui-button-text, .control-panel-redux .ui-button-text-icon-secondary .ui-button-text, .control-panel-redux .ui-button-text-icons .ui-button-text, .redux-metabox .ui-button-text-icon-secondary .ui-button-text, .redux-metabox .ui-button-text-icons .ui-button-text { padding: 0.4em 2.1em 0.4em 1em; } .redux-container .ui-button-text-icons .ui-button-text, .control-section-redux .ui-button-text-icons .ui-button-text, .control-panel-redux .ui-button-text-icons .ui-button-text, .redux-metabox .ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } .redux-container .ui-button-icon-only .ui-icon, .redux-container .ui-button-text-icon-primary .ui-icon, .redux-container .ui-button-text-icon-secondary .ui-icon, .redux-container .ui-button-text-icons .ui-icon, .redux-container .ui-button-icons-only .ui-icon, .control-section-redux .ui-button-icon-only .ui-icon, .control-section-redux .ui-button-text-icon-primary .ui-icon, .control-section-redux .ui-button-text-icon-secondary .ui-icon, .control-section-redux .ui-button-text-icons .ui-icon, .control-section-redux .ui-button-icons-only .ui-icon, .control-panel-redux .ui-button-icon-only .ui-icon, .control-panel-redux .ui-button-text-icon-primary .ui-icon, .control-panel-redux .ui-button-text-icon-secondary .ui-icon, .control-panel-redux .ui-button-text-icons .ui-icon, .control-panel-redux .ui-button-icons-only .ui-icon, .redux-metabox .ui-button-icon-only .ui-icon, .redux-metabox .ui-button-text-icon-primary .ui-icon, .redux-metabox .ui-button-text-icon-secondary .ui-icon, .redux-metabox .ui-button-text-icons .ui-icon, .redux-metabox .ui-button-icons-only .ui-icon { top: 50%; margin-top: -3px; margin-bottom: 3px; } .redux-container .ui-button-icon-only .ui-icon, .control-section-redux .ui-button-icon-only .ui-icon, .control-panel-redux .ui-button-icon-only .ui-icon, .redux-metabox .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } .redux-container .ui-button-text-icon-primary .ui-button-icon-primary, .redux-container .ui-button-text-icons .ui-button-icon-primary, .redux-container .ui-button-icons-only .ui-button-icon-primary, .control-section-redux .ui-button-text-icon-primary .ui-button-icon-primary, .control-section-redux .ui-button-text-icons .ui-button-icon-primary, .control-section-redux .ui-button-icons-only .ui-button-icon-primary, .control-panel-redux .ui-button-text-icon-primary .ui-button-icon-primary, .control-panel-redux .ui-button-text-icons .ui-button-icon-primary, .control-panel-redux .ui-button-icons-only .ui-button-icon-primary, .redux-metabox .ui-button-text-icon-primary .ui-button-icon-primary, .redux-metabox .ui-button-text-icons .ui-button-icon-primary, .redux-metabox .ui-button-icons-only .ui-button-icon-primary { left: 0.5em; } .redux-container .ui-button-text-icon-secondary .ui-button-icon-secondary, .redux-container .ui-button-text-icons .ui-button-icon-secondary, .redux-container .ui-button-icons-only .ui-button-icon-secondary, .control-section-redux .ui-button-text-icon-secondary .ui-button-icon-secondary, .control-section-redux .ui-button-text-icons .ui-button-icon-secondary, .control-section-redux .ui-button-icons-only .ui-button-icon-secondary, .control-panel-redux .ui-button-text-icon-secondary .ui-button-icon-secondary, .control-panel-redux .ui-button-text-icons .ui-button-icon-secondary, .control-panel-redux .ui-button-icons-only .ui-button-icon-secondary, .redux-metabox .ui-button-text-icon-secondary .ui-button-icon-secondary, .redux-metabox .ui-button-text-icons .ui-button-icon-secondary, .redux-metabox .ui-button-icons-only .ui-button-icon-secondary { right: 0.5em; } .redux-container .ui-button-text-icons .ui-button-icon-secondary, .redux-container .ui-button-icons-only .ui-button-icon-secondary, .control-section-redux .ui-button-text-icons .ui-button-icon-secondary, .control-section-redux .ui-button-icons-only .ui-button-icon-secondary, .control-panel-redux .ui-button-text-icons .ui-button-icon-secondary, .control-panel-redux .ui-button-icons-only .ui-button-icon-secondary, .redux-metabox .ui-button-text-icons .ui-button-icon-secondary, .redux-metabox .ui-button-icons-only .ui-button-icon-secondary { right: 0.5em; } .redux-container .ui-buttonset, .control-section-redux .ui-buttonset, .control-panel-redux .ui-buttonset, .redux-metabox .ui-buttonset { margin-right: 7px; } .redux-container .ui-buttonset .ui-state-active, .control-section-redux .ui-buttonset .ui-state-active, .control-panel-redux .ui-buttonset .ui-state-active, .redux-metabox .ui-buttonset .ui-state-active { color: #fff; background-color: #0064cd; background-repeat: repeat-x; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd)); background-image: -webkit-linear-gradient(top, #049cdb, #0064cd); background-image: -webkit-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd)); background-image: linear-gradient(to bottom, #049cdb, #0064cd); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#049cdb", endColorstr="#0064cd", GradientType=0); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); border-color: #0064cd #0064cd #003f81; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); } .redux-container .ui-buttonset .ui-button, .control-section-redux .ui-buttonset .ui-button, .control-panel-redux .ui-buttonset .ui-button, .redux-metabox .ui-buttonset .ui-button { margin-left: 0; margin-right: 0; } .redux-container button.ui-button::-moz-focus-inner, .control-section-redux button.ui-button::-moz-focus-inner, .control-panel-redux button.ui-button::-moz-focus-inner, .redux-metabox button.ui-button::-moz-focus-inner { border: 0; padding: 0; } .redux-container .ui-datepicker, .control-section-redux .ui-datepicker, .control-panel-redux .ui-datepicker, .redux-metabox .ui-datepicker { width: 17em; padding: 0.2em 0.2em 0; display: none; } .redux-container .ui-datepicker .ui-datepicker-header, .control-section-redux .ui-datepicker .ui-datepicker-header, .control-panel-redux .ui-datepicker .ui-datepicker-header, .redux-metabox .ui-datepicker .ui-datepicker-header { position: relative; padding: 0.2em 0; border: 0; font-weight: bold; width: 100%; padding: 4px 0; background-color: #f5f5f5; color: #808080; } .redux-container .ui-datepicker .ui-datepicker-prev, .redux-container .ui-datepicker .ui-datepicker-next, .control-section-redux .ui-datepicker .ui-datepicker-prev, .control-section-redux .ui-datepicker .ui-datepicker-next, .control-panel-redux .ui-datepicker .ui-datepicker-prev, .control-panel-redux .ui-datepicker .ui-datepicker-next, .redux-metabox .ui-datepicker .ui-datepicker-prev, .redux-metabox .ui-datepicker .ui-datepicker-next { position: absolute; top: 2px; width: 1.8em; height: 1.8em; } .redux-container .ui-datepicker .ui-datepicker-prev, .control-section-redux .ui-datepicker .ui-datepicker-prev, .control-panel-redux .ui-datepicker .ui-datepicker-prev, .redux-metabox .ui-datepicker .ui-datepicker-prev { left: 2px; } .redux-container .ui-datepicker .ui-datepicker-next, .control-section-redux .ui-datepicker .ui-datepicker-next, .control-panel-redux .ui-datepicker .ui-datepicker-next, .redux-metabox .ui-datepicker .ui-datepicker-next { right: 2px; } .redux-container .ui-datepicker .ui-datepicker-prev span, .redux-container .ui-datepicker .ui-datepicker-next span, .control-section-redux .ui-datepicker .ui-datepicker-prev span, .control-section-redux .ui-datepicker .ui-datepicker-next span, .control-panel-redux .ui-datepicker .ui-datepicker-prev span, .control-panel-redux .ui-datepicker .ui-datepicker-next span, .redux-metabox .ui-datepicker .ui-datepicker-prev span, .redux-metabox .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } .redux-container .ui-datepicker .ui-datepicker-title, .control-section-redux .ui-datepicker .ui-datepicker-title, .control-panel-redux .ui-datepicker .ui-datepicker-title, .redux-metabox .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } .redux-container .ui-datepicker .ui-datepicker-title select, .control-section-redux .ui-datepicker .ui-datepicker-title select, .control-panel-redux .ui-datepicker .ui-datepicker-title select, .redux-metabox .ui-datepicker .ui-datepicker-title select { font-size: 1em; margin: 1px 0; } .redux-container .ui-datepicker select.ui-datepicker-month-year, .control-section-redux .ui-datepicker select.ui-datepicker-month-year, .control-panel-redux .ui-datepicker select.ui-datepicker-month-year, .redux-metabox .ui-datepicker select.ui-datepicker-month-year { width: 100%; } .redux-container .ui-datepicker select.ui-datepicker-month, .redux-container .ui-datepicker select.ui-datepicker-year, .control-section-redux .ui-datepicker select.ui-datepicker-month, .control-section-redux .ui-datepicker select.ui-datepicker-year, .control-panel-redux .ui-datepicker select.ui-datepicker-month, .control-panel-redux .ui-datepicker select.ui-datepicker-year, .redux-metabox .ui-datepicker select.ui-datepicker-month, .redux-metabox .ui-datepicker select.ui-datepicker-year { width: 49%; } .redux-container .ui-datepicker table, .control-section-redux .ui-datepicker table, .control-panel-redux .ui-datepicker table, .redux-metabox .ui-datepicker table { width: 100%; font-size: 0.9em; border-collapse: collapse; margin: 0 0 0.4em; } .redux-container .ui-datepicker th, .control-section-redux .ui-datepicker th, .control-panel-redux .ui-datepicker th, .redux-metabox .ui-datepicker th { padding: 0.7em 0.3em; text-align: center; font-weight: bold; border: 0; } .redux-container .ui-datepicker td, .control-section-redux .ui-datepicker td, .control-panel-redux .ui-datepicker td, .redux-metabox .ui-datepicker td { border: 0; padding: 1px; } .redux-container .ui-datepicker td span, .redux-container .ui-datepicker td a, .control-section-redux .ui-datepicker td span, .control-section-redux .ui-datepicker td a, .control-panel-redux .ui-datepicker td span, .control-panel-redux .ui-datepicker td a, .redux-metabox .ui-datepicker td span, .redux-metabox .ui-datepicker td a { display: block; padding: 0.2em; text-align: right; text-decoration: none; } .redux-container .ui-datepicker .ui-datepicker-buttonpane, .control-section-redux .ui-datepicker .ui-datepicker-buttonpane, .control-panel-redux .ui-datepicker .ui-datepicker-buttonpane, .redux-metabox .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: 0.7em 0 0 0; padding: 0 0.2em; border-left: 0; border-right: 0; border-bottom: 0; } .redux-container .ui-datepicker .ui-datepicker-buttonpane button, .control-section-redux .ui-datepicker .ui-datepicker-buttonpane button, .control-panel-redux .ui-datepicker .ui-datepicker-buttonpane button, .redux-metabox .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: 0.5em 0.2em 0.4em; cursor: pointer; padding: 0.2em 0.6em 0.3em 0.6em; width: auto; overflow: visible; } .redux-container .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current, .control-section-redux .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current, .control-panel-redux .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current, .redux-metabox .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float: left; } .redux-container .ui-datepicker.ui-datepicker-multi, .control-section-redux .ui-datepicker.ui-datepicker-multi, .control-panel-redux .ui-datepicker.ui-datepicker-multi, .redux-metabox .ui-datepicker.ui-datepicker-multi { width: auto; } .redux-container .ui-datepicker-multi .ui-datepicker-group, .control-section-redux .ui-datepicker-multi .ui-datepicker-group, .control-panel-redux .ui-datepicker-multi .ui-datepicker-group, .redux-metabox .ui-datepicker-multi .ui-datepicker-group { float: left; } .redux-container .ui-datepicker-multi .ui-datepicker-group table, .control-section-redux .ui-datepicker-multi .ui-datepicker-group table, .control-panel-redux .ui-datepicker-multi .ui-datepicker-group table, .redux-metabox .ui-datepicker-multi .ui-datepicker-group table { width: 95%; margin: 0 auto 0.4em; } .redux-container .ui-datepicker-multi-2 .ui-datepicker-group, .control-section-redux .ui-datepicker-multi-2 .ui-datepicker-group, .control-panel-redux .ui-datepicker-multi-2 .ui-datepicker-group, .redux-metabox .ui-datepicker-multi-2 .ui-datepicker-group { width: 50%; } .redux-container .ui-datepicker-multi-3 .ui-datepicker-group, .control-section-redux .ui-datepicker-multi-3 .ui-datepicker-group, .control-panel-redux .ui-datepicker-multi-3 .ui-datepicker-group, .redux-metabox .ui-datepicker-multi-3 .ui-datepicker-group { width: 33.3%; } .redux-container .ui-datepicker-multi-4 .ui-datepicker-group, .control-section-redux .ui-datepicker-multi-4 .ui-datepicker-group, .control-panel-redux .ui-datepicker-multi-4 .ui-datepicker-group, .redux-metabox .ui-datepicker-multi-4 .ui-datepicker-group { width: 25%; } .redux-container .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, .control-section-redux .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, .control-panel-redux .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, .redux-metabox .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width: 0; } .redux-container .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header, .control-section-redux .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header, .control-panel-redux .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header, .redux-metabox .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width: 0; } .redux-container .ui-datepicker-multi .ui-datepicker-buttonpane, .control-section-redux .ui-datepicker-multi .ui-datepicker-buttonpane, .control-panel-redux .ui-datepicker-multi .ui-datepicker-buttonpane, .redux-metabox .ui-datepicker-multi .ui-datepicker-buttonpane { clear: left; } .redux-container .ui-datepicker-row-break, .control-section-redux .ui-datepicker-row-break, .control-panel-redux .ui-datepicker-row-break, .redux-metabox .ui-datepicker-row-break { clear: both; width: 100%; font-size: 0em; } .redux-container .ui-datepicker-rtl, .control-section-redux .ui-datepicker-rtl, .control-panel-redux .ui-datepicker-rtl, .redux-metabox .ui-datepicker-rtl { direction: rtl; } .redux-container .ui-datepicker-rtl .ui-datepicker-prev, .control-section-redux .ui-datepicker-rtl .ui-datepicker-prev, .control-panel-redux .ui-datepicker-rtl .ui-datepicker-prev, .redux-metabox .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } .redux-container .ui-datepicker-rtl .ui-datepicker-next, .control-section-redux .ui-datepicker-rtl .ui-datepicker-next, .control-panel-redux .ui-datepicker-rtl .ui-datepicker-next, .redux-metabox .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } .redux-container .ui-datepicker-rtl .ui-datepicker-prev:hover, .control-section-redux .ui-datepicker-rtl .ui-datepicker-prev:hover, .control-panel-redux .ui-datepicker-rtl .ui-datepicker-prev:hover, .redux-metabox .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } .redux-container .ui-datepicker-rtl .ui-datepicker-next:hover, .control-section-redux .ui-datepicker-rtl .ui-datepicker-next:hover, .control-panel-redux .ui-datepicker-rtl .ui-datepicker-next:hover, .redux-metabox .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } .redux-container .ui-datepicker-rtl .ui-datepicker-buttonpane, .control-section-redux .ui-datepicker-rtl .ui-datepicker-buttonpane, .control-panel-redux .ui-datepicker-rtl .ui-datepicker-buttonpane, .redux-metabox .ui-datepicker-rtl .ui-datepicker-buttonpane { clear: right; } .redux-container .ui-datepicker-rtl .ui-datepicker-buttonpane button, .control-section-redux .ui-datepicker-rtl .ui-datepicker-buttonpane button, .control-panel-redux .ui-datepicker-rtl .ui-datepicker-buttonpane button, .redux-metabox .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } .redux-container .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, .control-section-redux .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, .control-panel-redux .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, .redux-metabox .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float: right; } .redux-container .ui-datepicker-rtl .ui-datepicker-group, .control-section-redux .ui-datepicker-rtl .ui-datepicker-group, .control-panel-redux .ui-datepicker-rtl .ui-datepicker-group, .redux-metabox .ui-datepicker-rtl .ui-datepicker-group { float: right; } .redux-container .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, .control-section-redux .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, .control-panel-redux .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, .redux-metabox .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width: 0; border-left-width: 1px; } .redux-container .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header, .control-section-redux .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header, .control-panel-redux .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header, .redux-metabox .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width: 0; border-left-width: 1px; } .redux-container .ui-datepicker-cover, .control-section-redux .ui-datepicker-cover, .control-panel-redux .ui-datepicker-cover, .redux-metabox .ui-datepicker-cover { display: none; /*sorry for IE5*/ display: block; /*sorry for IE5*/ position: absolute; /*must have*/ z-index: -1; /*must have*/ -webkit-filter: mask(); filter: mask(); /*must have*/ top: -4px; /*must have*/ left: -4px; /*must have*/ width: 200px; /*must have*/ height: 200px; /*must have*/ } .redux-container .ui-datepicker th, .control-section-redux .ui-datepicker th, .control-panel-redux .ui-datepicker th, .redux-metabox .ui-datepicker th { font-weight: bold; color: gray; } .redux-container .ui-datepicker-today a:hover, .control-section-redux .ui-datepicker-today a:hover, .control-panel-redux .ui-datepicker-today a:hover, .redux-metabox .ui-datepicker-today a:hover { background-color: #808080; color: #fff; } .redux-container .ui-datepicker-today a, .control-section-redux .ui-datepicker-today a, .control-panel-redux .ui-datepicker-today a, .redux-metabox .ui-datepicker-today a { background-color: #bfbfbf; cursor: pointer; padding: 0 4px; margin-bottom: 0; } .redux-container .ui-datepicker td a, .control-section-redux .ui-datepicker td a, .control-panel-redux .ui-datepicker td a, .redux-metabox .ui-datepicker td a { margin-bottom: 0; border: 0; } .redux-container .ui-datepicker td:hover, .control-section-redux .ui-datepicker td:hover, .control-panel-redux .ui-datepicker td:hover, .redux-metabox .ui-datepicker td:hover { color: #fff; } .redux-container .ui-datepicker td .ui-state-default, .control-section-redux .ui-datepicker td .ui-state-default, .control-panel-redux .ui-datepicker td .ui-state-default, .redux-metabox .ui-datepicker td .ui-state-default { border: 0; background: none; margin-bottom: 0; padding: 5px; color: gray; text-align: center; -webkit-filter: none; filter: none; } .redux-container .ui-datepicker td .ui-state-active, .control-section-redux .ui-datepicker td .ui-state-active, .control-panel-redux .ui-datepicker td .ui-state-active, .redux-metabox .ui-datepicker td .ui-state-active { background: #bfbfbf; margin-bottom: 0; font-size: normal; text-shadow: 0; color: #fff; border-radius: 4px; } .redux-container .ui-datepicker td .ui-state-hover, .control-section-redux .ui-datepicker td .ui-state-hover, .control-panel-redux .ui-datepicker td .ui-state-hover, .redux-metabox .ui-datepicker td .ui-state-hover { color: #fff; background: #0064cd; background-color: #0064cd; background-repeat: repeat-x; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd)); background-image: -webkit-linear-gradient(top, #049cdb, #0064cd); background-image: -webkit-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd)); background-image: linear-gradient(to bottom, #049cdb, #0064cd); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#049cdb", endColorstr="#0064cd", GradientType=0); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); border-color: #0064cd #0064cd #003f81; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border-radius: 4px; } .redux-container .ui-widget-content, .control-section-redux .ui-widget-content, .control-panel-redux .ui-widget-content, .redux-metabox .ui-widget-content { border: 1px solid #dfdfdf; } .redux-container .ui-datepicker table, .control-section-redux .ui-datepicker table, .control-panel-redux .ui-datepicker table, .redux-metabox .ui-datepicker table { background: #fff; } .redux-container .placeholder, .control-section-redux .placeholder, .control-panel-redux .placeholder, .redux-metabox .placeholder { background: #f9f9f9 !important; border: 1px dashed #bbb !important; } .wp-customizer #ui-datepicker-div { z-index: 999999 !important; } /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImpxdWVyeS11aS0xLjEwLjAuY3VzdG9tLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUE7QUFBQTtDQUVJOzs7QUFLQTtBQUFBO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOztBQUVBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTs7QUFFQTtBQUFBO0NBQ0k7O0FBR0o7QUFBQTtDQUNJO0NBQ0E7O0FBSVI7QUFBQTtDQUNJO0NBQ0E7O0FBR0o7QUFBQTtDQUNJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFHSjtBQUFBO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOztBQUdKO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFJUjtBQUFBO0NBQ0k7Q0FDQTs7QUFFQTtBQUFBO0NBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUlJO0NBQ0E7O0FBR0o7QUFBQTtDQUNJOztBQUlSO0FBQUE7QUFBQTtDQUVJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FJSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBSUk7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUlJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FJSTs7QUFHSjtBQUFBO0NBQ0k7Q0FDQTtDQUNBOztBQUdKO0FBQUE7Q0FDSTs7QUFHSjtBQUFBO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7O0FBR0o7QUFBQTtDQUNJO0NBQ0E7O0FBR0o7QUFBQTtDQUNJO0NBQ0E7Q0FDQTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtDQUVJO0NBQ0E7Q0FDQTs7QUFHSjtBQUFBO0NBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQU9JO0NBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUlJO0NBQ0E7Q0FDQTtDQUNBOztBQUdKO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFFQTtBQUFBO0NBQ0k7O0FBSVI7QUFBQTtDQUNJO0NBQ0E7O0FBRUE7QUFBQTtDQUNJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBSVI7QUFBQTtDQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0NBRUk7O0FBR0o7QUFBQTtDQUNJOztBQUdKO0FBQUE7Q0FDSTs7QUFHSjtBQUFBO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOzs7QUFJUjtDQUNJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7OztBQUdKO0NBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBSUk7QUFBQTtBQU9BO0FBQUE7QUFHQTtBQVNBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtBQXFCQTtBQUFBO0FBNkVBO0FBQUE7QUErR0U7QUFHRjtBQUFBO0FBR0E7QUE4QkE7QUF5WkE7QUFxSEE7QUFBQTtBQUdBO0FBa0NBO0FBbUJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBZ0RBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXlDRTtBQXFEQTtBQUM2QjtBQVEvQjtBQXdCQTtBQUNBO0FBRUE7QUE2QkE7QUEwQkE7QUFJRTtBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTJHQTtBQW1DQTtBQXlDQTs7QUE1d0NBO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBUUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTs7QUF5Qko7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUtKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUlJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUVBO0NBRUE7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFLSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FHSTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQU1JO0NBQ0E7Q0FDQTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUlJO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBR0k7Q0FDQTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUdJO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFPSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FHSTtDQUNBO0NBQ0E7Q0FDQTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FLSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBR0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBS0k7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FHSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FHSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FHSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FHSTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBR0k7Q0FDQTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBUUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUVJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBRUk7O0FBSUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBUUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FJSTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FJSTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FJSTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FJSTtDQUNBO0NBQ0E7O0FBS0o7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOztBQWVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7Q0FDQTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFjSjtBQUFBO0FBQUE7QUFBQTtDQUVJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBRUE7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBSUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUtKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUVJO0NBQ0E7Q0FDQTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBRUk7O0FBRUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUVJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7Q0FDQTs7QUFNSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBS0k7Q0FDQTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7Q0FDQTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FHSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FHSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBRUk7O0FBTUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7Q0FDQTs7QUFJSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7O0FBWUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Q0FFSTtDQUNBO0NBQ0E7Q0FDQTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUVJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7Q0FDQTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBRUk7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7Q0FDQTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7Q0FDQTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0NBRUk7Q0FDQTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFJSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7Q0FDQTtDQUNBOztBQUlKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7Q0FDQTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFFSjtBQUFBO0FBQUE7QUFBQTtDQUNJOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBOztBQUVKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7Q0FDQTs7QUFJSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7Q0FDQTtDQUNBO0NBQ0E7O0FBS0o7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7QUFJSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7Q0FDSTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0NBQ0k7O0FBRUo7QUFBQTtBQUFBO0FBQUE7Q0FDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtDQUNJO0NBQ0E7OztBQU1KO0NBQ0kiLCJmaWxlIjoianF1ZXJ5LXVpLTEuMTAuMC5jdXN0b20uY3NzIn0= */ /*# sourceMappingURL=jquery-ui-1.10.0.custom.css.map */ /* global jQuery, document */ /** Add any Javascript for your extension here. Use of this file is optional and is only for those * who wish to output the file CSS using a SASS compiler. * * Please be sure to rename the 'my-extension' part of the file name to the name of your extension. Pleas use * dashes instead of underscores. */ $( document ).ready( function() { } )( jQuery ); /** * Text editor - all contenteditable text-editing setup * * Reads (via globals): * SFE.Context - .draftEditState * SFE.ElementPrep - .getCleanHTML, .getContent * SFE.OverlayManager * SFE.PositionManager - .positionFloatingElements * SFE.FocusManager - .createFocusManager * SFE.handleInlineSave - set by SaveManager * SFE.closeInPlaceEditor - set by EditorLifecycle * SFE.startMediaEditing - set by frontend-inline-edit.js (via SFE.MediaEditor) * SFE.MWPEditor - rich text editor class * SFE.ManagerData - .handlers * * Exposes: SFE.TextEditor * { startTextEditing, startMultiComponentEditing, refreshEditableComponents } */ (function() { 'use strict'; window.MWP = window.MWP || {}; window.MWP.SFE = window.MWP.SFE || {}; const SFE = window.MWP.SFE; SFE.ManagerData = SFE.ManagerData || {}; const MWPEditor = SFE.MWPEditor; function normalizeEditorFormatsSpec(rawFormats, depth = 0) { if (depth > 3 || !Array.isArray(rawFormats)) { return null; } const normalized = []; rawFormats.forEach((item) => { if (typeof item === 'string') { const token = item.trim(); if (token) { normalized.push(token); } return; } if (Array.isArray(item)) { const group = normalizeEditorFormatsSpec(item, depth + 1); if (Array.isArray(group) && group.length) { normalized.push(group); } } }); return normalized.length ? normalized : null; } function cloneEditorFormatsSpec(formatsSpec) { if (!Array.isArray(formatsSpec)) return null; return formatsSpec.map(item => ( Array.isArray(item) ? cloneEditorFormatsSpec(item) : item )); } function normalizeInlineFormatCapability(rawCapability) { if (!rawCapability || typeof rawCapability !== 'object' || Array.isArray(rawCapability)) { return null; } const tag = typeof rawCapability.tag === 'string' ? rawCapability.tag.trim().toLowerCase() : ''; if (!tag) return null; const normalizeStringArray = (rawValue) => { if (!Array.isArray(rawValue)) return null; const values = rawValue .map((value) => (typeof value === 'string' ? value.trim() : '')) .filter(Boolean); return values.length ? values : null; }; const normalized = { tag }; const attributes = normalizeStringArray(rawCapability.attributes); const requiredAttributes = normalizeStringArray(rawCapability.requiredAttributes); const allowedTargets = normalizeStringArray(rawCapability.allowedTargets); const allowedRelTokens = normalizeStringArray(rawCapability.allowedRelTokens); const allowedProtocols = normalizeStringArray(rawCapability.allowedProtocols); if (attributes) normalized.attributes = attributes; if (requiredAttributes) normalized.requiredAttributes = requiredAttributes; if (allowedTargets) normalized.allowedTargets = allowedTargets; if (allowedRelTokens) normalized.allowedRelTokens = allowedRelTokens; if (allowedProtocols) normalized.allowedProtocols = allowedProtocols; if (typeof rawCapability.allowsRelativeUrls === 'boolean') { normalized.allowsRelativeUrls = rawCapability.allowsRelativeUrls; } if (typeof rawCapability.allowsAnchorLinks === 'boolean') { normalized.allowsAnchorLinks = rawCapability.allowsAnchorLinks; } if (typeof rawCapability.autoProtocol === 'string' && rawCapability.autoProtocol.trim()) { normalized.autoProtocol = rawCapability.autoProtocol.trim().toLowerCase(); } if (typeof rawCapability.preservesUnknownRelTokens === 'boolean') { normalized.preservesUnknownRelTokens = rawCapability.preservesUnknownRelTokens; } return normalized; } function cloneInlineFormatCapabilities(inlineFormatCapabilities) { if (!inlineFormatCapabilities || typeof inlineFormatCapabilities !== 'object' || Array.isArray(inlineFormatCapabilities)) { return null; } const cloned = {}; Object.keys(inlineFormatCapabilities).forEach((key) => { const cleanKey = typeof key === 'string' ? key.trim() : ''; if (!cleanKey) return; const capability = normalizeInlineFormatCapability(inlineFormatCapabilities[key]); if (!capability) return; cloned[cleanKey] = capability; }); return Object.keys(cloned).length ? cloned : null; } function normalizeAttributeCapabilityValues(rawValues) { if (!Array.isArray(rawValues)) return null; const values = rawValues.filter(value => ( typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || value === null )); return values.length ? values : null; } function normalizeAttributeCapability(rawCapability) { if (!rawCapability || typeof rawCapability !== 'object' || Array.isArray(rawCapability)) { return null; } const normalized = {}; const attribute = typeof rawCapability.attribute === 'string' ? rawCapability.attribute.trim() : ''; const attributes = Array.isArray(rawCapability.attributes) ? rawCapability.attributes .map(value => (typeof value === 'string' ? value.trim() : '')) .filter(Boolean) : null; if (attribute) { normalized.attribute = attribute; } else if (attributes && attributes.length) { normalized.attributes = attributes; } else { return null; } const values = normalizeAttributeCapabilityValues(rawCapability.values); if (values) { normalized.values = values; } if ( Object.prototype.hasOwnProperty.call(rawCapability, 'unsetValue') && ( typeof rawCapability.unsetValue === 'string' || typeof rawCapability.unsetValue === 'number' || typeof rawCapability.unsetValue === 'boolean' || rawCapability.unsetValue === null ) ) { normalized.unsetValue = rawCapability.unsetValue; } return normalized; } function cloneAttributeCapabilities(attributeCapabilities) { if (!attributeCapabilities || typeof attributeCapabilities !== 'object' || Array.isArray(attributeCapabilities)) { return null; } const cloned = {}; Object.keys(attributeCapabilities).forEach((key) => { const cleanKey = typeof key === 'string' ? key.trim() : ''; if (!cleanKey) return; const capability = normalizeAttributeCapability(attributeCapabilities[key]); if (!capability) return; cloned[cleanKey] = { ...capability }; if (Array.isArray(capability.attributes)) { cloned[cleanKey].attributes = [ ...capability.attributes ]; } if (Array.isArray(capability.values)) { cloned[cleanKey].values = [ ...capability.values ]; } }); return Object.keys(cloned).length ? cloned : null; } function normalizeEditorOperationValues(rawValues) { if (!Array.isArray(rawValues)) return null; const values = rawValues.filter(value => ( typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || value === null )); return values.length ? values : null; } function normalizeEditorOperationStringArray(rawValues) { if (!Array.isArray(rawValues)) return null; const values = rawValues .map(value => (typeof value === 'string' ? value.trim() : '')) .filter(Boolean); return values.length ? values : null; } function normalizeEditorOperation(rawOperation) { if (!rawOperation || typeof rawOperation !== 'object' || Array.isArray(rawOperation)) { return null; } const id = typeof rawOperation.id === 'string' ? rawOperation.id.trim() : ''; const kind = typeof rawOperation.kind === 'string' ? rawOperation.kind.trim() : ''; const component = typeof rawOperation.component === 'string' ? rawOperation.component.trim() : ''; if (!id || !kind || !component) { return null; } const normalized = { id, kind, component }; const attribute = typeof rawOperation.attribute === 'string' ? rawOperation.attribute.trim() : ''; const format = typeof rawOperation.format === 'string' ? rawOperation.format.trim() : ''; const attributes = normalizeEditorOperationStringArray(rawOperation.attributes); const formats = normalizeEditorOperationStringArray(rawOperation.formats); const targetModes = normalizeEditorOperationStringArray(rawOperation.targetModes); const values = normalizeEditorOperationValues(rawOperation.values); if (attribute) { normalized.attribute = attribute; } if (attributes) { normalized.attributes = attributes; } if (format) { normalized.format = format; } if (formats) { normalized.formats = formats; } if (targetModes) { normalized.targetModes = targetModes; } if (values) { normalized.values = values; } if (Object.prototype.hasOwnProperty.call(rawOperation, 'unsetValue')) { normalized.unsetValue = rawOperation.unsetValue; } if (typeof rawOperation.preserveInlineFormatting === 'boolean') { normalized.preserveInlineFormatting = rawOperation.preserveInlineFormatting; } if (typeof rawOperation.preserveUnchangedText === 'boolean') { normalized.preserveUnchangedText = rawOperation.preserveUnchangedText; } if (typeof rawOperation.preserveUnspecifiedAttributes === 'boolean') { normalized.preserveUnspecifiedAttributes = rawOperation.preserveUnspecifiedAttributes; } if (typeof rawOperation.mergeRelTokens === 'boolean') { normalized.mergeRelTokens = rawOperation.mergeRelTokens; } return normalized; } function cloneEditorOperations(rawOperations) { if (!Array.isArray(rawOperations)) return null; const normalized = rawOperations .map(normalizeEditorOperation) .filter(Boolean); return normalized.length ? normalized : null; } /** * Resolve the concrete toolbar format config for one text component. * * @param {HTMLElement|null} element Active editable element. * @param {Object} runtimeOptions Normalized component editor options. * @returns {Array} Concrete toolbar format definitions. */ function resolveComponentFormats(element, runtimeOptions) { const toolbarManager = SFE.ToolbarManager || null; if (toolbarManager && typeof toolbarManager.resolveFormats === 'function') { return toolbarManager.resolveFormats(runtimeOptions, element); } return []; } /** * Execute one list indentation action for the active rich-text editor host. * * @param {Object|null} editor Active rich-text editor host. * @param {string} action Tab-mode action: `indent` or `outdent`. * @returns {void} */ function executeListTabAction(editor, action) { if (!editor || typeof editor.executeListStructureOperation !== 'function') { return; } const operationKind = action === 'indent' ? 'indent_list_item' : action === 'outdent' ? 'outdent_list_item' : ''; if (!operationKind) { return; } editor.executeListStructureOperation({ kind: operationKind, }); } /** * Place caret from click coordinates when available, otherwise at element end. */ function placeCaretInEditableElement(editableElement, clickEvent) { if (!editableElement) return; editableElement.focus(); setTimeout(() => { // Guard: element may have been detached from the document between the // time this setTimeout was scheduled and when it fires (e.g. during // rapid component switches or editor teardown). Calling addRange() on // a range whose boundary nodes are not in the document throws: // "addRange(): The given range isn't in document." if (!document.body.contains(editableElement)) return; const selection = window.getSelection(); const range = document.createRange(); const placeholderApi = SFE.RichTextPlaceholder || null; const placeholderCaret = ( placeholderApi && typeof placeholderApi.getCaretTarget === 'function' ) ? placeholderApi.getCaretTarget(editableElement) : null; if (placeholderCaret?.node) { // Guard placeholder node as well - it may reference a node inside // a ghost/placeholder element that was removed between ticks. if (!document.body.contains(placeholderCaret.node)) return; range.setStart(placeholderCaret.node, placeholderCaret.offset); range.collapse(true); selection.removeAllRanges(); selection.addRange(range); return; } if (clickEvent && clickEvent.clientX !== undefined && clickEvent.clientY !== undefined) { try { let clickRange = null; if (document.caretPositionFromPoint) { const pos = document.caretPositionFromPoint(clickEvent.clientX, clickEvent.clientY); if (pos) { clickRange = document.createRange(); clickRange.setStart(pos.offsetNode, pos.offset); clickRange.collapse(true); } } else if (document.caretRangeFromPoint) { clickRange = document.caretRangeFromPoint(clickEvent.clientX, clickEvent.clientY); } if (clickRange && editableElement.contains(clickRange.startContainer)) { selection.removeAllRanges(); selection.addRange(clickRange); return; } } catch (e) { /* ignore */ } } range.selectNodeContents(editableElement); range.collapse(false); selection.removeAllRanges(); selection.addRange(range); }, 0); } /** * Find the first selector match that belongs to this block root (not a nested block). */ function findScopedComponentElement(rootElement, selector) { if (!rootElement || !selector) return null; if (rootElement.matches(selector)) { const owner = rootElement.closest('[data-mwp-sfe-uuid]'); if (!owner || owner === rootElement) return rootElement; } const matches = rootElement.querySelectorAll(selector); for (const candidate of matches) { const owner = candidate.closest('[data-mwp-sfe-uuid]'); if (!owner || owner === rootElement) { return candidate; } } return null; } function getEditableComponentFromTarget(components, target) { if (!target) return null; const targetEl = target.nodeType === Node.ELEMENT_NODE ? target : target.parentElement; if (!targetEl) return null; const distanceToAncestor = (descendant, ancestor) => { let steps = 0; let node = descendant; while (node && node !== ancestor) { node = node.parentElement; steps++; } return node === ancestor ? steps : null; }; let bestComponent = null; let bestScore = Number.POSITIVE_INFINITY; components.forEach(component => { if (!component?.element) return; let score = null; // Exact target match has highest priority. if (component.element === targetEl) { score = 0; } else { // Prefer the closest containing component when multiple components overlap. const containsDistance = distanceToAncestor(targetEl, component.element); if (containsDistance !== null) { score = containsDistance; } else if (isFileComponent(component) && targetEl.contains(component.element)) { // Fallback for file components when clicking a wrapper around the media element. const wrapperDistance = distanceToAncestor(component.element, targetEl); if (wrapperDistance !== null) { score = 100 + wrapperDistance; } } } if (score !== null && score < bestScore) { bestScore = score; bestComponent = component; } }); return bestComponent; } function resolveInitialEditableComponent(components, clickEvent, preferredComponentId = '') { const normalizedPreferredComponentId = String(preferredComponentId || '').trim(); if (normalizedPreferredComponentId) { const preferredComponent = components.find(component => component?.id === normalizedPreferredComponentId); if (preferredComponent) { return preferredComponent; } } const fromClick = getEditableComponentFromTarget(components, clickEvent?.target || null); if (fromClick) return fromClick; return components.find(component => component.default) || components[0] || null; } function normalizeComponentEditorOptions(rawEditorOptions) { if (!rawEditorOptions || typeof rawEditorOptions !== 'object') { return {}; } const normalized = {}; if (typeof rawEditorOptions.enterMode === 'string') { const mode = rawEditorOptions.enterMode.trim().toLowerCase(); if (mode === 'auto' || mode === 'always' || mode === 'never' || mode === 'linebreak') { normalized.enterMode = mode; } } if (typeof rawEditorOptions.linkUIMode === 'string') { const mode = rawEditorOptions.linkUIMode.trim().toLowerCase(); if (mode === 'auto' || mode === 'manual') { normalized.linkUIMode = mode; } } if (rawEditorOptions.tabMode && typeof rawEditorOptions.tabMode === 'object') { const tabMode = {}; const tabAction = typeof rawEditorOptions.tabMode.tab === 'string' ? rawEditorOptions.tabMode.tab.trim() : ''; const shiftTabAction = typeof rawEditorOptions.tabMode.shiftTab === 'string' ? rawEditorOptions.tabMode.shiftTab.trim() : ''; const isValidTabAction = (action) => ( action === 'none' || action === 'indent' || action === 'outdent' || action === 'nextComponent' || action === 'previousComponent' ); if (isValidTabAction(tabAction)) { tabMode.tab = tabAction; } if (isValidTabAction(shiftTabAction)) { tabMode.shiftTab = shiftTabAction; } if (Object.keys(tabMode).length) { normalized.tabMode = tabMode; } } if (rawEditorOptions.options && typeof rawEditorOptions.options === 'object') { const options = {}; if (rawEditorOptions.options.preserveNewlines === true) { options.preserveNewlines = true; } if (rawEditorOptions.options.newlinesToBR === true) { options.newlinesToBR = true; } if (Object.keys(options).length) { normalized.options = options; } } if (rawEditorOptions.formatTargets && typeof rawEditorOptions.formatTargets === 'object') { const targets = {}; Object.keys(rawEditorOptions.formatTargets).forEach((key) => { const cleanKey = typeof key === 'string' ? key.trim() : ''; const value = rawEditorOptions.formatTargets[key]; const cleanValue = typeof value === 'string' ? value.trim() : ''; if (!cleanKey || !cleanValue) return; targets[cleanKey] = cleanValue; }); if (Object.keys(targets).length) { normalized.formatTargets = targets; } } const formatsSpec = normalizeEditorFormatsSpec(rawEditorOptions.formats); if (formatsSpec) { normalized.formats = formatsSpec; } const inlineFormatCapabilities = cloneInlineFormatCapabilities(rawEditorOptions.inlineFormatCapabilities); if (inlineFormatCapabilities) { normalized.inlineFormatCapabilities = inlineFormatCapabilities; } const attributeCapabilities = cloneAttributeCapabilities(rawEditorOptions.attributeCapabilities); if (attributeCapabilities) { normalized.attributeCapabilities = attributeCapabilities; } const operations = cloneEditorOperations(rawEditorOptions.operations); if (operations) { normalized.operations = operations; } return normalized; } function normalizeComponentPlaceholder(rawPlaceholder) { if (typeof rawPlaceholder !== 'string') { return ''; } return rawPlaceholder.trim(); } /** * Normalize the schema media descriptor attached to a file component. * * @param {object|null} component Editable component definition. * @param {string} id Normalized component id. * @param {string} selector Normalized component selector. * @param {object|null} target Normalized schema target definition. * @returns {object|null} Normalized schema media descriptor, or null when invalid. */ function normalizeSchemaMediaDescriptor(component, id, selector, target) { const MediaHelper = SFE.MediaHelper || null; const rawDescriptor = component?.mediaDescriptor && typeof component.mediaDescriptor === 'object' ? component.mediaDescriptor : null; const descriptor = rawDescriptor || { componentId: id, scopeSelector: selector, targetSelector: target?.selector || '', attribute: target?.attribute || '', mediaType: target?.mediaType || '', }; if (!MediaHelper?.isSchemaMediaDescriptor?.(descriptor)) { return null; } return { componentId: typeof descriptor.componentId === 'string' && descriptor.componentId.trim() ? descriptor.componentId.trim() : id, scopeSelector: typeof descriptor.scopeSelector === 'string' && descriptor.scopeSelector.trim() ? descriptor.scopeSelector.trim() : selector, targetSelector: descriptor.targetSelector.trim(), attribute: descriptor.attribute.trim().toLowerCase(), mediaType: descriptor.mediaType.trim().toLowerCase(), }; } /** * Collect normalized editable schema components for the active block root. * * @param {HTMLElement} rootElement Active block root element. * @param {object} handler Active schema-backed handler. * @returns {Array} Normalized editable component definitions. */ function collectEditableComponents(rootElement, handler) { const ElementPrep = SFE.ElementPrep; const configured = handler?.client_config?.editableComponents; if (!Array.isArray(configured) || !configured.length) return []; const normalized = []; const seenIds = new Set(); configured.forEach((component, index) => { if (!component || typeof component !== 'object') return; const selector = typeof component.selector === 'string' ? component.selector.trim() : ''; if (!selector) return; const componentType = ( typeof component.type === 'string' && component.type.trim().toLowerCase() === 'file' ) ? 'file' : 'text'; const attribute = typeof component.attribute === 'string' ? component.attribute.trim() : ''; if (componentType !== 'file' && !attribute) return; const providedElement = component.element && component.element.nodeType === Node.ELEMENT_NODE ? component.element : null; const element = ( providedElement && (rootElement === providedElement || rootElement.contains(providedElement)) ) ? providedElement : findScopedComponentElement(rootElement, selector); if (!element) return; const idRaw = typeof component.id === 'string' ? component.id.trim() : ''; const id = idRaw || `component_${index + 1}`; if (seenIds.has(id)) return; seenIds.add(id); const normalizedComponent = { id, label: typeof component.label === 'string' && component.label.trim() ? component.label.trim() : id, selector, type: componentType, default: !!component.default, element, // Keep a lossless snapshot for emergency cancel restore fallback paths. originalRestoreOuterHTML: element.outerHTML, originalHTML: ElementPrep.getCleanHTML(element), originalOuterHTML: ElementPrep.getCleanHTML(element, true), editorOptions: normalizeComponentEditorOptions(component.editor), placeholder: normalizeComponentPlaceholder(component.placeholder), isGhost: !!component.isGhost || element.getAttribute('data-mwp-sfe-ghost') === '1', }; if (component.missingUI && typeof component.missingUI === 'object') { normalizedComponent.missingUI = component.missingUI; } if (componentType === 'file') { const target = component.target && typeof component.target === 'object' ? component.target : null; const targetSelector = typeof target?.selector === 'string' ? target.selector.trim() : ''; const targetAttribute = typeof target?.attribute === 'string' ? target.attribute.trim().toLowerCase() : ''; const mediaType = typeof target?.mediaType === 'string' ? target.mediaType.trim().toLowerCase() : ''; if (!targetSelector || !targetAttribute || !mediaType) return; normalizedComponent.target = { selector: targetSelector, attribute: targetAttribute, mediaType, }; normalizedComponent.mediaDescriptor = normalizeSchemaMediaDescriptor( component, id, selector, normalizedComponent.target ); if (!normalizedComponent.mediaDescriptor) return; normalizedComponent.urlBindingPath = typeof component.urlBindingPath === 'string' ? component.urlBindingPath.trim() : ''; normalizedComponent.idBindingPath = typeof component.idBindingPath === 'string' ? component.idBindingPath.trim() : ''; } else { normalizedComponent.attribute = attribute; } normalized.push(normalizedComponent); }); if (normalized.length && !normalized.some(component => component.default)) { normalized[0].default = true; } return normalized; } function stripEditableComponentState(component, editorState) { if (!component?.element) return; const elementPrep = SFE.ElementPrep || null; component.element.classList.remove( 'mwp-sfe-inline-editor', 'mwp-sfe-component-active', 'mwp-sfe-editable-component', 'mwp-sfe-editor-content' ); if (elementPrep && typeof elementPrep.pruneEmptyClassAttribute === 'function') { elementPrep.pruneEmptyClassAttribute(component.element); } component.element.removeAttribute('data-mwp-sfe-editable-component'); component.element.removeAttribute('data-mwp-sfe-active-component'); if (component.element._mwpEditor === editorState?.mwpEditor) { delete component.element._mwpEditor; } if (editorState?._mwpActiveComponentType !== 'text' || component.id !== editorState?.activeComponentId) { component.element.removeAttribute('contenteditable'); component.element.removeAttribute('spellcheck'); } } function applyEditableComponentState(component) { if (!component?.element) return; component.element.classList.add('mwp-sfe-editable-component'); component.element.dataset.mwpSfeEditableComponent = component.id; } function buildComponentEditorRuntimeOptions(editorState, component) { const runtimeOptions = { enterMode: 'auto', linkUIMode: 'auto', formatTargets: {}, }; if (editorState?.element) { runtimeOptions.blockRootElement = editorState.element; } const editorOptions = component?.editorOptions; if (!editorOptions || typeof editorOptions !== 'object') { return runtimeOptions; } if (typeof editorOptions.enterMode === 'string') { runtimeOptions.enterMode = editorOptions.enterMode; } if (typeof editorOptions.linkUIMode === 'string') { runtimeOptions.linkUIMode = editorOptions.linkUIMode; } if (editorOptions.formatTargets && typeof editorOptions.formatTargets === 'object') { runtimeOptions.formatTargets = { ...editorOptions.formatTargets }; } if (Array.isArray(editorOptions.formats)) { runtimeOptions.formats = cloneEditorFormatsSpec(editorOptions.formats); } if (editorOptions.inlineFormatCapabilities && typeof editorOptions.inlineFormatCapabilities === 'object') { const inlineFormatCapabilities = cloneInlineFormatCapabilities(editorOptions.inlineFormatCapabilities); if (inlineFormatCapabilities) { runtimeOptions.inlineFormatCapabilities = inlineFormatCapabilities; } } if (editorOptions.attributeCapabilities && typeof editorOptions.attributeCapabilities === 'object') { const attributeCapabilities = cloneAttributeCapabilities(editorOptions.attributeCapabilities); if (attributeCapabilities) { runtimeOptions.attributeCapabilities = attributeCapabilities; } } if (Array.isArray(editorOptions.operations)) { const operations = cloneEditorOperations(editorOptions.operations); if (operations) { runtimeOptions.operations = operations; } } if (editorOptions.options && typeof editorOptions.options === 'object') { runtimeOptions.options = { ...editorOptions.options }; } if (typeof component?.placeholder === 'string' && component.placeholder.trim()) { runtimeOptions.placeholder = component.placeholder.trim(); } if (typeof component?.id === 'string' && component.id.trim()) { runtimeOptions.componentId = component.id.trim(); } if (component?.missingUI && typeof component.missingUI === 'object') { runtimeOptions.missingUI = component.missingUI; } return runtimeOptions; } function isFileComponent(component) { return component?.type === 'file'; } function bindInlineEditButtons(editorState) { const actionsContainer = editorState?.actionsContainer; if (!actionsContainer) return; if (actionsContainer._saveBtn) { actionsContainer._saveBtn.addEventListener('click', e => { e.preventDefault(); e.stopImmediatePropagation(); SFE.handleInlineSave(editorState); }); } if (actionsContainer._cancelBtn) { actionsContainer._cancelBtn.addEventListener('click', e => { e.preventDefault(); e.stopImmediatePropagation(); SFE.closeInPlaceEditor(editorState, true); }); } } function restoreInlineEditButtons(editorState) { const ctx = SFE.Context; const actionBar = ctx?.actionBar; const buttonManager = ctx?.buttonManager; const actionsContainer = editorState?.actionsContainer; if (!actionBar || !buttonManager || !actionsContainer) return; actionBar.updateState({ bar: actionsContainer, element: editorState.element, state: 'edit', content: buttonManager.getEditButtons(), }); bindInlineEditButtons(editorState); } function cleanupSchemaMediaSession(editorState, options = {}) { if (!editorState) return; const session = editorState._mwpSchemaMediaSession; if (session && typeof session.cleanup === 'function') { session.cleanup(options); } editorState.activeSchemaHost = null; delete editorState._mwpSchemaMediaSession; } /** * Resolve the current primary rich-text host for one active editor state. * * @param {Object|null} editorState Active editor state. * @returns {Object|null} Current text editor host, or null. */ function resolveCurrentTextEditorHost(editorState) { return SFE.SchemaEditorHost?.resolveTextEditorHost?.(editorState) || null; } function setupSharedEditorLifecycle(editorState) { const { debouncedPosition } = SFE.PositionManager; const actionsContainer = editorState?.actionsContainer || null; const element = editorState?.element || null; if (!editorState || !element || !actionsContainer) { return; } actionsContainer.classList.add('mwp-sfe-inline-editor'); if (!editorState._mwpInlineButtonsBound) { bindInlineEditButtons(editorState); editorState._mwpInlineButtonsBound = true; } if (!editorState.cleanupFocus) { editorState.cleanupFocus = () => {}; } if (!editorState.updatePositions) { const updatePositions = () => debouncedPosition( editorState.element || null, editorState.toolbarContainer || null, editorState.actionsContainer || null ); window.addEventListener('scroll', updatePositions, true); editorState.updatePositions = updatePositions; } if ( !editorState.resizeObserver || editorState._mwpObservedEditorElement !== element ) { if (editorState.resizeObserver) { editorState.resizeObserver.disconnect(); } const resizeObserver = new ResizeObserver(editorState.updatePositions); resizeObserver.observe(element); editorState.resizeObserver = resizeObserver; editorState._mwpObservedEditorElement = element; } if (!editorState.escapeHandler) { const escapeHandler = (e) => { if (e.key === 'Escape') { e.preventDefault(); const textEditorHost = resolveCurrentTextEditorHost(editorState); const mediaSession = editorState._mwpSchemaMediaSession; if ( editorState._mwpActiveComponentType === 'file' && mediaSession && typeof mediaSession.handleEscape === 'function' && mediaSession.handleEscape() ) { return; } if (textEditorHost && textEditorHost._linkUIActive && typeof textEditorHost.closeLinkUI === 'function') { textEditorHost.closeLinkUI(); } else { SFE.closeInPlaceEditor(editorState, true); } } }; document.addEventListener('keydown', escapeHandler); editorState.escapeHandler = escapeHandler; } } function showToolbar(toolbar) { if (!toolbar) return; if (toolbar._mwpSwitchHideTimeout) { clearTimeout(toolbar._mwpSwitchHideTimeout); delete toolbar._mwpSwitchHideTimeout; } toolbar.classList.remove('mwp-sfe-closing'); toolbar.style.display = ''; } function teardownEditableComponentSwitching(editorState) { if (!editorState) return; const switchTarget = editorState._mwpComponentSwitchTarget || editorState.element || null; if (!switchTarget) return; if (editorState.componentSwitchHandler) { switchTarget.removeEventListener('mousedown', editorState.componentSwitchHandler, true); delete editorState.componentSwitchHandler; } if (editorState.componentClickGuard) { switchTarget.removeEventListener('click', editorState.componentClickGuard, true); delete editorState.componentClickGuard; } if (editorState.componentTabHandler) { switchTarget.removeEventListener('keydown', editorState.componentTabHandler, true); delete editorState.componentTabHandler; } delete editorState._mwpComponentSwitchTarget; } function activateEditableComponent(editorState, targetComponent, clickEvent, options = {}) { const overlayManager = SFE.OverlayManager; if (!editorState || !targetComponent || !targetComponent.element) return; if (!editorState.actionsContainer) return; const shouldPlaceCaret = options?.placeCaret !== false; const previousComponent = editorState.activeEditableComponent || null; const targetIsFile = isFileComponent(targetComponent); if (previousComponent && previousComponent.id === targetComponent.id) { if (!targetIsFile && shouldPlaceCaret) { placeCaretInEditableElement(targetComponent.element, clickEvent); } return; } if (previousComponent && previousComponent.element) { const textEditorHost = resolveCurrentTextEditorHost(editorState); previousComponent.element.classList.remove('mwp-sfe-component-active', 'mwp-sfe-inline-editor', 'mwp-sfe-editor-content'); previousComponent.element.removeAttribute('contenteditable'); previousComponent.element.removeAttribute('spellcheck'); previousComponent.element.removeAttribute('data-mwp-sfe-active-component'); if (previousComponent.element._mwpEditor === textEditorHost) { delete previousComponent.element._mwpEditor; } } cleanupSchemaMediaSession(editorState, { preserveChanges: true }); if (targetIsFile) { const textEditorHost = resolveCurrentTextEditorHost(editorState); editorState.activeSchemaHost = null; if (textEditorHost && textEditorHost._linkUIActive && typeof textEditorHost.closeLinkUI === 'function') { textEditorHost.closeLinkUI(); } if (textEditorHost?.toolbarManager && typeof textEditorHost.toolbarManager.destroy === 'function') { textEditorHost.toolbarManager.destroy(); } targetComponent.element.classList.add('mwp-sfe-component-active'); targetComponent.element.dataset.mwpSfeActiveComponent = targetComponent.id; editorState.activeEditableComponent = targetComponent; editorState.activeComponentId = targetComponent.id; editorState._mwpActiveComponentType = 'file'; if (overlayManager) { overlayManager.updateActiveElement(targetComponent.element); } const mediaEditor = SFE.MediaEditor; if (mediaEditor && typeof mediaEditor.startSchemaComponentEditing === 'function') { editorState._mwpSchemaMediaSession = mediaEditor.startSchemaComponentEditing(editorState, targetComponent, { onCancel: () => SFE.closeInPlaceEditor(editorState, true), }); } else { editorState._mwpActiveComponentType = 'text'; if (editorState.toolbarContainer) { showToolbar(editorState.toolbarContainer); } restoreInlineEditButtons(editorState); } if (previousComponent && previousComponent.id !== targetComponent.id && SFE.PublicApiBridge) { SFE.PublicApiBridge.emitEditorEvent('editor:componentChanged', editorState, { source: 'sfe', }); } return; } if (editorState._mwpActiveComponentType === 'file') { restoreInlineEditButtons(editorState); } setupSharedTextEditing(editorState, targetComponent.element, clickEvent, targetComponent, { placeCaret: shouldPlaceCaret, }); const textEditorHost = resolveCurrentTextEditorHost(editorState); if (!textEditorHost) return; targetComponent.element._mwpEditor = textEditorHost; targetComponent.element.classList.add('mwp-sfe-inline-editor', 'mwp-sfe-component-active'); targetComponent.element.dataset.mwpSfeActiveComponent = targetComponent.id; editorState.activeEditableComponent = targetComponent; editorState.activeComponentId = targetComponent.id; editorState._mwpActiveComponentType = 'text'; if (overlayManager) { overlayManager.updateActiveElement(targetComponent.element); } if (previousComponent && previousComponent.id !== targetComponent.id && SFE.PublicApiBridge) { SFE.PublicApiBridge.emitEditorEvent('editor:componentChanged', editorState, { source: 'sfe', }); } } /** * Activate one editable component by its public component identifier. * * @param {Object|null} editorState Active editor state. * @param {string} componentId Target component identifier. * @returns {boolean} Whether activation succeeded. */ function activateEditableComponentById(editorState, componentId) { if (!editorState || !Array.isArray(editorState.editableComponents)) { return false; } const normalizedComponentId = String(componentId || '').trim(); if (!normalizedComponentId) { return false; } const targetComponent = editorState.editableComponents.find(component => component?.id === normalizedComponentId) || null; if (!targetComponent) { return false; } activateEditableComponent(editorState, targetComponent, null); return true; } /** * Clone one plain object used for tracked block attribute changes. * * @param {Object|null} attributeChanges Source attribute map. * @returns {Object} Cloned plain attribute map. */ function cloneAttributeChanges(attributeChanges) { return attributeChanges && typeof attributeChanges === 'object' ? { ...attributeChanges } : {}; } /** * Replace the shared tracked block attribute map in place. * * @param {Object} editorState Active editor state. * @param {Object|null} nextChanges Plain attribute-change map. * @returns {void} */ function replaceAttributeChanges(editorState, nextChanges) { if (!editorState) { return; } const target = ( editorState.attributeChanges && typeof editorState.attributeChanges === 'object' && !Array.isArray(editorState.attributeChanges) ) ? editorState.attributeChanges : (editorState.attributeChanges = {}); Object.keys(target).forEach((key) => { delete target[key]; }); if (nextChanges && typeof nextChanges === 'object' && !Array.isArray(nextChanges)) { Object.keys(nextChanges).forEach((key) => { target[key] = nextChanges[key]; }); } if (editorState.mwpEditor && typeof editorState.mwpEditor === 'object') { editorState.mwpEditor.attributeChanges = target; } } /** * Capture one block-scoped session snapshot from the live editor DOM. * * @param {Object} editorState Active editor state. * @returns {Object|null} Block snapshot or null. */ function captureBlockSessionSnapshot(editorState) { const ElementPrep = SFE.ElementPrep || null; if (!editorState?.element) { return null; } const rootOuterHTML = ( ElementPrep && typeof ElementPrep.getCleanHTML === 'function' ) ? ElementPrep.getCleanHTML(editorState.element, true) : editorState.element.outerHTML; return { rootOuterHTML, activeComponentId: String( editorState.activeComponentId || editorState.activeEditableComponent?.id || '' ).trim(), activeComponentType: String(editorState._mwpActiveComponentType || '').trim() || 'text', attributeChanges: cloneAttributeChanges(editorState.attributeChanges), rootMediaChanges: cloneAttributeChanges(editorState.element?._mwpMediaChanges || null), }; } /** * Capture the current active text selection for one block session snapshot. * * @param {Object} editorState Active editor state. * @returns {*} Saved selection snapshot or null. */ function captureBlockSessionSelection(editorState) { const mwpEditor = editorState?.mwpEditor || null; if ( editorState?._mwpActiveComponentType !== 'text' || !mwpEditor || typeof mwpEditor.isSelectionInEditor !== 'function' || typeof mwpEditor.saveCursorPosition !== 'function' || !mwpEditor.isSelectionInEditor() ) { return null; } const selection = mwpEditor.saveCursorPosition(); if (!selection || typeof selection !== 'object') { return selection || null; } // Block-session history is JSON-cloned, so strip any live DOM references // from the shared selection snapshot here instead of changing MWPEditor's // native cursor snapshot shape used by live list keyboard flows. const sanitizedSelection = { ...selection }; delete sanitizedSelection.listItem; delete sanitizedSelection.container; return sanitizedSelection; } /** * Resolve the session-owned history API for the active text scope. * * @param {Object} editorState Active editor state. * @returns {Object|null} Session history API, or null when unavailable. */ function getTextSessionHistoryApi(editorState) { if (typeof editorState?.getSessionHistoryApi === 'function') { return editorState.getSessionHistoryApi('text'); } const blockEditSession = editorState?.blockEditSession || null; if (!blockEditSession || typeof blockEditSession.getHistoryApi !== 'function') { return null; } return blockEditSession.getHistoryApi('text'); } /** * Seed the text session's initial entry with the current live block-attribute * state once the active component is fully registered. * * @param {Object} editorState Active editor state. * @param {Object} mwpEditor Active rich-text editor instance. * @returns {void} */ function syncInitialTextHistoryBaseline(editorState, mwpEditor) { const historyApi = getTextSessionHistoryApi(editorState); if ( !mwpEditor || !historyApi || typeof historyApi.canReplaceInitialHistoryEntry !== 'function' || !historyApi.canReplaceInitialHistoryEntry() ) { return; } const executor = SFE.SchemaOperationExecutor || null; const operations = Array.isArray(mwpEditor.options?.operations) ? mwpEditor.options.operations : []; if (!executor || !operations.length) { return; } let didChange = false; operations.forEach((operation) => { if (String(operation?.kind || '').trim() !== 'block_attribute_change') { return; } const attributePath = String(operation?.attribute || '').trim(); if (!attributePath) { return; } let trackedValue; if (attributePath === 'level') { const currentLevel = mwpEditor.getHeadingLevelState?.(); trackedValue = Number.isInteger(currentLevel) ? currentLevel : undefined; } else if (attributePath === 'align') { trackedValue = typeof executor.normalizeBlockAttributeTrackedValue === 'function' ? executor.normalizeBlockAttributeTrackedValue(operation, mwpEditor.getBlockAlignState?.()) : mwpEditor.getBlockAlignState?.(); } else if ( typeof executor.getTextAlignmentCapability === 'function' && executor.getTextAlignmentCapability(mwpEditor, operation) ) { const textAlignmentCapability = executor.getTextAlignmentCapability(mwpEditor, operation); trackedValue = typeof executor.normalizeBlockAttributeTrackedValue === 'function' ? executor.normalizeBlockAttributeTrackedValue(textAlignmentCapability, mwpEditor.getTextAlignmentState?.()) : mwpEditor.getTextAlignmentState?.(); } else { return; } if ( Object.prototype.hasOwnProperty.call(mwpEditor.attributeChanges, attributePath) && mwpEditor.attributeChanges[attributePath] === trackedValue ) { return; } mwpEditor.attributeChanges[attributePath] = trackedValue; didChange = true; }); if (!didChange) { return; } historyApi.replaceInitialHistoryEntry?.(); mwpEditor.updateUndoRedoButtons?.(); } /** * Run the shared pre-restore cleanup required before one block snapshot swap. * * @param {Object} editorState Active editor state. * @returns {void} */ function prepareTextBlockSnapshotRestore(editorState) { cleanupSchemaMediaSession(editorState, { preserveChanges: true, preserveToolbarDom: true, }); teardownEditableComponentSwitching(editorState); const textEditorHost = resolveCurrentTextEditorHost(editorState); if ( textEditorHost && typeof textEditorHost.closeLinkUI === 'function' && textEditorHost._linkUIActive ) { textEditorHost.closeLinkUI(); } } /** * Rebuild runtime state immediately after the block root has been swapped. * * @param {Object} editorState Active editor state. * @param {Object} snapshot Restored block snapshot. * @param {Object|null} schemaRuntime Optional schema runtime module. * @returns {void} */ function syncTextBlockSnapshotAfterRootReplace(editorState, snapshot, schemaRuntime = null) { // History snapshots intentionally store clean block markup without managed // missingUI ghost shells. Re-materialize schema placeholders/ghost // components before rebuilding the editable component list so empty // optional components stay addressable after undo/redo restores. if (schemaRuntime && typeof schemaRuntime.refreshEditorState === 'function') { schemaRuntime.refreshEditorState(editorState, { blockState: editorState.blockState || null, attributeChanges: snapshot?.attributeChanges || {}, }); } refreshEditableComponents(editorState); replaceAttributeChanges(editorState, snapshot?.attributeChanges || {}); if (snapshot?.rootMediaChanges && typeof snapshot.rootMediaChanges === 'object') { editorState.element._mwpMediaChanges = { ...snapshot.rootMediaChanges }; } else { delete editorState.element._mwpMediaChanges; } } /** * Resolve which editable component should be reactivated after restore. * * @param {Object} editorState Active editor state. * @param {Object} snapshot Restored block snapshot. * @returns {Object|false} Activation context or false on failure. */ function resolveTextBlockSnapshotActivation(editorState, snapshot) { const targetComponentId = String(snapshot?.activeComponentId || '').trim(); const targetComponent = ( targetComponentId && Array.isArray(editorState.editableComponents) ) ? editorState.editableComponents.find(component => component?.id === targetComponentId) || null : null; const fallbackComponent = targetComponent || editorState.editableComponents?.find(component => component?.default) || editorState.editableComponents?.[0] || null; if (!fallbackComponent || !fallbackComponent.element) { return false; } return { component: fallbackComponent, activeElement: fallbackComponent.element, }; } /** * Reactivate the restored editable component without applying default caret placement. * * @param {Object} editorState Active editor state. * @param {Object} snapshot Restored block snapshot. * @param {Object} activation Resolved activation context. * @returns {Object|false} Activation result or false on failure. */ function activateTextBlockSnapshot(editorState, snapshot, activation) { const fallbackComponent = activation?.component || null; if (!fallbackComponent?.element) { return false; } if (snapshot?.activeComponentType === 'file') { const textEditorHost = resolveCurrentTextEditorHost(editorState); if ( textEditorHost?.toolbarManager && typeof textEditorHost.toolbarManager.destroy === 'function' ) { textEditorHost.toolbarManager.destroy(); } if (snapshot?.rootMediaChanges && typeof snapshot.rootMediaChanges === 'object') { fallbackComponent.element._mwpMediaChanges = { ...snapshot.rootMediaChanges }; } else if (fallbackComponent.element?._mwpMediaChanges) { delete fallbackComponent.element._mwpMediaChanges; } } editorState.activeEditableComponent = null; editorState.activeComponentId = ''; editorState._mwpActiveComponentType = ''; activateEditableComponent(editorState, fallbackComponent, null, { placeCaret: false, }); return { activeElement: fallbackComponent.element, }; } /** * Restore one text selection after the target component has been reactivated. * * @param {Object} editorState Active editor state. * @param {*} selection Saved text selection snapshot. * @returns {void} */ function restoreTextBlockSnapshotSelection(editorState, selection) { const textEditorHost = resolveCurrentTextEditorHost(editorState); if ( selection && editorState._mwpActiveComponentType === 'text' && textEditorHost && typeof textEditorHost.restoreCursorPosition === 'function' ) { textEditorHost.restoreCursorPosition(selection); } } /** * Recreate any post-activation runtime sessions and shared editor wiring. * * @param {Object} editorState Active editor state. * @param {Object} snapshot Restored block snapshot. * @param {Object} activation Resolved activation context. * @param {Object|null} mediaEditor Optional media editor module. * @returns {void} */ function finalizeTextBlockSnapshotActivation(editorState, snapshot, activation, mediaEditor = null) { const fallbackComponent = activation?.component || null; if ( snapshot?.activeComponentType === 'file' && mediaEditor && typeof mediaEditor.startSchemaComponentEditing === 'function' && !editorState._mwpSchemaMediaSession && fallbackComponent ) { editorState._mwpSchemaMediaSession = mediaEditor.startSchemaComponentEditing(editorState, fallbackComponent, { onCancel: () => SFE.closeInPlaceEditor(editorState, true), }); } setupSharedEditorLifecycle(editorState); setupEditableComponentSwitching(editorState); } /** * Run any deferred layout work required after finalizing one restored block. * * @param {Object} editorState Active editor state. * @param {Object} snapshot Restored block snapshot. * @returns {void} */ function finalizeTextBlockSnapshotLayout(editorState, snapshot) { if (snapshot?.activeComponentType === 'file') { requestAnimationFrame(() => { requestAnimationFrame(() => { editorState.updatePositions?.(); }); }); } } /** * Build the text-specific restore adapter consumed by the shared block * session restore pipeline. * * @param {Object} editorState Active editor state. * @param {Object} snapshot Session snapshot to restore. * @param {*} selection Optional text selection snapshot. * @returns {Object} Restore configuration for BlockEditSession. */ function buildTextBlockSessionRestoreConfig(editorState, snapshot, selection = null) { const mediaEditor = SFE.MediaEditor || null; const schemaRuntime = SFE.SchemaRuntime || null; return { editorState, snapshot, selection, beforeRestore: ({ editorState: activeEditorState }) => { prepareTextBlockSnapshotRestore(activeEditorState); }, afterRootReplace: ({ editorState: activeEditorState, snapshot: activeSnapshot }) => { syncTextBlockSnapshotAfterRootReplace(activeEditorState, activeSnapshot, schemaRuntime); }, resolveActivation: ({ editorState: activeEditorState, snapshot: activeSnapshot }) => { return resolveTextBlockSnapshotActivation(activeEditorState, activeSnapshot); }, activate: ({ editorState: activeEditorState, snapshot: activeSnapshot, activation }) => { return activateTextBlockSnapshot(activeEditorState, activeSnapshot, activation); }, restoreSelection: ({ editorState: activeEditorState, selection: selectionToRestore }) => { restoreTextBlockSnapshotSelection(activeEditorState, selectionToRestore); }, afterActivate: ({ editorState: activeEditorState, snapshot: activeSnapshot, activation }) => { finalizeTextBlockSnapshotActivation(activeEditorState, activeSnapshot, activation, mediaEditor); }, afterFinalize: ({ editorState: activeEditorState, snapshot: activeSnapshot }) => { finalizeTextBlockSnapshotLayout(activeEditorState, activeSnapshot); }, }; } /** * Restore one full block-scoped session snapshot into the live editor. * * @param {Object} editorState Active editor state. * @param {Object} snapshot Session snapshot to restore. * @param {*} selection Optional text selection snapshot. * @returns {boolean} Whether restore succeeded. */ function restoreBlockSessionSnapshot(editorState, snapshot, selection = null) { const blockEditSession = editorState?.blockEditSession || null; if ( !editorState?.element || !blockEditSession || typeof blockEditSession.restoreManagedBlockSnapshot !== 'function' ) { return false; } return blockEditSession.restoreManagedBlockSnapshot( buildTextBlockSessionRestoreConfig(editorState, snapshot, selection) ); } /** * Build the text snapshot-host registration descriptor for one active block * edit session. * * @param {Object} editorState Active editor state. * @returns {Object} Snapshot-host registration config. */ function buildTextHistorySnapshotHostConfig(editorState) { return { editorState, scopeId: 'text', attachHistoryApi: true, seedInitialHistory: true, captureSnapshot: ({ editorState: activeEditorState }) => captureBlockSessionSnapshot(activeEditorState), captureSelection: ({ editorState: activeEditorState }) => captureBlockSessionSelection(activeEditorState), restoreSnapshot: ({ editorState: activeEditorState, snapshot, selectionToRestore }) => { restoreBlockSessionSnapshot(activeEditorState, snapshot, selectionToRestore || null); }, }; } /** * Register the active rich-text editor as the block session history host. * * @param {Object} editorState Active editor state. * @param {Object} mwpEditor Active rich-text editor instance. * @returns {void} */ function registerTextHistorySessionHost(editorState, mwpEditor) { const blockEditSession = editorState?.blockEditSession || null; if (!blockEditSession || typeof blockEditSession.registerSnapshotHost !== 'function' || !mwpEditor) { return; } blockEditSession.registerSnapshotHost( mwpEditor, buildTextHistorySnapshotHostConfig(editorState) ); } function cycleEditableComponent(editorState, direction = 1) { if (!editorState || !Array.isArray(editorState.editableComponents)) return false; const components = editorState.editableComponents.filter(component => component?.element); if (components.length < 2) return false; const activeId = editorState.activeComponentId; let currentIndex = components.findIndex(component => component.id === activeId); if (currentIndex < 0) currentIndex = 0; const step = direction < 0 ? -1 : 1; const nextIndex = (currentIndex + step + components.length) % components.length; const nextComponent = components[nextIndex]; if (!nextComponent || nextComponent.id === activeId) return false; activateEditableComponent(editorState, nextComponent, null); editorState._suppressNextComponentClick = true; return true; } function refreshEditableComponents(editorState) { if (!editorState?.element || !editorState?.handler) return false; if (!Array.isArray(editorState.editableComponents)) return false; const previousComponents = editorState.editableComponents; const nextComponents = collectEditableComponents(editorState.element, editorState.handler); previousComponents.forEach(component => { if (!component?.id || !component.element) return; const stillPresent = nextComponents.some(nextComponent => ( nextComponent?.id === component.id && nextComponent.element === component.element )); if (stillPresent) return; stripEditableComponentState(component, editorState); }); nextComponents.forEach(component => applyEditableComponentState(component)); editorState.editableComponents = nextComponents; if (!nextComponents.length) { editorState.activeEditableComponent = null; editorState.activeComponentId = ''; return false; } const activeId = editorState.activeComponentId || editorState.activeEditableComponent?.id || ''; const nextActive = activeId ? nextComponents.find(component => component.id === activeId) || null : null; if (nextActive) { editorState.activeEditableComponent = nextActive; editorState.activeComponentId = nextActive.id; if (editorState._mwpActiveComponentType === 'text') { nextActive.element._mwpEditor = editorState.mwpEditor; nextActive.element.classList.add('mwp-sfe-inline-editor', 'mwp-sfe-component-active'); nextActive.element.dataset.mwpSfeActiveComponent = nextActive.id; nextActive.element.setAttribute('contenteditable', 'true'); nextActive.element.setAttribute('spellcheck', 'true'); } else if (editorState._mwpActiveComponentType === 'file') { nextActive.element.classList.add('mwp-sfe-component-active'); nextActive.element.dataset.mwpSfeActiveComponent = nextActive.id; } return true; } const fallbackComponent = nextComponents.find(component => component.default) || nextComponents[0] || null; if (!fallbackComponent) { editorState.activeEditableComponent = null; editorState.activeComponentId = ''; return false; } activateEditableComponent(editorState, fallbackComponent, null); return true; } function setupEditableComponentSwitching(editorState) { if (!editorState || !Array.isArray(editorState.editableComponents) || !editorState.editableComponents.length) { return; } const switchTarget = editorState.element; if (!switchTarget) return; teardownEditableComponentSwitching(editorState); const getTabModeAction = (component, shiftKey) => { const tabMode = component?.editorOptions?.tabMode; if (!tabMode || typeof tabMode !== 'object') return ''; const action = shiftKey ? tabMode.shiftTab : tabMode.tab; return typeof action === 'string' ? action : ''; }; const switchHandler = (event) => { const targetComponent = getEditableComponentFromTarget(editorState.editableComponents, event.target); if (!targetComponent) { return; } if (targetComponent.id === editorState.activeComponentId) { if (isFileComponent(targetComponent)) { event.preventDefault(); event.stopPropagation(); } return; } event.preventDefault(); event.stopPropagation(); activateEditableComponent(editorState, targetComponent, event); editorState._suppressNextComponentClick = true; }; const clickGuard = (event) => { if (editorState._suppressNextComponentClick) { editorState._suppressNextComponentClick = false; event.preventDefault(); event.stopPropagation(); return; } const targetComponent = getEditableComponentFromTarget(editorState.editableComponents, event.target); if (!targetComponent) { return; } if (isFileComponent(targetComponent) || targetComponent.id !== editorState.activeComponentId) { event.preventDefault(); event.stopPropagation(); } }; const tabHandler = (event) => { if (event.key !== 'Tab') return; if (event.ctrlKey || event.metaKey || event.altKey) return; if (!editorState.actionsContainer || !document.body.contains(editorState.actionsContainer)) { teardownEditableComponentSwitching(editorState); return; } const activeComponent = editorState.activeEditableComponent; if (!activeComponent) return; const tabAction = getTabModeAction(activeComponent, event.shiftKey); if (!tabAction) return; if (tabAction === 'nextComponent' || tabAction === 'previousComponent') { if (cycleEditableComponent(editorState, tabAction === 'previousComponent' ? -1 : 1)) { event.preventDefault(); event.stopPropagation(); } return; } if (tabAction === 'indent' || tabAction === 'outdent') { event.preventDefault(); event.stopPropagation(); const editor = editorState.mwpEditor; const inList = !!(editor && typeof editor.getParentList === 'function' && editor.getParentList()); if (inList) { executeListTabAction(editor, tabAction); } return; } if (tabAction === 'none') { event.preventDefault(); event.stopPropagation(); } }; switchTarget.addEventListener('mousedown', switchHandler, true); switchTarget.addEventListener('click', clickGuard, true); switchTarget.addEventListener('keydown', tabHandler, true); editorState._mwpComponentSwitchTarget = switchTarget; editorState.componentSwitchHandler = switchHandler; editorState.componentClickGuard = clickGuard; editorState.componentTabHandler = tabHandler; } /** * Shared setup for text-based editing */ function setupSharedTextEditing(editorState, editableElement, clickEvent, activeComponent = null, options = {}) { const { positionFloatingElements } = SFE.PositionManager; const { element, handler, actionsContainer } = editorState; if (!actionsContainer) return editorState; const resolvedActiveComponent = activeComponent || editorState.activeEditableComponent || null; const shouldPlaceCaret = options?.placeCaret !== false; // Multi-component sessions need the intended active component registered // before the block session seeds its initial history baseline. Otherwise // undo-to-zero can reactivate the first/default component instead of the // component where editing actually started. if (resolvedActiveComponent?.id) { editorState.activeEditableComponent = resolvedActiveComponent; editorState.activeComponentId = resolvedActiveComponent.id; editorState._mwpActiveComponentType = 'text'; } editableElement.classList.add('mwp-sfe-inline-editor'); let toolbarContainer = editorState.toolbarContainer || null; if (!toolbarContainer) { toolbarContainer = document.createElement('div'); toolbarContainer.className = 'mwp-sfe-inline-toolbar mwp-sfe-inline-editor'; toolbarContainer.setAttribute('data-mwp-sfe-control', 'true'); toolbarContainer.style.pointerEvents = 'auto'; toolbarContainer.style.display = 'none'; document.body.appendChild(toolbarContainer); editorState.toolbarContainer = toolbarContainer; } const componentRuntimeOptions = { ...buildComponentEditorRuntimeOptions( editorState, resolvedActiveComponent ), toolbarContainer, historyApi: getTextSessionHistoryApi(editorState), }; const formats = resolveComponentFormats(editableElement, componentRuntimeOptions); componentRuntimeOptions.formats = formats; let mwpEditor = resolveCurrentTextEditorHost(editorState) || editorState.mwpEditor || null; if (mwpEditor && typeof mwpEditor.reinitialize === 'function') { mwpEditor.reinitialize(editableElement, componentRuntimeOptions); } else { if (mwpEditor && typeof mwpEditor.destroy === 'function') { mwpEditor.destroy(); } mwpEditor = new MWPEditor(editableElement, { formats, ...componentRuntimeOptions, }); } editorState.mwpEditor = mwpEditor; editorState.textEditorHost = mwpEditor; editorState.activeSchemaHost = mwpEditor; editableElement._mwpEditor = mwpEditor; if (editorState.attributeChanges && typeof editorState.attributeChanges === 'object') { mwpEditor.attributeChanges = editorState.attributeChanges; } else { editorState.attributeChanges = mwpEditor.attributeChanges; } registerTextHistorySessionHost(editorState, mwpEditor); toolbarContainer.classList.remove('mwp-sfe-no-position-transition'); actionsContainer.classList.remove('mwp-sfe-no-position-transition'); positionFloatingElements(element, toolbarContainer, actionsContainer, true); showToolbar(toolbarContainer); if (shouldPlaceCaret) { placeCaretInEditableElement(editableElement, clickEvent); } syncInitialTextHistoryBaseline(editorState, mwpEditor); editorState._mwpActiveComponentType = 'text'; setupSharedEditorLifecycle(editorState); return editorState; } /** * Shared plain-text edit setup against the block root element. */ function startRootTextEditing(commonState, clickEvent) { const ElementPrep = SFE.ElementPrep; const { element, handler } = commonState; const contentType = handler.contentType || 'text'; const ctx = SFE.Context; let originalContent; if (ctx.draftEditState && ctx.draftEditState.draftElement === element && ctx.draftEditState.originalElement) { originalContent = ElementPrep.getContent(ctx.draftEditState.originalElement, contentType); } else { originalContent = ElementPrep.getContent(element, contentType); } // Capture a clean DOM snapshot now, before MWPEditor modifies anything. const originalCleanHTML = ElementPrep.getCleanHTML(element); const editorState = { ...commonState, originalContent, originalCleanHTML }; return setupSharedTextEditing(editorState, element, clickEvent); } /** * Content-type-specific: Text Editing * Receives common state, adds text-specific resources, returns complete editor state */ function startTextEditing(commonState, clickEvent) { return startRootTextEditing(commonState, clickEvent); } /** * Multi-component editing (single block root, multiple switchable sub-components). */ function startMultiComponentEditing(commonState, clickEvent) { const overlayManager = SFE.OverlayManager; const { element, handler } = commonState; const editableComponents = collectEditableComponents(element, handler); if (!editableComponents.length) { return startRootTextEditing(commonState, clickEvent); } const initialComponent = resolveInitialEditableComponent( editableComponents, clickEvent, commonState.initialComponentId || '' ); if (!initialComponent || !initialComponent.element) { return startRootTextEditing(commonState, clickEvent); } editableComponents.forEach(component => applyEditableComponentState(component)); const editorState = { ...commonState, editableComponents, activeEditableComponent: null, activeComponentId: '', }; // Narrow the active overlay to the selected component instead of full block root. if (overlayManager && overlayManager.activeTarget === element) { overlayManager.updateActiveElement(initialComponent.element); } setupSharedEditorLifecycle(editorState); setupEditableComponentSwitching(editorState); activateEditableComponent(editorState, initialComponent, clickEvent); return editorState; } SFE.TextEditor = { startTextEditing, startMultiComponentEditing, refreshEditableComponents, activateEditableComponentById, captureBlockSessionSnapshot, captureBlockSessionSelection, restoreBlockSessionSnapshot }; })(); S.A.H.A. - Sivil Alan Hareket Ağı

İkinci Günden İkinci Yıla: Şubat 2023 Depremleri Sonrası Öğrenimler Raporu

Büyük ölçekli krizlerde merkezi kurumlar yetersiz kalırken, topluluklar kendi çözümlerini üretir. Bu rapor, Hatay’da iki yıl boyunca sahada edinilen deneyimlere dayanarak, yerel dayanışma ağlarının, bağımsız inisiyatiflerin ve sıradışı aktörlerin nasıl devreye girdiğini inceliyor.

Rapor için

Öne Çıkan Öğrenimler

Yerelin Öncülüğü

Mahalle ölçeğindeki inisiyatifler, özellikle resmi koordinasyon mekanizmalarının yetersiz kaldığı durumlarda kritik bir rol oynadı.

Ağların Gücü

Sosyal medya ve mobil iletişim kanalları, ihtiyaç analizi, kaynak tahsisi ve gönüllü koordinasyonu için etkili bir şekilde kullanıldı.

İlişkilerin Önemi

Afet müdahalesi sürecinde bireylerin ve toplulukların kurduğu bağlar ve işbirlikleri, kabiliyet krizinin aşılmasında belirleyici bir faktör haline geldi.

Raporun İçeriği

🛑 İlk 72 Saat: Hayatta kalma mücadelesi, bilgi kaosu & topluluk temelli koordinasyon

📆 İlk Dört Ay: Yardımların organizasyonu, kaynak yönetimi & en kırılgan grupların tespiti

🏡 İlk Yıl: Kalıcı barınma, psikososyal destek & yerel aktörlerin liderliği

🔄 İkinci Yıldan Sonra: Öğrenilen dersler & daha dirençli bir gelecek için yeni modeller

Afet sonrası dayanışma süreçlerine dair saha deneyimlerinden öğrenilen dersler için

İki yıl süren gözlem ve analizlere dayanan bu rapor, kriz süreçlerini daha iyi anlamak isteyen herkes için önemli içgörüler sunuyor.

Sivil Alan Hareket Ağı Hakkında

Sivil Alan Hareket Ağı (S.A.H.A.), kriz anlarında hızlı, esnek ve yerel temelli çözümler üreten bir dayanışma modelidir.

S.A.H.A., afet ve kriz yönetimini topluluk liderliği, hızlı koordinasyon ve yenilikçi çözümler aracılığıyla dönüştürmeyi amaçlar.

🔹 Yerel Ağları Güçlendiriyoruz: Bağımsız inisiyatifleri ve sahadaki aktörleri destekliyoruz
🔹 Krizlere Yenilikçi Çözümler Üretiyoruz: Modüler barınma, gıda sistemleri & dijital koordinasyon çözümleri geliştiriyoruz
🔹 Bilgiyi Eyleme Dönüştürüyoruz: Saha deneyimlerini politika önerilerine ve uygulanabilir modellere çeviriyoruz

S.A.H.A. Bültene üye olarak aktif projelerden haberdar olabilirsiniz.