diff --git a/modules/backend/ServiceProvider.php b/modules/backend/ServiceProvider.php index 0abb18cbb..6870a60ea 100644 --- a/modules/backend/ServiceProvider.php +++ b/modules/backend/ServiceProvider.php @@ -67,11 +67,17 @@ class ServiceProvider extends ModuleServiceProvider $combiner->registerBundle('~/modules/backend/assets/less/october.less'); $combiner->registerBundle('~/modules/backend/assets/js/october.js'); $combiner->registerBundle('~/modules/backend/widgets/table/assets/js/build.js'); - $combiner->registerBundle('~/modules/backend/formwidgets/richeditor/assets/less/richeditor.less'); - $combiner->registerBundle('~/modules/backend/formwidgets/richeditor/assets/js/build.js'); $combiner->registerBundle('~/modules/backend/formwidgets/codeeditor/assets/less/codeeditor.less'); $combiner->registerBundle('~/modules/backend/formwidgets/codeeditor/assets/js/build.js'); $combiner->registerBundle('~/modules/backend/formwidgets/fileupload/assets/less/fileupload.less'); + + /* + * Rich Editor is protected by DRM + */ + if (file_exists(base_path('modules/backend/formwidgets/richeditor/assets/vendor/froala_drm'))) { + $combiner->registerBundle('~/modules/backend/formwidgets/richeditor/assets/less/richeditor.less'); + $combiner->registerBundle('~/modules/backend/formwidgets/richeditor/assets/js/build.js'); + } }); } diff --git a/modules/backend/formwidgets/RichEditor.php b/modules/backend/formwidgets/RichEditor.php index 061ee7416..1640dd288 100644 --- a/modules/backend/formwidgets/RichEditor.php +++ b/modules/backend/formwidgets/RichEditor.php @@ -24,6 +24,11 @@ class RichEditor extends FormWidgetBase */ public $fullPage = false; + /** + * @var boolean Determines whether content has HEAD and HTML tags. + */ + public $toolbarButtons = null; + // // Object properties // @@ -40,6 +45,7 @@ class RichEditor extends FormWidgetBase { $this->fillFromConfig([ 'fullPage', + 'toolbarButtons', ]); } @@ -57,12 +63,31 @@ class RichEditor extends FormWidgetBase */ public function prepareVars() { + $this->vars['field'] = $this->formField; $this->vars['editorLang'] = $this->getValidEditorLang(); $this->vars['fullPage'] = $this->fullPage; $this->vars['stretch'] = $this->formField->stretch; $this->vars['size'] = $this->formField->size; $this->vars['name'] = $this->formField->getName(); $this->vars['value'] = $this->getLoadValue(); + $this->vars['toolbarButtons'] = $this->evalToolbarButtons(); + } + + /** + * Determine the toolbar buttons to use based on config. + * @return string + */ + protected function evalToolbarButtons() + { + $buttons = $this->toolbarButtons; + + if (is_string($buttons)) { + $buttons = array_map(function($button) { + return strlen($button) ? $button : '|'; + }, explode('|', $buttons)); + } + + return $buttons; } /** diff --git a/modules/backend/formwidgets/richeditor/assets/css/richeditor.css b/modules/backend/formwidgets/richeditor/assets/css/richeditor.css index 7135166ef..d007a93db 100755 --- a/modules/backend/formwidgets/richeditor/assets/css/richeditor.css +++ b/modules/backend/formwidgets/richeditor/assets/css/richeditor.css @@ -1,263 +1,406 @@ -.redactor-editor figure{position:relative} -.redactor-editor figcaption{text-align:center;line-height:20px;font-size:14px} -.redactor-editor figure[data-type=table]{clear:both} -.redactor-editor figure[data-type=video]{position:relative;margin-bottom:20px;text-align:center;clear:both} -.redactor-editor figure[data-type=video] p{margin:0} -.redactor-editor figure[data-type=video].oc-figure-full:before{position:relative;padding-bottom:51%;width:100%;height:0;content:"";display:block} -.redactor-editor figure[data-type=video].oc-figure-full iframe{width:100%;height:100%;position:absolute;left:0;top:0} -.redactor-editor figure[data-type=image]{position:relative;margin-bottom:20px} -.redactor-editor figure[data-type=image] .oc-figure-controls{top:0px} -.redactor-editor figure[data-type=image] img{width:100%} -.redactor-editor figure[data-type=image].oc-figure-large{width:100%;clear:both} -.redactor-editor figure[data-type=image].oc-figure-medium{width:50%} -.redactor-editor figure[data-type=image].oc-figure-small{width:33%} -.redactor-editor figure[data-type=quote]{font-family:Georgia,serif;margin-bottom:20px;margin-left:20px;font-style:italic;position:relative;border-left:solid 4px #cccccc;padding-left:20px} -.redactor-editor figure[data-type=quote] figcaption{font-weight:bold;text-align:left} -.redactor-editor figure[data-type=quote] .oc-figure-controls{margin-left:-5px} -.redactor-editor figure[data-type=quote].oc-figure-medium,.redactor-editor figure[data-type=quote].oc-figure-medium blockquote{font-size:20px} -.redactor-editor figure[data-type=quote].oc-figure-large,.redactor-editor figure[data-type=quote].oc-figure-large blockquote{font-size:24px} -.redactor-editor figure[data-type=quote].oc-figure-right{width:33%} -.redactor-editor figure[data-type=quote].oc-figure-left{width:33%;border-left:none;border-right:solid 4px #cccccc;padding-left:0;padding-right:20px;margin-left:0;margin-right:20px} -.redactor-editor figure[data-type=quote].oc-figure-left .oc-figure-controls{margin-left:0;margin-right:-5px} -.redactor-editor figure[data-type=quote] cite{display:block;text-align:left;font-weight:normal} -.redactor-editor figure[data-type=quote] cite:before{content:"\2014\00a0"} -.redactor-editor figure[data-type=quote] cite:empty:before{opacity:0.4;content:"\2014 Type to add citation (optional)"} -.redactor-box figcaption:empty:before{opacity:.4;content:"Type to add caption (optional)"} -.redactor-box .oc-figure-controls{background:#2b3e50 !important;padding:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;position:absolute;display:none;white-space:nowrap;left:10px;top:-50px;margin:0 auto;font-family:sans-serif;line-height:20px;font-style:normal;z-index:1100;text-align:center} -.redactor-box .oc-figure-controls:after{content:' ';left:0;position:absolute;display:block;height:10px;background:rgba(0,0,0,0.1);width:100%;bottom:-10px;opacity:0.1;filter:alpha(opacity=10)} -.redactor-box .oc-figure-controls:before{content:'';display:block;width:0;height:0;border-left:8.5px solid transparent;border-right:8.5px solid transparent;border-top:9px solid #2b3e50;border-bottom-width:0;position:absolute;left:14px;bottom:-8px} -.redactor-box figure:hover .oc-figure-controls{display:block} -.redactor-box .oc-figure-controls.bottom{bottom:-50px;top:auto} -.redactor-box .oc-figure-controls.bottom:after{bottom:auto;top:-10px} -.redactor-box .oc-figure-controls.bottom:before{content:'' !important;display:block !important;width:0 !important;height:0 !important;border-left:8.5px solid transparent !important;border-right:8.5px solid transparent !important;border-bottom:9px solid #2b3e50 !important;border-top:none;top:-8px} -.redactor-box .oc-figure-controls span{display:inline-block;border:none;background:none;color:#ffffff;vertical-align:top;font-size:14px;width:40px;height:40px;line-height:40px;text-align:center;cursor:pointer} -.redactor-box .oc-figure-controls span:before{line-height:24px} -.redactor-box .oc-figure-controls span:hover{color:#fff;background:rgba(255,255,255,0.1)} -.redactor-box .oc-figure-controls span.on{background:#fff;color:#555555;background-color:#1f9e84;color:white} -.redactor-box .oc-figure-controls span:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px} -.redactor-box .oc-figure-controls span:first-child{border-bottom-right-radius:4px;border-top-right-radius:4px} -.redactor-box .oc-figure-controls span.oc-figure-controls-divider{width:1px;background:#cccccc;padding:0;margin:0 4px;cursor:normal} -.redactor-box .oc-figure-controls span.oc-figure-controls-small{font-size:7px} -.redactor-box .oc-figure-controls span.oc-figure-controls-medium{font-size:10px} -.redactor-box .oc-figure-controls span.oc-figure-controls-arrow-left:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f060"} -.redactor-box .oc-figure-controls span.oc-figure-controls-arrow-right:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f061"} -.redactor-box .oc-figure-controls span.oc-figure-controls-arrow-up:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f062"} -.redactor-box .oc-figure-controls span.oc-figure-controls-arrow-down:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f063"} -.redactor-box .oc-figure-controls span.oc-figure-controls-resize-full:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f065"} -.redactor-box .oc-figure-controls span.oc-figure-controls-resize-small:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f066"} -.redactor-box .oc-figure-controls span.oc-figure-controls-delete{margin-left:20px} -.redactor-box .oc-figure-controls span.oc-figure-controls-delete:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f014"} -.redactor-box .oc-figure-controls span.oc-figure-controls-delete:hover{background:#c63e26} -.redactor-box .oc-figure-controls span.oc-figure-controls-table{width:auto;padding-left:10px;padding-right:10px;text-align:left} -.redactor-box .oc-figure-controls span.oc-figure-controls-table:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f0ce"} -.redactor-box .oc-figure-right{float:right;margin-left:20px} -.redactor-box .oc-figure-right .oc-figure-controls{right:0} -.redactor-box .oc-figure-left{float:left;margin-right:20px} -.redactor-box .oc-dropdown-menu,.redactor-box .oc-dropdown-menu ul{padding:0 !important} -.redactor-box .oc-dropdown-menu ul{background-color:#ffffff !important} -.redactor-box .oc-dropdown-menu a{text-decoration:none;padding:0 15px !important;color:#39454a !important;text-decoration:none !important;line-height:25px} -.redactor-box .oc-dropdown-menu a:hover,.redactor-box .oc-dropdown-menu a:focus{color:#ffffff !important} -@media (max-width:769px){.redactor-box figure[data-type=image]{width:100% !important;float:none !important;margin-left:0;margin-right:0} -.redactor-box figure[data-type=video] iframe{width:100% !important;height:auto !important} +.clearfix::after{clear:both;display:block;content:""} +.fr-element,.fr-element:focus{outline:0px solid transparent} +.fr-basic .fr-element{text-align:initial;color:#000000;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow-x:auto;min-height:60px} +.fr-element{background:transparent;position:relative;z-index:2;-webkit-user-select:auto} +.fr-element a{user-select:auto;-o-user-select:auto;-moz-user-select:auto;-khtml-user-select:auto;-webkit-user-select:auto;-ms-user-select:auto} +.fr-element.fr-disabled{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none} +.fr-element [contenteditable="false"]{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none} +.fr-element [contenteditable="true"]{outline:0px solid transparent} +.fr-box a.fr-floating-btn{-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);border-radius:100%;-moz-border-radius:100%;-webkit-border-radius:100%;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;height:32px;width:32px;background:#ffffff;color:#1e88e5;transition:background 0.2s ease 0s,color 0.2s ease 0s,transform 0.2s ease 0s;-webkit-transition:background 0.2s ease 0s,color 0.2s ease 0s,transform 0.2s ease 0s;-moz-transition:background 0.2s ease 0s,color 0.2s ease 0s,transform 0.2s ease 0s;-ms-transition:background 0.2s ease 0s,color 0.2s ease 0s,transform 0.2s ease 0s;-o-transition:background 0.2s ease 0s,color 0.2s ease 0s,transform 0.2s ease 0s;outline:none;left:0;top:0;line-height:32px;transform:scale(0);-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);text-align:center;display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none} +.fr-box a.fr-floating-btn svg{transition:transform 0.2s ease 0s;-webkit-transition:transform 0.2s ease 0s;-moz-transition:transform 0.2s ease 0s;-ms-transition:transform 0.2s ease 0s;-o-transition:transform 0.2s ease 0s;fill:#1e88e5} +.fr-box a.fr-floating-btn i{font-size:14px;line-height:32px} +.fr-box a.fr-floating-btn.fr-btn + .fr-btn{margin-left:10px} +.fr-box a.fr-floating-btn:hover{background:#ebebeb;cursor:pointer} +.fr-box a.fr-floating-btn:hover svg{fill:#1e88e5} +.fr-box .fr-visible a.fr-floating-btn{transform:scale(1);-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1)} +iframe.fr-iframe{width:100%;border:none;position:relative;display:block;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.fr-wrapper{position:relative;z-index:1} +.fr-wrapper:before,.fr-wrapper:after{content:" ";display:table} +.fr-wrapper:after{clear:both} +.fr-wrapper::after{clear:both;display:block;content:""} +.fr-wrapper .fr-placeholder{position:absolute;font-size:12px;color:#aaaaaa;z-index:1;display:none;top:0;left:0} +.fr-wrapper.show-placeholder .fr-placeholder{display:block} +.fr-wrapper ::selection{background:#b5d6fd;color:#000000} +.fr-wrapper ::-moz-selection{background:#b5d6fd;color:#000000} +.fr-box.fr-rtl .fr-wrapper .fr-placeholder{right:0;left:auto} +.fr-box.fr-basic .fr-wrapper{background:#ffffff;border:0px;border-top:0} +.fr-box.fr-basic .fr-wrapper .fr-placeholder{top:20px;left:20px} +.fr-box.fr-basic.fr-rtl .fr-wrapper .fr-placeholder{right:20px;left:auto} +.fr-box.fr-basic.fr-top .fr-wrapper{border-top:0;border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)} +.fr-box.fr-basic.fr-bottom .fr-wrapper{border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:0;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,0.12),0 -1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 -1px 3px rgba(0,0,0,0.12),0 -1px 2px rgba(0,0,0,0.24);box-shadow:0 -1px 3px rgba(0,0,0,0.12),0 -1px 2px rgba(0,0,0,0.24)} +.fr-tooltip{position:absolute;top:0;left:0;padding:0 8px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.16),0 2px 4px rgba(0,0,0,0.23);-moz-box-shadow:0 3px 6px rgba(0,0,0,0.16),0 2px 4px rgba(0,0,0,0.23);box-shadow:0 3px 6px rgba(0,0,0,0.16),0 2px 4px rgba(0,0,0,0.23);background:#34495e;color:#ffffff;font-size:12px;line-height:22px;font-family:sans-serif;transition:opacity 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s;-moz-transition:opacity 0.2s ease 0s;-ms-transition:opacity 0.2s ease 0s;-o-transition:opacity 0.2s ease 0s;filter:alpha(opacity=0);-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";left:-3000px;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;z-index:9997} +.fr-tooltip.fr-visible{filter:alpha(opacity=100);-webkit-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"} +.fr-toolbar{color:#222222;background:#ffffff;position:relative;z-index:4;font-family:sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:0 2px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);text-align:left;border:0px;border-top:1px solid #bdbdbd} +.fr-toolbar:before,.fr-toolbar:after{content:" ";display:table} +.fr-toolbar:after{clear:both} +.fr-toolbar::after{clear:both;display:block;content:""} +.fr-toolbar.fr-rtl{text-align:right} +.fr-toolbar.fr-inline{display:none;white-space:nowrap;position:absolute;margin-top:10px} +.fr-toolbar.fr-inline .fr-arrow{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #bdbdbd;position:absolute;top:-13px;left:50%;margin-left:-7px;display:inline-block} +.fr-toolbar.fr-inline.fr-above{margin-top:-10px;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,0.12),0 -1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 -1px 3px rgba(0,0,0,0.12),0 -1px 2px rgba(0,0,0,0.24);box-shadow:0 -1px 3px rgba(0,0,0,0.12),0 -1px 2px rgba(0,0,0,0.24);border-bottom:1px solid #bdbdbd;border-top:0} +.fr-toolbar.fr-inline.fr-above .fr-arrow{top:auto;bottom:-13px;border-bottom:0;border-top-color:inherit;border-top-style:solid;border-top-width:7px} +.fr-toolbar.fr-top{top:0;border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)} +.fr-toolbar.fr-bottom{bottom:0;border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)} +.fr-separator{background:#ebebeb;display:block;vertical-align:top;float:left} +.fr-separator + .fr-separator{display:none} +.fr-separator.fr-vs{height:33px;width:1px;margin:2px} +.fr-separator.fr-hs{clear:both;height:1px;width:calc(96%);margin:0 2px} +.fr-separator.fr-hidden{display:none !important} +.fr-rtl .fr-separator{float:right} +.fr-toolbar.fr-inline .fr-separator.fr-hs{float:none} +.fr-toolbar.fr-inline .fr-separator.fr-vs{float:none;display:inline-block} +.fr-toolbar .fr-command.fr-btn,.fr-popup .fr-command.fr-btn{background:transparent;color:rgba(0,0,0,0.5);-moz-outline:0;outline:0;border:0;line-height:1;cursor:pointer;text-align:left;margin:0px 2px;transition:background 0.2s ease 0s;-webkit-transition:background 0.2s ease 0s;-moz-transition:background 0.2s ease 0s;-ms-transition:background 0.2s ease 0s;-o-transition:background 0.2s ease 0s;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;z-index:2;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;float:left;padding:0;width:38px;height:37px} +.fr-toolbar .fr-command.fr-btn i,.fr-popup .fr-command.fr-btn i{display:block;font-size:15px;width:15px;margin:11px 11.5px;text-align:center;float:none} +.fr-toolbar .fr-command.fr-btn span,.fr-popup .fr-command.fr-btn span{font-size:14px;display:block;line-height:14px;min-width:38px;float:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;height:15px;font-weight:bold} +.fr-toolbar .fr-command.fr-btn img,.fr-popup .fr-command.fr-btn img{margin:11px 11.5px;width:15px} +.fr-toolbar .fr-command.fr-btn.fr-active,.fr-popup .fr-command.fr-btn.fr-active{color:#222222;background:transparent} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection{width:auto} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection span,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection span{font-weight:normal} +.fr-toolbar .fr-command.fr-btn.fr-dropdown i,.fr-popup .fr-command.fr-btn.fr-dropdown i,.fr-toolbar .fr-command.fr-btn.fr-dropdown span,.fr-popup .fr-command.fr-btn.fr-dropdown span,.fr-toolbar .fr-command.fr-btn.fr-dropdown img,.fr-popup .fr-command.fr-btn.fr-dropdown img{margin-left:7.5px;margin-right:15.5px} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active{color:rgba(0,0,0,0.5);background:#d6d6d6} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover,.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus{background:#d6d6d6 !important;color:rgba(0,0,0,0.5) !important} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after{border-top-color:rgba(0,0,0,0.5) !important} +.fr-toolbar .fr-command.fr-btn.fr-dropdown::after,.fr-popup .fr-command.fr-btn.fr-dropdown::after{position:absolute;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,0.5);right:3.75px;top:16.5px;content:""} +.fr-toolbar .fr-command.fr-btn.fr-disabled,.fr-popup .fr-command.fr-btn.fr-disabled{color:#bdbdbd;cursor:default} +.fr-toolbar .fr-command.fr-btn.fr-disabled::after,.fr-popup .fr-command.fr-btn.fr-disabled::after{border-top-color:#bdbdbd !important} +.fr-toolbar .fr-command.fr-btn.fr-hidden,.fr-popup .fr-command.fr-btn.fr-hidden{display:none} +.fr-toolbar.fr-disabled .fr-btn,.fr-popup.fr-disabled .fr-btn,.fr-toolbar.fr-disabled .fr-btn.fr-active,.fr-popup.fr-disabled .fr-btn.fr-active{color:#bdbdbd} +.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after,.fr-popup.fr-disabled .fr-btn.fr-dropdown::after,.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after,.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after{border-top-color:#bdbdbd} +.fr-toolbar.fr-rtl .fr-command.fr-btn,.fr-popup.fr-rtl .fr-command.fr-btn{float:right} +.fr-toolbar.fr-inline .fr-command.fr-btn{float:none} +.fr-desktop .fr-command:hover,.fr-desktop .fr-command:focus{color:#222222;background:#ebebeb} +.fr-desktop .fr-command:hover::after,.fr-desktop .fr-command:focus::after{border-top-color:#222222 !important} +.fr-desktop .fr-command.fr-selected{color:rgba(0,0,0,0.5);background:#d6d6d6} +.fr-desktop .fr-command.fr-active:hover,.fr-desktop .fr-command.fr-active:focus{color:#1e88e5;background:#ebebeb} +.fr-desktop .fr-command.fr-active.fr-selected{color:#1e88e5;background:#d6d6d6} +.fr-desktop .fr-command.fr-disabled:hover,.fr-desktop .fr-command.fr-disabled:focus,.fr-desktop .fr-command.fr-disabled.fr-selected{background:transparent} +.fr-desktop.fr-disabled .fr-command:hover,.fr-desktop.fr-disabled .fr-command:focus,.fr-desktop.fr-disabled .fr-command.fr-selected{background:transparent} +.fr-toolbar.fr-mobile .fr-command.fr-blink,.fr-popup.fr-mobile .fr-command.fr-blink{background:transparent} +.fr-command.fr-btn + .fr-dropdown-menu{display:inline-block;position:absolute;right:auto;bottom:auto;height:auto;-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.16),0 2px 4px rgba(0,0,0,0.23);-moz-box-shadow:0 3px 6px rgba(0,0,0,0.16),0 2px 4px rgba(0,0,0,0.23);box-shadow:0 3px 6px rgba(0,0,0,0.16),0 2px 4px rgba(0,0,0,0.23);z-index:3;-webkit-overflow-scrolling:touch;overflow:hidden;border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper{background:#ffffff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,0.16),0 2px 4px rgba(0,0,0,0.23);-moz-box-shadow:0 3px 6px rgba(0,0,0,0.16),0 2px 4px rgba(0,0,0,0.23);box-shadow:0 3px 6px rgba(0,0,0,0.16),0 2px 4px rgba(0,0,0,0.23);padding:0;margin:auto;display:inline-block;text-align:left;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:max-height 0.2s ease 0s;-webkit-transition:max-height 0.2s ease 0s;-moz-transition:max-height 0.2s ease 0s;-ms-transition:max-height 0.2s ease 0s;-o-transition:max-height 0.2s ease 0s;margin-top:0;float:left;max-height:0;height:0;margin-top:0 !important} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content{overflow:auto;position:relative;max-height:275px} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list{list-style-type:none;margin:0;padding:0} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li{padding:0;margin:0;font-size:15px} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a{padding:0 24px;line-height:200%;display:block;cursor:pointer;white-space:nowrap;color:inherit;text-decoration:none} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active{background:#d6d6d6} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled{color:#bdbdbd;cursor:default} +.fr-command.fr-btn.fr-active + .fr-dropdown-menu{display:inline-block} +.fr-command.fr-btn.fr-active + .fr-dropdown-menu .fr-dropdown-wrapper{height:auto;max-height:275px} +.fr-bottom > .fr-command.fr-btn + .fr-dropdown-menu{border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 -3px 6px rgba(0,0,0,0.16),0 -2px 4px rgba(0,0,0,0.23);-moz-box-shadow:0 -3px 6px rgba(0,0,0,0.16),0 -2px 4px rgba(0,0,0,0.23);box-shadow:0 -3px 6px rgba(0,0,0,0.16),0 -2px 4px rgba(0,0,0,0.23)} +.fr-toolbar.fr-rtl .fr-dropdown-wrapper,.fr-popup.fr-rtl .fr-dropdown-wrapper{text-align:right !important} +.fr-popup{position:absolute;display:none;color:#222222;background:#ffffff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-family:sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;margin-top:10px;z-index:9995;text-align:left;border:0px;border-top:1px solid #bdbdbd} +.fr-popup.fr-above{margin-top:-10px;border-top:0;border-bottom:1px solid #bdbdbd;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,0.12),0 -1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 -1px 3px rgba(0,0,0,0.12),0 -1px 2px rgba(0,0,0,0.24);box-shadow:0 -1px 3px rgba(0,0,0,0.12),0 -1px 2px rgba(0,0,0,0.24)} +.fr-popup.fr-active{display:block} +.fr-popup.fr-hidden{filter:alpha(opacity=0);-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"} +.fr-popup .fr-hs{display:block !important} +.fr-popup .fr-hs.fr-hidden{display:none !important} +.fr-popup .fr-input-line{position:relative;padding:8px 0} +.fr-popup .fr-input-line input[type="text"],.fr-popup .fr-input-line textarea{width:100%;margin:0px 0 1px 0;border:none;border-bottom:solid 1px #bdbdbd;color:#222222;font-size:14px;padding:6px 0 2px;background:rgba(0,0,0,0);position:relative;z-index:2} +.fr-popup .fr-input-line input[type="text"]:focus,.fr-popup .fr-input-line textarea:focus{border-bottom:solid 2px #1e88e5;margin-bottom:0px} +.fr-popup .fr-input-line input + span,.fr-popup .fr-input-line textarea + span{position:absolute;top:0;left:0;font-size:12px;color:rgba(0,0,0,0);transition:color 0.2s ease 0s;-webkit-transition:color 0.2s ease 0s;-moz-transition:color 0.2s ease 0s;-ms-transition:color 0.2s ease 0s;-o-transition:color 0.2s ease 0s;z-index:1} +.fr-popup .fr-input-line input.fr-not-empty:focus + span,.fr-popup .fr-input-line textarea.fr-not-empty:focus + span{color:#1e88e5} +.fr-popup .fr-input-line input.fr-not-empty + span,.fr-popup .fr-input-line textarea.fr-not-empty + span{color:#808080} +.fr-popup input,.fr-popup textarea{user-select:text;-o-user-select:text;-moz-user-select:text;-khtml-user-select:text;-webkit-user-select:text;-ms-user-select:text;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;outline:none} +.fr-popup textarea{resize:none} +.fr-popup .fr-buttons{-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);padding:0 2px;white-space:nowrap;line-height:0;border-bottom:0px} +.fr-popup .fr-buttons:before,.fr-popup .fr-buttons:after{content:" ";display:table} +.fr-popup .fr-buttons:after{clear:both} +.fr-popup .fr-buttons::after{clear:both;display:block;content:""} +.fr-popup .fr-buttons .fr-btn{display:inline-block;float:none} +.fr-popup .fr-buttons .fr-btn i{float:left} +.fr-popup .fr-buttons .fr-separator{display:inline-block;float:none} +.fr-popup .fr-layer{width:225px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:10px;display:none} +@media (min-width:768px){.fr-popup .fr-layer{width:300px} } - @font-face{font-family:'RedactorFont';src:url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,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) format('woff');font-weight:normal;font-style:normal} - .redactor-box{position:relative;overflow:visible;margin-bottom:24px} -.redactor-box textarea{display:block;position:relative;margin:0;padding:0;width:100%;overflow:auto;outline:none;border:none;background-color:#111;box-shadow:none;color:#ccc;font-size:13px;font-family:Menlo,Monaco,monospace,sans-serif;resize:none} -.redactor-box textarea:focus{outline:none} -.redactor-editor,.redactor-box{background:#fff} - .redactor-editor,.redactor-box,.redactor-box textarea{z-index:auto} -.redactor-box-fullscreen{z-index:1051} -.redactor-toolbar{z-index:100} -.redactor-dropdown{z-index:1052} -#redactor-modal-overlay,#redactor-modal-box,#redactor-modal{z-index:1053} - body .redactor-box-fullscreen{position:fixed;top:0;left:0;width:100%} - .redactor-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll} - .redactor-editor{position:relative;overflow:auto;margin:0 !important;padding:20px;min-height:80px;outline:none;white-space:normal;border:1px solid #eee;font-family:Arial,Helvetica,Verdana,Tahoma,sans-serif;font-size:14px;line-height:1.6em} -.redactor-editor:focus{outline:none} -.toolbar-fixed-box + .redactor-editor{padding-top:32px !important} - .redactor-placeholder:after{position:absolute;top:20px;left:20px;content:attr(placeholder);display:block; color:#999 !important;font-weight:normal !important} - .redactor-toolbar{position:relative;top:0;left:0;margin:0 !important;padding:0 !important;list-style:none !important;font-size:14px !important;line-height:1 !important;background:#fff;border:none;box-shadow:0 1px 2px rgba(0,0,0,0.2)} -.redactor-toolbar:before,.redactor-toolbar:after{content:" ";display:table} -.redactor-toolbar:after{clear:both} -.redactor-toolbar:after{content:"";display:table;clear:both} -.redactor-toolbar.redactor-toolbar-overflow{overflow-y:auto;height:29px;white-space:nowrap} -.redactor-toolbar.redactor-toolbar-external{z-index:999;box-shadow:none;border:1px solid rgba(0,0,0,0.1)} -.redactor-toolbar li{vertical-align:top;display:inline-block;margin:0 !important;padding:0 !important;outline:none;list-style:none !important;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box} -.redactor-toolbar li a{display:block;color:#333;text-align:center;padding:9px 10px;outline:none;border:none;text-decoration:none;cursor:pointer;zoom:1;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box} -.redactor-toolbar li a:hover{outline:none;background-color:#1f78d8;color:#fff} -.redactor-toolbar li a:hover i:before{color:#fff} -.redactor-toolbar li a:active,.redactor-toolbar li a.redactor-act{outline:none;background-color:#ccc;color:#444} -.redactor-toolbar li a.redactor-btn-image{width:14px;height:14px;background-position:center center;background-repeat:no-repeat} -.redactor-toolbar li a.fa-redactor-btn{display:inline-block;padding:9px 10px 8px 10px;line-height:1} -.redactor-toolbar li a.redactor-button-disabled{filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3} -.redactor-toolbar li a.redactor-button-disabled:hover{color:#333;outline:none;background-color:transparent !important;cursor:default} -.redactor-toolbar li a.redactor-button-focus{color:#fff;background:#000} - .redactor-box .CodeMirror{display:none} - .re-icon{font-family:'RedactorFont';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} -.re-icon i:before{position:relative;font-size:14px} -.re-video:before{content:"\e600"} -.re-unorderedlist:before{content:"\e601"} -.re-undo:before{content:"\e602"} -.re-underline:before{content:"\e603"} -.re-textdirection:before{content:"\e604"} -.re-fontcolor:before{content:"\e605"} -.re-table:before{content:"\e606"} -.re-redo:before{content:"\e607"} -.re-quote:before{content:"\e608"} -.re-outdent:before{content:"\e609"} -.re-orderedlist:before{content:"\e60a"} -.re-link:before{content:"\e60b"} -.re-horizontalrule:before{content:"\e60c"} -.re-italic:before{content:"\e60d"} -.re-indent:before{content:"\e60e"} -.re-image:before{content:"\e60f"} -.re-fullscreen:before{content:"\e610"} -.re-normalscreen:before{content:"\e611"} -.re-formatting:before{content:"\e612"} -.re-fontsize:before{content:"\e613"} -.re-fontfamily:before{content:"\e614"} -.re-deleted:before{content:"\e615"} -.re-html:before{content:"\e616"} -.re-clips:before{content:"\e617"} -.re-bold:before{content:"\e618"} -.re-backcolor:before{content:"\e619"} -.re-file:before{content:"\e61a"} -.re-alignright:before{content:"\e61b"} -.re-alignment:before,.re-alignleft:before{content:"\e61c"} -.re-alignjustify:before{content:"\e61d"} -.re-aligncenter:before{content:"\e61e"} -.re-gallery:before{content:"\e61f"} - .redactor-toolbar-tooltip{position:absolute;z-index:1054;text-align:center;top:0;left:0;background:#000;color:#fff;padding:5px 8px;line-height:1;font-family:Arial,Helvetica,Verdana,Tahoma,sans-serif;font-size:12px;border-radius:2px} - .redactor-dropdown{position:absolute;top:28px;left:0;padding:0;min-width:220px;max-height:254px;overflow:auto;background-color:#fff;box-shadow:0 1px 7px rgba(0,0,0,0.25);font-size:14px;font-family:Arial,Helvetica,Verdana,Tahoma,sans-serif;line-height:1.6em} -.redactor-dropdown a{display:block;padding:10px 15px;color:#000;text-decoration:none;border-bottom:1px solid rgba(0,0,0,0.07000000000000001)} -.redactor-dropdown a:last-child{border-bottom:none} -.redactor-dropdown a:hover{background-color:#1f78d8;color:#fff !important;text-decoration:none} -.redactor-dropdown a.selected{background-color:#000;color:#fff} -.redactor-dropdown a.redactor-dropdown-link-inactive,.redactor-dropdown a.redactor-dropdown-link-inactive:hover{background:none;cursor:default;color:#000 !important;filter:alpha(opacity=40);-moz-opacity:0.4;opacity:0.4} -.redactor-dropdown a.redactor-dropdown-link-selected{color:#fff;background:#000} - #redactor-image-box{position:relative;max-width:100%;display:inline-block;line-height:0;outline:1px dashed rgba(0,0,0,0.6)} -#redactor-image-editter{position:absolute;z-index:5;top:50%;left:50%;margin-top:-11px;margin-left:-18px;line-height:1;background-color:#000;color:#fff;font-size:11px;padding:7px 10px;cursor:pointer} -#redactor-image-resizer{position:absolute;z-index:2;line-height:1;cursor:nw-resize;bottom:-4px;right:-5px;border:1px solid #fff;background-color:#000;width:8px;height:8px} - .redactor-link-tooltip{position:absolute;z-index:99;padding:10px;line-height:1;display:inline-block;background-color:#000;color:#555 !important} -.redactor-link-tooltip,.redactor-link-tooltip a{font-size:12px;font-family:Arial,Helvetica,Verdana,Tahoma,sans-serif} -.redactor-link-tooltip a{color:#ccc;margin:0 5px;text-decoration:none} -.redactor-link-tooltip a:hover{color:#fff} - #redactor-droparea{position:relative;overflow:hidden;padding:140px 20px;border:3px dashed rgba(0,0,0,0.1)} -#redactor-droparea.drag-hover{background:rgba(200,222,250,0.75)} -#redactor-droparea.drag-drop{background:rgba(250,248,200,0.5)} -#redactor-droparea-placeholder{text-align:center;font-size:12px;color:rgba(0,0,0,0.7)} - #redactor-progress{position:fixed;top:0;left:0;width:100%;z-index:1000000;height:10px} -#redactor-progress span{display:block;width:100%;height:100%;background-color:#3d58a8;background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.2) 50%,rgba(255,255,255,0.2) 75%,transparent 75%,transparent);-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;background-size:40px 40px} -@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0} -to{background-position:0 0} +.fr-popup .fr-layer.fr-active{display:inline-block} +.fr-popup .fr-action-buttons{z-index:7;height:36px;text-align:right} +.fr-popup .fr-action-buttons button.fr-command{height:36px;line-height:1;color:#1e88e5;padding:10px;cursor:pointer;text-decoration:none;border:none;background:none;font-size:16px;outline:none;transition:background 0.2s ease 0s;-webkit-transition:background 0.2s ease 0s;-moz-transition:background 0.2s ease 0s;-ms-transition:background 0.2s ease 0s;-o-transition:background 0.2s ease 0s} +.fr-popup .fr-action-buttons button.fr-command + button{margin-left:24px} +.fr-popup .fr-action-buttons button.fr-command:hover,.fr-popup .fr-action-buttons button.fr-command:focus{background:#ebebeb;color:#1e88e5} +.fr-popup .fr-action-buttons button.fr-command:active{background:#d6d6d6;color:#1e88e5} +.fr-popup .fr-action-buttons button::-moz-focus-inner{border:0} +.fr-popup .fr-checkbox{position:relative;display:inline-block;width:16px;height:16px;line-height:1;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;vertical-align:middle} +.fr-popup .fr-checkbox svg{margin-left:2px;margin-top:2px;display:none;width:10px;height:10px} +.fr-popup .fr-checkbox span{border:solid 1px #222222;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;width:16px;height:16px;display:inline-block;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:background 0.2s ease 0s,border-color 0.2s ease 0s;-webkit-transition:background 0.2s ease 0s,border-color 0.2s ease 0s;-moz-transition:background 0.2s ease 0s,border-color 0.2s ease 0s;-ms-transition:background 0.2s ease 0s,border-color 0.2s ease 0s;-o-transition:background 0.2s ease 0s,border-color 0.2s ease 0s} +.fr-popup .fr-checkbox input{position:absolute;z-index:2;filter:alpha(opacity=0);-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";border:0 none;cursor:pointer;height:16px;margin:0;padding:0;width:16px;top:1px;left:1px} +.fr-popup .fr-checkbox input:checked + span{background:#1e88e5;border-color:#1e88e5} +.fr-popup .fr-checkbox input:checked + span svg{display:block} +.fr-popup .fr-checkbox input:focus + span{border-color:#1e88e5} +.fr-popup .fr-checkbox-line{font-size:14px;line-height:1.4px;margin-top:10px} +.fr-popup .fr-checkbox-line label{cursor:pointer;margin:0 5px;vertical-align:middle} +.fr-popup.fr-rtl{direction:rtl;text-align:right} +.fr-popup.fr-rtl .fr-action-buttons{text-align:left} +.fr-popup.fr-rtl .fr-input-line input + span,.fr-popup.fr-rtl .fr-input-line textarea + span{left:auto;right:0} +.fr-popup .fr-arrow{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #bdbdbd;position:absolute;top:-13px;left:50%;margin-left:-7px;display:inline-block} +.fr-popup.fr-above .fr-arrow{top:auto;bottom:-13px;border-bottom:0;border-top-color:inherit;border-top-style:solid;border-top-width:7px} +.fr-text-edit-layer{width:250px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block !important} +.fr-visibility-helper{display:none;margin-left:0px !important} +@media (min-width:768px){.fr-visibility-helper{margin-left:1px !important} } -@-o-keyframes progress-bar-stripes{from{background-position:40px 0} -to{background-position:0 0} +@media (min-width:992px){.fr-visibility-helper{margin-left:2px !important} } -@keyframes progress-bar-stripes{from{background-position:40px 0} -to{background-position:0 0} +@media (min-width:1200px){.fr-visibility-helper{margin-left:3px !important} } - #redactor-modal-overlay{position:fixed;top:0;left:0;margin:auto;overflow:auto;width:100%;height:100%;background-color:#000 !important;filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3} -#redactor-modal-box{position:fixed;top:0;left:0;bottom:0;right:0;overflow-x:hidden;overflow-y:auto} -#redactor-modal{outline:0;position:relative;margin:auto;margin-bottom:20px;padding:0;background:#fff;color:#000;font-size:14px !important;font-family:Arial,Helvetica,Verdana,Tahoma,sans-serif;box-shadow:0 1px 70px rgba(0,0,0,0.5)} -#redactor-modal header{padding:30px 40px 5px 40px;font-size:18px;font-weight:bold} -#redactor-modal section{padding:30px 40px 50px 40px} -#redactor-modal label{display:block;float:none !important;margin:15px 0 3px 0 !important;padding:0} -#redactor-modal input[type="radio"],#redactor-modal input[type="checkbox"]{position:relative;top:-1px} -#redactor-modal select{width:100%} -#redactor-modal input[type="text"],#redactor-modal input[type="password"],#redactor-modal input[type="email"],#redactor-modal input[type="url"],#redactor-modal textarea{position:relative;z-index:2;margin:0;padding:5px 4px;height:28px;border:1px solid #ccc;border-radius:1px;background-color:white;box-shadow:0 1px 2px rgba(0,0,0,0.2) inset;color:#333;width:100%;font-size:14px;font-family:Arial,Helvetica,Verdana,Tahoma,sans-serif;-moz-transition:border 0.3s ease-in;transition:border 0.3s ease-in} -#redactor-modal input[type="text"]:focus,#redactor-modal input[type="password"]:focus,#redactor-modal input[type="email"]:focus,#redactor-modal input[type="url"]:focus,#redactor-modal textarea:focus{outline:none;border-color:#5ca9e4;box-shadow:0 0 0 2px rgba(70,161,231,0.3),0 1px 2px rgba(0,0,0,0.2) inset} -#redactor-modal input[type="text"].redactor-input-error,#redactor-modal input[type="password"].redactor-input-error,#redactor-modal input[type="email"].redactor-input-error,#redactor-modal input[type="url"].redactor-input-error,#redactor-modal textarea.redactor-input-error{border-color:#e82f2f;box-shadow:0 0 0 2px rgba(232,47,47,0.3),0 1px 2px rgba(0,0,0,0.2) inset} -#redactor-modal textarea{display:block;margin-top:4px;line-height:1.4em} - #redactor-modal-tabber{margin-bottom:15px;font-size:12px} -#redactor-modal-tabber a{border:1px solid #ddd;line-height:1;padding:8px 15px;margin-right:-1px;text-decoration:none;color:#000} -#redactor-modal-tabber a:hover{background-color:#1f78d8;border-color:#1f78d8;color:#fff} -#redactor-modal-tabber a.active{cursor:default;background-color:#ddd;border-color:#ddd;color:rgba(0,0,0,0.6)} - #redactor-modal #redactor-modal-list{margin-left:0;padding-left:0;list-style:none;max-height:250px;overflow-x:auto} -#redactor-modal #redactor-modal-list li{border-bottom:1px solid #ddd} -#redactor-modal #redactor-modal-list li:last-child{border-bottom:none} -#redactor-modal #redactor-modal-list a{padding:10px 5px;color:#000;text-decoration:none;font-size:13px;display:block;position:relative} -#redactor-modal #redactor-modal-list a:hover{background-color:#eee} -#redactor-modal-close{position:absolute;top:10px;right:10px;width:30px;height:30px;text-align:right;color:#bbb;font-size:30px;font-weight:300;cursor:pointer;-webkit-appearance:none;padding:0;border:0;background:0;outline:none} -#redactor-modal-close:hover{color:#000} -#redactor-modal footer button{position:relative;width:100%;padding:14px 16px;margin:0;outline:none;border:none;background-color:#ddd;color:#000;text-align:center;text-decoration:none;font-weight:normal;font-size:12px;font-family:Arial,Helvetica,Verdana,Tahoma,sans-serif;line-height:1;cursor:pointer} -#redactor-modal footer button:hover{color:#777;background:none;background:#bbb;text-decoration:none} -#redactor-modal footer button.redactor-modal-delete-btn{background:none;color:#fff;background-color:#b52525} -#redactor-modal footer button.redactor-modal-delete-btn:hover{color:rgba(255,255,255,0.6);background-color:#881b1b} -#redactor-modal footer button.redactor-modal-action-btn{background:none;color:#fff;background-color:#2461b5} -#redactor-modal footer button.redactor-modal-action-btn:hover{color:rgba(255,255,255,0.6);background-color:#1a4580} - .redactor-dropdown .redactor-formatting-blockquote{color:rgba(0,0,0,0.4);font-style:italic} -.redactor-dropdown .redactor-formatting-pre{font-family:monospace,sans-serif} -.redactor-dropdown .redactor-formatting-h1{font-size:36px;line-height:36px;font-weight:bold} -.redactor-dropdown .redactor-formatting-h2{font-size:24px;line-height:36px;font-weight:bold} -.redactor-dropdown .redactor-formatting-h3{font-size:21px;line-height:30px;font-weight:bold} -.redactor-dropdown .redactor-formatting-h4{font-size:18px;line-height:26px;font-weight:bold} -.redactor-dropdown .redactor-formatting-h5{font-size:16px;line-height:23px;font-weight:bold} - .redactor-editor code,.redactor-editor pre{font-family:Menlo,Monaco,monospace,sans-serif;cursor:text} -.redactor-editor div,.redactor-editor p,.redactor-editor ul,.redactor-editor ol,.redactor-editor table,.redactor-editor dl,.redactor-editor blockquote,.redactor-editor pre{font-size:14px;line-height:1.6em} -.redactor-editor a{color:#15c;text-decoration:underline} -.redactor-editor object,.redactor-editor embed,.redactor-editor video,.redactor-editor img{max-width:100%;width:auto} -.redactor-editor video,.redactor-editor img{height:auto} -.redactor-editor div,.redactor-editor p,.redactor-editor ul,.redactor-editor ol,.redactor-editor table,.redactor-editor dl,.redactor-editor figure,.redactor-editor blockquote,.redactor-editor pre{margin:0;margin-bottom:15px;border:none;background:none;box-shadow:none} -.redactor-editor iframe,.redactor-editor object,.redactor-editor hr{margin-bottom:15px} -.redactor-editor blockquote{margin-left:1.6em !important;padding:0;text-align:left;color:#777;font-style:italic} -.redactor-editor blockquote:before,.redactor-editor blockquote:after{content:''} -.redactor-editor ul,.redactor-editor ol{padding-left:2em} -.redactor-editor ul ul,.redactor-editor ol ol,.redactor-editor ul ol,.redactor-editor ol ul{margin:2px;padding:0;padding-left:2em;border:none} -.redactor-editor ol ol li{list-style-type:lower-alpha} -.redactor-editor ol ol ol li{list-style-type:lower-roman} -.redactor-editor dl dt{font-weight:bold} -.redactor-editor dd{margin-left:1em} -.redactor-editor table{border-collapse:collapse;font-size:1em;width:100%} -.redactor-editor table td,.redactor-editor table th{padding:5px;border:1px solid #ddd;vertical-align:top} -.redactor-editor table thead td,.redactor-editor table th{font-weight:bold;border-bottom-color:#888} -.redactor-editor code{background-color:#d8d7d7} -.redactor-editor pre{padding:1em;border:1px solid #ddd;border-radius:3px;background:#f8f8f8;font-size:90%} -.redactor-editor hr{display:block;height:1px;border:0;border-top:1px solid #ccc} -.redactor-editor h1,.redactor-editor h2,.redactor-editor h3,.redactor-editor h4,.redactor-editor h5,.redactor-editor h6{font-weight:bold;color:#000;padding:0;background:none;text-rendering:optimizeLegibility;margin:0 0 .5em 0} -.redactor-editor h1,.redactor-editor h2,.redactor-editor h3,.redactor-editor h4{line-height:1.3} -.redactor-editor h1{font-size:36px} -.redactor-editor h2{font-size:24px;margin-bottom:.7em} -.redactor-editor h3{font-size:21px} -.redactor-editor h4{font-size:18px} -.redactor-editor h5{font-size:16px} -.redactor-editor h6{font-size:12px;text-transform:uppercase} +.fr-opacity-0{filter:alpha(opacity=0);-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"} +.fr-box{position:relative} + .fr-sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky} +.fr-sticky-off{position:relative} +.fr-sticky-on{position:fixed} +.fr-sticky-on.fr-sticky-ios{position:absolute;left:0;right:0;width:auto !important} +.fr-sticky-dummy{display:none} +.fr-sticky-on + .fr-sticky-dummy,.fr-sticky-box > .fr-sticky-dummy{display:block} +.fr-view strong{font-weight:700} +.fr-view table{border:none;border-collapse:collapse;empty-cells:show;max-width:100%} +.fr-view table.fr-dashed-borders td,.fr-view table.fr-dashed-borders th{border-style:dashed} +.fr-view table.fr-alternate-rows tbody tr:nth-child(2n){background:#f5f5f5} +.fr-view table td,.fr-view table th{border:1px solid #dddddd} +.fr-view table td:empty,.fr-view table th:empty{height:20px} +.fr-view table td.fr-highlighted,.fr-view table th.fr-highlighted{border:1px double red} +.fr-view table td.fr-thick,.fr-view table th.fr-thick{border-width:2px} +.fr-view table th{background:#e6e6e6} +.fr-view hr{clear:both;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;page-break-after:always} +.fr-view .fr-file{position:relative} +.fr-view .fr-file::after{position:relative;content:"\1F4CE";font-weight:normal} +.fr-view pre{white-space:pre-wrap;word-wrap:break-word} +.fr-view blockquote{border-left:solid 2px #5e35b1;margin-left:0;padding-left:5px;color:#5e35b1} +.fr-view blockquote blockquote{border-color:#00bcd4;color:#00bcd4} +.fr-view blockquote blockquote blockquote{border-color:#43a047;color:#43a047} +.fr-view span.fr-emoticon{font-weight:normal;font-family:"Apple Color Emoji","Segoe UI Emoji","NotoColorEmoji","Segoe UI Symbol","Android Emoji","EmojiSymbols";display:inline;line-height:0} +.fr-view span.fr-emoticon.fr-emoticon-img{font-size:inherit;height:1em;width:1em;min-height:20px;min-width:20px;display:inline-block;margin:-0.1em 0.1em 0.1em;line-height:1;vertical-align:middle} +.fr-view .fr-text-gray{color:#AAA !important} +.fr-view .fr-text-bordered{border-top:solid 1px #222;border-bottom:solid 1px #222;padding:10px 0} +.fr-view .fr-text-spaced{letter-spacing:1px} +.fr-view .fr-text-uppercase{text-transform:uppercase} +.fr-view img{position:relative;max-width:100%} +.fr-view img.fr-dib{margin:5px auto;display:block;float:none;vertical-align:top} +.fr-view img.fr-dib.fr-fil{margin-left:0} +.fr-view img.fr-dib.fr-fir{margin-right:0} +.fr-view img.fr-dii{display:inline-block;float:none;vertical-align:bottom;margin-left:5px;margin-right:5px;max-width:calc(90%)} +.fr-view img.fr-dii.fr-fil{float:left;margin:5px 5px 5px 0;max-width:calc(95%)} +.fr-view img.fr-dii.fr-fir{float:right;margin:5px 0 5px 5px;max-width:calc(95%)} +.fr-view img.fr-rounded{border-radius:100%;-moz-border-radius:100%;-webkit-border-radius:100%;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box} +.fr-view img.fr-bordered{border:solid 10px #CCC;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box} +.fr-view .fr-video{text-align:center;position:relative} +.fr-view .fr-video > *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;max-width:100%;border:none} +.fr-view .fr-video.fr-dvb{display:block;clear:both} +.fr-view .fr-video.fr-dvb.fr-fvl{text-align:left} +.fr-view .fr-video.fr-dvb.fr-fvr{text-align:right} +.fr-view .fr-video.fr-dvi{display:inline-block} +.fr-view .fr-video.fr-dvi.fr-fvl{float:left} +.fr-view .fr-video.fr-dvi.fr-fvr{float:right} +.fr-view a.fr-strong{font-weight:700} +.fr-view a.fr-green{color:green} +.fr-view button.fr-rounded,.fr-view input.fr-rounded,.fr-view textarea.fr-rounded{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box} +.fr-view button.fr-large,.fr-view input.fr-large,.fr-view textarea.fr-large{font-size:24px} + a.fr-view.fr-strong{font-weight:700} +a.fr-view.fr-green{color:green} + img.fr-view{position:relative;max-width:100%} +img.fr-view.fr-dib{margin:5px auto;display:block;float:none;vertical-align:top} +img.fr-view.fr-dib.fr-fil{margin-left:0} +img.fr-view.fr-dib.fr-fir{margin-right:0} +img.fr-view.fr-dii{display:inline-block;float:none;vertical-align:bottom;margin-left:5px;margin-right:5px;max-width:calc(90%)} +img.fr-view.fr-dii.fr-fil{float:left;margin:5px 5px 5px 0;max-width:calc(95%)} +img.fr-view.fr-dii.fr-fir{float:right;margin:5px 0 5px 5px;max-width:calc(95%)} +img.fr-view.fr-rounded{border-radius:100%;-moz-border-radius:100%;-webkit-border-radius:100%;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box} +img.fr-view.fr-bordered{border:solid 10px #CCC;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box} +body.fr-fullscreen{overflow:hidden;height:100%;width:100%;position:fixed} +.fr-box.fr-fullscreen{margin:0 !important;position:fixed;top:0;left:0;bottom:0;right:0;z-index:9990 !important;width:auto !important} +.fr-box.fr-fullscreen .fr-toolbar.fr-top{top:0 !important} +.fr-box.fr-fullscreen .fr-toolbar.fr-bottom{bottom:0 !important} +textarea.fr-code{display:none;width:100%;resize:none;-moz-resize:none;-webkit-resize:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;padding:10px;margin:0px;font-family:"Courier New",monospace;font-size:14px;background:#ffffff;color:#000000;outline:none} +.fr-box.fr-rtl textarea.fr-code{direction:rtl} +.fr-box .CodeMirror{display:none} +.fr-box.fr-code-view textarea.fr-code{display:block;min-height:150px} +.fr-box.fr-code-view.fr-inline{-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)} +.fr-box.fr-code-view .fr-element,.fr-box.fr-code-view .fr-placeholder,.fr-box.fr-code-view .fr-iframe{display:none} +.fr-box.fr-code-view .CodeMirror{display:block} +.fr-box.fr-inline.fr-code-view .fr-command.fr-btn.html-switch{display:block} +.fr-box.fr-inline .fr-command.fr-btn.html-switch{position:absolute;top:0;right:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);display:none;background:#ffffff;color:rgba(0,0,0,0.5);-moz-outline:0;outline:0;border:0;line-height:1;cursor:pointer;text-align:left;padding:11px 11.5px;transition:background 0.2s ease 0s;-webkit-transition:background 0.2s ease 0s;-moz-transition:background 0.2s ease 0s;-ms-transition:background 0.2s ease 0s;-o-transition:background 0.2s ease 0s;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none} +.fr-box.fr-inline .fr-command.fr-btn.html-switch i{font-size:15px;width:15px;text-align:center} +.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover{background:#ebebeb} +.fr-file-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-align:center} +.fr-file-upload-layer:hover{background:#ebebeb} +.fr-file-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5} +.fr-file-upload-layer .fr-form{filter:alpha(opacity=0);-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:9999;overflow:hidden;margin:0 !important;padding:0 !important;width:100% !important} +.fr-file-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0px;top:0px;bottom:0px;width:500%;height:100%;margin:0px;font-size:400px} +.fr-file-progress-bar-layer{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.fr-file-progress-bar-layer > h3{font-size:16px;margin:10px 0;font-weight:normal} +.fr-file-progress-bar-layer > div.fr-action-buttons{display:none} +.fr-file-progress-bar-layer > div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative} +.fr-file-progress-bar-layer > div.fr-loader span{display:block;height:100%;width:0%;background:#1e88e5;transition:width 0.2s ease 0s;-webkit-transition:width 0.2s ease 0s;-moz-transition:width 0.2s ease 0s;-ms-transition:width 0.2s ease 0s;-o-transition:width 0.2s ease 0s} +.fr-file-progress-bar-layer > div.fr-loader.fr-indeterminate span{width:30% !important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite} +.fr-file-progress-bar-layer.fr-error > div.fr-loader{display:none} +.fr-file-progress-bar-layer.fr-error > div.fr-action-buttons{display:block} +@keyframes loading{from{left:-25%} +to{left:100%} +} +@-webkit-keyframes loading{from{left:-25%} +to{left:100%} +} +@-moz-keyframes loading{from{left:-25%} +to{left:100%} +} +@-o-keyframes loading{from{left:-25%} +to{left:100%} +} +.fr-element img{cursor:pointer} +.fr-image-resizer{position:absolute;border:solid 1px #1e88e5;display:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box} +.fr-image-resizer.fr-active{display:block} +.fr-image-resizer .fr-handler{display:block;position:absolute;background:#1e88e5;border:solid 1px #ffffff;z-index:4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.fr-image-resizer .fr-handler.fr-hnw{cursor:nw-resize} +.fr-image-resizer .fr-handler.fr-hne{cursor:ne-resize} +.fr-image-resizer .fr-handler.fr-hsw{cursor:sw-resize} +.fr-image-resizer .fr-handler.fr-hse{cursor:se-resize} +.fr-image-resizer .fr-handler{width:12px;height:12px} +.fr-image-resizer .fr-handler.fr-hnw{left:-6px;top:-6px} +.fr-image-resizer .fr-handler.fr-hne{right:-6px;top:-6px} +.fr-image-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px} +.fr-image-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px} +@media (min-width:1200px){.fr-image-resizer .fr-handler{width:10px;height:10px} +.fr-image-resizer .fr-handler.fr-hnw{left:-5px;top:-5px} +.fr-image-resizer .fr-handler.fr-hne{right:-5px;top:-5px} +.fr-image-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px} +.fr-image-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px} +} +.fr-image-overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:9999;display:none} +.fr-image-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;text-align:center} +.fr-image-upload-layer:hover{background:#ebebeb} +.fr-image-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5} +.fr-image-upload-layer .fr-form{filter:alpha(opacity=0);-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:9999;overflow:hidden;margin:0 !important;padding:0 !important;width:100% !important} +.fr-image-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0px;top:0px;bottom:0px;width:500%;height:100%;margin:0px;font-size:400px} +.fr-image-progress-bar-layer > h3{font-size:16px;margin:10px 0;font-weight:normal} +.fr-image-progress-bar-layer > div.fr-action-buttons{display:none} +.fr-image-progress-bar-layer > div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative} +.fr-image-progress-bar-layer > div.fr-loader span{display:block;height:100%;width:0%;background:#1e88e5;transition:width 0.2s ease 0s;-webkit-transition:width 0.2s ease 0s;-moz-transition:width 0.2s ease 0s;-ms-transition:width 0.2s ease 0s;-o-transition:width 0.2s ease 0s} +.fr-image-progress-bar-layer > div.fr-loader.fr-indeterminate span{width:30% !important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite} +.fr-image-progress-bar-layer.fr-error > div.fr-loader{display:none} +.fr-image-progress-bar-layer.fr-error > div.fr-action-buttons{display:block} +.fr-image-size-layer .fr-image-group .fr-input-line{width:calc(45%);display:inline-block} +.fr-image-size-layer .fr-image-group .fr-input-line + .fr-input-line{margin-left:10px} +.fr-uploading{filter:alpha(opacity=40);-webkit-opacity:0.4;-moz-opacity:0.4;opacity:0.4;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"} +@keyframes loading{from{left:-25%} +to{left:100%} +} +@-webkit-keyframes loading{from{left:-25%} +to{left:100%} +} +@-moz-keyframes loading{from{left:-25%} +to{left:100%} +} +@-o-keyframes loading{from{left:-25%} +to{left:100%} +} +.fr-element table td.fr-selected-cell,.fr-element table th.fr-selected-cell{border:1px double #1e88e5} +.fr-element table tr{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none} +.fr-element table td,.fr-element table th{user-select:text;-o-user-select:text;-moz-user-select:text;-khtml-user-select:text;-webkit-user-select:text;-ms-user-select:text} +.fr-element .fr-no-selection table td,.fr-element .fr-no-selection table th{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none} +.fr-table-resizer{cursor:col-resize;position:fixed;z-index:3;display:none} +.fr-table-resizer.fr-moving{z-index:2} +.fr-table-resizer div{filter:alpha(opacity=0);-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";border-right:1px solid #1e88e5} +.fr-no-selection{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none} +.fr-popup .fr-table-size .fr-table-size-info{text-align:center;font-size:14px;padding:8px} +.fr-popup .fr-table-size .fr-select-table-size{line-height:0;padding:0 5px 5px;white-space:nowrap} +.fr-popup .fr-table-size .fr-select-table-size > span{display:inline-block;padding:0px 4px 4px 0} +.fr-popup .fr-table-size .fr-select-table-size > span > span{display:inline-block;width:18px;height:18px;border:1px solid #dddddd} +.fr-popup .fr-table-size .fr-select-table-size > span:hover,.fr-popup .fr-table-size .fr-select-table-size > span.hover{background:transparent} +.fr-popup .fr-table-size .fr-select-table-size > span:hover > span,.fr-popup .fr-table-size .fr-select-table-size > span.hover > span{background:rgba(30,136,229,0.3);border:solid 1px #1e88e5} +.fr-popup .fr-table-size .fr-select-table-size .new-line:before,.fr-popup .fr-table-size .fr-select-table-size .new-line:after{content:" ";display:table} +.fr-popup .fr-table-size .fr-select-table-size .new-line:after{clear:both} +.fr-popup .fr-table-size .fr-select-table-size .new-line::after{clear:both;display:block;content:""} +.fr-popup.fr-above .fr-table-size .fr-select-table-size > span{display:inline-block !important} +.fr-popup .fr-table-colors-buttons{margin-bottom:5px} +.fr-popup .fr-table-colors{line-height:0;display:block} +.fr-popup .fr-table-colors > span{display:inline-block;width:32px;height:32px;position:relative;z-index:1} +.fr-popup .fr-table-colors > span > i{text-align:center;line-height:32px;height:32px;width:32px;font-size:13px;position:absolute;bottom:0;cursor:default;left:0} +.fr-popup .fr-table-colors > span.fr-selected-color::after{color:#ffffff;content:"\f00c";font-family:FontAwesome;font-size:13px;font-weight:400;line-height:32px;position:absolute;top:0;bottom:0;right:0;left:0;text-align:center;cursor:default} +.fr-popup .fr-table-colors > span:hover,.fr-popup .fr-table-colors > span.fr-selected-color{outline:1px solid #222222;z-index:2} +.fr-popup.fr-desktop .fr-table-size .fr-select-table-size > span > span{width:12px;height:12px} +.fr-insert-helper{position:fixed;z-index:9999;white-space:nowrap} +.fr-element .fr-video{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none} +.fr-element .fr-video::after{position:absolute;content:'';z-index:1;top:0;left:0;right:0;bottom:0;cursor:pointer;display:block;background:rgba(0,0,0,0)} +.fr-element .fr-video.fr-active > *{z-index:2;position:relative} +.fr-element .fr-video > *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;max-width:100%;border:none} +.fr-box .fr-video-resizer{position:absolute;border:solid 1px #1e88e5;display:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none} +.fr-box .fr-video-resizer.fr-active{display:block} +.fr-box .fr-video-resizer .fr-handler{display:block;position:absolute;background:#1e88e5;border:solid 1px #ffffff;z-index:4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box} +.fr-box .fr-video-resizer .fr-handler.fr-hnw{cursor:nw-resize} +.fr-box .fr-video-resizer .fr-handler.fr-hne{cursor:ne-resize} +.fr-box .fr-video-resizer .fr-handler.fr-hsw{cursor:sw-resize} +.fr-box .fr-video-resizer .fr-handler.fr-hse{cursor:se-resize} +.fr-box .fr-video-resizer .fr-handler{width:12px;height:12px} +.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-6px;top:-6px} +.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-6px;top:-6px} +.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px} +.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px} +@media (min-width:1200px){.fr-box .fr-video-resizer .fr-handler{width:10px;height:10px} +.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-5px;top:-5px} +.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-5px;top:-5px} +.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px} +.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px} +} +.fr-video-size-layer .fr-video-group .fr-input-line{width:calc(45%);display:inline-block} +.fr-video-size-layer .fr-video-group .fr-input-line + .fr-input-line{margin-left:10px} +.fr-video-overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:9999;display:none} +.fr-popup .fr-colors-tabs{-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);margin-bottom:5px;line-height:16px;margin-left:-2px;margin-right:-2px} +.fr-popup .fr-colors-tabs .fr-colors-tab{display:inline-block;width:50%;cursor:pointer;text-align:center;color:#222222;font-size:13px;padding:8px 0;position:relative} +.fr-popup .fr-colors-tabs .fr-colors-tab:hover{color:#1e88e5} +.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1="background"]::after{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#1e88e5;content:'';transition:transform 0.2s ease 0s;-webkit-transition:transform 0.2s ease 0s;-moz-transition:transform 0.2s ease 0s;-ms-transition:transform 0.2s ease 0s;-o-transition:transform 0.2s ease 0s} +.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab{color:#1e88e5} +.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1="text"] ~ [data-param1="background"]::after{transform:translate3d(-100%,0,0);-webkit-transform:translate3d(-100%,0,0);-moz-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);-o-transform:translate3d(-100%,0,0)} +.fr-popup .fr-separator + .fr-colors-tabs{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;margin-left:2px;margin-right:2px} +.fr-popup .fr-color-set{line-height:0;display:none} +.fr-popup .fr-color-set.fr-selected-set{display:block} +.fr-popup .fr-color-set > span{display:inline-block;width:32px;height:32px;position:relative;z-index:1} +.fr-popup .fr-color-set > span > i{text-align:center;line-height:32px;height:32px;width:32px;font-size:13px;position:absolute;bottom:0;cursor:default;left:0} +.fr-popup .fr-color-set > span.fr-selected-color::after{color:#ffffff;content:"\f00c";font-family:FontAwesome;font-size:13px;font-weight:400;line-height:32px;position:absolute;top:0;bottom:0;right:0;left:0;text-align:center;cursor:default} +.fr-popup .fr-color-set > span:hover,.fr-popup .fr-color-set > span.fr-selected-color{outline:1px solid #222222;z-index:2} +.fr-rtl .fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1="text"] ~ [data-param1="background"]::after{transform:translate3d(100%,0,0);-webkit-transform:translate3d(100%,0,0);-moz-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);-o-transform:translate3d(100%,0,0)} +.fr-popup .fr-emoticon{display:inline-block;font-size:20px;width:20px;padding:5px;line-height:1;cursor:default;font-weight:normal;font-family:"Apple Color Emoji","Segoe UI Emoji","NotoColorEmoji","Segoe UI Symbol","Android Emoji","EmojiSymbols";-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box} +.fr-popup .fr-emoticon img{height:20px} +.fr-line-breaker{cursor:text;border-top:1px solid #1e88e5;position:fixed;z-index:2;display:none} +.fr-line-breaker.fr-visible{display:block} +.fr-line-breaker a.fr-floating-btn{position:absolute;left:calc(34%);top:-16px} +.fr-drag-helper{background:#1e88e5;height:2px;margin-top:-1px;filter:alpha(opacity=20);-webkit-opacity:0.2;-moz-opacity:0.2;opacity:0.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";position:absolute;z-index:9999;display:none} +.fr-drag-helper.fr-visible{display:block} +.fr-dragging{filter:alpha(opacity=40);-webkit-opacity:0.4;-moz-opacity:0.4;opacity:0.4;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"} +.fr-box.fr-basic.fr-top .fr-wrapper,.fr-box.fr-basic.fr-bottom .fr-wrapper{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none} +.fr-box .ace_editor{display:none} +.fr-box .ace_editor{position:absolute;top:0;bottom:0;left:0;right:0;margin:0} +.fr-box.fr-code-view .ace_editor{display:block} +.fr-command.fr-btn[data-cmd=fullscreen]{float:right} +.fr-toolbar{border-top-color:transparent} +.fr-popup.fr-desktop .fr-arrow,.fr-toolbar.fr-inline.fr-desktop .fr-arrow{top:-7px} +.fr-popup.fr-desktop.fr-above .fr-arrow,.fr-toolbar.fr-inline.fr-desktop.fr-above .fr-arrow{bottom:-7px} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active{color:#222222} +.fr-toolbar.fr-bottom,.fr-toolbar.fr-top{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-bottom:2px solid #d4d8da !important} .field-flush .field-richeditor,.field-flush .field-richeditor.editor-focus{border:none} -.field-richeditor{border:1px solid #bdc3c7;-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s} -.field-richeditor,.field-richeditor .redactor-box{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px} -.field-richeditor .redactor-toolbar{border-top-right-radius:5px;border-top-left-radius:5px} +.field-richeditor{border:1px solid #bdc3c7;-webkit-box-shadow:inset 0 1px 0 rgba(189,195,199,0.25),0 1px 0 rgba(255,255,255,.5);-moz-box-shadow:inset 0 1px 0 rgba(189,195,199,0.25),0 1px 0 rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(189,195,199,0.25),0 1px 0 rgba(255,255,255,.5);border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-moz-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-ms-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-o-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s} .field-richeditor.editor-focus{border-color:#bdc3c7} -.field-richeditor.size-tiny .redactor-editor{height:20px !important} -.field-richeditor.size-small .redactor-editor{height:70px !important} -.field-richeditor.size-large .redactor-editor{height:170px !important} -.field-richeditor.size-huge .redactor-editor{height:220px !important} -.field-richeditor.size-giant .redactor-editor{height:320px !important} -.redactor-box{margin-bottom:0;overflow:hidden} -.redactor-box iframe{border:none} -.redactor-box-fullscreen{z-index:715 !important} -.redactor-dropdown{z-index:725 !important} -#redactor-modal-overlay,#redactor-modal-box,#redactor-modal{z-index:720 !important} -.redactor-toolbar{background:#dddddd;-webkit-box-shadow:none;box-shadow:none;z-index:410 !important} -.redactor-toolbar li.redactor-btn-right{float:right;margin-right:2px} -.redactor-toolbar li a{color:#404040;font-size:14px;width:20px;line-height:20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} -.redactor-toolbar li a:hover{background-color:#999999;color:#ffffff} -.redactor-toolbar li a:active,.redactor-toolbar li a.redactor-act{background-color:#404040;color:#ffffff} -.redactor-toolbar li a.fa-redactor-btn{padding:9px 10px;line-height:20px} -.redactor-toolbar li a.oc-redactor-button i:before{font-size:16px !important} -.redactor-toolbar li a.oc-autumn-button{color:#c03f31} -.redactor-toolbar li a.oc-autumn-button:hover{color:white !important} -.redactor-editor{border:none;font-size:13px;color:#385487;padding:15px} -.field-richeditor.stretch .redactor-box{display:block;position:relative;height:100% !important;width:100% !important;-webkit-border-radius:0 !important;-moz-border-radius:0 !important;border-radius:0 !important;overflow:hidden} -.field-richeditor.stretch .redactor-box .redactor-toolbar{-webkit-border-radius:0 !important;-moz-border-radius:0 !important;border-radius:0 !important;display:block;border-bottom:none;position:absolute;width:100%;top:0} -.field-richeditor.stretch .redactor-box .redactor-editor,.field-richeditor.stretch .redactor-box textarea{width:100% !important;left:0;top:0;bottom:0;position:absolute;height:auto !important;padding:20px} -.field-richeditor.stretch .redactor-box .redactor-editor{height:auto !important} -.field-richeditor.stretch .redactor-box textarea{padding:10px} -body .redactor-box-fullscreen{background:#f9f9f9;overflow-y:scroll !important;width:100% !important} -body .redactor-box-fullscreen .redactor-editor{background:#fff;max-width:960px;padding:50px 30px !important;margin:20px auto !important;padding:20px;top:0 !important} -.redactor-editor figure[data-ui-block]{display:block;margin:0 0 15px 0;padding:10px 10px 10px 36px;border:2px dotted #bdc3c7;background:white;position:relative;cursor:pointer;color:#6c7071;font:15px sans-serif;font-weight:500;line-height:150%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} -.redactor-editor figure[data-ui-block]:focus,.redactor-editor figure[data-ui-block].inspector-open{border-color:#2581b8;border-style:solid;outline:none} -.redactor-editor figure[data-video],.redactor-editor figure[data-audio]{padding-left:13px} -.redactor-editor figure[data-video]:after,.redactor-editor figure[data-audio]:after{content:attr(data-label)} -.redactor-editor figure[data-video]:before,.redactor-editor figure[data-audio]:before{position:static;margin-right:8px} -.redactor-editor figure[data-video]:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f03d"} -.redactor-editor figure[data-audio]:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f028"} \ No newline at end of file +.field-richeditor.size-tiny .fr-wrapper{height:50px} +.field-richeditor.size-tiny .fr-wrapper .fr-view{min-height:50px} +.field-richeditor.size-tiny .height-indicator{height:50px;display:none} +.field-richeditor.size-small .fr-wrapper{height:100px} +.field-richeditor.size-small .fr-wrapper .fr-view{min-height:100px} +.field-richeditor.size-small .height-indicator{height:100px;display:none} +.field-richeditor.size-large .fr-wrapper{height:200px} +.field-richeditor.size-large .fr-wrapper .fr-view{min-height:200px} +.field-richeditor.size-large .height-indicator{height:200px;display:none} +.field-richeditor.size-huge .fr-wrapper{height:250px} +.field-richeditor.size-huge .fr-wrapper .fr-view{min-height:250px} +.field-richeditor.size-huge .height-indicator{height:250px;display:none} +.field-richeditor.size-giant .fr-wrapper{height:350px} +.field-richeditor.size-giant .fr-wrapper .fr-view{min-height:350px} +.field-richeditor.size-giant .height-indicator{height:350px;display:none} +.field-richeditor.stretch .fr-box:not(.fr-fullscreen){display:block;position:relative;height:100% !important;width:100% !important;border-radius:0 !important;-moz-border-radius:0 !important;-webkit-border-radius:0 !important;-moz-background-clip:padding !important;-webkit-background-clip:padding-box !important;background-clip:padding-box !important;overflow:hidden} +.field-richeditor.stretch .fr-box:not(.fr-fullscreen) .fr-toolbar{border-radius:0 !important;-moz-border-radius:0 !important;-webkit-border-radius:0 !important;-moz-background-clip:padding !important;-webkit-background-clip:padding-box !important;background-clip:padding-box !important;border-top-color:white} +.field-richeditor.stretch .fr-box:not(.fr-fullscreen) .fr-wrapper{width:100% !important;left:0;top:0;bottom:0;position:absolute;height:auto !important} +.field-richeditor.stretch .fr-box:not(.fr-fullscreen) .fr-wrapper .fr-view{min-height:0} +.field-richeditor.stretch .fr-box:not(.fr-fullscreen) .fr-view,.field-richeditor.stretch .fr-box:not(.fr-fullscreen) textarea{height:100%} +.field-richeditor.stretch .fr-box:not(.fr-fullscreen) .fr-placeholder{top:20px;left:20px} +.control-richeditor figure[data-ui-block]{display:block;margin:0 0 15px 0;padding:10px 10px 10px 36px;border:2px dotted #bdc3c7;background:white;position:relative;cursor:pointer;color:#6c7071;font:15px sans-serif;font-weight:500;line-height:150%;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box} +.control-richeditor figure[data-ui-block]:focus,.control-richeditor figure[data-ui-block].inspector-open{border-color:#2581b8;border-style:solid;outline:none} +.control-richeditor figure[data-video],.control-richeditor figure[data-audio]{padding-left:13px} +.control-richeditor figure[data-video]:after,.control-richeditor figure[data-audio]:after{content:attr(data-label)} +.control-richeditor figure[data-video]:before,.control-richeditor figure[data-audio]:before{position:static;margin-right:8px} +.control-richeditor figure[data-video]:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f03d"} +.control-richeditor figure[data-audio]:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f028"} \ No newline at end of file diff --git a/modules/backend/formwidgets/richeditor/assets/js/build-min.js b/modules/backend/formwidgets/richeditor/assets/js/build-min.js index b24644e4e..d0a95a928 100755 --- a/modules/backend/formwidgets/richeditor/assets/js/build-min.js +++ b/modules/backend/formwidgets/richeditor/assets/js/build-min.js @@ -1,2059 +1,158 @@ - -(function($) -{'use strict';if(!Function.prototype.bind) -{Function.prototype.bind=function(scope) -{var fn=this;return function() -{return fn.apply(scope);};};} -var uuid=0;$.fn.redactor=function(options) -{var val=[];var args=Array.prototype.slice.call(arguments,1);if(typeof options==='string') -{this.each(function() -{var instance=$.data(this,'redactor');var func;if(options.search(/\./)!='-1') -{func=options.split('.');if(typeof instance[func[0]]!='undefined') -{func=instance[func[0]][func[1]];}} -else -{func=instance[options];} -if(typeof instance!=='undefined'&&$.isFunction(func)) -{var methodVal=func.apply(instance,args);if(methodVal!==undefined&&methodVal!==instance) -{val.push(methodVal);}} -else -{$.error('No such method "'+options+'" for Redactor');}});} -else -{this.each(function() -{$.data(this,'redactor',{});$.data(this,'redactor',Redactor(this,options));});} -if(val.length===0)return this;else if(val.length===1)return val[0];else return val;};function Redactor(el,options) -{return new Redactor.prototype.init(el,options);} -$.Redactor=Redactor;$.Redactor.VERSION='10.2.5';$.Redactor.modules=['alignment','autosave','block','buffer','build','button','caret','clean','code','core','dropdown','file','focus','image','indent','inline','insert','keydown','keyup','lang','line','link','linkify','list','modal','observe','paragraphize','paste','placeholder','progress','selection','shortcuts','tabifier','tidy','toolbar','upload','utils'];$.Redactor.opts={lang:'en',direction:'ltr',plugins:false,focus:false,focusEnd:false,placeholder:false,visual:true,tabindex:false,minHeight:false,maxHeight:false,linebreaks:false,replaceDivs:true,paragraphize:true,cleanStyleOnEnter:false,enterKey:true,cleanOnPaste:true,cleanSpaces:true,pastePlainText:false,autosave:false,autosaveName:false,autosaveInterval:60,autosaveOnChange:false,autosaveFields:false,linkTooltip:true,linkProtocol:'http',linkNofollow:false,linkSize:50,imageEditable:true,imageLink:true,imagePosition:true,imageFloatMargin:'10px',imageResizable:true,imageUpload:null,imageUploadParam:'file',uploadImageField:false,dragImageUpload:true,fileUpload:null,fileUploadParam:'file',dragFileUpload:false,s3:false,convertLinks:true,convertUrlLinks:true,convertImageLinks:true,convertVideoLinks:true,preSpaces:4,tabAsSpaces:true,tabKey:true,scrollTarget:false,toolbar:true,toolbarFixed:true,toolbarFixedTarget:document,toolbarFixedTopOffset:0,toolbarExternal:false,toolbarOverflow:false,source:true,buttons:['html','formatting','bold','italic','deleted','unorderedlist','orderedlist','outdent','indent','image','file','link','alignment','horizontalrule'],buttonsHide:[],buttonsHideOnMobile:[],formatting:['p','blockquote','pre','h1','h2','h3','h4','h5','h6'],formattingAdd:false,tabifier:true,deniedTags:['script','style'],allowedTags:false,paragraphizeBlocks:['table','div','pre','form','ul','ol','h1','h2','h3','h4','h5','h6','dl','blockquote','figcaption','address','section','header','footer','aside','article','object','style','script','iframe','select','input','textarea','button','option','map','area','math','hr','fieldset','legend','hgroup','nav','figure','details','menu','summary','p'],removeComments:false,replaceTags:[['strike','del'],['b','strong']],replaceStyles:[['font-weight:\\s?bold',"strong"],['font-style:\\s?italic',"em"],['text-decoration:\\s?underline',"u"],['text-decoration:\\s?line-through','del']],removeDataAttr:false,removeAttr:false,allowedAttr:false,removeWithoutAttr:['span'],removeEmpty:['p'],activeButtons:['deleted','italic','bold','underline','unorderedlist','orderedlist','alignleft','aligncenter','alignright','justify'],activeButtonsStates:{b:'bold',strong:'bold',i:'italic',em:'italic',del:'deleted',strike:'deleted',ul:'unorderedlist',ol:'orderedlist',u:'underline'},shortcuts:{'ctrl+shift+m, meta+shift+m':{func:'inline.removeFormat'},'ctrl+b, meta+b':{func:'inline.format',params:['bold']},'ctrl+i, meta+i':{func:'inline.format',params:['italic']},'ctrl+h, meta+h':{func:'inline.format',params:['superscript']},'ctrl+l, meta+l':{func:'inline.format',params:['subscript']},'ctrl+k, meta+k':{func:'link.show'},'ctrl+shift+7':{func:'list.toggle',params:['orderedlist']},'ctrl+shift+8':{func:'list.toggle',params:['unorderedlist']}},shortcutsAdd:false,buffer:[],rebuffer:[],emptyHtml:'

