305 lines
7.1 KiB
Stylus
305 lines
7.1 KiB
Stylus
|
// Styles shared between snow and bubble
|
||
|
|
||
|
controlHeight = 24px
|
||
|
inputPaddingWidth = 5px
|
||
|
inputPaddingHeight = 3px
|
||
|
|
||
|
colorItemMargin = 2px
|
||
|
colorItemSize = 16px
|
||
|
colorItemsPerRow = 7
|
||
|
|
||
|
|
||
|
.ql-{themeName}.ql-toolbar, .ql-{themeName} .ql-toolbar
|
||
|
&:after
|
||
|
clear: both
|
||
|
content: ''
|
||
|
display: table
|
||
|
|
||
|
button
|
||
|
background: none
|
||
|
border: none
|
||
|
cursor: pointer
|
||
|
display: inline-block
|
||
|
float: left
|
||
|
height: controlHeight
|
||
|
padding: inputPaddingHeight inputPaddingWidth
|
||
|
width: controlHeight + (inputPaddingWidth - inputPaddingHeight)*2
|
||
|
|
||
|
svg
|
||
|
float: left
|
||
|
height: 100%
|
||
|
|
||
|
&:active:hover
|
||
|
outline: none
|
||
|
|
||
|
input.ql-image[type=file]
|
||
|
display: none
|
||
|
|
||
|
button:hover, button:focus, button.ql-active,
|
||
|
.ql-picker-label:hover, .ql-picker-label.ql-active,
|
||
|
.ql-picker-item:hover, .ql-picker-item.ql-selected
|
||
|
color: activeColor
|
||
|
.ql-fill, .ql-stroke.ql-fill
|
||
|
fill: activeColor
|
||
|
.ql-stroke, .ql-stroke-miter
|
||
|
stroke: activeColor
|
||
|
|
||
|
// Fix for iOS not losing hover on touch
|
||
|
@media (pointer: coarse)
|
||
|
.ql-{themeName}.ql-toolbar, .ql-{themeName} .ql-toolbar
|
||
|
button:hover:not(.ql-active)
|
||
|
color: inactiveColor
|
||
|
.ql-fill, .ql-stroke.ql-fill
|
||
|
fill: inactiveColor
|
||
|
.ql-stroke, .ql-stroke-miter
|
||
|
stroke: inactiveColor
|
||
|
|
||
|
.ql-{themeName}
|
||
|
box-sizing: border-box
|
||
|
*
|
||
|
box-sizing: border-box
|
||
|
|
||
|
.ql-hidden
|
||
|
display: none
|
||
|
.ql-out-bottom, .ql-out-top
|
||
|
visibility: hidden
|
||
|
|
||
|
.ql-tooltip
|
||
|
position: absolute
|
||
|
transform: translateY(10px)
|
||
|
a
|
||
|
cursor: pointer
|
||
|
text-decoration: none
|
||
|
.ql-tooltip.ql-flip
|
||
|
transform: translateY(-10px)
|
||
|
|
||
|
.ql-formats
|
||
|
&:after
|
||
|
clear: both
|
||
|
content: ''
|
||
|
display: table
|
||
|
display: inline-block
|
||
|
vertical-align: middle
|
||
|
|
||
|
.ql-stroke
|
||
|
fill: none
|
||
|
stroke: inactiveColor
|
||
|
stroke-linecap: round
|
||
|
stroke-linejoin: round
|
||
|
stroke-width: 2
|
||
|
.ql-stroke-miter
|
||
|
fill: none
|
||
|
stroke: inactiveColor
|
||
|
stroke-miterlimit: 10
|
||
|
stroke-width: 2
|
||
|
|
||
|
.ql-fill, .ql-stroke.ql-fill
|
||
|
fill: inactiveColor
|
||
|
|
||
|
.ql-empty
|
||
|
fill: none
|
||
|
.ql-even
|
||
|
fill-rule: evenodd
|
||
|
.ql-thin, .ql-stroke.ql-thin
|
||
|
stroke-width: 1
|
||
|
.ql-transparent
|
||
|
opacity: 0.4
|
||
|
|
||
|
.ql-direction
|
||
|
svg:last-child
|
||
|
display: none
|
||
|
.ql-direction.ql-active
|
||
|
svg:last-child
|
||
|
display: inline
|
||
|
svg:first-child
|
||
|
display: none
|
||
|
|
||
|
.ql-editor
|
||
|
h1
|
||
|
font-size: 2em
|
||
|
h2
|
||
|
font-size: 1.5em
|
||
|
h3
|
||
|
font-size: 1.17em
|
||
|
h4
|
||
|
font-size: 1em
|
||
|
h5
|
||
|
font-size: 0.83em
|
||
|
h6
|
||
|
font-size: 0.67em
|
||
|
a
|
||
|
text-decoration: underline
|
||
|
blockquote
|
||
|
border-left: 4px solid #ccc
|
||
|
margin-bottom: 5px
|
||
|
margin-top: 5px
|
||
|
padding-left: 16px
|
||
|
code, pre
|
||
|
background-color: #f0f0f0
|
||
|
border-radius: 3px
|
||
|
pre
|
||
|
white-space: pre-wrap
|
||
|
margin-bottom: 5px
|
||
|
margin-top: 5px
|
||
|
padding: 5px 10px
|
||
|
code
|
||
|
font-size: 85%
|
||
|
padding: 2px 4px
|
||
|
pre.ql-syntax
|
||
|
background-color: #23241f
|
||
|
color: #f8f8f2;
|
||
|
overflow: visible
|
||
|
img
|
||
|
max-width: 100%
|
||
|
|
||
|
.ql-picker
|
||
|
color: inactiveColor
|
||
|
display: inline-block
|
||
|
float: left
|
||
|
font-size: 14px
|
||
|
font-weight: 500
|
||
|
height: controlHeight
|
||
|
position: relative
|
||
|
vertical-align: middle
|
||
|
.ql-picker-label
|
||
|
cursor: pointer
|
||
|
display: inline-block
|
||
|
height: 100%
|
||
|
padding-left: 8px
|
||
|
padding-right: 2px
|
||
|
position: relative
|
||
|
width: 100%
|
||
|
&::before
|
||
|
display: inline-block
|
||
|
line-height: 22px
|
||
|
.ql-picker-options
|
||
|
background-color: backgroundColor
|
||
|
display: none
|
||
|
min-width: 100%
|
||
|
padding: 4px 8px
|
||
|
position: absolute
|
||
|
white-space: nowrap
|
||
|
.ql-picker-item
|
||
|
cursor: pointer
|
||
|
display: block
|
||
|
padding-bottom: 5px
|
||
|
padding-top: 5px
|
||
|
.ql-picker.ql-expanded
|
||
|
.ql-picker-label
|
||
|
color: borderColor
|
||
|
z-index: 2
|
||
|
.ql-fill
|
||
|
fill: borderColor
|
||
|
.ql-stroke
|
||
|
stroke: borderColor
|
||
|
.ql-picker-options
|
||
|
display: block
|
||
|
margin-top: -1px
|
||
|
top: 100%
|
||
|
z-index: 1
|
||
|
|
||
|
.ql-color-picker, .ql-icon-picker
|
||
|
width: controlHeight + 4
|
||
|
.ql-picker-label
|
||
|
padding: 2px 4px
|
||
|
svg
|
||
|
right: 4px
|
||
|
.ql-icon-picker
|
||
|
.ql-picker-options
|
||
|
padding: 4px 0px
|
||
|
.ql-picker-item
|
||
|
height: controlHeight
|
||
|
width: controlHeight
|
||
|
padding: 2px 4px
|
||
|
.ql-color-picker
|
||
|
.ql-picker-options
|
||
|
padding: inputPaddingHeight inputPaddingWidth
|
||
|
width: (colorItemSize + 2*colorItemMargin) * colorItemsPerRow + 2*inputPaddingWidth + 2 // +2 for the border
|
||
|
.ql-picker-item
|
||
|
border: 1px solid transparent
|
||
|
float: left
|
||
|
height: colorItemSize
|
||
|
margin: colorItemMargin
|
||
|
padding: 0px
|
||
|
width: colorItemSize
|
||
|
|
||
|
.ql-picker:not(.ql-color-picker):not(.ql-icon-picker)
|
||
|
svg
|
||
|
position: absolute
|
||
|
margin-top: -9px
|
||
|
right: 0
|
||
|
top: 50%
|
||
|
width: 18px
|
||
|
|
||
|
.ql-picker.ql-header, .ql-picker.ql-font, .ql-picker.ql-size
|
||
|
.ql-picker-label[data-label]:not([data-label='']),
|
||
|
.ql-picker-item[data-label]:not([data-label=''])
|
||
|
&::before
|
||
|
content: attr(data-label)
|
||
|
|
||
|
.ql-picker.ql-header
|
||
|
width: 98px
|
||
|
.ql-picker-label::before,
|
||
|
.ql-picker-item::before
|
||
|
content: 'Normal'
|
||
|
for num in (1..6)
|
||
|
.ql-picker-label[data-value=\"{num}\"]::before,
|
||
|
.ql-picker-item[data-value=\"{num}\"]::before
|
||
|
content: 'Heading ' + num
|
||
|
.ql-picker-item[data-value="1"]::before
|
||
|
font-size: 2em
|
||
|
.ql-picker-item[data-value="2"]::before
|
||
|
font-size: 1.5em
|
||
|
.ql-picker-item[data-value="3"]::before
|
||
|
font-size: 1.17em
|
||
|
.ql-picker-item[data-value="4"]::before
|
||
|
font-size: 1em
|
||
|
.ql-picker-item[data-value="5"]::before
|
||
|
font-size: 0.83em
|
||
|
.ql-picker-item[data-value="6"]::before
|
||
|
font-size: 0.67em
|
||
|
|
||
|
.ql-picker.ql-font
|
||
|
width: 108px
|
||
|
.ql-picker-label::before,
|
||
|
.ql-picker-item::before
|
||
|
content: 'Sans Serif'
|
||
|
.ql-picker-label[data-value=serif]::before,
|
||
|
.ql-picker-item[data-value=serif]::before
|
||
|
content: 'Serif'
|
||
|
.ql-picker-label[data-value=monospace]::before,
|
||
|
.ql-picker-item[data-value=monospace]::before
|
||
|
content: 'Monospace'
|
||
|
.ql-picker-item[data-value=serif]::before
|
||
|
font-family: Georgia, Times New Roman, serif;
|
||
|
.ql-picker-item[data-value=monospace]::before
|
||
|
font-family: Monaco, Courier New, monospace;
|
||
|
|
||
|
.ql-picker.ql-size
|
||
|
width: 98px
|
||
|
.ql-picker-label::before,
|
||
|
.ql-picker-item::before
|
||
|
content: 'Normal'
|
||
|
.ql-picker-label[data-value=small]::before,
|
||
|
.ql-picker-item[data-value=small]::before
|
||
|
content: 'Small'
|
||
|
.ql-picker-label[data-value=large]::before,
|
||
|
.ql-picker-item[data-value=large]::before
|
||
|
content: 'Large'
|
||
|
.ql-picker-label[data-value=huge]::before,
|
||
|
.ql-picker-item[data-value=huge]::before
|
||
|
content: 'Huge'
|
||
|
.ql-picker-item[data-value=small]::before
|
||
|
font-size: 10px
|
||
|
.ql-picker-item[data-value=large]::before
|
||
|
font-size: 18px
|
||
|
.ql-picker-item[data-value=huge]::before
|
||
|
font-size: 32px
|
||
|
|
||
|
.ql-color-picker.ql-background
|
||
|
.ql-picker-item
|
||
|
background-color: #fff;
|
||
|
.ql-color-picker.ql-color
|
||
|
.ql-picker-item
|
||
|
background-color: #000;
|