text-editor-drcsystems
Version:
Text Editor Made with Love by DRC Systems
448 lines (443 loc) • 9.53 kB
CSS
.TextEditor__ltr {
text-align: left;
}
.TextEditor__rtl {
text-align: right;
}
.TextEditor__paragraph {
margin: 0;
position: relative;
}
.TextEditor__quote {
margin: 0;
margin-left: 20px;
margin-bottom: 10px;
font-size: 15px;
color: rgb(101, 103, 107);
border-left-color: rgb(206, 208, 212);
border-left-width: 4px;
border-left-style: solid;
padding-left: 16px;
}
.TextEditor__h1 {
font-size: 24px;
color: rgb(5, 5, 5);
font-weight: 400;
margin: 0;
}
.TextEditor__h2 {
font-size: 15px;
color: rgb(101, 103, 107);
font-weight: 700;
margin: 0;
text-transform: uppercase;
}
.TextEditor__h3 {
font-size: 12px;
margin: 0;
text-transform: uppercase;
}
.TextEditor__indent {
--lexical-indent-base-value: 20px;
}
.TextEditor__textBold {
font-weight: bold;
}
.TextEditor__textItalic {
font-style: italic;
}
.TextEditor__textUnderline {
text-decoration: underline;
}
.TextEditor__textStrikethrough {
text-decoration: line-through;
}
.TextEditor__textUnderlineStrikethrough {
text-decoration: underline line-through;
}
.TextEditor__textSubscript {
font-size: 0.8em;
vertical-align: sub ;
}
.TextEditor__textSuperscript {
font-size: 0.8em;
vertical-align: super;
}
.TextEditor__textCode {
background-color: rgb(240, 242, 245);
padding: 1px 0.25rem;
font-family: Menlo, Consolas, Monaco, monospace;
font-size: 94%;
}
.TextEditor__hashtag {
background-color: rgba(88, 144, 255, 0.15);
border-bottom: 1px solid rgba(88, 144, 255, 0.3);
}
.TextEditor__link {
color: rgb(33, 111, 219);
text-decoration: none;
}
.TextEditor__link:hover {
text-decoration: underline;
cursor: pointer;
}
.TextEditor__code {
background-color: rgb(240, 242, 245);
font-family: Menlo, Consolas, Monaco, monospace;
display: block;
padding: 8px 8px 8px 52px;
line-height: 1.53;
font-size: 13px;
margin: 0;
margin-top: 8px;
margin-bottom: 8px;
tab-size: 2;
/* white-space: pre; */
overflow-x: auto;
position: relative;
}
.TextEditor__code:before {
content: attr(data-gutter);
position: absolute;
background-color: #eee;
left: 0;
top: 0;
border-right: 1px solid #ccc;
padding: 8px;
color: #777;
white-space: pre-wrap;
text-align: right;
min-width: 25px;
}
.TextEditor__table {
border-collapse: collapse;
border-spacing: 0;
max-width: 100%;
overflow-y: scroll;
table-layout: fixed;
width: calc(100% - 25px);
margin: 30px 0;
}
.TextEditor__tableSelected {
outline: 2px solid rgb(60, 132, 244);
}
.TextEditor__tableCell {
border: 1px solid #bbb;
min-width: 75px;
vertical-align: top;
text-align: start;
padding: 6px 8px;
position: relative;
cursor: default;
outline: none;
}
.TextEditor__tableCellSortedIndicator {
display: block;
opacity: 0.5;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 4px;
background-color: #999;
}
.TextEditor__tableCellResizer {
position: absolute;
right: -4px;
height: 100%;
width: 8px;
cursor: ew-resize;
z-index: 10;
top: 0;
}
.TextEditor__tableCellHeader {
/* background-color: #f2f3f5; */
text-align: start;
}
.TextEditor__tableCellSelected {
background-color: #c9dbf0;
}
.TextEditor__tableCellPrimarySelected {
border: 2px solid rgb(60, 132, 244);
display: block;
height: calc(100% - 2px);
position: absolute;
width: calc(100% - 2px);
left: -1px;
top: -1px;
z-index: 2;
}
.TextEditor__tableCellEditing {
box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
border-radius: 3px;
}
.TextEditor__tableAddColumns {
position: absolute;
top: 0;
width: 20px;
background-color: #eee;
height: 100%;
right: 0;
animation: table-controls 0.2s ease;
border: 0;
cursor: pointer;
}
.TextEditor__tableAddColumns:after {
background-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2216%22 height%3D%2216%22 fill%3D%22currentColor%22 class%3D%22bi bi-plus%22%3E%3Cpath d%3D%22M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z%22%2F%3E%3C%2Fsvg%3E");
background-size: contain;
background-position: center;
background-repeat: no-repeat;
display: block;
content: ' ';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0.4;
}
.TextEditor__tableAddColumns:hover {
background-color: #c9dbf0;
}
.TextEditor__tableAddRows {
position: absolute;
bottom: -25px;
width: calc(100% - 25px);
background-color: #eee;
height: 20px;
left: 0;
animation: table-controls 0.2s ease;
border: 0;
cursor: pointer;
}
.TextEditor__tableAddRows:after {
background-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2216%22 height%3D%2216%22 fill%3D%22currentColor%22 class%3D%22bi bi-plus%22%3E%3Cpath d%3D%22M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z%22%2F%3E%3C%2Fsvg%3E");
background-size: contain;
background-position: center;
background-repeat: no-repeat;
display: block;
content: ' ';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0.4;
}
.TextEditor__tableAddRows:hover {
background-color: #c9dbf0;
}
@keyframes table-controls {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.TextEditor__tableCellResizeRuler {
display: block;
position: absolute;
width: 1px;
background-color: rgb(60, 132, 244);
height: 100%;
top: 0;
}
.TextEditor__tableCellActionButtonContainer {
display: block;
right: 5px;
top: 6px;
position: absolute;
z-index: 4;
width: 20px;
height: 20px;
}
.TextEditor__tableCellActionButton {
background-color: #eee;
display: block;
border: 0;
border-radius: 20px;
width: 20px;
height: 20px;
color: #222;
cursor: pointer;
}
.TextEditor__tableCellActionButton:hover {
background-color: #ddd;
}
.TextEditor__characterLimit {
display: inline;
background-color: #ffbbbb ;
}
.TextEditor__ol1 {
padding: 0;
margin: 0;
list-style-position: inside;
}
.TextEditor__ol2 {
padding: 0;
margin: 0;
list-style-type: upper-alpha;
list-style-position: inside;
}
.TextEditor__ol3 {
padding: 0;
margin: 0;
list-style-type: lower-alpha;
list-style-position: inside;
}
.TextEditor__ol4 {
padding: 0;
margin: 0;
list-style-type: upper-roman;
list-style-position: inside;
}
.TextEditor__ol5 {
padding: 0;
margin: 0;
list-style-type: lower-roman;
list-style-position: inside;
}
.TextEditor__ul {
padding: 0;
margin: 0;
list-style-position: inside;
}
.TextEditor__listItem {
margin: 0 32px;
}
.TextEditor__listItemChecked,
.TextEditor__listItemUnchecked {
position: relative;
margin-left: 8px;
margin-right: 8px;
padding-left: 24px;
padding-right: 24px;
list-style-type: none;
outline: none;
}
.TextEditor__listItemChecked {
text-decoration: line-through;
}
.TextEditor__listItemUnchecked:before,
.TextEditor__listItemChecked:before {
content: '';
width: 16px;
height: 16px;
top: 2px;
left: 0;
cursor: pointer;
display: block;
background-size: cover;
position: absolute;
}
.TextEditor__listItemUnchecked[dir='rtl']:before,
.TextEditor__listItemChecked[dir='rtl']:before {
left: auto;
right: 0;
}
.TextEditor__listItemUnchecked:focus:before,
.TextEditor__listItemChecked:focus:before {
box-shadow: 0 0 0 2px #a6cdfe;
border-radius: 2px;
}
.TextEditor__listItemUnchecked:before {
border: 1px solid #999;
border-radius: 2px;
}
.TextEditor__listItemChecked:before {
border: 1px solid rgb(61, 135, 245);
border-radius: 2px;
background-color: #3d87f5;
background-repeat: no-repeat;
}
.TextEditor__listItemChecked:after {
content: '';
cursor: pointer;
border-color: #fff;
border-style: solid;
position: absolute;
display: block;
top: 6px;
width: 3px;
left: 7px;
right: 7px;
height: 6px;
transform: rotate(45deg);
border-width: 0 2px 2px 0;
}
.TextEditor__nestedListItem {
list-style-type: none;
}
.TextEditor__nestedListItem:before,
.TextEditor__nestedListItem:after {
display: none;
}
.TextEditor__tokenComment {
color: slategray;
}
.TextEditor__tokenPunctuation {
color: #999;
}
.TextEditor__tokenProperty {
color: #905;
}
.TextEditor__tokenSelector {
color: #690;
}
.TextEditor__tokenOperator {
color: #9a6e3a;
}
.TextEditor__tokenAttr {
color: #07a;
}
.TextEditor__tokenVariable {
color: #e90;
}
.TextEditor__tokenFunction {
color: #dd4a68;
}
.TextEditor__mark {
background: rgba(255, 212, 0, 0.14);
border-bottom: 2px solid rgba(255, 212, 0, 0.3);
padding-bottom: 2px;
}
.TextEditor__markOverlap {
background: rgba(255, 212, 0, 0.3);
border-bottom: 2px solid rgba(255, 212, 0, 0.7);
}
.TextEditor__mark.selected {
background: rgba(255, 212, 0, 0.5);
border-bottom: 2px solid rgba(255, 212, 0, 1);
}
.TextEditor__markOverlap.selected {
background: rgba(255, 212, 0, 0.7);
border-bottom: 2px solid rgba(255, 212, 0, 0.7);
}
.TextEditor__embedBlock {
user-select: none;
}
.TextEditor__embedBlockFocus {
outline: 2px solid rgb(60, 132, 244);
}
.TextEditor__paragraph span {
font-weight: normal ;
}
.TextEditor_User_Image {
display: flex;
width: 20px;
height: 20px;
flex: 0 0 20px;
-webkit-user-select: none;
user-select: none;
margin-right: 8px;
line-height: 16px;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
border-radius: 50%;
align-items: center;
}
.toolbar .toolbar-item .icon.paperclip {
margin: 0
}