Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F7056672
editor.less
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
12 KB
Referenced Files
None
Subscribers
None
editor.less
View Options
/**
* Roundcube Webmail styles for the Elastic skin
*
* Copyright (c) The Roundcube Dev Team
*
* The contents are subject to the Creative Commons Attribution-ShareAlike
* License. It is allowed to copy, distribute, transmit and to adapt the work
* by keeping credits to the original authors in the README.md file.
* See http://creativecommons.org/licenses/by-sa/3.0/ for details.
*/
/*** Text Editor widget (and TinyMCE editor) ***/
//
use
of
div
.
tox
instead
of
just
.
tox
is
to
have
prio
over
TinyMCE
styles
div
.
tox
{
font-size
:
1
rem
;
&,
:not(.svg)
{
.font-family
;
}
&
.
tox-tinymce
{
border-radius
:
.25
rem
;
border
:
1
px
solid
@
color
-
input-border
;
}
&
.
focused
{
border-color
:
@
color
-
input-border-focus
!important
;
box-shadow
:
0
0
0
.2
rem
@
color
-
input-border-focus-shadow
!important
;
}
.
tox-toolbar-overlord
{
z-index
:
1
;
//
for
sticky
header
feature
&
>
div
{
//
The
svg
is
copied
from
TinyMCE
with
modified
height
params
background
:
url
(
"data:image/svg+xml;charset=utf8,%3Csvg height='33px' viewBox='0 0 40 33px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='32px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E"
);
background-color
:
@
color
-
input-addon-background
;
}
}
.
tox-toolbar__primary
{
border-top
:
0
;
}
//
This
one
is
for
mobile
.
tox-toolbar
{
background-color
:
@
color
-
input-addon-background
;
}
.
tox-edit-area
{
border
:
0
;
}
.
tox-dialog
{
border-radius
:
0
;
border-color
:
@
color
-
layout-border
;
box-shadow
:
none
;
align-self
:
unset
!important
;
.tox-form__group
{
margin-top
:
0
;
margin-bottom
:
.75
rem
;
}
.
tox-dialog__body-nav-item--active
{
color
:
@
color
-
link
;
border-color
:
transparent
;
&:hover
{
color
:
@
color
-
link-hover
;
}
}
}
.
tox-dialog__body-content
{
overflow
:
unset
;
}
.
tox-dialog-wrap__backdrop
{
background-color
:
@
color
-
dialog-overlay-background
;
}
.
tox-dialog__header
{
height
:
(
@
layout-header-height
-
1
px
);
border-bottom
:
1
px
solid
@
color
-
dialog-header-border
;
justify-content
:
flex-end
;
//
fixes
close
button
position
when
dialog
has
no
title
padding
:
0
;
.tox-button
{
color
:
@
color
-
dialog-header
;
right
:
0
;
height
:
(
@
layout-header-height
-
.7
rem
);
width
:
2.25
em
;
margin-right
:
.4
rem
;
&:hover
{
background
:
transparent
;
border-color
:
transparent
;
}
.
tox-icon
{
display
:
none
;
}
&
:
before
{
&:extend(.font-icon-class)
;
content
:
@
fa-var-times
;
line-height
:
1.5
rem
;
margin
:
0
!important
;
}
}
}
.
tox-dialog__footer
{
height
:
(
@
layout-footer-height
-
1
px
)
!important
;
border
:
0
;
margin
:
0
;
padding
:
0
1
rem
;
@media
screen
and
(
max-width
:
@
screen
-
width
-
xs
)
{
border-top
:
1
px
solid
@
color
-
dialog-header-border
;
}
&
>
div
{
white-space
:
nowrap
;
max-height
:
(
@
layout-footer-height
-
1
px
);
button
:
first
-
child
{
margin
:
0
;
}
}
.
tox-button
{
.btn-primary
;
font-weight
:
normal
;
padding
:
.5
rem
.75
rem
;
&:before
{
&:extend(.font-icon-class)
;
width
:
1
em
;
content
:
@
fa-var-check
;
line-height
:
1
;
}
//
this
is
redundant
,
but
required
because
of
tinymce
styles
interference
&
:
focus
:
not
(
:
disabled
)
{
background
:
@
color
-
btn-primary-background
;
border-color
:
@
color
-
btn-primary-background
;
}
&
.
tox-button--secondary
{
.btn-secondary
;
color
:
@
color
-
btn-secondary
;
&:before
{
content
:
@
fa-var-times
;
}
//
this
is
redundant
,
but
required
because
of
tinymce
styles
interference
&
:
focus
:
not
(
:
disabled
)
{
background
:
@
color
-
btn-secondary-background
;
border-color
:
@
color
-
btn-secondary-background
;
}
}
}
}
.
tox-search-dialog
{
.
tox-form__group
:
not
(
:
first
-child
)
{
flex
:
initial
!important
;
}
.
tox-dialog__footer-start
{
button
{
padding
:
.25
rem
;
}
}
.
tox-dialog__footer-end
{
button
{
&:before
{
content
:
@
fa-var-pencil-alt
!important
;
}
&
:
nth-of-type
(
1
)
:
before
{
content
:
@
fa-var-search
!important
;
}
}
}
}
.
tox-dialog__title
{
line-height
:
calc
(
@
layout
-header-height
-
1
px
);
font-size
:
1.25
rem
;
font-weight
:
bold
;
padding
:
0
0
0
1
rem
;
width
:
100
%
;
color
:
@
color
-
dialog-header
;
}
//
Make
toolbar
buttons
smaller
.
tox-tbtn
{
height
:
28
px
;
&:not(.tox-tbtn--select,.tox-split-button__chevron)
{
width
:
32
px
;
}
}
.
tox-button
{
line-height
:
1.5
;
}
.
tox-label
{
color
:
@
color
-
font
;
padding-bottom
:
.25
rem
;
}
//
Adding
.
form-control
does
not
work
with
TinyMCE
skins
,
//
so
we
have
to
overwrite
some
props
here
.
tox-color-input
>
input
,
.
tox-selectfield
select
,
.
tox-textarea
,
.
tox-textfield
{
.font-family
!important
;
font-size
:
@
page
-
font-size
;
line-height
:
1.5
;
color
:
@
color
-
font
;
border-radius
:
.25
rem
;
min-height
:
0
;
padding
:
.375
rem
.75
rem
;
&:focus
{
border-color
:
@
color
-
input-border-focus
;
box-shadow
:
0
0
0
.2
rem
@
color
-
input-border-focus-shadow
;
}
}
.
tox-color-input
span
{
top
:
5
px
;
}
.
custom-switch
{
position
:
relative
;
font-size
:
1
rem
;
margin-top
:
.15
rem
;
.tox-checkbox__icons
{
display
:
none
;
}
.
tox-checkbox__label
{
margin
:
0
;
}
}
.
image-selector
{
font-size
:
1
rem
;
button
{
.btn-secondary
;
padding
:
.5
rem
.75
rem
;
line-height
:
1.5
;
}
}
//
small
fix
for
image
dialog
.
tox-form__controls-h-stack
div
:
not
(
:
last-child
)
{
flex
:
1
;
}
.
tox-collection__item-label
{
white-space
:
nowrap
;
//
fix
TinyMCE
bug
}
}
@
media
screen
and
(
max-width
:
@
screen-width-xs
)
{
div
.
tox
{
.tox-dialog
{
margin
:
0
!important
;
width
:
100
%
!important
;
height
:
100
%
;
left
:
0
!important
;
top
:
0
!important
;
border-width
:
0
!important
;
}
.
tox-dialog__header
{
background-color
:
@
color
-
layout-mobile-header-background
;
.tox-button
{
display
:
none
;
}
}
.
tox-dialog__title
{
font-size
:
1rem
;
text-align
:
center
;
padding
:
0
1rem
;
}
.
tox-dialog__footer
{
background-color
:
@
color
-
layout-mobile-footer-background
;
.tox-button
{
color
:
@
color
-
font
!important
;
background
:
transparent
!important
;
padding
:
.45
rem
;
margin
:
0
!important
;
border
:
0
;
font-size
:
90
%
;
&:before
{
display
:
block
;
float
:
none
;
width
:
100
%
;
margin
:
0
;
line-height
:
1.75
;
height
:
1.75
rem
;
}
&
:
active
,
&
:
focus
,
&
:
hover
{
background
:
transparent
;
border
:
0
;
box-shadow
:
none
;
color
:
@
color
-
font
;
}
}
&
>
div
{
justify-content
:
space
-
evenly
;
display
:
flex
;
width
:
100
%
;
&:empty
{
display
:
none
;
}
}
}
}
}
/*** Media file selector for TinyMCE ***/
.
image-selector
{
padding
:
1
rem
.5
rem
10
rem
.5
rem
!important
;
&.droptarget
{
border
:
.2
rem
dashed
@
color
-
table
-
border
;
&:after
{
margin-top
:
2
rem
;
}
}
form
{
position
:
absolute
;
top
:
0
;
}
.
attachmentslist
{
margin
:
0
;
overflow-x
:
hidden
;
overflow-y
:
auto
;
height
:
19.1
em
;
padding
:
0
!important
;
li
{
padding
:
.25
rem
;
cursor
:
pointer
;
&:before
{
display
:
none
;
}
&
:
hover
,
&
:
focus
{
background
:
@
color
-
list-selected-background
;
}
span
.
name
{
flex
:
1
;
margin
:
auto
;
padding-left
:
1
rem
;
.overflow-ellipsis
;
}
span
.
img
{
height
:
80
px
;
width
:
80
px
;
display
:
flex
;
border
:
1
px
solid
@
color
-
list-border
;
background
:
white
;
border-radius
:
.75
rem
;
overflow
:
hidden
;
}
img
{
margin
:
auto
;
}
}
html
.
layout-phone
&
{
height
:
auto
;
}
}
}
/*** HTML editor widget ***/
.
html-editor
{
position
:
relative
;
margin-bottom
:
.2
rem
;
.editor-toolbar
{
position
:
absolute
;
left
:
1
px
;
top
:
1
px
;
right
:
1
px
;
border-radius
:
.25
rem
.25
rem
0
0
;
border-bottom
:
1
px
solid
@
color
-
input-border
;
background-color
:
@
color
-
input-addon-background
;
.mce-i-html
{
display
:
block
;
margin
:
2
px
2
px
2
px
4
px
;
width
:
34
px
;
height
:
28
px
;
border-radius
:
.25
rem
;
color
:
#222f3e
;
//
from
TinyMCE
&:focus,
&:hover
{
text-decoration
:
none
;
border-color
:
#e2e4e7
;
background-color
:
#dee0e2
;
//
from
TinyMCE
}
&
:
before
{
&:extend(.font-icon-class)
;
content
:
@
fa-var-image
;
margin
:
0
;
width
:
34
px
;
line-height
:
28
px
;
}
}
}
//
hide
toolbar
in
html
mode
and
in
mailvelope
mode
&
.
mailvelope
.
editor-toolbar
,
.
tox-tinymce
+
.
editor-toolbar
{
display
:
none
;
}
&
>
.
googie_edit_layer
,
&
>
textarea
{
font-family
:
monospace
;
font-size
:
13
px
;
width
:
100
%
!important
;
padding-top
:
40
px
;
resize
:
none
;
}
&
>
iframe
{
//
e.g.
mailvelope
frame
border-radius
:
.3
rem
;
border
:
1
px
solid
@
color
-
input-border
;
min-height
:
30
em
;
}
}
/*** GoogieSpell widget ***/
.
googie_window
{
width
:
16
rem
;
height
:
auto
;
}
.
googie_edit_layer
{
font-family
:
monospace
;
//
from
Bootstrap's
textarea
padding
:
.5
rem
.75
rem
;
border
:
1
px
solid
@
color
-
input-border
;
border-radius
:
.3
rem
;
line-height
:
1.5
;
}
.
googie_link
{
color
:
@
color
-
spellcheck-link
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
.
googie_list
{
li
{
min-width
:
8
rem
;
width
:
auto
;
&.googie_list_onhover
{
color
:
@
color
-
menu-hover
;
background-color
:
@
color
-
menu-hover-background
;
}
.
googie_list_revert
:
before
{
&:extend(.font-icon-class)
;
content
:
@
fa-var-undo
;
}
.
googie_add_to_dict
:
before
{
&:extend(.font-icon-class)
;
content
:
@
fa-var-plus-square
;
}
}
input
{
display
:
inline-block
;
margin
:
.25
rem
.5
rem
;
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jun 12, 3:29 AM (1 d, 11 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
874981
Default Alt Text
editor.less (12 KB)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment