// 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;