Skip to content

Commit 5b2a3fc

Browse files
committed
Correct autogrow to dialog so only grows to dialog, never shrinks
1 parent 1d9162e commit 5b2a3fc

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

plugins/autogrow.css

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,43 +11,53 @@ and the fact code-input.js already implements the article's main structure. */
1111
code-input.code-input_autogrow_height {
1212
--code-input_autogrow_min-height: 0px;
1313
--code-input_autogrow_max-height: calc(infinity * 1px);
14+
15+
/* See FindAndReplace/GoToLine dialog visibility */
16+
--code-input_autogrow_internal-min-height: 0px;
17+
--code-input_autogrow_true-min-height: max(var(--code-input_autogrow_min-height), var(--code-input_autogrow_internal-min-height));
18+
1419
height: max-content;
1520
max-height: var(--code-input_autogrow_max-height);
1621
}
1722
code-input.code-input_autogrow_height textarea {
18-
height: calc(var(--code-input_autogrow_min-height) - var(--padding-top, 16px) - var(--padding-bottom, 16px))!important; /* So minimum height possible while containing highlighted code */
23+
height: calc(var(--code-input_autogrow_true-min-height) - var(--padding-top, 16px) - var(--padding-bottom, 16px))!important; /* So minimum height possible while containing highlighted code */
1924
min-height: max(var(--code-input_synced-height), calc(100% - var(--padding-top, 16px) - var(--padding-bottom, 16px)));
2025
}
2126
code-input.code-input_autogrow_height > pre,
2227
code-input.code-input_autogrow_height > pre code {
23-
min-height: calc(var(--code-input_autogrow_min-height) - var(--padding-top, 16px) - var(--padding-bottom, 16px));
28+
min-height: calc(var(--code-input_autogrow_true-min-height) - var(--padding-top, 16px) - var(--padding-bottom, 16px));
2429
}
2530

2631
code-input.code-input_autogrow_width {
2732
--code-input_autogrow_min-width: 100px;
2833
--code-input_autogrow_max-width: 100%;
34+
35+
/* See FindAndReplace/GoToLine dialog visibility */
36+
--code-input_autogrow_internal-min-width: 0px;
37+
--code-input_autogrow_true-min-width: max(var(--code-input_autogrow_min-width), var(--code-input_autogrow_internal-min-width));
38+
2939
width: max-content; /* Using unset rather than max-content makes always 100% width. */
3040
max-width: var(--code-input_autogrow_max-width);
3141
}
3242
code-input.code-input_autogrow_width textarea {
33-
width: calc(var(--code-input_autogrow_min-width) - var(--padding-left, 16px) - var(--padding-right, 16px))!important; /* So minimum width possible while containing highlighted code */
43+
width: calc(var(--code-input_autogrow_true-min-width) - var(--padding-left, 16px) - var(--padding-right, 16px))!important; /* So minimum width possible while containing highlighted code */
3444
min-width: max(var(--code-input_synced-width), calc(100% - var(--padding-left, 16px) - var(--padding-right, 16px)));
3545
}
3646
code-input.code-input_autogrow_width pre code,
3747
code-input.code-input_autogrow_width pre {
38-
min-width: calc(var(--code-input_autogrow_min-width) - var(--padding-left, 16px) - var(--padding-right, 16px));
48+
min-width: calc(var(--code-input_autogrow_true-min-width) - var(--padding-left, 16px) - var(--padding-right, 16px));
3949
}
4050

4151
/* FindAndReplace / GoToLine dialog visibility */
4252
code-input.code-input_autogrow_width:has(.code-input_go-to-line_dialog:not(.code-input_go-to-line_hidden-dialog)) {
43-
--code-input_autogrow_min-width: 300px;
53+
--code-input_autogrow_internal-min-width: 300px;
4454
}
4555
code-input.code-input_autogrow_height:has(.code-input_go-to-line_dialog:not(.code-input_go-to-line_hidden-dialog)) {
46-
--code-input_autogrow_min-height: 150px;
56+
--code-input_autogrow_internal-min-height: 150px;
4757
}
4858
code-input.code-input_autogrow_width:has(.code-input_find-and-replace_dialog:not(.code-input_find-and-replace_hidden-dialog)) {
49-
--code-input_autogrow_min-width: 500px;
59+
--code-input_autogrow_internal-min-width: 500px;
5060
}
5161
code-input.code-input_autogrow_height:has(.code-input_find-and-replace_dialog:not(.code-input_find-and-replace_hidden-dialog)) {
52-
--code-input_autogrow_min-height: 170px;
62+
--code-input_autogrow_internal-min-height: 170px;
5363
}

plugins/prism-line-numbers.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ code-input:not(:has(.code-input_keyboard-navigation-instructions:empty)):has(tex
3636

3737
/* Compatibility with autogrow plugin */
3838
code-input.line-numbers.code-input_autogrow_width textarea, .line-numbers code-input.code-input_autogrow_width textarea {
39-
width: calc(var(--code-input_autogrow_min-width) - max(3.8em, var(--padding-left, 16px)) - var(--padding-right, 16px))!important; /* So minimum width possible while containing highlighted code */
39+
width: calc(var(--code-input_autogrow_true-min-width) - max(3.8em, var(--padding-left, 16px)) - var(--padding-right, 16px))!important; /* So minimum width possible while containing highlighted code */
4040
min-width: max(var(--code-input_synced-width), calc(100% - max(3.8em, var(--padding-left, 16px)) - var(--padding-right, 16px)));
4141
}
4242
code-input.line-numbers.code-input_autogrow_width pre code,
4343
code-input.line-numbers.code-input_autogrow_width pre,
4444
.line-numbers code-input.code-input_autogrow_width pre code,
4545
.line-numbers code-input.code-input_autogrow_width pre {
46-
min-width: calc(var(--code-input_autogrow_min-width) - max(3.8em, var(--padding-left, 16px)) - var(--padding-right, 16px));
46+
min-width: calc(var(--code-input_autogrow_true-min-width) - max(3.8em, var(--padding-left, 16px)) - var(--padding-right, 16px));
4747
}

0 commit comments

Comments
 (0)