Jarek Radosz be513ed9a3
DEV: Fix all mixed-decls sass deprecations (#31343)
```
WARNING: Sass's behavior for declarations that appear after nested
rules will be changing to match the behavior specified by CSS in an upcoming
version. To keep the existing behavior, move the declaration above the nested
rule. To opt into the new behavior, wrap the declaration in `& {}`.

More info: https://sass-lang.com/d/mixed-decls
```
2025-02-13 23:58:19 +01:00

359 lines
6.1 KiB
SCSS

.d-editor-container {
display: flex;
flex-grow: 1;
max-width: 100%;
}
.d-editor {
display: flex;
flex-grow: 1;
min-height: 0;
}
.d-editor-textarea-column {
display: flex;
flex: 1;
flex-direction: column;
max-width: 100%;
min-width: 0;
}
.d-editor-textarea-wrapper {
display: flex;
flex: 1;
flex-direction: column;
background-color: var(--secondary);
position: relative;
border: 1px solid var(--primary-400);
border-radius: var(--d-input-border-radius);
min-height: 0;
textarea {
background: transparent;
}
&.in-focus {
@include default-focus;
textarea {
outline: 0;
}
}
&.disabled {
cursor: not-allowed;
.d-editor-button-bar {
opacity: 0.5;
pointer-events: none;
}
}
}
.d-editor-preview-wrapper {
display: flex;
flex: 1;
flex-direction: column;
margin-left: 16px;
overflow: auto;
overflow-anchor: none;
cursor: default;
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;
}
.d-editor-input,
.d-editor-preview {
box-sizing: border-box;
flex: 1 1 100%;
width: 100%;
margin: 0;
min-height: auto;
word-wrap: break-word;
appearance: none;
border-radius: 0;
}
.d-editor-input {
border: 0;
padding: 10px;
height: 100%;
overflow-x: hidden;
overscroll-behavior: contain;
overflow-anchor: none;
resize: none;
}
.d-editor-preview {
height: auto;
}
.d-editor-plugin {
display: flex;
flex: 1 1;
overflow: auto;
}
.composing-whisper .d-editor-preview {
font-style: italic;
color: var(--primary-medium) !important;
}
.hide-preview .d-editor-preview-wrapper {
display: none;
flex: 0;
}
.edit-category-tab-topic-template {
.emoji.btn {
display: none;
}
}
.user-preferences .bio-composer,
.group-form-bio,
.edit-category-tab-topic-template {
textarea {
width: 100%;
height: 100%;
min-height: 10em;
}
.local-dates.btn {
display: none;
}
.d-editor-container {
display: block;
}
.d-editor-textarea-wrapper {
border: 1px solid var(--primary-low);
}
.d-editor-preview-wrapper {
max-width: 100%;
margin: 0;
padding: 0;
}
.d-editor-preview {
background-color: var(--primary-very-low);
margin-top: 1em;
padding: 0.667em;
&:empty {
margin: 0;
padding: 0;
}
}
}
.user-preferences .bio-composer,
.group-form-bio {
padding: 10px;
border: 1px solid var(--primary-low);
}
.d-editor-preview img {
vertical-align: baseline; // consistent with cooked
&.emoji,
&.avatar,
&.onebox-avatar,
&.site-icon {
vertical-align: text-bottom;
}
&.resizable {
object-fit: cover;
object-position: top;
}
}
.d-editor-preview .image-wrapper {
--resizer-height: 2.25em;
position: relative;
display: inline-block;
padding-bottom: var(--resizer-height);
.button-wrapper {
box-sizing: border-box;
padding: 0.25em 0.5em;
min-width: 19em; // wide enough to contain all controls
width: 100%;
display: flex;
flex-wrap: nowrap;
align-items: center;
gap: 0 0.5em;
position: absolute;
height: var(--resizer-height);
bottom: 0;
left: 0;
opacity: 0.9;
z-index: 1; // needs to be higher than image
background: var(--secondary);
color: var(--primary);
.scale-btn-container,
.alt-text-readonly-container,
.alt-text-edit-container,
.delete-image-button {
display: flex;
height: var(--resizer-height);
align-items: center;
&[hidden] {
display: none;
}
}
.scale-btn {
color: var(--tertiary);
padding: 0 1em;
&:first-child,
&:last-child {
padding: 0;
}
&.active {
font-weight: bold;
color: var(--primary);
}
&:not(.active):hover {
text-decoration: underline;
cursor: pointer;
}
}
.alt-text-readonly-container {
flex: 1 1 auto;
// arbitrary min-width value allows for correct shrinking
min-width: 100px;
.alt-text {
margin-right: 0.5em;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.alt-text-edit-btn {
cursor: pointer;
color: var(--tertiary);
svg {
padding-right: 0.5em;
}
}
}
.alt-text-edit-container {
gap: 0 0.25em;
flex: 1;
max-width: 100%;
height: 95%; // gives input some padding
.alt-text-input,
.alt-text-edit-ok,
.alt-text-edit-cancel {
height: 100%;
}
.alt-text-input {
display: inline-flex;
flex: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
margin: 0;
padding-left: 0.25em;
}
.alt-text-edit-ok,
.alt-text-edit-cancel {
border: none;
width: var(--resizer-height);
svg {
margin: 0;
}
}
}
.delete-image-button {
cursor: pointer;
color: var(--danger);
.d-icon-trash-can {
margin-left: 0.5em;
}
}
.wrap-image-grid-button {
cursor: pointer;
color: var(--tertiary);
}
svg {
pointer-events: none;
}
}
}
// d-editor bar button sizing
.d-editor-button-bar {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(2.35em, 1fr));
align-items: center;
border-bottom: 1px solid var(--primary-low);
width: 100%;
box-sizing: border-box;
flex-shrink: 0;
@include breakpoint(tablet) {
// occupy available space on narrower screens
grid-template-columns: repeat(auto-fit, minmax(2em, 1fr));
}
@include breakpoint(mobile-medium) {
font-size: var(--font-down-1);
}
.btn:focus {
@include default-focus;
}
.btn {
margin: 0;
background-color: transparent;
color: var(--primary-medium);
.d-icon {
color: currentcolor;
}
.discourse-no-touch & {
&:hover {
color: var(--primary-low);
}
}
}
.select-kit-header-wrapper {
justify-content: center;
}
}
.d-editor #form-template-form {
overflow: auto;
background: var(--primary-very-low);
padding: 1rem;
border: 1px solid var(--primary-400);
margin-bottom: 0;
height: 100%;
}