{if !$wysiwygEnableUpload|isset}{assign var=wysiwygEnableUpload value=false}{/if}
-<link rel="stylesheet" type="text/css" href="{@$__wcf->getPath()}js/3rdParty/redactor/redactor.css" />
+{*<link rel="stylesheet" type="text/css" href="{@$__wcf->getPath()}js/3rdParty/redactor/redactor.css" />*}
<script data-relocate="true">
var __REDACTOR_ICON_PATH = '{@$__wcf->getPath()}icon/';
var __REDACTOR_BUTTONS = [ {implode from=$__wcf->getBBCodeHandler()->getButtonBBCodes() item=__bbcode}{ icon: '{$__bbcode->wysiwygIcon}', label: '{$__bbcode->buttonLabel|language}', name: '{$__bbcode->bbcodeTag}' }{/implode} ];
this._saveTextToStorage();
delete this.opts.wAutosaveOnce;
}
+
+ // we do not support table heads
+ var $tableButton = this.buttonGet('table');
+ if ($tableButton.length) {
+ var $addHead = $tableButton.data('dropdown').children('a.redactor_dropdown_add_head');
+
+ // drop divider
+ $addHead.prev().remove();
+
+ // drop 'delete head'
+ $addHead.next().remove();
+
+ // drop 'add head'
+ $addHead.remove();
+
+ // toggle dropdown options
+ $tableButton.click($.proxy(this._tableButtonClick, this));
+ }
+ },
+
+ /**
+ * Toggles features within the table dropdown.
+ *
+ * @param object event
+ */
+ _tableButtonClick: function(event) {
+ var $button = $(event.currentTarget);
+ if (!$button.hasClass('dropact')) {
+ return;
+ }
+
+ var $current = this.getBlock() || this.getCurrent();
+ var $dropdown = $button.data('dropdown');
+
+ // within table
+ $dropdown.children('li').show();
+ var $insertTable = $dropdown.find('> li > .redactor_dropdown_insert_table').parent();
+ if ($current.tagName == 'TD') {
+ $insertTable.hide().next().hide();
+ }
+ else {
+ $insertTable.nextAll().hide();
+ }
},
/**
html = html.replace(/<td style="text-align: ?(left|center|right|justify);? ?">([\s\S]*?)<\/td>/gi, "[td][align=$1]$2[/align][/td]");
// [td]
- html = html.replace(/(\t)*<td>/gi, '[td]');
+ html = html.replace(/(\t)*<td>(\t)*/gi, '[td]');
html = html.replace(/(\t)*<\/td>/gi, '[/td]\n');
// cache redactor's selection markers
// trim whitespaces within <td>
data = data.replace(/<td>([\S\s]*?)<\/td>/gi, function(match, p1) {
- return '<td>' + $.trim(p1) + '</td>';
+ var $tdContent = $.trim(p1);
+ if (!$tdContent.length) {
+ // unicode zero-width space
+ $tdContent = '​';
+ }
+
+ return '<td>' + $tdContent + '</td>';
});
// smileys
},
/**
- * Creates the color dropdown.
+ * Creates the font color dropdown.
*/
_createFontColorDropdown: function() {
- var $dropdown = $('<div class="redactor_dropdown redactor_dropdown_box_fontcolor" style="display: none;">');
+ var $dropdown = $('<div class="redactor_dropdown redactor_dropdown_box_fontcolor dropdownMenu" style="display: none;">');
var $colors = [
'#000000', '#800000', '#8B4513', '#2F4F4F', '#008080', '#000080', '#4B0082', '#696969',
'#B22222', '#A52A2A', '#DAA520', '#006400', '#40E0D0', '#0000CD', '#800080', '#808080',
'#FFF0F5', '#FAEBD7', '#FFFFE0', '#F0FFF0', '#F0FFFF', '#F0F8FF', '#E6E6FA', '#FFFFFF'
];
+ var $container = $('<li class="redactorColorPallet" />');
for (var $i = 0, $length = $colors.length; $i < $length; $i++) {
var $color = $colors[$i];
var $swatch = $('<a href="#" />').data('color', $color).css('background-color', $color);
- $dropdown.append($swatch);
+ $container.append($swatch);
$swatch.click($.proxy(this._onColorPick, this));
}
var $elNone = $('<a href="#" />').html(this.opts.curLang.none).data('color', 'none');
$elNone.click($.proxy(this._onColorPick, this));
+ $dropdown.append($container);
+ $dropdown.append($('<li class="dropdownDivider" />'));
$dropdown.append($elNone);
+ $elNone.wrap('<li />');
+
$(this.$toolbar).append($dropdown);
return $dropdown;
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
*/
RedactorPlugins.wfontfamily = {
+ /**
+ * Initializes the RedactorPlugins.wfontsize plugin.
+ */
init: function () {
+ var $dropdown = this._createFontFamilyDropdown();
+
+ this.buttonReplace('fontfamily', 'wfontfamily', this.opts.curLang.fontfamily, $.proxy(function(btnName, $button, btnObject, e) {
+ this.dropdownShow(e, btnName);
+ }, this));
+ this.buttonGet('wfontfamily').addClass('re-fontfamily').data('dropdown', $dropdown);
+ },
+
+ /**
+ * Creates the font family dropdown.
+ */
+ _createFontFamilyDropdown: function() {
+ var $dropdown = $('<div class="redactor_dropdown redactor_dropdown_box_wfontfamily dropdownMenu" style="display: none;">');
var $fonts = {
'Arial': "Arial, Helvetica, sans-serif",
'Comic Sans MS': "Comic Sans MS, cursive",
'Trebuchet MS': "Trebuchet MS, Helvetica, sans-serif",
'Verdana': "Verdana, Geneva, sans-serif"
};
-
- var $dropdown = { };
- var $i = 0;
var self = this;
- $.each($fonts, function(title, value) {
- $dropdown['fontFamily' + $i] = {
- title: title,
- className: 'wfontfamily-' + $i,
- callback: function() {
- self.inlineSetStyle('font-family', value);
- }
- };
+ $.each($fonts, function(title, fontFamily) {
+ var $listItem = $('<li><a href="#">' + title + '</a></li>').appendTo($dropdown);
+ var $item = $listItem.children('a').data('fontFamily', fontFamily).css('font-family', fontFamily);
+ $item.click(function() {
+ event.preventDefault();
+
+ self.inlineSetStyle('font-family', $(this).data('fontFamily'));
+ });
+ });
+
+ $('<li class="dropdownDivider" />').appendTo($dropdown);
+ var $listItem = $('<li><a href="#">None</a></li>').appendTo($dropdown);
+ $listItem.children('a').click(function() {
+ event.preventDefault();
- $i++;
+ self.inlineRemoveStyle('font-family');
});
- $dropdown['separator'] = { name: 'separator' };
- $dropdown['remove'] = {
- title: 'remove font',
- callback: function() {
- this.inlineRemoveStyle('font-family');
- }
- };
- this.buttonReplace('fontfamily', 'wfontfamily', 'Change font family', false, $dropdown);
- this.buttonGet('wfontfamily').addClass('re-fontfamily');
+ $(this.$toolbar).append($dropdown);
- // modify dropdown to reflect each font family
- $dropdown = this.$toolbar.find('.redactor_dropdown_box_wfontfamily');
- $i = 0;
- $.each($fonts, function(title, value) {
- $dropdown.children('.wfontfamily-' + $i).removeClass('wfontfamily-' + $i).css('font-family', value);
- $i++;
- });
+ return $dropdown;
}
};
\ No newline at end of file
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
*/
RedactorPlugins.wfontsize = {
+ /**
+ * Initializes the RedactorPlugins.wfontsize plugin.
+ */
init: function () {
- var $fontSizes = [ 8, 10, 12, 14, 18, 24, 36 ];
+ var $dropdown = this._createFontSizeDropdown();
- var $dropdown = { };
+ this.buttonReplace('fontsize', 'wfontsize', this.opts.curLang.fontsize, $.proxy(function(btnName, $button, btnObject, e) {
+ this.dropdownShow(e, btnName);
+ }, this));
+ this.buttonGet('wfontsize').addClass('re-fontsize').data('dropdown', $dropdown);
+ },
+
+ /**
+ * Creates the font size dropdown.
+ */
+ _createFontSizeDropdown: function() {
+ var $dropdown = $('<div class="redactor_dropdown redactor_dropdown_box_wfontsize dropdownMenu" style="display: none;">');
+ var $fontSizes = [ 8, 10, 12, 14, 18, 24, 36 ];
var self = this;
- for (var $i = 0, $length = $fontSizes.length; $i < $length; $i++) {
+ for (var $i = 0; $i < $fontSizes.length; $i++) {
var $fontSize = $fontSizes[$i];
+ var $listItem = $('<li><a href="#">' + $fontSize + '</a></li>').appendTo($dropdown);
+ var $item = $listItem.children('a').data('fontSize', $fontSize).css('font-size', $fontSize + 'pt');
+ if ($fontSize > 18) {
+ $item.css('line-height', '1em');
+ }
- $dropdown['fontSize' + $i] = {
- title: $fontSize,
- className: 'wfontsize-' + $fontSize,
- fontSize: $fontSize,
- callback: function(name, button, object, event) {
- self.inlineSetStyle('font-size', object.fontSize + 'pt');
- }
- };
+ $item.click(function() {
+ event.preventDefault();
+
+ self.inlineSetStyle('font-size', $(this).data('fontSize') + 'pt');
+ });
}
- $dropdown['separator'] = { name: 'separator' };
- $dropdown['remove'] = {
- title: 'remove font size',
- callback: function() {
- this.inlineRemoveStyle('font-size');
- }
- };
+ $('<li class="dropdownDivider" />').appendTo($dropdown);
+ var $listItem = $('<li><a href="#">None</a></li>').appendTo($dropdown);
+ $listItem.children('a').click(function() {
+ event.preventDefault();
+
+ self.inlineRemoveStyle('font-size');
+ });
- this.buttonReplace('fontsize', 'wfontsize', 'Change font size', false, $dropdown);
- this.buttonGet('wfontsize').addClass('re-fontsize');
+ $(this.$toolbar).append($dropdown);
- // modify dropdown to reflect each font family
- $dropdown = this.$toolbar.find('.redactor_dropdown_box_wfontsize');
- for (var $i = 0, $length = $fontSizes.length; $i < $length; $i++) {
- var $fontSize = $fontSizes[$i];
-
- var $listItem = $dropdown.children('a.wfontsize-' + $fontSize).removeClass('wfontsize-' + $fontSizes).css('font-size', $fontSize + 'pt');
- if ($fontSize > 18) {
- $listItem.css('line-height', '1em');
- }
- }
+ return $dropdown;
}
};
this.$toolbar.find('a.re-indent, a.re-outdent').addClass('redactor_button_disabled');
this.setOption('modalOpenedCallback', $.proxy(this.modalOpenedCallback, this));
+ this.setOption('dropdownShowCallback', $.proxy(this.dropdownShowCallback, this));
this.modalTemplatesInit();
},
this.$modal.children('.dialogContent').removeClass('dialogForm');
},
- tableInsert: function()
- {
- this.bufferSet(false);
-
- var rows = $('#redactor_table_rows').val(),
- columns = $('#redactor_table_columns').val(),
- $table_box = $('<div></div>'),
- tableId = Math.floor(Math.random() * 99999),
- $table = $('<table id="table' + tableId + '"><tbody></tbody></table>'),
- i, $row, z, $column;
-
- for (i = 0; i < rows; i++)
- {
- $row = $('<tr></tr>');
-
- for (z = 0; z < columns; z++)
- {
- $column = $('<td>' + this.opts.invisibleSpace + '</td>');
-
- // set the focus to the first td
- if (i === 0 && z === 0)
- {
- $column.append('<span id="selection-marker-1">' + this.opts.invisibleSpace + '</span>');
- }
-
- $($row).append($column);
- }
-
- $table.append($row);
- }
-
- $table_box.append($table);
- var html = $table_box.html();
-
- if (this.opts.linebreaks === false && this.browser('mozilla'))
- {
- html += '<p>' + this.opts.invisibleSpace + '</p>';
- }
-
- this.modalClose();
- this.selectionRestore();
-
- var current = this.getBlock() || this.getCurrent();
-
- if (current && current.tagName != 'BODY')
- {
- // WoltLab fix for nested tables
- if (current.tagName == 'TD') {
- $(current).append(html);
- }
- else {
- if (current.tagName == 'LI')
- {
- var current = $(current).closest('ul, ol');
- }
-
- $(current).after(html);
- }
- // WoltLab fix for nested tables
- }
- else
- {
- this.insertHtmlAdvanced(html, false);
- }
-
- this.selectionRestore();
-
- var table = this.$editor.find('#table' + tableId);
- this.buttonActiveObserver();
-
- table.find('span#selection-marker-1, inline#selection-marker-1').remove();
- table.removeAttr('id');
-
- this.sync();
- },
-
modalOpenedCallback: function() {
// handle positioning of form submit controls
var $heightDifference = 0;
});
},
+ dropdownShowCallback: function(data) {
+ if (!data.dropdown.hasClass('dropdownMenu')) {
+ data.dropdown.addClass('dropdownMenu');
+ data.dropdown.children('.redactor_separator_drop').replaceWith('<li class="dropdownDivider" />');
+ data.dropdown.children('a').wrap('<li />');
+ }
+ },
+
/**
* Overwrites $.Redactor.inlineEachNodes(), the original method compares "selectionHtml"
* and "parentHtml" to check if the callback should be invoked. In some cases the "parentHtml"
}
}
-/* redactor fixes */
-.redactor_editor {
- padding: 10px !important;
-
- & + textarea {
- background-color: rgba(255, 255, 255, 1) !important;
- border: 1px solid rgba(238, 238, 238, 1) !important;
- color: @wcfColor !important;
- padding: 10px !important;
- z-index: 1 !important;
- }
-
- ul,
- ol {
- .nativeList;
- }
-
- ul {
- list-style-type: disc;
- }
-
- ol {
- list-style-type: decimal;
- }
-}
-
-.redactor_toolbar {
- background-color: @wcfButtonBackgroundColor !important;
-
- &:after {
- display: inline !important;
- }
-
- > li {
- &:last-of-type,
- &.separator {
- border-right: 1px solid @wcfButtonBorderColor;
- }
-
- > a {
- background-color: @wcfButtonBackgroundColor;
- color: rgba(51, 51, 51, 1) !important;
-
- .textShadow(@wcfButtonBackgroundColor);
-
- &> i {
- height: 14px;
- width: 12px;
-
- &:before {
- color: rgba(51, 51, 51, 1) !important;
- }
- }
-
- &:not(.redactor_button_disabled):hover {
- background-color: rgba(204, 204, 204, 1) !important;
- color: rgba(51, 51, 51, 1) !important;
-
- .textShadow(@wcfButtonHoverBackgroundColor);
-
- > i:before {
- color: rgba(51, 51, 51, 1) !important;
- }
- }
-
- &.fa-redactor-btn:before {
- content: "";
- }
- }
- }
-}
-
-.redactorAttachmentContainer {
- background-color: rgba(255, 255, 255, 1);
- border: 1px solid rgba(238, 238, 238, 1);
- border-top-width: 0;
- padding: 7px 14px 7px;
-}
-
-.redactorMessageOptions {
- border: 1px solid rgba(238, 238, 238, 1);
- border-top-width: 0;
-
- > nav {
- > ul {
- background-color: rgba(244, 244, 244, 1);
-
- > li {
- display: inline-block;
-
- > a {
- border-right: 1px solid rgba(238, 238, 238, 1);
- border-bottom: 1px solid transparent;
- color: rgba(51, 51, 51, 1);
- display: block;
- margin-bottom: -1px;
- padding: 7px 14px 8px 14px;
- text-decoration: none;
-
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-
- &:hover {
- background-color: @wcfButtonBackgroundColor;
- }
- }
-
- &.active {
- > a {
- background-color: rgba(255, 255, 255, 1);
-
- color: rgba(102, 102, 102, 1);
- /*margin-bottom: -1px;
- padding-bottom: 8px;*/
- }
- }
- }
- }
- }
-
- > div {
- background-color: rgba(255, 255, 255, 1);
- border-top: 1px solid rgba(238, 238, 238, 1);
- margin-top: -1px;
- padding: 14px 7px;
- }
-}
-
-.redactor_dropdown_box_wsmiley > ul > li:not(:last-child) {
- margin-right: 3px !important;
-}
-
-.redactor_dropdown_box_fontcolor {
- width: 192px !important;
-
- > a:not(:last-child) {
- border: 2px solid rgba(255, 255, 255, 1);
- float: left;
- font-size: 0;
- height: 20px;
- padding: 0 !important;
- margin: 0;
- width: 20px;
- }
-
- > a:last-child {
- border: 2px solid rgba(255, 255, 255, 1);
- border-bottom-width: 0;
- clear: both;
- display: block;
- font-size: .85rem;
- padding: 2px 4px;
- text-align: center;
- }
-}
-
@media screen and (max-width: 800px), print {
.message.messageSidebarOrientationLeft,
.message.messageSidebarOrientationRight {
--- /dev/null
+@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;
+}
+.re-icon {
+ font-family: 'RedactorFont';
+
+ > 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 fixes */
+.redactor_box {
+ border: 1px solid @wcfContainerBorderColor;
+ font-size: 0;
+}
+
+.redactor_editor {
+ font-size: 1rem;
+ padding: 10px;
+ position: relative;
+ outline: none;
+
+ & + textarea {
+ border-width: 0;
+ box-shadow: none;
+ font-size: 1rem;
+ outline: none;
+ padding: 10px;
+
+ &:focus {
+ box-shadow: none;
+ }
+ }
+
+ ul,
+ ol {
+ .nativeList;
+ }
+
+ ul {
+ list-style-type: disc;
+ }
+
+ ol {
+ list-style-type: decimal;
+ }
+
+ table {
+ border-collapse: collapse;
+ font-size: 14px;
+ line-height: 1.6em;
+
+ td {
+ border: 1px solid #ddd;
+ padding: 5px;
+ vertical-align: top;
+ }
+ }
+}
+
+.redactor_toolbar {
+ border-bottom: 1px solid @wcfContainerBorderColor;
+
+ .linearGradient(@wcfContainerBackgroundColor, @wcfContainerBackgroundColor, @wcfContainerAccentBackgroundColor);
+
+ > li {
+ display: inline-block;
+
+ &:last-of-type,
+ &.separator {
+ border-right: 1px solid @wcfContainerBorderColor;
+ }
+
+ > a {
+ color: @wcfButtonColor;
+ display: block;
+ font-size: 14px;
+ outline: none;
+ padding: 9px 10px;
+ text-decoration: none;
+
+ .textShadow(@wcfButtonBackgroundColor);
+
+ &.redactor_button_disabled,
+ &.redactor_button_disabled:before,
+ &.redactor_button_disabled > i:before {
+ color: @wcfButtonBackgroundColor;
+ cursor: default;
+ }
+
+ &:before {
+ color: @wcfColor;
+ }
+
+ > i {
+ height: 14px;
+ width: 12px;
+
+ &:before {
+ color: @wcfColor;
+ }
+ }
+
+ &:not(.redactor_button_disabled):hover,
+ &.redactor_act,
+ &.dropact {
+ background-color: @wcfContainerHoverBackgroundColor;
+
+ .textShadow(@wcfButtonHoverBackgroundColor);*/
+
+ > i {
+ text-shadow: none;
+ }
+ }
+
+ &.fa-redactor-btn:before {
+ content: "";
+ }
+ }
+ }
+}
+
+.redactorAttachmentContainer {
+ background-color: rgba(255, 255, 255, 1);
+ border: 1px solid rgba(238, 238, 238, 1);
+ border-top-width: 0;
+ padding: 7px 14px 7px;
+}
+
+.messageTabMenu {
+ border: 1px solid @wcfContainerBorderColor;
+ border-top-width: 0;
+
+ > nav.messageTabMenuNavigation {
+ > ul {
+ background-color: @wcfContainerBackgroundColor;
+ font-size: 0;
+ white-space: nowrap;
+
+ > li {
+ display: inline-block;
+
+ > a {
+ border-right: 1px solid @wcfContainerBorderColor;
+ border-bottom: 1px solid transparent;
+ color: @wcfButtonColor;
+ display: block;
+ font-size: @wcfBaseFontSize;
+ padding: 7px 14px;
+ text-decoration: none;
+
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+
+ &:hover {
+ color: @wcfLinkColor;
+ }
+ }
+
+ &.active {
+ > a {
+ background-color: @wcfContainerBackgroundColor;
+ color: @wcfLinkColor;
+ }
+ }
+ }
+ }
+ }
+
+ > div,
+ > fieldset{
+ background-color: @wcfContainerBackgroundColor;
+ border-width: 0;
+ border-radius: 0;
+ border-top: 1px solid @wcfContainerBorderColor;
+ display: none;
+ margin-top: -1px;
+ padding: 14px 7px;
+ position: static;
+
+ &.active {
+ display: block;
+ }
+ }
+
+ > div {
+ > nav {
+ background-color: @wcfContainerBackgroundColor;
+ border-bottom: 1px solid @wcfContainerBorderColor;
+ margin: -14px -7px 7px -7px !important;
+ padding: @wcfGapTiny @wcfGapSmall;
+
+ ul {
+ display: inline-block;
+ font-size: 0;
+ white-space: nowrap;
+
+ li {
+ display: inline-block;
+ outline: 0;
+ vertical-align: bottom;
+
+ &.active a,
+ &.active a:hover {
+ color: @wcfButtonPrimaryColor;
+ cursor: default;
+ }
+
+ a {
+ color: @wcfButtonColor;
+ display: block;
+ font-size: @wcfSmallFontSize;
+ outline: 0;
+ padding: 0 @wcfGapSmall;
+
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+
+ &:hover {
+ color: @wcfButtonHoverColor;
+ text-decoration: none;
+ }
+ }
+
+ &:not(:last-child) {
+ padding-right: @wcfGapTiny;
+ }
+
+ &.dropdown > a {
+ font-size: 1.0rem;
+ padding: 4px 7px 2px;
+ }
+ }
+ }
+ }
+
+ > div,
+ > fieldset {
+ border-top-width: 0;
+ }
+ }
+}
+
+.redactor_dropdown_box_fontcolor {
+ width: 200px;
+
+ > li.redactorColorPallet {
+ padding: 0 4px;
+
+ &:hover {
+ background-color: @wcfDropdownBackgroundColor !important;
+ }
+
+ > a {
+ border: 2px solid rgba(255, 255, 255, 1);
+ border-bottom-width: 0;
+ display: inline-block;
+ font-size: 0;
+ height: 20px;
+ padding: 0;
+ margin: 0;
+ width: 20px;
+ }
+ }
+}
\ No newline at end of file