forked from github/plane
192 lines
3.8 KiB
CSS
192 lines
3.8 KiB
CSS
.empty-node::after {
|
||
content: attr(data-placeholder);
|
||
color: rgb(var(--color-text-400));
|
||
|
||
position: absolute;
|
||
pointer-events: none;
|
||
top: 15px;
|
||
margin-left: 1px;
|
||
}
|
||
|
||
.ProseMirror p.is-editor-empty:first-child::before {
|
||
content: attr(data-placeholder);
|
||
float: left;
|
||
color: rgb(var(--color-text-400));
|
||
pointer-events: none;
|
||
height: 0;
|
||
}
|
||
|
||
.ProseMirror .is-empty::before {
|
||
content: attr(data-placeholder);
|
||
float: left;
|
||
color: rgb(var(--color-text-400));
|
||
pointer-events: none;
|
||
height: 0;
|
||
}
|
||
|
||
/* Custom image styles */
|
||
|
||
.ProseMirror img {
|
||
transition: filter 0.1s ease-in-out;
|
||
|
||
&:hover {
|
||
cursor: pointer;
|
||
filter: brightness(90%);
|
||
}
|
||
|
||
&.ProseMirror-selectednode {
|
||
outline: 3px solid #5abbf7;
|
||
filter: brightness(90%);
|
||
}
|
||
}
|
||
|
||
/* Custom TODO list checkboxes – shoutout to this awesome tutorial: https://moderncss.dev/pure-css-custom-checkbox-style/ */
|
||
|
||
ul[data-type="taskList"] li > label {
|
||
margin-right: 0.2rem;
|
||
user-select: none;
|
||
}
|
||
|
||
@media screen and (max-width: 768px) {
|
||
ul[data-type="taskList"] li > label {
|
||
margin-right: 0.5rem;
|
||
}
|
||
}
|
||
|
||
ul[data-type="taskList"] li > label input[type="checkbox"] {
|
||
-webkit-appearance: none;
|
||
appearance: none;
|
||
background-color: var(--novel-white);
|
||
margin: 0;
|
||
cursor: pointer;
|
||
width: 1.2em;
|
||
height: 1.2em;
|
||
position: relative;
|
||
top: 5px;
|
||
border: 2px solid var(--novel-stone-900);
|
||
margin-right: 0.3rem;
|
||
display: grid;
|
||
place-content: center;
|
||
|
||
&:hover {
|
||
background-color: var(--novel-stone-50);
|
||
}
|
||
|
||
&:active {
|
||
background-color: var(--novel-stone-200);
|
||
}
|
||
|
||
&::before {
|
||
content: "";
|
||
width: 0.65em;
|
||
height: 0.65em;
|
||
transform: scale(0);
|
||
transition: 120ms transform ease-in-out;
|
||
box-shadow: inset 1em 1em;
|
||
transform-origin: center;
|
||
clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
|
||
}
|
||
|
||
&:checked::before {
|
||
transform: scale(1);
|
||
}
|
||
}
|
||
|
||
ul[data-type="taskList"] li[data-checked="true"] > div > p {
|
||
color: var(--novel-stone-400);
|
||
text-decoration: line-through;
|
||
text-decoration-thickness: 2px;
|
||
}
|
||
|
||
/* Overwrite tippy-box original max-width */
|
||
|
||
.tippy-box {
|
||
max-width: 400px !important;
|
||
}
|
||
.ProseMirror {
|
||
position: relative;
|
||
word-wrap: break-word;
|
||
white-space: pre-wrap;
|
||
-moz-tab-size: 4;
|
||
tab-size: 4;
|
||
-webkit-user-select: text;
|
||
-moz-user-select: text;
|
||
-ms-user-select: text;
|
||
user-select: text;
|
||
outline: none;
|
||
cursor: text;
|
||
line-height: 1.2;
|
||
font-family: inherit;
|
||
font-size: 14px;
|
||
color: inherit;
|
||
-moz-box-sizing: border-box;
|
||
box-sizing: border-box;
|
||
appearance: textfield;
|
||
-webkit-appearance: textfield;
|
||
-moz-appearance: textfield;
|
||
}
|
||
|
||
.ProseMirror-icon {
|
||
display: inline-block;
|
||
line-height: 0.8;
|
||
vertical-align: -2px;
|
||
color: #666;
|
||
cursor: pointer;
|
||
margin: 0 3px;
|
||
padding: 3px 8px;
|
||
border-radius: 3px;
|
||
border: 1px solid transparent;
|
||
transition: background 50ms ease-in-out;
|
||
-moz-user-select: none;
|
||
-webkit-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.ProseMirror-menu-disabled.ProseMirror-icon {
|
||
opacity: 0.3;
|
||
cursor: default;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.ProseMirror-icon svg {
|
||
fill: currentColor;
|
||
height: 1em;
|
||
}
|
||
|
||
.ProseMirror-icon span {
|
||
vertical-align: text-top;
|
||
}
|
||
|
||
.remirror-editor-wrapper .remirror-editor {
|
||
min-height: 150px;
|
||
}
|
||
|
||
.issue-comments-section .remirror-editor-wrapper .remirror-editor,
|
||
.page-block-section .remirror-editor-wrapper .remirror-editor {
|
||
min-height: 50px;
|
||
}
|
||
|
||
.remirror-section .remirror-editor-wrapper .remirror-editor {
|
||
min-height: 0 !important;
|
||
}
|
||
|
||
.remirror-editor-wrapper {
|
||
padding-top: 8px;
|
||
}
|
||
|
||
.MuiButtonBase-root {
|
||
border: none !important;
|
||
border-radius: 0.25rem !important;
|
||
padding: 0.25rem !important;
|
||
}
|
||
|
||
.MuiButtonBase-root svg {
|
||
fill: rgb(var(--color-text-100)) !important;
|
||
}
|
||
|
||
.MuiButtonBase-root.Mui-selected,
|
||
.MuiButtonBase-root:hover {
|
||
background-color: rgb(var(--color-background-100)) !important;
|
||
}
|