',invisibleSpace:'​',imageTypes:['image/png','image/jpeg','image/gif'],indentValue:20,verifiedTags:['a','img','b','strong','sub','sup','i','em','u','small','strike','del','cite','ul','ol','li'],inlineTags:['strong','b','u','em','i','code','del','ins','samp','kbd','sup','sub','mark','var','cite','small'],alignmentTags:['P','H1','H2','H3','H4','H5','H6','DL','DT','DD','DIV','TD','BLOCKQUOTE','OUTPUT','FIGCAPTION','ADDRESS','SECTION','HEADER','FOOTER','ASIDE','ARTICLE'],blockLevelElements:['PRE','UL','OL','LI'],highContrast:false,observe:{dropdowns:[]},langs:{en:{html:'HTML',video:'Insert Video',image:'Insert Image',table:'Table',link:'Link',link_insert:'Insert link',link_edit:'Edit link',unlink:'Unlink',formatting:'Formatting',paragraph:'Normal text',quote:'Quote',code:'Code',header1:'Header 1',header2:'Header 2',header3:'Header 3',header4:'Header 4',header5:'Header 5',bold:'Bold',italic:'Italic',fontcolor:'Font Color',backcolor:'Back Color',unorderedlist:'Unordered List',orderedlist:'Ordered List',outdent:'Outdent',indent:'Indent',cancel:'Cancel',insert:'Insert',save:'Save',_delete:'Delete',insert_table:'Insert Table',insert_row_above:'Add Row Above',insert_row_below:'Add Row Below',insert_column_left:'Add Column Left',insert_column_right:'Add Column Right',delete_column:'Delete Column',delete_row:'Delete Row',delete_table:'Delete Table',rows:'Rows',columns:'Columns',add_head:'Add Head',delete_head:'Delete Head',title:'Title',image_position:'Position',none:'None',left:'Left',right:'Right',center:'Center',image_web_link:'Image Web Link',text:'Text',mailto:'Email',web:'URL',video_html_code:'Video Embed Code or Youtube/Vimeo Link',file:'Insert File',upload:'Upload',download:'Download',choose:'Choose',or_choose:'Or choose',drop_file_here:'Drop file here',align_left:'Align text to the left',align_center:'Center text',align_right:'Align text to the right',align_justify:'Justify text',horizontalrule:'Insert Horizontal Rule',deleted:'Deleted',anchor:'Anchor',link_new_tab:'Open link in new tab',underline:'Underline',alignment:'Alignment',filename:'Name (optional)',edit:'Edit',upload_label:'Drop file here or '}},linkify:{regexps:{youtube:/https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com\S*[^\w\-\s])([\w\-]{11})(?=[^\w\-]|$)(?![?=&+%\w.\-]*(?:['"][^<>]*>|<\/a>))[?=&+%\w.-]*/ig,vimeo:/https?:\/\/(www\.)?vimeo.com\/(\d+)($|\/)/,image:/((https?|www)[^\s]+\.)(jpe?g|png|gif)(\?[^\s-]+)?/ig,url:/(https?:\/\/(?:www\.|(?!www))[^\s\.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/ig,}},codemirror:false};Redactor.fn=$.Redactor.prototype={keyCode:{BACKSPACE:8,DELETE:46,UP:38,DOWN:40,ENTER:13,SPACE:32,ESC:27,TAB:9,CTRL:17,META:91,SHIFT:16,ALT:18,RIGHT:39,LEFT:37,LEFT_WIN:91},init:function(el,options) -{this.$element=$(el);this.uuid=uuid++;this.rtePaste=false;this.$pasteBox=false;this.loadOptions(options);this.loadModules();this.formatting={};$.merge(this.opts.blockLevelElements,this.opts.alignmentTags);this.reIsBlock=new RegExp('^('+this.opts.blockLevelElements.join('|')+')$','i');this.tidy.setupAllowed();if(this.opts.deniedTags!==false) -{var tags=['html','head','link','body','meta','applet'];for(var i=0;i');block=this.selection.getBlock();this.block.toggle($(block));} -else if(block.tagName.toLowerCase()!=tag) -{if(this.opts.linebreaks&&tag=='p') -{$(block).append('
');this.utils.replaceWithContents(block);} -else -{var $formatted=this.utils.replaceToTag(block,tag);this.block.toggle($formatted);if(tag!='p'&&tag!='blockquote')$formatted.find('img').remove();if(this.block.isRemoveInline)this.utils.removeInlineTags($formatted);if(tag=='p'||this.block.headTag)$formatted.find('p').contents().unwrap();this.block.formatTableWrapping($formatted);}} -else if(tag=='blockquote'&&block.tagName.toLowerCase()==tag) -{if(this.opts.linebreaks) -{$(block).append('
');this.utils.replaceWithContents(block);} -else -{var $el=this.utils.replaceToTag(block,'p');this.block.toggle($el);}} -else if(block.tagName.toLowerCase()==tag) -{this.block.toggle($(block));} -if(typeof this.block.type=='undefined'&&typeof this.block.value=='undefined') -{$(block).removeAttr('class').removeAttr('style');}},setMultiple:function(tag) -{var block=this.block.blocks[0];var isContainerTable=(this.block.containerTag=='TD'||this.block.containerTag=='TH');if(block!==false&&this.block.blocksSize===1) -{if(block.tagName.toLowerCase()==tag&&tag=='blockquote') -{if(this.opts.linebreaks) -{$(block).append('
');this.utils.replaceWithContents(block);} -else -{var $el=this.utils.replaceToTag(block,'p');this.block.toggle($el);}} -else if(block.tagName=='LI') -{if(tag!='blockquote')return;this.block.formatListToBlockquote();} -else if(this.block.containerTag=='BLOCKQUOTE') -{this.block.formatBlockquote(tag);} -else if(this.opts.linebreaks&&((isContainerTable)||(this.range.commonAncestorContainer!=block))) -{this.block.formatWrap(tag);} -else -{if(this.opts.linebreaks&&tag=='p') -{$(block).prepend('
').append('
');this.utils.replaceWithContents(block);} -else if(block.tagName==='TD') -{this.block.formatWrap(tag);} -else -{var $formatted=this.utils.replaceToTag(block,tag);this.block.toggle($formatted);if(this.block.isRemoveInline)this.utils.removeInlineTags($formatted);if(tag=='p'||this.block.headTag)$formatted.find('p').contents().unwrap();}}} -else -{if(this.opts.linebreaks||tag!='p') -{if(tag=='blockquote') -{var count=0;for(var i=0;i').append('
');$formatted=this.utils.replaceWithContents(s);} -else -{$formatted=this.utils.replaceToTag(s,'p');} -if($formatted&&typeof this.block.type=='undefined'&&typeof this.block.value=='undefined') -{$formatted.removeAttr('class').removeAttr('style');}},this));return;}} -this.block.formatWrap(tag);} -else -{var classSize=0;var toggleType=false;if(this.block.type=='class') -{toggleType='toggle';classSize=$(this.block.blocks).filter('.'+this.block.value).length;if(this.block.blocksSize==classSize)toggleType='toggle';else if(this.block.blocksSize>classSize)toggleType='set';else if(classSize===0)toggleType='set';} -var exceptTags=['ul','ol','li','td','th','dl','dt','dd'];$.each(this.block.blocks,$.proxy(function(i,s) -{if($.inArray(s.tagName.toLowerCase(),exceptTags)!=-1)return;var $formatted=this.utils.replaceToTag(s,tag);if(toggleType) -{if(toggleType=='toggle')this.block.toggle($formatted);else if(toggleType=='remove')this.block.remove($formatted);else if(toggleType=='set')this.block.setForce($formatted);} -else this.block.toggle($formatted);if(tag!='p'&&tag!='blockquote')$formatted.find('img').remove();if(this.block.isRemoveInline)this.utils.removeInlineTags($formatted);if(tag=='p'||this.block.headTag)$formatted.find('p').contents().unwrap();if(typeof this.block.type=='undefined'&&typeof this.block.value=='undefined') -{$formatted.removeAttr('class').removeAttr('style');}},this));}}},setForce:function($el) -{if(this.block.clearStyle) -{$el.removeAttr('class').removeAttr('style');} -if(this.block.type=='class') -{$el.addClass(this.block.value);return;} -else if(this.block.type=='attr'||this.block.type=='data') -{$el.attr(this.block.value.name,this.block.value.value);return;}},toggle:function($el) -{if(this.block.clearStyle) -{$el.removeAttr('class').removeAttr('style');} -if(this.block.type=='class') -{$el.toggleClass(this.block.value);return;} -else if(this.block.type=='attr'||this.block.type=='data') -{if($el.attr(this.block.value.name)==this.block.value.value) -{$el.removeAttr(this.block.value.name);} -else -{$el.attr(this.block.value.name,this.block.value.value);} -return;} -else -{$el.removeAttr('style class');return;}},remove:function($el) -{$el.removeClass(this.block.value);},formatListToBlockquote:function() -{var block=$(this.block.blocks[0]).closest('ul, ol',this.$editor[0]);$(block).find('ul, ol').contents().unwrap();$(block).find('li').append($('
')).contents().unwrap();var $el=this.utils.replaceToTag(block,'blockquote');this.block.toggle($el);},formatBlockquote:function(tag) -{document.execCommand('outdent');document.execCommand('formatblock',false,tag);this.clean.clearUnverified();this.$editor.find('p:empty').remove();var formatted=this.selection.getBlock();if(tag!='p') -{$(formatted).find('img').remove();} -if(!this.opts.linebreaks) -{this.block.toggle($(formatted));} -this.$editor.find('ul, ol, tr, blockquote, p').each($.proxy(this.utils.removeEmpty,this));if(this.opts.linebreaks&&tag=='p') -{this.utils.replaceWithContents(formatted);}},formatWrap:function(tag) -{if(this.block.containerTag=='UL'||this.block.containerTag=='OL') -{if(tag=='blockquote') -{this.block.formatListToBlockquote();} -else -{return;}} -var formatted=this.selection.wrap(tag);if(formatted===false)return;var $formatted=$(formatted);this.block.formatTableWrapping($formatted);var $elements=$formatted.find(this.opts.blockLevelElements.join(',')+', td, table, thead, tbody, tfoot, th, tr');$elements.contents().unwrap();if(tag!='p'&&tag!='blockquote')$formatted.find('img').remove();$.each(this.block.blocks,$.proxy(this.utils.removeEmpty,this));$formatted.append(this.selection.getMarker(2));if(!this.opts.linebreaks) -{this.block.toggle($formatted);} -this.$editor.find('ul, ol, tr, blockquote, p').each($.proxy(this.utils.removeEmpty,this));$formatted.find('blockquote:empty').remove();if(this.block.isRemoveInline) -{this.utils.removeInlineTags($formatted);} -if(this.opts.linebreaks&&tag=='p') -{this.utils.replaceWithContents($formatted);} -if(this.opts.linebreaks) -{var $next=$formatted.next().next();if($next.size()!=0&&$next[0].tagName==='BR') -{$next.remove();}}},formatTableWrapping:function($formatted) -{if($formatted.closest('table',this.$editor[0]).length===0)return;if($formatted.closest('tr',this.$editor[0]).length===0)$formatted.wrap('');if($formatted.closest('td',this.$editor[0]).length===0&&$formatted.closest('th').length===0) -{$formatted.wrap('');}},removeData:function(name,value) -{var blocks=this.selection.getBlocks();$(blocks).removeAttr('data-'+name);this.code.sync();},setData:function(name,value) -{var blocks=this.selection.getBlocks();$(blocks).attr('data-'+name,value);this.code.sync();},toggleData:function(name,value) -{var blocks=this.selection.getBlocks();$.each(blocks,function() -{if($(this).attr('data-'+name)) -{$(this).removeAttr('data-'+name);} -else -{$(this).attr('data-'+name,value);}});},removeAttr:function(attr,value) -{var blocks=this.selection.getBlocks();$(blocks).removeAttr(attr);this.code.sync();},setAttr:function(attr,value) -{var blocks=this.selection.getBlocks();$(blocks).attr(attr,value);this.code.sync();},toggleAttr:function(attr,value) -{var blocks=this.selection.getBlocks();$.each(blocks,function() -{if($(this).attr(name)) -{$(this).removeAttr(name);} -else -{$(this).attr(name,value);}});},removeClass:function(className) -{var blocks=this.selection.getBlocks();$(blocks).removeClass(className);this.utils.removeEmptyAttr(blocks,'class');this.code.sync();},setClass:function(className) -{var blocks=this.selection.getBlocks();$(blocks).addClass(className);this.code.sync();},toggleClass:function(className) -{var blocks=this.selection.getBlocks();$(blocks).toggleClass(className);this.code.sync();}};},buffer:function() -{return{set:function(type) -{if(typeof type=='undefined'||type=='undo') -{this.buffer.setUndo();} -else -{this.buffer.setRedo();}},setUndo:function() -{this.selection.save();this.opts.buffer.push(this.$editor.html());this.selection.restore();},setRedo:function() -{this.selection.save();this.opts.rebuffer.push(this.$editor.html());this.selection.restore();},getUndo:function() -{this.$editor.html(this.opts.buffer.pop());},getRedo:function() -{this.$editor.html(this.opts.rebuffer.pop());},add:function() -{this.opts.buffer.push(this.$editor.html());},undo:function() -{if(this.opts.buffer.length===0)return;this.buffer.set('redo');this.buffer.getUndo();this.selection.restore();setTimeout($.proxy(this.observe.load,this),50);},redo:function() -{if(this.opts.rebuffer.length===0)return;this.buffer.set('undo');this.buffer.getRedo();this.selection.restore();setTimeout($.proxy(this.observe.load,this),50);}};},build:function() -{return{focused:false,blured:true,run:function() -{this.build.createContainerBox();this.build.loadContent();this.build.loadEditor();this.build.enableEditor();this.build.setCodeAndCall();},isTextarea:function() -{return(this.$element[0].tagName==='TEXTAREA');},createContainerBox:function() -{this.$box=$('
');},createTextarea:function() -{this.$textarea=$('
");var g={buttons:d,by_url_layer:e,embed_layer:f},h=b.popups.create("video.insert",g);return h}function g(a){var c,d,e=b.popups.get("video.insert");if(!R&&!b.opts.toolbarInline){var f=b.$tb.find('.fr-command[data-cmd="insertVideo"]');c=f.offset().left+f.outerWidth()/2,d=f.offset().top+(b.opts.toolbarBottom?10:f.outerHeight()-10)}b.opts.toolbarInline&&(d=e.offset().top-b.helpers.getPX(e.css("margin-top")),e.hasClass("fr-above")&&(d+=e.outerHeight())),e.find(".fr-layer").removeClass("fr-active"),e.find(".fr-"+a+"-layer").addClass("fr-active"),b.popups.show("video.insert",c,d,0)}function h(a){var c=b.popups.get("video.insert");c.find(".fr-video-by-url-layer").hasClass("fr-active")&&a.addClass("fr-active")}function i(a){var c=b.popups.get("video.insert");c.find(".fr-video-embed-layer").hasClass("fr-active")&&a.addClass("fr-active")}function j(a){b.events.focus(!0),b.selection.restore(),b.html.insert(''+a+"",!1,b.opts.videoSplitHTML),b.popups.hide("video.insert");var c=b.$el.find(".fr-jiv");c.removeClass("fr-jiv"),c.toggleClass("fr-draggable",b.opts.videoMove),b.events.trigger("video.inserted",[c])}function k(c){if("undefined"==typeof c){var d=b.popups.get("video.insert");c=d.find('.fr-video-by-url-layer input[type="text"]').val()||""}var e=null;if(b.helpers.isURL(c))for(var f=0;f'}function q(){var c;b.shared.$video_resizer?(Q=b.shared.$video_resizer,O=b.shared.$vid_overlay,b.events.on("destroy",function(){Q.removeClass("fr-active").appendTo(a("body"))},!0)):(b.shared.$video_resizer=a('
'),Q=b.shared.$video_resizer,b.events.$on(Q,"mousedown",function(a){a.stopPropagation()},!0),b.opts.videoResize&&(Q.append(p("nw")+p("ne")+p("sw")+p("se")),b.shared.$vid_overlay=a('
'),O=b.shared.$vid_overlay,c=Q.get(0).ownerDocument,a(c).find("body").append(O))),b.events.on("shared.destroy",function(){Q.html("").removeData().remove(),b.opts.videoResize&&O.remove()},!0),b.helpers.isMobile()||b.events.$on(a(b.o_win),"resize.video",function(){t(!0)}),b.opts.videoResize&&(c=Q.get(0).ownerDocument,b.events.$on(Q,b._mousedown,".fr-handler",m),b.events.$on(a(c),b._mousemove,n),b.events.$on(a(c.defaultView||c.parentWindow),b._mouseup,o),b.events.$on(O,"mouseleave",o))}function r(){Q||q(),(b.$wp||a(b.opts.scrollableContainer)).append(Q),Q.data("instance",b);var c=R.find("iframe, embed, video");Q.css("top",(b.opts.iframe?c.offset().top-1:c.offset().top-b.$wp.offset().top-1)+b.$wp.scrollTop()).css("left",(b.opts.iframe?c.offset().left-1:c.offset().left-b.$wp.offset().left-1)+b.$wp.scrollLeft()).css("width",c.outerWidth()).css("height",c.height()).addClass("fr-active")}function s(c){if(c&&"touchend"==c.type&&S)return!0;if(c.preventDefault(),c.stopPropagation(),b.edit.isDisabled())return!1;for(var d=0;d0&&t()}),b.events.on("blur video.hideResizer commands.undo commands.redo element.dropped",function(){t(!0)})}function y(){var a="";b.opts.videoEditButtons.length>1&&(a+='
',a+=b.button.buildList(b.opts.videoEditButtons),a+="
");var c={buttons:a},d=b.popups.create("video.edit",c);return b.events.$on(b.$wp,"scroll.video-edit",function(){R&&b.popups.isVisible("video.edit")&&e()}),d}function z(){if(R){var a=b.popups.get("video.size"),c=R.find("iframe, embed, video");a.find('input[name="width"]').val(c.get(0).style.width||c.attr("width")).trigger("change"),a.find('input[name="height"]').val(c.get(0).style.height||c.attr("height")).trigger("change")}}function A(){var c=b.popups.get("video.size");c||(c=B()),b.popups.refresh("video.size"),b.popups.setContainer("video.size",a(b.opts.scrollableContainer));var d=R.find("iframe, embed, video"),e=d.offset().left+d.width()/2,f=d.offset().top+d.height();b.popups.show("video.size",e,f,d.height())}function B(a){if(a)return b.popups.onRefresh("video.size",z),!0;var c="";c='
'+b.button.buildList(b.opts.videoSizeButtons)+"
";var d="";d='
";var e={buttons:c,size_layer:d},f=b.popups.create("video.size",e);return b.events.$on(b.$wp,"scroll",function(){R&&b.popups.isVisible("video.size")&&A()}),f}function C(a){R.removeClass("fr-fvr fr-fvl"),"left"==a?R.addClass("fr-fvl"):"right"==a&&R.addClass("fr-fvr"),r(),e()}function D(a){return R?void(R.hasClass("fr-fvl")?a.find("> *:first").replaceWith(b.icon.create("align-left")):R.hasClass("fr-fvr")?a.find("> *:first").replaceWith(b.icon.create("align-right")):a.find("> *:first").replaceWith(b.icon.create("align-justify"))):!1}function E(a,b){var c="justify";R.hasClass("fr-fvl")?c="left":R.hasClass("fr-fvr")&&(c="right"),b.find('.fr-command[data-param1="'+c+'"]').addClass("fr-active")}function F(a){R.removeClass("fr-dvi fr-dvb"),"inline"==a?R.addClass("fr-dvi"):"block"==a&&R.addClass("fr-dvb"),r(),e()}function G(a,b){var c="block";R.hasClass("fr-dvi")&&(c="inline"),b.find('.fr-command[data-param1="'+c+'"]').addClass("fr-active")}function H(){if(R&&b.events.trigger("video.beforeRemove",[R])!==!1){var a=R;b.popups.hideAll(),t(!0),b.selection.setBefore(a.get(0))||b.selection.setAfter(a.get(0)),a.remove(),b.selection.restore(),b.html.fillEmptyBlocks(),b.events.trigger("video.removed",[a])}}function I(a){if(!a.hasClass("fr-dvi")&&!a.hasClass("fr-dvb")){var c=a.css("float");a.css("float","none"),"block"==a.css("display")?(a.css("float",c),0===parseInt(a.css("margin-left"),10)&&(a.attr("style")||"").indexOf("margin-right: auto")>=0?a.addClass("fr-fvl"):0===parseInt(a.css("margin-right"),10)&&(a.attr("style")||"").indexOf("margin-left: auto")>=0&&a.addClass("fr-fvr"),a.addClass("fr-dvb")):(a.css("float",c),"left"==a.css("float")?a.addClass("fr-fvl"):"right"==a.css("float")&&a.addClass("fr-fvr"),a.addClass("fr-dvi")),a.css("margin",""),a.css("float",""),a.css("display",""),a.css("z-index",""),a.css("position",""),a.css("overflow",""),a.css("vertical-align","")}b.opts.videoTextNear||a.removeClass("fr-dvi").addClass("fr-dvb")}function J(){b.$el.find("video").filter(function(){return 0===a(this).parents("span.fr-video").length}).wrap(''),b.$el.find("embed, iframe").filter(function(){if(b.browser.safari&&this.getAttribute("src")&&this.setAttribute("src",this.src),a(this).parents("span.fr-video").length>0)return!1;for(var c=a(this).attr("src"),d=0;d');for(var c=b.$el.find("span.fr-video"),d=0;d'+this.icon.create("align-"+d)+"");return b+=""},callback:function(a,b){this.video.align(b)},refresh:function(a){this.video.refreshAlign(a)},refreshOnShow:function(a,b){this.video.refreshAlignOnShow(a,b)}}),a.FE.DefineIcon("videoRemove",{NAME:"trash"}),a.FE.RegisterCommand("videoRemove",{title:"Remove",callback:function(){this.video.remove()}}),a.FE.DefineIcon("videoSize",{NAME:"arrows-alt"}),a.FE.RegisterCommand("videoSize",{undo:!1,focus:!1,title:"Change Size",callback:function(){this.video.showSizePopup()}}),a.FE.DefineIcon("videoBack",{NAME:"arrow-left"}),a.FE.RegisterCommand("videoBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.video.back()},refresh:function(a){var b=this.video.get();b||this.opts.toolbarInline?(a.removeClass("fr-hidden"),a.next(".fr-separator").removeClass("fr-hidden")):(a.addClass("fr-hidden"),a.next(".fr-separator").addClass("fr-hidden"))}}),a.FE.RegisterCommand("videoSetSize",{undo:!0,focus:!1,callback:function(){this.video.setSize()}})});!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){"use strict";a.FE.PLUGINS.quote=function(b){function c(a){for(;a.parentNode&&a.parentNode!=b.$el.get(0);)a=a.parentNode;return a}function d(){var d,e=b.selection.blocks();for(d=0;d");for(f.insertBefore(e[0]),d=0;d span").text(d)}}return{apply:c,refreshOnShow:d,refresh:e}},a.FE.RegisterCommand("fontSize",{type:"dropdown",title:"Font Size",displaySelection:function(a){return a.opts.fontSizeSelection},displaySelectionWidth:30,defaultSelection:function(a){return a.opts.fontSizeDefaultSelection},html:function(){for(var a='
    ',b=this.opts.fontSize,c=0;c'+d+""}return a+="
"},callback:function(a,b){this.fontSize.apply(b)},refresh:function(a){this.fontSize.refresh(a)},refreshOnShow:function(a,b){this.fontSize.refreshOnShow(a,b)},plugin:"fontSize"}),a.FE.DefineIcon("fontSize",{NAME:"text-height"})});!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){"use strict";a.extend(a.FE.DEFAULTS,{fontFamily:{"Arial,Helvetica,sans-serif":"Arial","Georgia,serif":"Georgia","Impact,Charcoal,sans-serif":"Impact","Tahoma,Geneva,sans-serif":"Tahoma","Times New Roman,Times,serif":"Times New Roman","Verdana,Geneva,sans-serif":"Verdana"},fontFamilySelection:!1,fontFamilyDefaultSelection:"Font Family"}),a.FE.PLUGINS.fontFamily=function(b){function c(a){b.commands.applyProperty("font-family",a)}function d(a,b){b.find(".fr-command.fr-active").removeClass("fr-active"),b.find('.fr-command[data-param1="'+g()+'"]').addClass("fr-active");var c=b.find(".fr-dropdown-list"),d=b.find(".fr-active").parent();d.length?c.parent().scrollTop(d.offset().top-c.offset().top-(c.parent().outerHeight()/2-d.outerHeight()/2)):c.parent().scrollTop(0)}function e(b){var c=b.replace(/(sans-serif|serif|monospace|cursive|fantasy)/gi,"").replace(/"|'| /g,"").split(",");return a.grep(c,function(a){return a.length>0})}function f(a,b){for(var c=0;c span").text(b.opts.fontFamily[g()]||d[0]||b.opts.fontFamilyDefaultSelection)}}return{apply:c,refreshOnShow:d,refresh:h}},a.FE.RegisterCommand("fontFamily",{type:"dropdown",displaySelection:function(a){return a.opts.fontFamilySelection},defaultSelection:function(a){return a.opts.fontFamilyDefaultSelection},displaySelectionWidth:120,html:function(){var a='
    ',b=this.opts.fontFamily;for(var c in b)b.hasOwnProperty(c)&&(a+='
  • '+b[c]+"
  • ");return a+="
"},title:"Font Family",callback:function(a,b){this.fontFamily.apply(b)},refresh:function(a){this.fontFamily.refresh(a)},refreshOnShow:function(a,b){this.fontFamily.refreshOnShow(a,b)},plugin:"fontFamily"}),a.FE.DefineIcon("fontFamily",{NAME:"font"})});!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){"use strict";a.extend(a.FE.POPUP_TEMPLATES,{emoticons:"[_BUTTONS_][_EMOTICONS_]"}),a.extend(a.FE.DEFAULTS,{emoticonsStep:8,emoticonsSet:[{code:"1f600",desc:"Grinning face"},{code:"1f601",desc:"Grinning face with smiling eyes"},{code:"1f602",desc:"Face with tears of joy"},{code:"1f603",desc:"Smiling face with open mouth"},{code:"1f604",desc:"Smiling face with open mouth and smiling eyes"},{code:"1f605",desc:"Smiling face with open mouth and cold sweat"},{code:"1f606",desc:"Smiling face with open mouth and tightly-closed eyes"},{code:"1f607",desc:"Smiling face with halo"},{code:"1f608",desc:"Smiling face with horns"},{code:"1f609",desc:"Winking face"},{code:"1f60a",desc:"Smiling face with smiling eyes"},{code:"1f60b",desc:"Face savoring delicious food"},{code:"1f60c",desc:"Relieved face"},{code:"1f60d",desc:"Smiling face with heart-shaped eyes"},{code:"1f60e",desc:"Smiling face with sunglasses"},{code:"1f60f",desc:"Smirking face"},{code:"1f610",desc:"Neutral face"},{code:"1f611",desc:"Expressionless face"},{code:"1f612",desc:"Unamused face"},{code:"1f613",desc:"Face with cold sweat"},{code:"1f614",desc:"Pensive face"},{code:"1f615",desc:"Confused face"},{code:"1f616",desc:"Confounded face"},{code:"1f617",desc:"Kissing face"},{code:"1f618",desc:"Face throwing a kiss"},{code:"1f619",desc:"Kissing face with smiling eyes"},{code:"1f61a",desc:"Kissing face with closed eyes"},{code:"1f61b",desc:"Face with stuck out tongue"},{code:"1f61c",desc:"Face with stuck out tongue and winking eye"},{code:"1f61d",desc:"Face with stuck out tongue and tightly-closed eyes"},{code:"1f61e",desc:"Disappointed face"},{code:"1f61f",desc:"Worried face"},{code:"1f620",desc:"Angry face"},{code:"1f621",desc:"Pouting face"},{code:"1f622",desc:"Crying face"},{code:"1f623",desc:"Persevering face"},{code:"1f624",desc:"Face with look of triumph"},{code:"1f625",desc:"Disappointed but relieved face"},{code:"1f626",desc:"Frowning face with open mouth"},{code:"1f627",desc:"Anguished face"},{code:"1f628",desc:"Fearful face"},{code:"1f629",desc:"Weary face"},{code:"1f62a",desc:"Sleepy face"},{code:"1f62b",desc:"Tired face"},{code:"1f62c",desc:"Grimacing face"},{code:"1f62d",desc:"Loudly crying face"},{code:"1f62e",desc:"Face with open mouth"},{code:"1f62f",desc:"Hushed face"},{code:"1f630",desc:"Face with open mouth and cold sweat"},{code:"1f631",desc:"Face screaming in fear"},{code:"1f632",desc:"Astonished face"},{code:"1f633",desc:"Flushed face"},{code:"1f634",desc:"Sleeping face"},{code:"1f635",desc:"Dizzy face"},{code:"1f636",desc:"Face without mouth"},{code:"1f637",desc:"Face with medical mask"}],emoticonsButtons:["emoticonsBack","|"],emoticonsUseImage:!0}),a.FE.PLUGINS.emoticons=function(b){function c(){var a=b.$tb.find('.fr-command[data-cmd="emoticons"]'),c=b.popups.get("emoticons");if(c||(c=e()),!c.hasClass("fr-active")){b.popups.refresh("emoticons"),b.popups.setContainer("emoticons",b.$tb);var d=a.offset().left+a.outerWidth()/2,f=a.offset().top+(b.opts.toolbarBottom?10:a.outerHeight()-10);b.popups.show("emoticons",d,f,a.outerHeight())}}function d(){b.popups.hide("emoticons")}function e(){var a="";b.opts.toolbarInline&&b.opts.emoticonsButtons.length>0&&(a='
'+b.button.buildList(b.opts.emoticonsButtons)+"
");var c={buttons:a,emoticons:f()},d=b.popups.create("emoticons",c);return b.tooltip.bind(d,".fr-emoticon"),d}function f(){for(var a='
',c=0;c"),a+=''+(b.opts.emoticonsUseImage?'':"&#x"+b.opts.emoticonsSet[c].code+";")+"";return b.opts.emoticonsUseImage&&(a+='

Emoji free by Emoji One

'),a+="
"}function g(c,d){b.html.insert('"+(d?" ":c)+""+a.FE.MARKERS,!0)}function h(){b.popups.hide("emoticons"),b.toolbar.showInline()}function i(){b.events.on("html.get",function(c){for(var d=0;d").html(e.code).text();c=c.split(f).join(e.code)}return c});var c=function(){if(!b.selection.isCollapsed())return!1;var c=b.selection.element(),d=b.selection.endElement();if(a(c).hasClass("fr-emoticon"))return c;if(a(d).hasClass("fr-emoticon"))return d;var e=b.selection.ranges(0),f=e.startContainer;if(f.nodeType==Node.ELEMENT_NODE&&f.childNodes.length>0&&e.startOffset>0){var g=f.childNodes[e.startOffset-1];if(a(g).hasClass("fr-emoticon"))return g}return!1};b.events.on("keydown",function(d){if(b.keys.isCharacter(d.which)&&b.selection.inEditor()){var e=b.selection.ranges(0),f=c();f&&(0===e.startOffset?a(f).before(a.FE.MARKERS+a.FE.INVISIBLE_SPACE):a(f).after(a.FE.INVISIBLE_SPACE+a.FE.MARKERS),b.selection.restore())}}),b.events.on("keyup",function(){for(var c=b.$el.get(0).querySelectorAll(".fr-emoticon"),d=0;d0&&(a+=b.button.buildList(b.opts.colorsButtons)),a+=f()+"";var c={buttons:a,text_colors:g("text"),background_colors:g("background")},d=b.popups.create("colors.picker",c);return d}function f(){var a='
';return a+=''+b.language.translate("Text")+"",a+=''+b.language.translate("Background")+"",a+"
"}function g(a){for(var c="text"==a?b.opts.colorsText:b.opts.colorsBackground,d='
',e=0;e"),d+="REMOVE"!=c[e]?'':'';return d+"
"}function h(c){var d,e=b.popups.get("colors.picker"),f=a(b.selection.element());for(d="background"==c?"background-color":"color",e.find(".fr-"+c+"-color .fr-select-color").removeClass("fr-selected-color");f.get(0)!=b.$el.get(0);){if("transparent"!=f.css(d)&&"rgba(0, 0, 0, 0)"!=f.css(d)){e.find(".fr-"+c+'-color .fr-select-color[data-param1="'+b.helpers.RGBToHex(f.css(d))+'"]').addClass("fr-selected-color");break}f=f.parent()}}function i(a,b){a.hasClass("fr-selected-tab")||(a.siblings().removeClass("fr-selected-tab"),a.addClass("fr-selected-tab"),a.parents(".fr-popup").find(".fr-color-set").removeClass("fr-selected-set"),a.parents(".fr-popup").find(".fr-color-set.fr-"+b+"-color").addClass("fr-selected-set"),h(b))}function j(c){"REMOVE"!=c?b.commands.applyProperty("background-color",b.helpers.HEXtoRGB(c)):(b.commands.applyProperty("background-color","#123456"),b.selection.save(),b.$el.find("span").each(function(c,d){var e=a(d),f=e.css("background-color");("#123456"===f||"#123456"===b.helpers.RGBToHex(f))&&e.replaceWith(e.html())}),b.selection.restore()),d()}function k(c){"REMOVE"!=c?b.commands.applyProperty("color",b.helpers.HEXtoRGB(c)):(b.commands.applyProperty("color","#123456"),b.selection.save(),b.$el.find("span").each(function(c,d){var e=a(d),f=e.css("color");("#123456"===f||"#123456"===b.helpers.RGBToHex(f))&&e.replaceWith(e.html())}),b.selection.restore()),d()}function l(){b.popups.hide("colors.picker"),b.toolbar.showInline()}return{showColorsPopup:c,hideColorsPopup:d,changeSet:i,background:j,text:k,back:l}},a.FE.DefineIcon("colors",{NAME:"tint"}),a.FE.RegisterCommand("color",{title:"Colors",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("colors.picker")?(this.$el.find(".fr-marker")&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("colors.picker")):this.colors.showColorsPopup()},plugin:"colors"}),a.FE.RegisterCommand("textColor",{undo:!0,callback:function(a,b){this.colors.text(b)}}),a.FE.RegisterCommand("backgroundColor",{undo:!0,callback:function(a,b){this.colors.background(b)}}),a.FE.RegisterCommand("colorChangeSet",{undo:!1,focus:!1,callback:function(a,b){var c=this.popups.get("colors.picker").find('.fr-command[data-cmd="'+a+'"][data-param1="'+b+'"]');this.colors.changeSet(c,b)}}),a.FE.DefineIcon("colorsBack",{NAME:"arrow-left"}),a.FE.RegisterCommand("colorsBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.colors.back()}})});!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){"use strict";a.extend(a.FE.DEFAULTS,{}),a.FE.URLRegEx=/(\s|^|>)((http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+(\.[a-zA-Z]{2,3})?(:\d*)?(\/[^\s<]*)?)(\s|$|<)/gi,a.FE.PLUGINS.url=function(b){function c(d){d.each(function(){if("IFRAME"!=this.tagName)if(3==this.nodeType){var d=this.textContent.replace(/ /gi,"");a.FE.URLRegEx.test(d)&&(a(this).before(d.replace(a.FE.URLRegEx,'$1$2$7')),a(this).remove())}else 1==this.nodeType&&["A","BUTTON","TEXTAREA"].indexOf(this.tagName)<0&&c(b.node.contents(this))})}function d(){b.events.on("paste.afterCleanup",function(b){return a.FE.URLRegEx.test(b)?b.replace(a.FE.URLRegEx,'$1$2$7'):void 0}),b.events.on("keyup",function(d){var e=d.which;(e==a.FE.KEYCODE.ENTER||e==a.FE.KEYCODE.SPACE)&&c(b.node.contents(b.$el.get(0)))}),b.events.on("keydown",function(c){var d=c.which;if(d==a.FE.KEYCODE.ENTER){var e=b.selection.element();if(("A"==e.tagName||a(e).parents("a").length)&&b.selection.info(e).atEnd)return c.stopImmediatePropagation(),"A"!==e.tagName&&(e=a(e).parents("a")[0]),a(e).after(" "+a.FE.MARKERS),b.selection.restore(),!1}})}return{_init:d}}});!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){"use strict";a.extend(a.FE.DEFAULTS,{lineBreakerTags:["table","hr","iframe","form","dl"],lineBreakerOffset:15}),a.FE.PLUGINS.lineBreaker=function(b){function c(c,d){var e,f,g,h,i,j,k,l;if(null==c)h=d.parent(),i=h.offset().top,k=d.offset().top,e=k-Math.min((k-i)/2,b.opts.lineBreakerOffset),g=h.outerWidth(),f=h.offset().left;else if(null==d)h=c.parent(),j=h.offset().top+h.outerHeight(),l=c.offset().top+c.outerHeight(),e=l+Math.min((j-l)/2,b.opts.lineBreakerOffset),g=h.outerWidth(),f=h.offset().left;else{h=c.parent();var m=c.offset().top+c.height(),o=d.offset().top;if(m>o)return!1;e=(m+o)/2,g=h.outerWidth(),f=h.offset().left}b.opts.iframe&&(f+=b.$iframe.offset().left-a(b.o_win).scrollLeft(),e+=b.$iframe.offset().top-a(b.o_win).scrollTop()),b.$box.append(n),n.css("top",e-b.win.pageYOffset),n.css("left",f-b.win.pageXOffset),n.css("width",g),n.data("tag1",c),n.data("tag2",d),n.addClass("fr-visible").data("instance",b)}function d(a,d){var f,g,h=a.offset().top,i=a.offset().top+a.outerHeight();if(Math.abs(i-d)<=b.opts.lineBreakerOffset||Math.abs(d-h)<=b.opts.lineBreakerOffset)if(Math.abs(i-d)=0)return d;if(d.parents(b.opts.lineBreakerTags.join(",")).length>0)return c=d.parents(b.opts.lineBreakerTags.join(",")).get(0),a(c)}return null}function f(c){p=null;var f,g,h,i=null,j=b.doc.elementFromPoint(c.pageX-b.win.pageXOffset,c.pageY-b.win.pageYOffset);if(j&&("HTML"==j.tagName||"BODY"==j.tagName||b.node.isElement(j)))for(f=1;f<=b.opts.lineBreakerOffset;f++){if(g=b.doc.elementFromPoint(c.pageX-b.win.pageXOffset,c.pageY-b.win.pageYOffset-f),g&&!b.node.isElement(g)&&g!=b.$wp.get(0)&&a(g).parents(b.$wp).length){i=e(g);break}if(h=b.doc.elementFromPoint(c.pageX-b.win.pageXOffset,c.pageY-b.win.pageYOffset+f),h&&!b.node.isElement(h)&&h!=b.$wp.get(0)&&a(h).parents(b.$wp).length){i=e(h);break}}else i=e(j);i?d(i,c.pageY):b.core.sameInstance(n)&&n.removeClass("fr-visible").removeData("instance")}function g(a){return n.hasClass("fr-visible")&&!b.core.sameInstance(n)?!1:b.popups.areVisible()||b.$el.get(0).querySelectorAll(".fr-selected-cell").length?(n.removeClass("fr-visible"),!0):void(o===!1&&(p&&clearTimeout(p),p=setTimeout(f,30,a)))}function h(){p&&clearTimeout(p),n.hasClass("fr-visible")&&n.removeClass("fr-visible").removeData("instance")}function i(){o=!0,h()}function j(){o=!1}function k(c){if(!b.core.sameInstance(n))return!0;c.preventDefault(),n.removeClass("fr-visible").removeData("instance");var d=n.data("tag1"),e=n.data("tag2"),f=b.html.defaultTag();null==d?f&&"TD"!=e.parent().get(0).tagName?e.before("<"+f+">"+a.FE.MARKERS+"
"):e.before(a.FE.MARKERS+"
"):f&&"TD"!=d.parent().get(0).tagName?d.after("<"+f+">"+a.FE.MARKERS+"
"):d.after(a.FE.MARKERS+"
"),b.selection.restore()}function l(){b.shared.$line_breaker||(b.shared.$line_breaker=a('
')),n=b.shared.$line_breaker,b.events.on("shared.destroy",function(){n.html("").removeData().remove()},!0),b.events.on("destroy",function(){n.removeData("instance").removeClass("fr-visible").appendTo("body")},!0),b.events.$on(n,"mouseleave",h,!0),b.events.$on(n,"mousemove",function(a){a.stopPropagation()},!0),b.events.$on(n,"mousedown","a",function(a){a.stopPropagation()},!0),b.events.$on(n,"click","a",k,!0)}function m(){return b.$wp?(l(),o=!1,b.events.$on(b.$win,"mousemove",g),b.events.$on(a(b.win),"scroll",h),b.events.on("popups.show.table.edit",h),b.events.$on(a(b.win),"mousedown",i),void b.events.$on(a(b.win),"mouseup",j)):!1}var n,o,p;return{_init:m}}});!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){"use strict";a.extend(a.FE.DEFAULTS,{entities:"&<>"'¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿŒœŠšŸƒˆ˜ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψωϑϒϖ   ‌‍‎‏–—‘’‚“”„†‡•…‰′″‹›‾⁄€ℑ℘ℜ™ℵ←↑→↓↔↵⇐⇑⇒⇓⇔∀∂∃∅∇∈∉∋∏∑−∗√∝∞∠∧∨∩∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌈⌉⌊⌋⟨⟩◊♠♣♥♦"}),a.FE.PLUGINS.entities=function(b){function c(a){if(a&&["STYLE","SCRIPT"].indexOf(a.tagName)>=0)return!0;for(var d=b.node.contents(a),e=0;e").html(b.opts.entities).text(),e=b.opts.entities.split(";");g={},f="";for(var h=0;h0;)g++,h=b.doc.elementFromPoint(c.originalEvent.pageX-b.win.pageXOffset,c.originalEvent.pageY-b.win.pageYOffset-g);(!d(h)||m&&0===b.$el.find(h).length&&h!=m.get(0))&&(h=null);for(var i=0,j=f;!d(j)&&j==f&&c.originalEvent.pageY-b.win.pageYOffset+ig?h:j:null}if(a(f).hasClass("fr-drag-helper"))return!1;if(f&&!b.node.isBlock(f)&&(f=b.node.blockParent(f)),f&&["TD","TH","TR","THEAD","TBODY"].indexOf(f.tagName)>=0&&(f=a(f).parents("table").get(0)),f&&["LI"].indexOf(f.tagName)>=0&&(f=a(f).parents("UL, OL").get(0)),f&&!a(f).hasClass("fr-drag-helper")){m||(a.FE.$draggable_helper||(a.FE.$draggable_helper=a('
')),m=a.FE.$draggable_helper,b.events.on("shared.destroy",function(){m.html("").removeData().remove()},!0));var k,l=c.originalEvent.pageY;k=l0&&(o=parseFloat(n.prev().css("margin-bottom"))||0),o=Math.max(o,parseFloat(n.css("margin-top"))||0),e(n.offset().top-o/2-b.$box.offset().top,n.offset().left-b.win.pageXOffset-b.$box.offset().left,n.width()),m.data("fr-position","before"))):"after"==m.data("fr-position")&&n.is(m.data("fr-tag"))||(o=parseFloat(n.css("margin-bottom"))||0,e(n.offset().top+a(f).height()+o/2-b.$box.offset().top,n.offset().left-b.win.pageXOffset-b.$box.offset().left,n.width()),m.data("fr-position","after")),m.data("fr-tag",n),m.addClass("fr-visible"),m.appendTo(b.$box)}else m&&b.$box.find(m).length>0&&m.removeClass("fr-visible")}function g(a){a.originalEvent.dataTransfer.dropEffect="move",b.opts.dragInline?j()||!b.browser.msie&&!b.browser.edge||a.preventDefault():(a.preventDefault(),f(a))}function h(a){a.originalEvent.dataTransfer.dropEffect="move",b.opts.dragInline||a.preventDefault()}function i(a){b.$el.attr("contenteditable",!0);var c=b.$el.find(".fr-dragging");m&&m.hasClass("fr-visible")&&b.$box.find(m).length?k(a):c.length&&(a.preventDefault(),a.stopPropagation(),m&&!m.hasClass("fr-visible")&&c.removeClass("fr-dragging")),m&&b.$box.find(m).length&&m.removeClass("fr-visible")}function j(){for(var b=null,c=0;c'),m.removeClass("fr-visible");else{var g=b.markers.insertAtPoint(c.originalEvent);if(g===!1)return!1}if(b.popups.hideAll(),e==b||b.undo.canDo()||b.undo.saveStep(),b.core.isEmpty())b.$el.html(d);else{var h=b.$el.find(".fr-marker");h.replaceWith(d),d.after(a.FE.MARKERS),b.selection.restore()}return d.removeClass("fr-dragging"),b.$el.find(b.html.emptyBlockTagsQuery()).remove(),b.html.wrap(),b.undo.saveStep(),e!=b&&(e.popups.hideAll(),e.$el.find(b.html.emptyBlockTagsQuery()).remove(),e.html.wrap(),e.undo.saveStep(),e.events.trigger("element.dropped")),b.opts.iframe&&b.size.syncIframe(),b.events.trigger("element.dropped",[d]),!1}}function l(){b.opts.enter==a.FE.ENTER_BR&&(b.opts.dragInline=!0),b.events.on("dragstart",c,!0),b.events.on("dragover",g,!0),b.events.on("dragenter",h,!0),b.events.on("document.dragend",i,!0),b.events.on("document.drop",i,!0),b.events.on("drop",k,!0),b.events.on("html.get",function(a){return a=a.replace(/<(div)((?:[\w\W]*?))class="([\w\W]*?)fr-drag-helper([\w\W]*?)"((?:[\w\W]*?))>((?:[\w\W]*?))<\/(div)>/g,"")})}var m;return{_init:l}}});!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){"use strict";a.FE.PLUGINS.codeBeautifier=function(){function a(a,c){function d(a){return a.replace(/^\s+/g,"")}function e(a){return a.replace(/\s+$/g,"")}function g(){return this.pos=0,this.token="",this.current_mode="CONTENT",this.tags={parent:"parent1",parentcount:1,parent1:""},this.tag_type="",this.token_text=this.last_token=this.last_text=this.token_type="",this.newlines=0,this.indent_content=i,this.Utils={whitespace:"\n\r ".split(""),single_token:"br,input,link,meta,source,!doctype,basefont,base,area,hr,wbr,param,img,isindex,embed".split(","),extra_liners:u,in_array:function(a,b){for(var c=0;c=this.wrap_line_length?(this.print_newline(!1,a),this.print_indentation(a)):(this.line_char_count++,a.push(" "))},this.get_content=function(){for(var a="",b=[];"<"!=this.input.charAt(this.pos);){if(this.pos>=this.input.length)return b.length?b.join(""):["","TK_EOF"];if(this.traverse_whitespace())this.space_or_wrap(b);else{if(q){var c=this.input.substr(this.pos,3);if("{{#"==c||"{{/"==c)break;if("{{!"==c)return[this.get_tag(),"TK_TAG_HANDLEBARS_COMMENT"];if("{{"==this.input.substr(this.pos,2)&&"{{else}}"==this.get_tag(!0))break}a=this.input.charAt(this.pos),this.pos++,this.line_char_count++,b.push(a)}}return b.length?b.join(""):""},this.get_contents_to=function(a){if(this.pos==this.input.length)return["","TK_EOF"];var b="",c=new RegExp("","igm");c.lastIndex=this.pos;var d=c.exec(this.input),e=d?d.index:this.input.length;return this.pos=this.input.length)return a&&(this.pos=j,this.line_char_count=l),f.length?f.join(""):["","TK_EOF"];if(e=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(e,this.Utils.whitespace))h=!0;else{if(("'"==e||'"'==e)&&(e+=this.get_unformatted(e),h=!0),"="==e&&(h=!1),f.length&&"="!=f[f.length-1]&&">"!=e&&h){if(this.space_or_wrap(f),h=!1,!i&&"force"==r&&"/"!=e){this.print_newline(!0,f),this.print_indentation(f);for(var m=0;s>m;m++)f.push(k)}for(var o=0;o=2&&"{"==f[f.length-1]&&"{"==f[f.length-2]&&(b="#"==e||"/"==e||"!"==e?this.pos-3:this.pos-2,d="{"),this.line_char_count++,f.push(e),f[1]&&("!"==f[1]||"?"==f[1]||"%"==f[1])){f=[this.get_comment(b)];break}if(q&&f[1]&&"{"==f[1]&&f[2]&&"!"==f[2]){f=[this.get_comment(b)];break}if(q&&"{"==d&&f.length>2&&"}"==f[f.length-2]&&"}"==f[f.length-1])break}}while(">"!=e);var p,t,u=f.join("");p=-1!=u.indexOf(" ")?u.indexOf(" "):"{"==u[0]?u.indexOf("}"):u.indexOf(">"),t="<"!=u[0]&&q?"#"==u[2]?3:2:1;var v=u.substring(t,p).toLowerCase();return"/"==u.charAt(u.length-2)||this.Utils.in_array(v,this.Utils.single_token)?a||(this.tag_type="SINGLE"):q&&"{"==u[0]&&"else"==v?a||(this.indent_to_tag("if"),this.tag_type="HANDLEBARS_ELSE",this.indent_content=!0,this.traverse_whitespace()):this.is_unformatted(v,n)?(g=this.get_unformatted("",u),f.push(g),c=this.pos-1,this.tag_type="SINGLE"):"script"==v&&(-1==u.search("type")||u.search("type")>-1&&u.search(/\b(text|application)\/(x-)?(javascript|ecmascript|jscript|livescript)/)>-1)?a||(this.record_tag(v),this.tag_type="SCRIPT"):"style"==v&&(-1==u.search("type")||u.search("type")>-1&&u.search("text/css")>-1)?a||(this.record_tag(v),this.tag_type="STYLE"):"!"==v.charAt(0)?a||(this.tag_type="SINGLE",this.traverse_whitespace()):a||("/"==v.charAt(0)?(this.retrieve_tag(v.substring(1)),this.tag_type="END"):(this.record_tag(v),"html"!=v.toLowerCase()&&(this.indent_content=!0),this.tag_type="START"),this.traverse_whitespace()&&this.space_or_wrap(f),this.Utils.in_array(v,this.Utils.extra_liners)&&(this.print_newline(!1,this.output),this.output.length&&"\n"!=this.output[this.output.length-2]&&this.print_newline(!0,this.output))),a&&(this.pos=j,this.line_char_count=l),f.join("")},this.get_comment=function(a){var b="",c=">",d=!1;this.pos=a;var e=this.input.charAt(this.pos);for(this.pos++;this.pos<=this.input.length&&(b+=e,b[b.length-1]!=c[c.length-1]||-1==b.indexOf(c));)!d&&b.length<10&&(0===b.indexOf("",d=!0):0===b.indexOf("",d=!0):0===b.indexOf("",d=!0):0===b.indexOf("",d=!0):0===b.indexOf("{{!")?(c="}}",d=!0):0===b.indexOf("",d=!0):0===b.indexOf("<%")&&(c="%>",d=!0)),e=this.input.charAt(this.pos),this.pos++;return b},this.get_unformatted=function(a,b){if(b&&-1!=b.toLowerCase().indexOf(a))return"";var c="",d="",e=0,f=!0;do{if(this.pos>=this.input.length)return d;if(c=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(c,this.Utils.whitespace)){if(!f){this.line_char_count--;continue}if("\n"==c||"\r"==c){d+="\n",this.line_char_count=0;continue}}d+=c,this.line_char_count++,f=!0,q&&"{"==c&&d.length&&"{"==d[d.length-2]&&(d+=this.get_unformatted("}}"),e=d.length)}while(-1==d.toLowerCase().indexOf(a,e));return d},this.get_token=function(){var a;if("TK_TAG_SCRIPT"==this.last_token||"TK_TAG_STYLE"==this.last_token){var b=this.last_token.substr(7);return a=this.get_contents_to(b),"string"!=typeof a?a:[a,"TK_"+b]}if("CONTENT"==this.current_mode)return a=this.get_content(),"string"!=typeof a?a:[a,"TK_CONTENT"];if("TAG"==this.current_mode){if(a=this.get_tag(),"string"!=typeof a)return a;var c="TK_TAG_"+this.tag_type;return[a,c]}},this.get_full_indent=function(a){return a=this.indent_level+a||0,1>a?"":new Array(a+1).join(this.indent_string)},this.is_unformatted=function(a,b){if(!this.Utils.in_array(a,b))return!1;if("a"!=a.toLowerCase()||!this.Utils.in_array("a",b))return!0;var c=this.get_tag(!0),d=(c||"").match(/^\s*<\s*\/?([a-z]*)\s*[^>]*>\s*$/);return!d||this.Utils.in_array(d,b)?!0:!1},this.printer=function(a,b,c,f,g){this.input=a||"",this.output=[],this.indent_character=b,this.indent_string="",this.indent_size=c,this.brace_style=g,this.indent_level=0,this.wrap_line_length=f,this.line_char_count=0;for(var h=0;h0&&(a=e(a)),a&&""!==a&&(a.length>1&&"\n"==a[a.length-1]?(this.output.push(a.slice(0,-1)),this.print_newline(!1,this.output)):this.output.push(a));for(var b=0;b0,this.output);this.newlines=0},this.indent=function(){this.indent_level++},this.unindent=function(){this.indent_level>0&&this.indent_level--}},this}var h,i,j,k,l,m,n,o,p,q,r,s,t,u;for(c=c||{},void 0!==c.wrap_line_length&&0!==parseInt(c.wrap_line_length,10)||void 0===c.max_char||0===parseInt(c.max_char,10)||(c.wrap_line_length=c.max_char),i=void 0===c.indent_inner_html?!1:c.indent_inner_html,j=void 0===c.indent_size?4:parseInt(c.indent_size,10),k=void 0===c.indent_char?" ":c.indent_char,m=void 0===c.brace_style?"collapse":c.brace_style,l=0===parseInt(c.wrap_line_length,10)?32786:parseInt(c.wrap_line_length||250,10),n=c.unformatted||["a","span","img","bdo","em","strong","dfn","code","samp","kbd","var","cite","abbr","acronym","q","sub","sup","tt","i","b","big","small","u","s","strike","font","ins","del","address","pre"],o=void 0===c.preserve_newlines?!0:c.preserve_newlines,p=o?isNaN(parseInt(c.max_preserve_newlines,10))?32786:parseInt(c.max_preserve_newlines,10):0,q=void 0===c.indent_handlebars?!1:c.indent_handlebars,r=void 0===c.wrap_attributes?"auto":c.wrap_attributes,s=void 0===c.wrap_attributes_indent_size?j:parseInt(c.wrap_attributes_indent_size,10)||j,t=void 0===c.end_with_newline?!1:c.end_with_newline,u=Array.isArray(c.extra_liners)?c.extra_liners.concat():"string"==typeof c.extra_liners?c.extra_liners.split(","):"head,body,/html".split(","),c.indent_with_tabs&&(k=" ",j=1),h=new g,h.printer(a,k,j,l,m);;){var v=h.get_token();if(h.token_text=v[0],h.token_type=v[1],"TK_EOF"==h.token_type)break;switch(h.token_type){case"TK_TAG_START":h.print_newline(!1,h.output),h.print_token(h.token_text),h.indent_content&&(h.indent(),h.indent_content=!1),h.current_mode="CONTENT";break;case"TK_TAG_STYLE":case"TK_TAG_SCRIPT":h.print_newline(!1,h.output),h.print_token(h.token_text),h.current_mode="CONTENT";break;case"TK_TAG_END":if("TK_CONTENT"==h.last_token&&""===h.last_text){var w=h.token_text.match(/\w+/)[0],x=null;h.output.length&&(x=h.output[h.output.length-1].match(/(?:<|{{#)\s*(\w+)/)),(null==x||x[1]!=w&&!h.Utils.in_array(x[1],n))&&h.print_newline(!1,h.output)}h.print_token(h.token_text),h.current_mode="CONTENT";break;case"TK_TAG_SINGLE":var y=h.token_text.match(/^\s*<([a-z-]+)/i);y&&h.Utils.in_array(y[1],n)||h.print_newline(!1,h.output),h.print_token(h.token_text),h.current_mode="CONTENT";break;case"TK_TAG_HANDLEBARS_ELSE":h.print_token(h.token_text),h.indent_content&&(h.indent(),h.indent_content=!1),h.current_mode="CONTENT";break;case"TK_TAG_HANDLEBARS_COMMENT":h.print_token(h.token_text),h.current_mode="TAG";break;case"TK_CONTENT":h.print_token(h.token_text),h.current_mode="TAG";break;case"TK_STYLE":case"TK_SCRIPT":if(""!==h.token_text){h.print_newline(!1,h.output);var z,A=h.token_text,B=1;"TK_SCRIPT"==h.token_type?z="function"==typeof f&&f:"TK_STYLE"==h.token_type&&(z="function"==typeof b&&b),"keep"==c.indent_scripts?B=0:"separate"==c.indent_scripts&&(B=-h.indent_level);var C=h.get_full_indent(B);if(z)A=z(A.replace(/^\s*/,C),c);else{var D=A.match(/^\s*/)[0],E=D.match(/[^\n\r]*$/)[0].split(h.indent_string).length-1,F=h.get_full_indent(B-E);A=A.replace(/^\s*/,C).replace(/\r\n|\r|\n/g,"\n"+F).replace(/\s+$/,"")}A&&(h.print_token_raw(A),h.print_newline(!0,h.output))}h.current_mode="TAG";break;default:""!==h.token_text&&h.print_token(h.token_text)}h.last_token=h.token_type,h.last_text=h.token_text}var G=h.output.join("").replace(/[\r\n\t ]+$/,"");return t&&(G+="\n"),G}function b(a,b){function c(){return v=a.charAt(++x),v||""}function d(b){var d="",e=x;return b&&g(),d=a.charAt(x+1)||"",x=e-1,c(),d}function e(b){for(var d=x;c();)if("\\"===v)c();else{if(-1!==b.indexOf(v))break;if("\n"===v)break}return a.substring(d,x+1)}function f(a){var b=x,d=e(a);return x=b-1,c(),d}function g(){for(var a="";w.test(d());)c(),a+=v;return a}function h(){var a="";for(v&&w.test(v)&&(a=v);w.test(c());)a+=v;return a}function i(b){var e=x;for(b="/"===d(),c();c();){if(!b&&"*"===v&&"/"===d()){c();break}if(b&&"\n"===v)return a.substring(e,x)}return a.substring(e,x)+v}function j(b){return a.substring(x-b.length,x).toLowerCase()===b}function k(){for(var b=0,c=x+1;cC):F=B>=C):"}"===v?(m(),D["}"](v),F=!1,G=!1,C&&C--,t&&0===B&&D.newLine(!0)):":"===v?(g(),!F&&!H||j("&")||k()?":"===d()?(c(),E.push("::")):E.push(":"):(G=!0,E.push(":"),D.singleSpace())):'"'===v||"'"===v?(D.preserveSingleSpace(),E.push(e(v))):";"===v?(G=!1,E.push(v),D.newLine()):"("===v?j("url")?(E.push(v),g(),c()&&(")"!==v&&'"'!==v&&"'"!==v?E.push(e(")")):x--)):(y++,D.preserveSingleSpace(),E.push(v),g()):")"===v?(E.push(v),y--):","===v?(E.push(v),g(),r&&!G&&1>y?D.newLine():D.singleSpace()):"]"===v?E.push(v):"["===v?(D.preserveSingleSpace(),E.push(v)):"="===v?(g(),v="=",E.push(v)):(D.preserveSingleSpace(),E.push(v))}var P="";return z&&(P+=z),P+=E.join("").replace(/[\r\n\t ]+$/,""),s&&(P+="\n"),"\n"!=u&&(P=P.replace(/[\n]/g,u)),P}function c(a,b){for(var c=0;cc&&(c=a.line_indent_level));var d={mode:b,parent:a,last_text:a?a.last_text:"",last_word:a?a.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,if_block:!1,else_block:!1,do_block:!1,do_while:!1,in_case_statement:!1,in_case:!1,case_body:!1,indentation_level:c,line_indent_level:a?a.line_indent_level:c,start_line_index:R.get_line_number(),ternary_depth:0};return d}function g(a){var b=a.newlines,c=ba.keep_array_indentation&&t(Y.mode);if(c)for(d=0;b>d;d+=1)n(d>0);else if(ba.max_preserve_newlines&&b>ba.max_preserve_newlines&&(b=ba.max_preserve_newlines),ba.preserve_newlines&&a.newlines>1){n();for(var d=1;b>d;d+=1)n(!0)}U=a,aa[U.type]()}function h(a){a=a.replace(/\x0d/g,"");for(var b=[],c=a.indexOf("\n");-1!==c;)b.push(a.substring(0,c)),a=a.substring(c+1),c=a.indexOf("\n");return a.length&&b.push(a),b}function m(a){if(a=void 0===a?!1:a,!R.just_added_newline())if(ba.preserve_newlines&&U.wanted_newline||a)n(!1,!0);else if(ba.wrap_line_length){var b=R.current_line.get_character_count()+U.text.length+(R.space_before_token?1:0);b>=ba.wrap_line_length&&n(!1,!0)}}function n(a,b){if(!b&&";"!==Y.last_text&&","!==Y.last_text&&"="!==Y.last_text&&"TK_OPERATOR"!==V)for(;Y.mode===l.Statement&&!Y.if_block&&!Y.do_block;)v();R.add_new_line(a)&&(Y.multiline_frame=!0)}function o(){R.just_added_newline()&&(ba.keep_array_indentation&&t(Y.mode)&&U.wanted_newline?(R.current_line.push(U.whitespace_before),R.space_before_token=!1):R.set_indent(Y.indentation_level)&&(Y.line_indent_level=Y.indentation_level))}function p(a){return R.raw?void R.add_raw_token(U):(ba.comma_first&&"TK_COMMA"===V&&R.just_added_newline()&&","===R.previous_line.last()&&(R.previous_line.pop(),o(),R.add_token(","),R.space_before_token=!0),a=a||U.text,o(),void R.add_token(a))}function q(){Y.indentation_level+=1}function r(){Y.indentation_level>0&&(!Y.parent||Y.indentation_level>Y.parent.indentation_level)&&(Y.indentation_level-=1)}function s(a){Y?($.push(Y),Z=Y):Z=f(null,a),Y=f(Z,a)}function t(a){return a===l.ArrayLiteral}function u(a){return c(a,[l.Expression,l.ForInitializer,l.Conditional])}function v(){$.length>0&&(Z=Y,Y=$.pop(),Z.mode===l.Statement&&R.remove_redundant_indentation(Z))}function w(){return Y.parent.mode===l.ObjectLiteral&&Y.mode===l.Statement&&(":"===Y.last_text&&0===Y.ternary_depth||"TK_RESERVED"===V&&c(Y.last_text,["get","set"]))}function x(){return"TK_RESERVED"===V&&c(Y.last_text,["var","let","const"])&&"TK_WORD"===U.type||"TK_RESERVED"===V&&"do"===Y.last_text||"TK_RESERVED"===V&&"return"===Y.last_text&&!U.wanted_newline||"TK_RESERVED"===V&&"else"===Y.last_text&&("TK_RESERVED"!==U.type||"if"!==U.text)||"TK_END_EXPR"===V&&(Z.mode===l.ForInitializer||Z.mode===l.Conditional)||"TK_WORD"===V&&Y.mode===l.BlockStatement&&!Y.in_case&&"--"!==U.text&&"++"!==U.text&&"function"!==W&&"TK_WORD"!==U.type&&"TK_RESERVED"!==U.type||Y.mode===l.ObjectLiteral&&(":"===Y.last_text&&0===Y.ternary_depth||"TK_RESERVED"===V&&c(Y.last_text,["get","set"]))?(s(l.Statement),q(),"TK_RESERVED"===V&&c(Y.last_text,["var","let","const"])&&"TK_WORD"===U.type&&(Y.declaration_statement=!0),w()||m("TK_RESERVED"===U.type&&c(U.text,["do","for","if","while"])),!0):!1}function y(a,b){for(var c=0;cd;d++)if(c=a[d],c&&0!==c.indexOf(b))return!1;return!0}function A(a){return c(a,["case","return","do","if","throw","else"])}function B(a){var b=S+(a||0);return 0>b||b>=ca.length?null:ca[b]}function C(){x();var a=l.Expression;if("["===U.text){if("TK_WORD"===V||")"===Y.last_text)return"TK_RESERVED"===V&&c(Y.last_text,T.line_starters)&&(R.space_before_token=!0),s(a),p(),q(),void(ba.space_in_paren&&(R.space_before_token=!0));a=l.ArrayLiteral,t(Y.mode)&&("["===Y.last_text||","===Y.last_text&&("]"===W||"}"===W))&&(ba.keep_array_indentation||n())}else"TK_RESERVED"===V&&"for"===Y.last_text?a=l.ForInitializer:"TK_RESERVED"===V&&c(Y.last_text,["if","while"])&&(a=l.Conditional);";"===Y.last_text||"TK_START_BLOCK"===V?n():"TK_END_EXPR"===V||"TK_START_EXPR"===V||"TK_END_BLOCK"===V||"."===Y.last_text?m(U.wanted_newline):"TK_RESERVED"===V&&"("===U.text||"TK_WORD"===V||"TK_OPERATOR"===V?"TK_RESERVED"===V&&("function"===Y.last_word||"typeof"===Y.last_word)||"*"===Y.last_text&&"function"===W?ba.space_after_anon_function&&(R.space_before_token=!0):"TK_RESERVED"!==V||!c(Y.last_text,T.line_starters)&&"catch"!==Y.last_text||ba.space_before_conditional&&(R.space_before_token=!0):R.space_before_token=!0,"("===U.text&&"TK_RESERVED"===V&&"await"===Y.last_word&&(R.space_before_token=!0),"("===U.text&&("TK_EQUALS"===V||"TK_OPERATOR"===V)&&(w()||m()),s(a),p(),ba.space_in_paren&&(R.space_before_token=!0),q()}function D(){for(;Y.mode===l.Statement;)v();Y.multiline_frame&&m("]"===U.text&&t(Y.mode)&&!ba.keep_array_indentation),ba.space_in_paren&&("TK_START_EXPR"!==V||ba.space_in_empty_paren?R.space_before_token=!0:(R.trim(),R.space_before_token=!1)),"]"===U.text&&ba.keep_array_indentation?(p(),v()):(v(),p()),R.remove_redundant_indentation(Z),Y.do_while&&Z.mode===l.Conditional&&(Z.mode=l.Expression,Y.do_block=!1,Y.do_while=!1)}function E(){var a=B(1),b=B(2);s(b&&(":"===b.text&&c(a.type,["TK_STRING","TK_WORD","TK_RESERVED"])||c(a.text,["get","set"])&&c(b.type,["TK_WORD","TK_RESERVED"]))?c(W,["class","interface"])?l.BlockStatement:l.ObjectLiteral:l.BlockStatement);var d=!a.comments_before.length&&"}"===a.text,e=d&&"function"===Y.last_word&&"TK_END_EXPR"===V;"expand"===ba.brace_style||"none"===ba.brace_style&&U.wanted_newline?"TK_OPERATOR"!==V&&(e||"TK_EQUALS"===V||"TK_RESERVED"===V&&A(Y.last_text)&&"else"!==Y.last_text)?R.space_before_token=!0:n(!1,!0):"TK_OPERATOR"!==V&&"TK_START_EXPR"!==V?"TK_START_BLOCK"===V?n():R.space_before_token=!0:t(Z.mode)&&","===Y.last_text&&("}"===W?R.space_before_token=!0:n()),p(),q()}function F(){for(;Y.mode===l.Statement;)v();var a="TK_START_BLOCK"===V;"expand"===ba.brace_style?a||n():a||(t(Y.mode)&&ba.keep_array_indentation?(ba.keep_array_indentation=!1,n(),ba.keep_array_indentation=!0):n()),v(),p()}function G(){if("TK_RESERVED"===U.type&&Y.mode!==l.ObjectLiteral&&c(U.text,["set","get"])&&(U.type="TK_WORD"),"TK_RESERVED"===U.type&&Y.mode===l.ObjectLiteral){var a=B(1);":"==a.text&&(U.type="TK_WORD")}if(x()||!U.wanted_newline||u(Y.mode)||"TK_OPERATOR"===V&&"--"!==Y.last_text&&"++"!==Y.last_text||"TK_EQUALS"===V||!ba.preserve_newlines&&"TK_RESERVED"===V&&c(Y.last_text,["var","let","const","set","get"])||n(),Y.do_block&&!Y.do_while){if("TK_RESERVED"===U.type&&"while"===U.text)return R.space_before_token=!0,p(),R.space_before_token=!0,void(Y.do_while=!0);n(),Y.do_block=!1}if(Y.if_block)if(Y.else_block||"TK_RESERVED"!==U.type||"else"!==U.text){for(;Y.mode===l.Statement;)v();Y.if_block=!1,Y.else_block=!1}else Y.else_block=!0;if("TK_RESERVED"===U.type&&("case"===U.text||"default"===U.text&&Y.in_case_statement))return n(),(Y.case_body||ba.jslint_happy)&&(r(),Y.case_body=!1),p(),Y.in_case=!0,void(Y.in_case_statement=!0);if("TK_RESERVED"===U.type&&"function"===U.text&&((c(Y.last_text,["}",";"])||R.just_added_newline()&&!c(Y.last_text,["[","{",":","=",","]))&&(R.just_added_blankline()||U.comments_before.length||(n(),n(!0))),"TK_RESERVED"===V||"TK_WORD"===V?"TK_RESERVED"===V&&c(Y.last_text,["get","set","new","return","export","async"])?R.space_before_token=!0:"TK_RESERVED"===V&&"default"===Y.last_text&&"export"===W?R.space_before_token=!0:n():"TK_OPERATOR"===V||"="===Y.last_text?R.space_before_token=!0:(Y.multiline_frame||!u(Y.mode)&&!t(Y.mode))&&n()),("TK_COMMA"===V||"TK_START_EXPR"===V||"TK_EQUALS"===V||"TK_OPERATOR"===V)&&(w()||m()),"TK_RESERVED"===U.type&&c(U.text,["function","get","set"]))return p(),void(Y.last_word=U.text);if(_="NONE","TK_END_BLOCK"===V?"TK_RESERVED"===U.type&&c(U.text,["else","catch","finally"])?"expand"===ba.brace_style||"end-expand"===ba.brace_style||"none"===ba.brace_style&&U.wanted_newline?_="NEWLINE":(_="SPACE",R.space_before_token=!0):_="NEWLINE":"TK_SEMICOLON"===V&&Y.mode===l.BlockStatement?_="NEWLINE":"TK_SEMICOLON"===V&&u(Y.mode)?_="SPACE":"TK_STRING"===V?_="NEWLINE":"TK_RESERVED"===V||"TK_WORD"===V||"*"===Y.last_text&&"function"===W?_="SPACE":"TK_START_BLOCK"===V?_="NEWLINE":"TK_END_EXPR"===V&&(R.space_before_token=!0,_="NEWLINE"),"TK_RESERVED"===U.type&&c(U.text,T.line_starters)&&")"!==Y.last_text&&(_="else"===Y.last_text||"export"===Y.last_text?"SPACE":"NEWLINE"),"TK_RESERVED"===U.type&&c(U.text,["else","catch","finally"]))if("TK_END_BLOCK"!==V||"expand"===ba.brace_style||"end-expand"===ba.brace_style||"none"===ba.brace_style&&U.wanted_newline)n();else{R.trim(!0);var b=R.current_line;"}"!==b.last()&&n(),R.space_before_token=!0}else"NEWLINE"===_?"TK_RESERVED"===V&&A(Y.last_text)?R.space_before_token=!0:"TK_END_EXPR"!==V?"TK_START_EXPR"===V&&"TK_RESERVED"===U.type&&c(U.text,["var","let","const"])||":"===Y.last_text||("TK_RESERVED"===U.type&&"if"===U.text&&"else"===Y.last_text?R.space_before_token=!0:n()):"TK_RESERVED"===U.type&&c(U.text,T.line_starters)&&")"!==Y.last_text&&n():Y.multiline_frame&&t(Y.mode)&&","===Y.last_text&&"}"===W?n():"SPACE"===_&&(R.space_before_token=!0);p(),Y.last_word=U.text,"TK_RESERVED"===U.type&&"do"===U.text&&(Y.do_block=!0),"TK_RESERVED"===U.type&&"if"===U.text&&(Y.if_block=!0)}function H(){for(x()&&(R.space_before_token=!1);Y.mode===l.Statement&&!Y.if_block&&!Y.do_block;)v();p()}function I(){x()?R.space_before_token=!0:"TK_RESERVED"===V||"TK_WORD"===V?R.space_before_token=!0:"TK_COMMA"===V||"TK_START_EXPR"===V||"TK_EQUALS"===V||"TK_OPERATOR"===V?w()||m():n(),p()}function J(){x(),Y.declaration_statement&&(Y.declaration_assignment=!0),R.space_before_token=!0,p(),R.space_before_token=!0}function K(){return Y.declaration_statement?(u(Y.parent.mode)&&(Y.declaration_assignment=!1),p(),void(Y.declaration_assignment?(Y.declaration_assignment=!1,n(!1,!0)):(R.space_before_token=!0,ba.comma_first&&m()))):(p(),void(Y.mode===l.ObjectLiteral||Y.mode===l.Statement&&Y.parent.mode===l.ObjectLiteral?(Y.mode===l.Statement&&v(),n()):(R.space_before_token=!0,ba.comma_first&&m())))}function L(){if(x(),"TK_RESERVED"===V&&A(Y.last_text))return R.space_before_token=!0,void p();if("*"===U.text&&"TK_DOT"===V)return void p();if(":"===U.text&&Y.in_case)return Y.case_body=!0,q(),p(),n(),void(Y.in_case=!1);if("::"===U.text)return void p();"TK_OPERATOR"===V&&m();var a=!0,b=!0;c(U.text,["--","++","!","~"])||c(U.text,["-","+"])&&(c(V,["TK_START_BLOCK","TK_START_EXPR","TK_EQUALS","TK_OPERATOR"])||c(Y.last_text,T.line_starters)||","===Y.last_text)?(a=!1,b=!1,!U.wanted_newline||"--"!==U.text&&"++"!==U.text||n(!1,!0),";"===Y.last_text&&u(Y.mode)&&(a=!0),"TK_RESERVED"===V?a=!0:"TK_END_EXPR"===V?a=!("]"===Y.last_text&&("--"===U.text||"++"===U.text)):"TK_OPERATOR"===V&&(a=c(U.text,["--","-","++","+"])&&c(Y.last_text,["--","-","++","+"]),c(U.text,["+","-"])&&c(Y.last_text,["--","++"])&&(b=!0)),Y.mode!==l.BlockStatement&&Y.mode!==l.Statement||"{"!==Y.last_text&&";"!==Y.last_text||n()):":"===U.text?0===Y.ternary_depth?a=!1:Y.ternary_depth-=1:"?"===U.text?Y.ternary_depth+=1:"*"===U.text&&"TK_RESERVED"===V&&"function"===Y.last_text&&(a=!1,b=!1),R.space_before_token=R.space_before_token||a,p(),R.space_before_token=b}function M(){if(R.raw)return R.add_raw_token(U),void(U.directives&&"end"===U.directives.preserve&&(ba.test_output_raw||(R.raw=!1)));if(U.directives)return n(!1,!0),p(),"start"===U.directives.preserve&&(R.raw=!0),void n(!1,!0);if(!k.newline.test(U.text)&&!U.wanted_newline)return R.space_before_token=!0,p(),void(R.space_before_token=!0);var a,b=h(U.text),c=!1,d=!1,f=U.whitespace_before,g=f.length;for(n(!1,!0),b.length>1&&(y(b.slice(1),"*")?c=!0:z(b.slice(1),f)&&(d=!0)),p(b[0]),a=1;ag?p(b[a].substring(g)):R.add_token(b[a]);n(!1,!0)}function N(){U.wanted_newline?n(!1,!0):R.trim(!0),R.space_before_token=!0,p(),n(!1,!0)}function O(){x(),"TK_RESERVED"===V&&A(Y.last_text)?R.space_before_token=!0:m(")"===Y.last_text&&ba.break_chained_methods),p()}function P(){p(),"\n"===U.text[U.text.length-1]&&n()}function Q(){for(;Y.mode===l.Statement;)v()}var R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca=[],da="";for(aa={TK_START_EXPR:C,TK_END_EXPR:D,TK_START_BLOCK:E,TK_END_BLOCK:F,TK_WORD:G,TK_RESERVED:G,TK_SEMICOLON:H,TK_STRING:I,TK_EQUALS:J,TK_OPERATOR:L,TK_COMMA:K,TK_BLOCK_COMMENT:M,TK_COMMENT:N,TK_DOT:O,TK_UNKNOWN:P,TK_EOF:Q},b=b?b:{},ba={},void 0!==b.braces_on_own_line&&(ba.brace_style=b.braces_on_own_line?"expand":"collapse"),ba.brace_style=b.brace_style?b.brace_style:ba.brace_style?ba.brace_style:"collapse","expand-strict"===ba.brace_style&&(ba.brace_style="expand"),ba.indent_size=b.indent_size?parseInt(b.indent_size,10):4,ba.indent_char=b.indent_char?b.indent_char:" ",ba.eol=b.eol?b.eol:"\n",ba.preserve_newlines=void 0===b.preserve_newlines?!0:b.preserve_newlines,ba.break_chained_methods=void 0===b.break_chained_methods?!1:b.break_chained_methods,ba.max_preserve_newlines=void 0===b.max_preserve_newlines?0:parseInt(b.max_preserve_newlines,10),ba.space_in_paren=void 0===b.space_in_paren?!1:b.space_in_paren,ba.space_in_empty_paren=void 0===b.space_in_empty_paren?!1:b.space_in_empty_paren,ba.jslint_happy=void 0===b.jslint_happy?!1:b.jslint_happy,ba.space_after_anon_function=void 0===b.space_after_anon_function?!1:b.space_after_anon_function,ba.keep_array_indentation=void 0===b.keep_array_indentation?!1:b.keep_array_indentation,ba.space_before_conditional=void 0===b.space_before_conditional?!0:b.space_before_conditional,ba.unescape_strings=void 0===b.unescape_strings?!1:b.unescape_strings,ba.wrap_line_length=void 0===b.wrap_line_length?0:parseInt(b.wrap_line_length,10),ba.e4x=void 0===b.e4x?!1:b.e4x,ba.end_with_newline=void 0===b.end_with_newline?!1:b.end_with_newline,ba.comma_first=void 0===b.comma_first?!1:b.comma_first,ba.test_output_raw=void 0===b.test_output_raw?!1:b.test_output_raw,ba.jslint_happy&&(ba.space_after_anon_function=!0),b.indent_with_tabs&&(ba.indent_char=" ",ba.indent_size=1),ba.eol=ba.eol.replace(/\\r/,"\r").replace(/\\n/,"\n"),X="";ba.indent_size>0;)X+=ba.indent_char,ba.indent_size-=1;var ea=0;if(a&&a.length){for(;" "===a.charAt(ea)||" "===a.charAt(ea);)da+=a.charAt(ea),ea+=1;a=a.substring(ea)}V="TK_START_BLOCK",W="",R=new i(X,da),R.raw=ba.test_output_raw,$=[],s(l.BlockStatement),this.beautify=function(){var b,c;for(T=new j(a,ba,X),ca=T.tokenize(),S=0;b=B();){for(var d=0;d0&&(c-=1,b-=a.indent_length)},this.trim=function(){for(;" "===this.last();){d.pop();b-=1}e=0===d.length},this.toString=function(){var b="";return this._empty||(c>=0&&(b=a.indent_cache[c]),b+=d.join("")),b}}function i(a,b){b=b||"",this.indent_cache=[b],this.baseIndentLength=b.length,this.indent_length=a.length,this.raw=!1;var c=[];this.baseIndentString=b,this.indent_string=a,this.previous_line=null,this.current_line=null,this.space_before_token=!1,this.add_outputline=function(){this.previous_line=this.current_line,this.current_line=new h(this),c.push(this.current_line)},this.add_outputline(),this.get_line_number=function(){return c.length},this.add_new_line=function(a){return 1===this.get_line_number()&&this.just_added_newline()?!1:a||!this.just_added_newline()?(this.raw||this.add_outputline(),!0):!1},this.get_code=function(){var a=c.join("\n").replace(/[\r\n\t ]+$/,"");return a},this.set_indent=function(a){if(c.length>1){for(;a>=this.indent_cache.length;)this.indent_cache.push(this.indent_cache[this.indent_cache.length-1]+this.indent_string);return this.current_line.set_indent(a),!0}return this.current_line.set_indent(0),!1},this.add_raw_token=function(a){for(var b=0;bb;)c[b].remove_indent(),b++},this.trim=function(d){for(d=void 0===d?!1:d,this.current_line.trim(a,b);d&&c.length>1&&this.current_line.is_empty();)c.pop(),this.current_line=c[c.length-1],this.current_line.trim();this.previous_line=c.length>1?c[c.length-2]:null},this.just_added_newline=function(){return this.current_line.is_empty()},this.just_added_blankline=function(){if(this.just_added_newline()){if(1===c.length)return!0;var a=c[c.length-2];return a.is_empty()}return!1}}function j(a,b,e){function f(a){if(!a.match(y))return null;var b={};z.lastIndex=0;for(var c=z.exec(a);c;)b[c[1]]=c[2],c=z.exec(a);return b}function g(){var e,g=[];if(p=0,q="",t>=u)return["","TK_EOF"];var y;y=s.length?s[s.length-1]:new m("TK_START_BLOCK","{");var z=a.charAt(t);for(t+=1;c(z,i);){if(k.newline.test(z)?("\n"!==z||"\r"!==a.charAt(t-2))&&(p+=1,g=[]):g.push(z),t>=u)return["","TK_EOF"];z=a.charAt(t),t+=1}if(g.length&&(q=g.join("")),j.test(z)){var C=!0,D=!0,E=j;for("0"===z&&u>t&&/[Xxo]/.test(a.charAt(t))?(C=!1,D=!1,z+=a.charAt(t),t+=1,E=/[o]/.test(a.charAt(t))?l:n):(z="",t-=1);u>t&&E.test(a.charAt(t));)z+=a.charAt(t),t+=1,C&&u>t&&"."===a.charAt(t)&&(z+=a.charAt(t),t+=1,C=!1),D&&u>t&&/[Ee]/.test(a.charAt(t))&&(z+=a.charAt(t),t+=1,u>t&&/[+-]/.test(a.charAt(t))&&(z+=a.charAt(t),t+=1),D=!1,C=!1);return[z,"TK_WORD"]}if(k.isIdentifierStart(a.charCodeAt(t-1))){if(u>t)for(;k.isIdentifierChar(a.charCodeAt(t))&&(z+=a.charAt(t),t+=1,t!==u););return"TK_DOT"===y.type||"TK_RESERVED"===y.type&&c(y.text,["set","get"])||!c(z,v)?[z,"TK_WORD"]:"in"===z?[z,"TK_OPERATOR"]:[z,"TK_RESERVED"]}if("("===z||"["===z)return[z,"TK_START_EXPR"];if(")"===z||"]"===z)return[z,"TK_END_EXPR"];if("{"===z)return[z,"TK_START_BLOCK"];if("}"===z)return[z,"TK_END_BLOCK"];if(";"===z)return[z,"TK_SEMICOLON"];if("/"===z){var F="";if("*"===a.charAt(t)){t+=1,w.lastIndex=t;var G=w.exec(a);F="/*"+G[0],t+=G[0].length;var H=f(F);return H&&"start"===H.ignore&&(A.lastIndex=t,G=A.exec(a),F+=G[0],t+=G[0].length),F=F.replace(k.lineBreak,"\n"),[F,"TK_BLOCK_COMMENT",H]}if("/"===a.charAt(t)){t+=1,x.lastIndex=t;var G=x.exec(a);return F="//"+G[0],t+=G[0].length,[F,"TK_COMMENT"]}}if("`"===z||"'"===z||'"'===z||("/"===z||b.e4x&&"<"===z&&a.slice(t-1).match(/^<([-a-zA-Z:0-9_.]+|{[^{}]*}|!\[CDATA\[[\s\S]*?\]\])(\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{.*?}))*\s*(\/?)\s*>/))&&("TK_RESERVED"===y.type&&c(y.text,["return","case","throw","else","do","typeof","yield"])||"TK_END_EXPR"===y.type&&")"===y.text&&y.parent&&"TK_RESERVED"===y.parent.type&&c(y.parent.text,["if","while","for"])||c(y.type,["TK_COMMENT","TK_START_EXPR","TK_START_BLOCK","TK_END_BLOCK","TK_OPERATOR","TK_EQUALS","TK_EOF","TK_SEMICOLON","TK_COMMA"]))){var I=z,J=!1,K=!1;if(e=z,"/"===I)for(var L=!1;u>t&&(J||L||a.charAt(t)!==I)&&!k.newline.test(a.charAt(t));)e+=a.charAt(t),J?J=!1:(J="\\"===a.charAt(t),"["===a.charAt(t)?L=!0:"]"===a.charAt(t)&&(L=!1)),t+=1;else if(b.e4x&&"<"===I){var M=/<(\/?)([-a-zA-Z:0-9_.]+|{[^{}]*}|!\[CDATA\[[\s\S]*?\]\])(\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{.*?}))*\s*(\/?)\s*>/g,N=a.slice(t-1),O=M.exec(N);if(O&&0===O.index){for(var P=O[2],Q=0;O;){var R=!!O[1],S=O[2],T=!!O[O.length-1]||"![CDATA["===S.slice(0,8);if(S!==P||T||(R?--Q:++Q),0>=Q)break;O=M.exec(N)}var U=O?O.index+O[0].length:N.length;return N=N.slice(0,U),t+=U-1,N=N.replace(k.lineBreak,"\n"),[N,"TK_STRING"]}}else for(;u>t&&(J||a.charAt(t)!==I&&("`"===I||!k.newline.test(a.charAt(t))));)(J||"`"===I)&&k.newline.test(a.charAt(t))?("\r"===a.charAt(t)&&"\n"===a.charAt(t+1)&&(t+=1),e+="\n"):e+=a.charAt(t),J?(("x"===a.charAt(t)||"u"===a.charAt(t))&&(K=!0),J=!1):J="\\"===a.charAt(t),t+=1;if(K&&b.unescape_strings&&(e=h(e)),u>t&&a.charAt(t)===I&&(e+=I,t+=1,"/"===I))for(;u>t&&k.isIdentifierStart(a.charCodeAt(t));)e+=a.charAt(t),t+=1;return[e,"TK_STRING"]}if("#"===z){if(0===s.length&&"!"===a.charAt(t)){for(e=z;u>t&&"\n"!==z;)z=a.charAt(t),e+=z,t+=1;return[d(e)+"\n","TK_UNKNOWN"]}var V="#";if(u>t&&j.test(a.charAt(t))){do z=a.charAt(t),V+=z,t+=1;while(u>t&&"#"!==z&&"="!==z);return"#"===z||("["===a.charAt(t)&&"]"===a.charAt(t+1)?(V+="[]",t+=2):"{"===a.charAt(t)&&"}"===a.charAt(t+1)&&(V+="{}",t+=2)),[V,"TK_WORD"]}}if("<"===z&&("?"===a.charAt(t)||"%"===a.charAt(t))){B.lastIndex=t-1;var W=B.exec(a);if(W)return z=W[0],t+=z.length-1,z=z.replace(k.lineBreak,"\n"),[z,"TK_STRING"]}if("<"===z&&""===a.substring(t-1,t+2))return r=!1,t+=2,["-->","TK_COMMENT"];if("."===z)return[z,"TK_DOT"];if(c(z,o)){for(;u>t&&c(z+a.charAt(t),o)&&(z+=a.charAt(t),t+=1,!(t>=u)););return","===z?[z,"TK_COMMA"]:"="===z?[z,"TK_EQUALS"]:[z,"TK_OPERATOR"]}return[z,"TK_UNKNOWN"]}function h(a){for(var b,c=!1,d="",e=0,f="",g=0;c||e=0&&32>g){d+="x"===b?"\\x"+f:"\\u"+f;continue}if(34===g||39===g||92===g)d+="\\"+String.fromCharCode(g);else{if("x"===b&&g>126&&255>=g)return a;d+=String.fromCharCode(g)}}else"\\"===b?c=!0:d+=b;return d}var i="\n\r ".split(""),j=/[0-9]/,l=/[01234567]/,n=/[0123456789abcdefABCDEF]/,o="+ - * / % & ++ -- = += -= *= /= %= == === != !== > < >= <= >> << >>> >>>= >>= <<= && &= | || ! ~ , : ? ^ ^= |= :: =>".split(" ");this.line_starters="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(",");var p,q,r,s,t,u,v=this.line_starters.concat(["do","in","else","get","set","new","catch","finally","typeof","yield","async","await"]),w=/([\s\S]*?)((?:\*\/)|$)/g,x=/([^\n\r\u2028\u2029]*)/g,y=/\/\* beautify( \w+[:]\w+)+ \*\//g,z=/ (\w+)[:](\w+)/g,A=/([\s\S]*?)((?:\/\*\sbeautify\signore:end\s\*\/)|$)/g,B=/((<\?php|<\?=)[\s\S]*?\?>)|(<%[\s\S]*?%>)/g;this.tokenize=function(){u=a.length,t=0,r=!1,s=[];for(var b,c,d,e=null,f=[],h=[];!c||"TK_EOF"!==c.type;){for(d=g(),b=new m(d[1],d[0],p,q);"TK_COMMENT"===b.type||"TK_BLOCK_COMMENT"===b.type||"TK_UNKNOWN"===b.type;)"TK_BLOCK_COMMENT"===b.type&&(b.directives=d[2]),h.push(b),d=g(),b=new m(d[1],d[0],p,q);h.length&&(b.comments_before=h,h=[]),"TK_START_BLOCK"===b.type||"TK_START_EXPR"===b.type?(b.parent=c,f.push(e),e=b):("TK_END_BLOCK"===b.type||"TK_END_EXPR"===b.type)&&e&&("]"===b.text&&"["===e.text||")"===b.text&&"("===e.text||"}"===b.text&&"{"===e.text)&&(b.parent=e.parent,e=f.pop()),s.push(b),c=b}return s}}var k={};!function(a){var b="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",c="\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u0620-\u0649\u0672-\u06d3\u06e7-\u06e8\u06fb-\u06fc\u0730-\u074a\u0800-\u0814\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0840-\u0857\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962-\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09d7\u09df-\u09e0\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5f-\u0b60\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2-\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d46-\u0d48\u0d57\u0d62-\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e34-\u0e3a\u0e40-\u0e45\u0e50-\u0e59\u0eb4-\u0eb9\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f41-\u0f47\u0f71-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1029\u1040-\u1049\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u170e-\u1710\u1720-\u1730\u1740-\u1750\u1772\u1773\u1780-\u17b2\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1920-\u192b\u1930-\u193b\u1951-\u196d\u19b0-\u19c0\u19c8-\u19c9\u19d0-\u19d9\u1a00-\u1a15\u1a20-\u1a53\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b46-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1bb0-\u1bb9\u1be6-\u1bf3\u1c00-\u1c22\u1c40-\u1c49\u1c5b-\u1c7d\u1cd0-\u1cd2\u1d00-\u1dbe\u1e01-\u1f15\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2d81-\u2d96\u2de0-\u2dff\u3021-\u3028\u3099\u309a\ua640-\ua66d\ua674-\ua67d\ua69f\ua6f0-\ua6f1\ua7f8-\ua800\ua806\ua80b\ua823-\ua827\ua880-\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8f3-\ua8f7\ua900-\ua909\ua926-\ua92d\ua930-\ua945\ua980-\ua983\ua9b3-\ua9c0\uaa00-\uaa27\uaa40-\uaa41\uaa4c-\uaa4d\uaa50-\uaa59\uaa7b\uaae0-\uaae9\uaaf2-\uaaf3\uabc0-\uabe1\uabec\uabed\uabf0-\uabf9\ufb20-\ufb28\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",d=new RegExp("["+b+"]"),e=new RegExp("["+b+c+"]");a.newline=/[\n\r\u2028\u2029]/,a.lineBreak=new RegExp("\r\n|"+a.newline.source),a.allLineBreaks=new RegExp(a.lineBreak.source,"g"),a.isIdentifierStart=function(a){return 65>a?36===a||64===a:91>a?!0:97>a?95===a:123>a?!0:a>=170&&d.test(String.fromCharCode(a))},a.isIdentifierChar=function(a){return 48>a?36===a:58>a?!0:65>a?!1:91>a?!0:97>a?95===a:123>a?!0:a>=170&&e.test(String.fromCharCode(a))}}(k);var l={BlockStatement:"BlockStatement",Statement:"Statement",ObjectLiteral:"ObjectLiteral",ArrayLiteral:"ArrayLiteral",ForInitializer:"ForInitializer",Conditional:"Conditional",Expression:"Expression"},m=function(a,b,c,d,e,f){this.type=a,this.text=b,this.comments_before=[],this.newlines=c||0,this.wanted_newline=c>0,this.whitespace_before=d||"",this.parent=null,this.directives=null};return{run:a}}});+function($){"use strict";var Base=$.oc.foundation.base,BaseProto=Base.prototype var RichEditor=function(element,options){this.options=options this.$el=$(element) this.$textarea=this.$el.find('>textarea:first') this.$form=this.$el.closest('form') -this.$dataLocker=null this.$editor=null this.redactor=null $.oc.foundation.controlUtils.markDisposable(element) @@ -2061,53 +160,53 @@ Base.call(this) this.init()} RichEditor.prototype=Object.create(BaseProto) RichEditor.prototype.constructor=RichEditor -RichEditor.DEFAULTS={dataLocker:null,linksHandler:null,stylesheet:null,fullpage:false,editorLang:'en'} +RichEditor.DEFAULTS={linksHandler:null,stylesheet:null,fullpage:false,editorLang:'en',toolbarButtons:null} RichEditor.prototype.init=function(){var self=this;this.$el.one('dispose-control',this.proxy(this.dispose)) -if(this.options.dataLocker){this.$dataLocker=$(this.options.dataLocker) -this.$textarea.val(this.$dataLocker.val())} if(!this.$textarea.attr('id')){this.$textarea.attr('id','element-'+Math.random().toString(36).substring(7))} -var redactorOptions={lang:this.options.editorLang,imageEditable:true,imageResizable:true,buttonSource:true,removeDataAttr:false,toolbarFixed:false,visualCallback:this.proxy(this.onVisualMode),syncBeforeCallback:this.proxy(this.onSyncBefore),focusCallback:this.proxy(this.onFocus),blurCallback:this.proxy(this.onBlur),keydownCallback:this.proxy(this.onKeydown),enterCallback:this.proxy(this.onEnter),changeCallback:this.proxy(this.onChange),pageLinksHandler:this.options.linksHandler,initCallback:function(){self.build(this)}} -if(this.options.fullpage){redactorOptions.fullpage=true} -redactorOptions.plugins=['fullscreen','figure','table','pagelinks','mediamanager'] -redactorOptions.buttons=['html','formatting','bold','italic','alignment','unorderedlist','orderedlist','link','horizontalrule'],this.$textarea.redactor(redactorOptions) -this.redactor=this.$textarea.redactor('core.getObject') -this.$editor=this.redactor.$editor} +this.initFroala()} +RichEditor.prototype.initFroala=function(){var froalaOptions={editorClass:'control-richeditor'} +if(this.options.toolbarButtons){froalaOptions.toolbarButtons=this.options.toolbarButtons.split(',')} +else{froalaOptions.toolbarButtons=['paragraphFormat','paragraphStyle','quote','bold','italic','align','formatOL','formatUL','insertTable','insertLink','insertImage','insertVideo','insertFile','insertHR','fullscreen','html']} +froalaOptions.toolbarButtonsMD=froalaOptions.toolbarButtons +froalaOptions.toolbarButtonsSM=froalaOptions.toolbarButtons +froalaOptions.toolbarButtonsXS=froalaOptions.toolbarButtons +froalaOptions.htmlAllowedEmptyTags=['figure','textarea','a','iframe','object','video','style','script'] +froalaOptions.htmlDoNotWrapTags=['figure','script','style'] +var placeholder=this.$textarea.attr('placeholder') +froalaOptions.placeholderText=placeholder?placeholder:'' +froalaOptions.height=this.$el.hasClass('stretch')?Infinity:$('.height-indicator',this.$el).height() +$.FroalaEditor.ICON_TEMPLATES={font_awesome:'',text:'[NAME]',image:'[ALT]'} +this.$textarea.on('froalaEditor.initialized',this.proxy(this.build)) +this.$textarea.froalaEditor(froalaOptions)} RichEditor.prototype.dispose=function(){this.unregisterHandlers() -$(document).trigger('mousedown') -this.redactor.core.destroy() -if(this.redactor.figure){this.redactor.figure.destroy() -this.redactor.figure=null} +this.$textarea.froalaEditor('destroy') this.$el.removeData('oc.richEditor') this.options=null this.$el=null this.$textarea=null this.$form=null -this.$dataLocker=null this.$editor=null -this.redactor.$textarea=null -this.redactor.$element=null -this.redactor=null BaseProto.dispose.call(this)} RichEditor.prototype.unregisterHandlers=function(){$(window).off('resize',this.proxy(this.updateLayout)) $(window).off('oc.updateUi',this.proxy(this.updateLayout)) this.$el.off('dispose-control',this.proxy(this.dispose))} -RichEditor.prototype.build=function(redactor){this.updateLayout() +RichEditor.prototype.build=function(event,editor){this.updateLayout() $(window).on('resize',this.proxy(this.updateLayout)) $(window).on('oc.updateUi',this.proxy(this.updateLayout)) this.$textarea.trigger('init.oc.richeditor',[this]) -this.initUiBlocks() -var self=this -redactor.default={onShow:function($figure,$toolbar){self.onShowFigureToolbar($figure,$toolbar)}}} +this.initUiBlocks()} RichEditor.prototype.getElement=function(){return this.$el} RichEditor.prototype.getEditor=function(){return this.$editor} RichEditor.prototype.getTextarea=function(){return this.$textarea} RichEditor.prototype.setContent=function(html){this.$textarea.redactor('code.set',html) this.$textarea.trigger('setContent.oc.richeditor',[this])} -RichEditor.prototype.updateLayout=function(){var $editor=$('.redactor-editor',this.$el),$codeEditor=$('textarea',this.$el),$toolbar=$('.redactor-toolbar',this.$el) +RichEditor.prototype.updateLayout=function(){var $editor=$('.fr-wrapper',this.$el),$codeEditor=$('.fr-code',this.$el),$toolbar=$('.fr-toolbar',this.$el),$box=$('.fr-box',this.$el) if(!$editor.length){return} -if(this.$el.hasClass('stretch')){var height=$toolbar.outerHeight(true) +if(this.$el.hasClass('stretch')&&!$box.hasClass('fr-fullscreen')){var height=$toolbar.outerHeight(true) $editor.css('top',height+1) -$codeEditor.css('top',height)}} +$codeEditor.css('top',height)} +else{$editor.css('top','') +$codeEditor.css('top','')}} RichEditor.prototype.sanityCheckContent=function(){var safeElements='p, h1, h2, h3, h4, h5, pre, figure, ol, ul';if(!this.$editor.children(':last-child').is(safeElements)){this.$editor.append('


')} if(!this.$editor.children(':first-child').is(safeElements)){this.$editor.prepend('


')} this.$textarea.trigger('sanitize.oc.richeditor',[this])} @@ -2136,7 +235,7 @@ inserted=true}}} if(!inserted){this.redactor.insert.node($node)} this.redactor.code.sync() $node.focus()} -RichEditor.prototype.initUiBlocks=function(){$('.redactor-editor [data-video], .redactor-editor [data-audio]',this.$el).each(function(){$(this).attr({'data-ui-block':true,'tabindex':'0'}) +RichEditor.prototype.initUiBlocks=function(){$('.fr-wrapper [data-video], .fr-wrapper [data-audio]',this.$el).each(function(){$(this).attr({'data-ui-block':true,'tabindex':'0'}) this.contentEditable=false})} RichEditor.prototype.handleUiBlocksKeydown=function(ev){if(this.$textarea===undefined){return} if(ev.target&&$(ev.target).attr('data-ui-block')!==undefined){this.uiBlockKeyDown(ev,ev.target) @@ -2184,8 +283,7 @@ this.handleUiBlocksKeydown(ev) if(ev.isDefaultPrevented()){return false}} RichEditor.prototype.onChange=function(ev){this.sanityCheckContent() this.$editor.trigger('mutate') -this.$form.trigger('change') -if(this.$dataLocker){this.$dataLocker.val(this.syncBefore(this.$editor.html()))}} +this.$form.trigger('change')} var old=$.fn.richEditor $.fn.richEditor=function(option){var args=Array.prototype.slice.call(arguments,1),result this.each(function(){var $this=$(this) diff --git a/modules/backend/formwidgets/richeditor/assets/js/build.js b/modules/backend/formwidgets/richeditor/assets/js/build.js index 134ed0514..693c93286 100755 --- a/modules/backend/formwidgets/richeditor/assets/js/build.js +++ b/modules/backend/formwidgets/richeditor/assets/js/build.js @@ -7,10 +7,36 @@ * @see build-min.js * -=require ../vendor/froala/js/froala_editor.min.js -=require ../vendor/froala/js/plugins/fullscreen.min.js -=require ../vendor/froala/js/plugins/code_beautifier.min.js -=require ../vendor/froala_drm/js/plugins/code_view.js +=require ../vendor/froala_drm/js/froala_editor.min.js + +// Buttons +=require ../vendor/froala_drm/js/plugins/paragraph_style.min.js +=require ../vendor/froala_drm/js/plugins/fullscreen_soft.js +=require ../vendor/froala_drm/js/plugins/code_view_ace.js +=require ../vendor/froala_drm/js/plugins/paragraph_format.min.js +=require ../vendor/froala_drm/js/plugins/align.min.js +=require ../vendor/froala_drm/js/plugins/lists.min.js +=require ../vendor/froala_drm/js/plugins/file.min.js +=require ../vendor/froala_drm/js/plugins/image.min.js + +// Cannot be minified twice +=require ../vendor/froala_drm/js/plugins/link.js + +=require ../vendor/froala_drm/js/plugins/table.min.js +=require ../vendor/froala_drm/js/plugins/video.min.js +=require ../vendor/froala_drm/js/plugins/quote.min.js +=require ../vendor/froala_drm/js/plugins/font_size.min.js +=require ../vendor/froala_drm/js/plugins/font_family.min.js +=require ../vendor/froala_drm/js/plugins/emoticons.min.js +=require ../vendor/froala_drm/js/plugins/colors.min.js + +// Functional +=require ../vendor/froala_drm/js/plugins/url.min.js +=require ../vendor/froala_drm/js/plugins/line_breaker.min.js +=require ../vendor/froala_drm/js/plugins/entities.min.js +=require ../vendor/froala_drm/js/plugins/draggable.min.js +=require ../vendor/froala_drm/js/plugins/code_beautifier.min.js + =require richeditor.js */ diff --git a/modules/backend/formwidgets/richeditor/assets/js/richeditor.js b/modules/backend/formwidgets/richeditor/assets/js/richeditor.js index 55fbd0a0d..e514c55a1 100755 --- a/modules/backend/formwidgets/richeditor/assets/js/richeditor.js +++ b/modules/backend/formwidgets/richeditor/assets/js/richeditor.js @@ -39,7 +39,8 @@ linksHandler: null, stylesheet: null, fullpage: false, - editorLang: 'en' + editorLang: 'en', + toolbarButtons: null } RichEditor.prototype.init = function() { @@ -55,46 +56,39 @@ } /* - * Initialize Redactor editor + * Initialize Froala editor */ + this.initFroala() + } + + RichEditor.prototype.initFroala = function() { var froalaOptions = { - editorClass: 'control-richeditor', - height: Infinity // Height set via CSS, enable the scrollbars + editorClass: 'control-richeditor' } - froalaOptions.toolbarButtons = [ - 'fullscreen', - 'bold', - 'italic', - 'underline', - 'strikeThrough', - 'subscript', - 'superscript', - 'fontFamily', - 'fontSize', - 'color', - 'emoticons', - 'inlineStyle', - 'paragraphStyle', - 'paragraphFormat', - 'align', - 'formatOL', - 'formatUL', - 'outdent', - 'indent', - 'quote', - 'insertHR', - 'insertLink', - 'insertImage', - 'insertVideo', - 'insertFile', - 'insertTable', - 'undo', - 'redo', - 'clearFormatting', - 'selectAll', - 'html' - ] + if (this.options.toolbarButtons) { + froalaOptions.toolbarButtons = this.options.toolbarButtons.split(',') + } + else { + froalaOptions.toolbarButtons = [ + 'paragraphFormat', + 'paragraphStyle', + 'quote', + 'bold', + 'italic', + 'align', + 'formatOL', + 'formatUL', + 'insertTable', + 'insertLink', + 'insertImage', + 'insertVideo', + 'insertFile', + 'insertHR', + 'fullscreen', + 'html' + ] + } froalaOptions.toolbarButtonsMD = froalaOptions.toolbarButtons froalaOptions.toolbarButtonsSM = froalaOptions.toolbarButtons @@ -102,6 +96,13 @@ froalaOptions.htmlAllowedEmptyTags = ['figure', 'textarea', 'a', 'iframe', 'object', 'video', 'style', 'script'] froalaOptions.htmlDoNotWrapTags = ['figure', 'script', 'style'] + var placeholder = this.$textarea.attr('placeholder') + froalaOptions.placeholderText = placeholder ? placeholder : '' + + froalaOptions.height = this.$el.hasClass('stretch') + ? Infinity + : $('.height-indicator', this.$el).height() + $.FroalaEditor.ICON_TEMPLATES = { font_awesome: '', text: '[NAME]', diff --git a/modules/backend/formwidgets/richeditor/assets/less/_froala.less b/modules/backend/formwidgets/richeditor/assets/less/_froala.less new file mode 100644 index 000000000..8763f98e4 --- /dev/null +++ b/modules/backend/formwidgets/richeditor/assets/less/_froala.less @@ -0,0 +1,79 @@ +// +// Mods to Froala Editor +// + +// +// Wrapper +// + +.fr-box.fr-basic.fr-top .fr-wrapper, +.fr-box.fr-basic.fr-bottom .fr-wrapper { + .box-shadow(none); +} + +// +// Code mode +// + +.fr-box { + .ace_editor { + display: none; + } + .ace_editor { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + margin: 0; + } + + &.fr-code-view .ace_editor { + display: block; + } +} + +// +// Full screen +// + +.fr-command.fr-btn[data-cmd=fullscreen] { + float: right; +} + +// +// Toolbar +// + +.fr-toolbar { + border-top-color: transparent; +} + +.fr-popup.fr-desktop, +.fr-toolbar.fr-inline.fr-desktop { + .fr-arrow { + top: -@arrow-size; + } + + &.fr-above { + .fr-arrow { + bottom: -@arrow-size; + } + } +} + +// Command button. +.fr-toolbar, .fr-popup { + .fr-command.fr-btn { + // Dropdown is visible. + &.fr-dropdown.fr-active { + color: @btn-active-text; + } + } +} + +.fr-toolbar.fr-bottom, +.fr-toolbar.fr-top { + .box-shadow(none); + border-bottom: 2px solid @color-list-border !important; +} diff --git a/modules/backend/formwidgets/richeditor/assets/less/richeditor.less b/modules/backend/formwidgets/richeditor/assets/less/richeditor.less index 6351edda3..902f7fc1f 100755 --- a/modules/backend/formwidgets/richeditor/assets/less/richeditor.less +++ b/modules/backend/formwidgets/richeditor/assets/less/richeditor.less @@ -10,10 +10,41 @@ @color-richeditor-toolbar-btn-bg-active: #404040; @color-richeditor-toolbar-btn-color-hover: #ffffff; +@import "../vendor/froala_drm/less/froala.less"; +@import "../vendor/froala_drm/less/style.less"; + +// Buttons +@import "../vendor/froala_drm/less/plugins/fullscreen.less"; @import "../vendor/froala_drm/less/plugins/code_view.less"; -@import "../vendor/froala/css/froala_editor.min.css"; -@import "../vendor/froala/css/froala_style.min.css"; -@import "../vendor/froala/css/plugins/fullscreen.css"; +@import "../vendor/froala_drm/less/plugins/file.less"; +@import "../vendor/froala_drm/less/plugins/image.less"; +@import "../vendor/froala_drm/less/plugins/table.less"; +@import "../vendor/froala_drm/less/plugins/video.less"; +@import "../vendor/froala_drm/less/plugins/colors.less"; +@import "../vendor/froala_drm/less/plugins/emoticons.less"; + +// Functional +@import "../vendor/froala_drm/less/plugins/line_breaker.less"; +@import "../vendor/froala_drm/less/plugins/draggable.less"; + + +// Modifications +@import "_froala.less"; + +@font-family: @font-family-sans-serif; +@border-radius: @input-border-radius; +@tooltip-bg: #34495e; // Taken from toolbar.variables.less +@tooltip-font-size: @font-size-small; +@arrow-size: 7px; +@ui-border-color: @input-border-color; +@ui-border-top: 1px solid @ui-border-color; +@editor-padding: 20px; +@btn-text: rgba(0,0,0,.5); +@btn-active-text: #222; + +// +// Rich Editor +// .field-flush .field-richeditor { &, &.editor-focus { @@ -28,10 +59,17 @@ min-height: @size; } } + + .height-indicator { + height: @size; + display: none; + } } .field-richeditor { - border: 1px solid @color-form-field-border; + border: 1px solid @input-border; + .box-shadow(@input-box-shadow); + .border-radius(@input-border-radius); .transition(@input-transition); &.editor-focus { @@ -45,14 +83,6 @@ &.size-giant { .richeditor-set-height(@size-giant); } } -// -// Overrides -// - -.fr-toolbar { - border-top: none; -} - // // Stretch // @@ -68,6 +98,7 @@ .fr-toolbar { .border-radius(0) !important; + border-top-color: white; } .fr-wrapper { @@ -77,12 +108,13 @@ bottom: 0; position: absolute; height: auto !important; - padding: 20px; + .fr-view { + min-height: 0; + } } .fr-view, textarea { height: 100%; - padding: 0; } .fr-placeholder { diff --git a/modules/backend/formwidgets/richeditor/assets/vendor/.gitignore b/modules/backend/formwidgets/richeditor/assets/vendor/.gitignore index fc99d5d94..0270e4637 100644 --- a/modules/backend/formwidgets/richeditor/assets/vendor/.gitignore +++ b/modules/backend/formwidgets/richeditor/assets/vendor/.gitignore @@ -1,2 +1 @@ /froala_drm -/froala \ No newline at end of file diff --git a/modules/backend/formwidgets/richeditor/partials/_richeditor.htm b/modules/backend/formwidgets/richeditor/partials/_richeditor.htm index 41bf60c84..2aea55f83 100755 --- a/modules/backend/formwidgets/richeditor/partials/_richeditor.htm +++ b/modules/backend/formwidgets/richeditor/partials/_richeditor.htm @@ -7,8 +7,11 @@ class="field-richeditor size- " data-editor-lang="" data-fullpage="true" + data-toolbar-buttons="" data-links-handler="getEventHandler('onGetPageLinks') ?>" + placeholder="placeholder)) ?>" data-control="richeditor"> +
diff --git a/modules/system/assets/ui/less/popup.variables.less b/modules/system/assets/ui/less/popup.variables.less new file mode 100644 index 000000000..1c8417532 --- /dev/null +++ b/modules/system/assets/ui/less/popup.variables.less @@ -0,0 +1,23 @@ +// +// Popup +// -------------------------------------------------- + +@color-popup-header-bg: transparent; +@color-popup-header-text: #2A3E51; +@color-popup-footer-bg: transparent; +@color-popup-content-bg: #f9f9f9; + +@popup-box-shadow: ~"0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22)"; + +@modal-inner-padding: @padding-standard; +@modal-title-padding: @padding-standard; +@modal-title-line-height: @line-height-base; +@modal-content-border-color: rgba(0,0,0,.2); +@modal-content-fallback-border-color: #999; +@modal-backdrop-bg: @overlay-background; +@modal-backdrop-opacity: .5; +@modal-header-border-color: #e5e5e5; +@modal-footer-border-color: @modal-header-border-color; +@modal-lg: 900px; +@modal-md: 600px; +@modal-sm: 300px; diff --git a/modules/system/assets/ui/less/toolbar.variables.less b/modules/system/assets/ui/less/toolbar.variables.less new file mode 100644 index 000000000..2940f3fa1 --- /dev/null +++ b/modules/system/assets/ui/less/toolbar.variables.less @@ -0,0 +1,10 @@ +// +// Toolbars +// -------------------------------------------------- + +@color-scroll-indicator: #bbbbbb; +@color-toolbar-editor-bg: #dddddd; +@color-toolbar-editor-btn-color: #404040; +@color-toolbar-editor-btn-bg-hover: #999999; +@color-toolbar-editor-btn-bg-active: #404040; +@color-toolbar-editor-btn-color-hover: #ffffff; diff --git a/modules/system/assets/ui/less/tooltip.variables.less b/modules/system/assets/ui/less/tooltip.variables.less new file mode 100644 index 000000000..be8ad8aca --- /dev/null +++ b/modules/system/assets/ui/less/tooltip.variables.less @@ -0,0 +1,11 @@ +// +// Tooltips +// -------------------------------------------------- + +@tooltip-max-width: 200px; +@tooltip-color: #fff; +@tooltip-bg: #34495e; +@tooltip-opacity: .9; + +@tooltip-arrow-width: 5px; +@tooltip-arrow-color: @tooltip-bg;