diff --git a/CHANGELOG.md b/CHANGELOG.md index d3f838be7d..c2146cdcbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - `SelectionList` option IDs are usable as soon as the widget is instantiated https://github.com/Textualize/textual/issues/3903 - Fix issue with `Strip.crop` when crop window start aligned with strip end https://github.com/Textualize/textual/pull/3998 - Fixed Strip.crop_extend https://github.com/Textualize/textual/pull/4011 +- `width`, `max-width`, `min-width`, `height`, `max-height`, and `min-height`, calculations were off for certain combinations of padding, margin, and units https://github.com/Textualize/textual/issues/3721 ## [0.47.1] - 2023-01-05 diff --git a/docs/examples/styles/border.tcss b/docs/examples/styles/border.tcss index c12333cb88..017cc34d0a 100644 --- a/docs/examples/styles/border.tcss +++ b/docs/examples/styles/border.tcss @@ -21,7 +21,7 @@ Screen { } Screen > Label { - width: 100%; + width: 1fr; height: 5; content-align: center middle; color: white; diff --git a/docs/examples/styles/border_subtitle_align.tcss b/docs/examples/styles/border_subtitle_align.tcss index 334e4eb1db..2eab841b15 100644 --- a/docs/examples/styles/border_subtitle_align.tcss +++ b/docs/examples/styles/border_subtitle_align.tcss @@ -14,7 +14,7 @@ } Screen > Label { - width: 100%; + width: 1fr; height: 5; content-align: center middle; color: white; diff --git a/docs/examples/styles/border_title_align.tcss b/docs/examples/styles/border_title_align.tcss index dd6b830893..7eb2737701 100644 --- a/docs/examples/styles/border_title_align.tcss +++ b/docs/examples/styles/border_title_align.tcss @@ -14,7 +14,7 @@ } Screen > Label { - width: 100%; + width: 1fr; height: 5; content-align: center middle; color: white; diff --git a/docs/examples/styles/margin.tcss b/docs/examples/styles/margin.tcss index fd8e0633b9..ef9cb08029 100644 --- a/docs/examples/styles/margin.tcss +++ b/docs/examples/styles/margin.tcss @@ -7,5 +7,5 @@ Label { margin: 4 8; background: blue 20%; border: blue wide; - width: 100%; + width: 1fr; } diff --git a/docs/examples/styles/margin_all.tcss b/docs/examples/styles/margin_all.tcss index a6b1e7dc31..69a8f5ef37 100644 --- a/docs/examples/styles/margin_all.tcss +++ b/docs/examples/styles/margin_all.tcss @@ -8,13 +8,13 @@ Grid { } Placeholder { - width: 100%; - height: 100%; + width: 1fr; + height: 1fr; } Container { - width: 100%; - height: 100%; + width: 1fr; + height: 1fr; } .bordered { diff --git a/docs/examples/styles/outline.tcss b/docs/examples/styles/outline.tcss index 10b475529a..082398d1bb 100644 --- a/docs/examples/styles/outline.tcss +++ b/docs/examples/styles/outline.tcss @@ -7,5 +7,5 @@ Label { margin: 4 8; background: green 20%; outline: wide green; - width: 100%; + width: 1fr; } diff --git a/docs/examples/widgets/sparkline.tcss b/docs/examples/widgets/sparkline.tcss index ae4b3285d7..57790e3289 100644 --- a/docs/examples/widgets/sparkline.tcss +++ b/docs/examples/widgets/sparkline.tcss @@ -1,4 +1,4 @@ Sparkline { - width: 100%; + width: 1fr; margin: 2; } diff --git a/docs/examples/widgets/sparkline_colors.tcss b/docs/examples/widgets/sparkline_colors.tcss index cad5230c8d..541a9867e6 100644 --- a/docs/examples/widgets/sparkline_colors.tcss +++ b/docs/examples/widgets/sparkline_colors.tcss @@ -1,5 +1,5 @@ Sparkline { - width: 100%; + width: 1fr; margin: 1; } diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr index 7dc16d9687..cc65721a37 100644 --- a/tests/snapshot_tests/__snapshots__/test_snapshots.ambr +++ b/tests/snapshot_tests/__snapshots__/test_snapshots.ambr @@ -666,202 +666,202 @@ font-weight: 700; } - .terminal-3752476664-matrix { + .terminal-3443996764-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3752476664-title { + .terminal-3443996764-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3752476664-r1 { fill: #c5c8c6 } - .terminal-3752476664-r2 { fill: #e3e3e3 } - .terminal-3752476664-r3 { fill: #004578 } - .terminal-3752476664-r4 { fill: #e1e1e1 } - .terminal-3752476664-r5 { fill: #632ca6 } - .terminal-3752476664-r6 { fill: #dde6ed;font-weight: bold } - .terminal-3752476664-r7 { fill: #14191f } - .terminal-3752476664-r8 { fill: #23568b } + .terminal-3443996764-r1 { fill: #c5c8c6 } + .terminal-3443996764-r2 { fill: #e3e3e3 } + .terminal-3443996764-r3 { fill: #004578 } + .terminal-3443996764-r4 { fill: #e1e1e1 } + .terminal-3443996764-r5 { fill: #632ca6 } + .terminal-3443996764-r6 { fill: #dde6ed;font-weight: bold } + .terminal-3443996764-r7 { fill: #14191f } + .terminal-3443996764-r8 { fill: #23568b } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - MyApp + MyApp - - - - MyApp - ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── - oktest - ╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍ -  0 ────────────────────────────────────── 1 ────────────────────────────────────── 2 ───── - -  Foo       Bar         Baz               Foo       Bar         Baz               Foo      -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY▁▁ ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY▁▁ ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH -  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH - ───────────────────────────────────────────────────────────────────────────────────────────── - - ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + + + + MyApp + ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + oktest + ╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍ +  0 ────────────────────────────────────── 1 ────────────────────────────────────── 2 ───── + +  Foo       Bar         Baz               Foo       Bar         Baz               Foo      +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY▇▇ ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY▇▇ ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH +  ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH  0123456789  IJKLMNOPQRSTUVWXY ABCDEFGH + ───────────────────────────────────────────────────────────────────────────────────────────── + + ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── @@ -2992,137 +2992,136 @@ font-weight: 700; } - .terminal-174430999-matrix { + .terminal-835230732-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-174430999-title { + .terminal-835230732-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-174430999-r1 { fill: #a2a2a2 } - .terminal-174430999-r2 { fill: #c5c8c6 } - .terminal-174430999-r3 { fill: #004578 } - .terminal-174430999-r4 { fill: #e2e3e3 } - .terminal-174430999-r5 { fill: #00ff00 } - .terminal-174430999-r6 { fill: #24292f } - .terminal-174430999-r7 { fill: #1e1e1e } - .terminal-174430999-r8 { fill: #fea62b;font-weight: bold } + .terminal-835230732-r1 { fill: #a2a2a2 } + .terminal-835230732-r2 { fill: #c5c8c6 } + .terminal-835230732-r3 { fill: #004578 } + .terminal-835230732-r4 { fill: #e2e3e3 } + .terminal-835230732-r5 { fill: #00ff00 } + .terminal-835230732-r6 { fill: #1e1e1e } + .terminal-835230732-r7 { fill: #fea62b;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - CommandPaletteApp + CommandPaletteApp - + - - - - - ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ - - 🔎A - - - This is a test of this code 9 - This is a test of this code 8 - This is a test of this code 7 - This is a test of this code 6 - This is a test of this code 5 - This is a test of this code 4 - This is a test of this code 3 - This is a test of this code 2 - This is a test of this code 1 - This is a test of this code 0 - ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - - - + + + + + ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + + 🔎A + + + This is a test of this code 9 + This is a test of this code 8 + This is a test of this code 7 + This is a test of this code 6 + This is a test of this code 5 + This is a test of this code 4 + This is a test of this code 3 + This is a test of this code 2 + This is a test of this code 1 + This is a test of this code 0 + ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + + @@ -13387,139 +13386,140 @@ font-weight: 700; } - .terminal-3534356536-matrix { + .terminal-3136699522-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3534356536-title { + .terminal-3136699522-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3534356536-r1 { fill: #e1e1e1 } - .terminal-3534356536-r2 { fill: #c5c8c6 } - .terminal-3534356536-r3 { fill: #e1e1e1;font-weight: bold } - .terminal-3534356536-r4 { fill: #e1e1e1;font-style: italic; } - .terminal-3534356536-r5 { fill: #1e1e1e } - .terminal-3534356536-r6 { fill: #e1e1e1;text-decoration: line-through; } - .terminal-3534356536-r7 { fill: #e1e1e1;text-decoration: underline; } - .terminal-3534356536-r8 { fill: #e1e1e1;font-weight: bold;font-style: italic; } - .terminal-3534356536-r9 { fill: #1e1e1e;text-decoration: line-through; } + .terminal-3136699522-r1 { fill: #e1e1e1 } + .terminal-3136699522-r2 { fill: #c5c8c6 } + .terminal-3136699522-r3 { fill: #e1e1e1;font-weight: bold } + .terminal-3136699522-r4 { fill: #e1e1e1;font-style: italic; } + .terminal-3136699522-r5 { fill: #1e1e1e } + .terminal-3136699522-r6 { fill: #e1e1e1;text-decoration: line-through; } + .terminal-3136699522-r7 { fill: #e1e1e1;text-decoration: underline; } + .terminal-3136699522-r8 { fill: #e1e1e1;font-weight: bold;font-style: italic; } + .terminal-3136699522-r9 { fill: #1e1e1e;text-decoration: line-through; } + .terminal-3136699522-r10 { fill: #14191f } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - AllTextStyleApp + AllTextStyleApp - - - - - nonebolditalicreverse - I must not fear.I must not fear.I must not fear.I must not fear. - Fear is the Fear is the Fear is the Fear is the  - mind-killer.mind-killer.mind-killer.mind-killer. - Fear is the Fear is the Fear is the Fear is the  - little-death thatlittle-death that little-death thatlittle-death that  - brings total brings total brings total brings total  - obliteration.obliteration.obliteration.obliteration. - I will face my I will face my I will face my I will face my  - fear.fear.fear.fear. - - strikeunderlinebold italicreverse strike - I must not fear.I must not fear.I must not fear.I must not fear. - Fear is the Fear is the Fear is the Fear is the  - mind-killer.mind-killer.mind-killer.mind-killer. - Fear is the Fear is the Fear is the Fear is the  - little-death thatlittle-death that little-death thatlittle-death that  - brings total brings total brings total brings total  - obliteration.obliteration.obliteration.obliteration. - I will face my I will face my I will face my I will face my  - fear.fear.fear.fear. - I will permit it I will permit it I will permit it I will permit it  - + + + + + nonebolditalicreverse + I must not fear.I must not fear.I must not fear.I must not fear. + Fear is the Fear is the Fear is the Fear is the  + mind-killer.mind-killer.mind-killer.mind-killer. + Fear is the Fear is the Fear is the Fear is the  + little-death thatlittle-death thatlittle-death thatlittle-death that + brings total brings total brings total brings total  + obliteration.obliteration.obliteration.obliteration. + I will face my I will face my I will face my I will face my  + fear.fear.fear.fear. + I will permit it I will permit it I will permit it I will permit it  + + strikeunderlinebold italicreverse strike + I must not fear.I must not fear.I must not fear.I must not fear. + Fear is the Fear is the Fear is the Fear is the  + mind-killer.mind-killer.mind-killer.mind-killer. + Fear is the Fear is the Fear is the Fear is the  + little-death thatlittle-death thatlittle-death thatlittle-death that + brings total brings total brings total brings total  + obliteration.obliteration.obliteration.obliteration. + I will face my I will face my I will face my I will face my  + fear.fear.fear.fear.▆▆ + I will permit it I will permit it I will permit it I will permit it  @@ -20286,136 +20286,136 @@ font-weight: 700; } - .terminal-2540665408-matrix { + .terminal-3085198851-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2540665408-title { + .terminal-3085198851-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2540665408-r1 { fill: #c5c8c6 } - .terminal-2540665408-r2 { fill: #e3e3e3 } - .terminal-2540665408-r3 { fill: #e1e1e1 } - .terminal-2540665408-r4 { fill: #ff0000 } - .terminal-2540665408-r5 { fill: #dde8f3;font-weight: bold } - .terminal-2540665408-r6 { fill: #ddedf9 } + .terminal-3085198851-r1 { fill: #c5c8c6 } + .terminal-3085198851-r2 { fill: #e3e3e3 } + .terminal-3085198851-r3 { fill: #e1e1e1 } + .terminal-3085198851-r4 { fill: #ff0000 } + .terminal-3085198851-r5 { fill: #dde8f3;font-weight: bold } + .terminal-3085198851-r6 { fill: #ddedf9 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - DialogIssueApp + DialogIssueApp - - - - DialogIssueApp - - - - - - ─────────────────────────────────────── - - - - - - This should not cause a scrollbar to ap - - - - - - ─────────────────────────────────────── - - - - -  D  Toggle the dialog  + + + + DialogIssueApp + + + + + + ────────────────────────────────────── + + + + + This should not cause a scrollbar to a + + + + + + ────────────────────────────────────── + + + + + +  D  Toggle the dialog  @@ -22685,133 +22685,133 @@ font-weight: 700; } - .terminal-1197668808-matrix { + .terminal-1136068071-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1197668808-title { + .terminal-1136068071-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1197668808-r1 { fill: #e1e1e1 } - .terminal-1197668808-r2 { fill: #c5c8c6 } - .terminal-1197668808-r3 { fill: #00ff00 } - .terminal-1197668808-r4 { fill: #ffdddd } + .terminal-1136068071-r1 { fill: #e1e1e1 } + .terminal-1136068071-r2 { fill: #c5c8c6 } + .terminal-1136068071-r3 { fill: #00ff00 } + .terminal-1136068071-r4 { fill: #ffdddd } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - BrokenClassesApp + BrokenClassesApp - - - - - - - - - ─────────────────────────────────────── - This should have a red background - - - - - - - - - - - ─────────────────────────────────────── - - - - - + + + + + + + + + + ────────────────────────────────────── + This should have a red background + + + + + + + + + + ────────────────────────────────────── + + + + + @@ -23474,135 +23474,135 @@ font-weight: 700; } - .terminal-1795141768-matrix { + .terminal-2734338184-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-1795141768-title { + .terminal-2734338184-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-1795141768-r1 { fill: #e1e1e1 } - .terminal-1795141768-r2 { fill: #c5c8c6 } - .terminal-1795141768-r3 { fill: #56c278 } - .terminal-1795141768-r4 { fill: #1d1d1d } - .terminal-1795141768-r5 { fill: #e3e4e4 } - .terminal-1795141768-r6 { fill: #e3e4e4;text-decoration: underline; } + .terminal-2734338184-r1 { fill: #e1e1e1 } + .terminal-2734338184-r2 { fill: #c5c8c6 } + .terminal-2734338184-r3 { fill: #56c278 } + .terminal-2734338184-r4 { fill: #1d1d1d } + .terminal-2734338184-r5 { fill: #e3e4e4 } + .terminal-2734338184-r6 { fill: #e3e4e4;text-decoration: underline; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - NotifyWithInlineLinkApp + NotifyWithInlineLinkApp - - - - - - - - - - - - - - - - - - - - - - - - - Click here for the bell sound. - + + + + + + + + + + + + + + + + + + + + + + + + + Click here for the bell sound. + @@ -23633,135 +23633,135 @@ font-weight: 700; } - .terminal-3756307740-matrix { + .terminal-500610332-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3756307740-title { + .terminal-500610332-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3756307740-r1 { fill: #e1e1e1 } - .terminal-3756307740-r2 { fill: #c5c8c6 } - .terminal-3756307740-r3 { fill: #56c278 } - .terminal-3756307740-r4 { fill: #1d1d1d } - .terminal-3756307740-r5 { fill: #e3e4e4 } - .terminal-3756307740-r6 { fill: #ddedf9;font-weight: bold } + .terminal-500610332-r1 { fill: #e1e1e1 } + .terminal-500610332-r2 { fill: #c5c8c6 } + .terminal-500610332-r3 { fill: #56c278 } + .terminal-500610332-r4 { fill: #1d1d1d } + .terminal-500610332-r5 { fill: #e3e4e4 } + .terminal-500610332-r6 { fill: #ddedf9;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - NotifyWithInlineLinkApp + NotifyWithInlineLinkApp - - - - - - - - - - - - - - - - - - - - - - - - - Click here for the bell sound. - + + + + + + + + + + + + + + + + + + + + + + + + + Click here for the bell sound. + @@ -23792,139 +23792,139 @@ font-weight: 700; } - .terminal-99275963-matrix { + .terminal-3535066299-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-99275963-title { + .terminal-3535066299-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-99275963-r1 { fill: #e1e1e1 } - .terminal-99275963-r2 { fill: #c5c8c6 } - .terminal-99275963-r3 { fill: #56c278 } - .terminal-99275963-r4 { fill: #1d1d1d } - .terminal-99275963-r5 { fill: #e3e4e4 } - .terminal-99275963-r6 { fill: #feaa35 } - .terminal-99275963-r7 { fill: #e89719;font-weight: bold } - .terminal-99275963-r8 { fill: #e3e4e4;font-weight: bold } - .terminal-99275963-r9 { fill: #e3e4e4;font-weight: bold;font-style: italic; } - .terminal-99275963-r10 { fill: #bc4563 } + .terminal-3535066299-r1 { fill: #e1e1e1 } + .terminal-3535066299-r2 { fill: #c5c8c6 } + .terminal-3535066299-r3 { fill: #56c278 } + .terminal-3535066299-r4 { fill: #1d1d1d } + .terminal-3535066299-r5 { fill: #e3e4e4 } + .terminal-3535066299-r6 { fill: #feaa35 } + .terminal-3535066299-r7 { fill: #e89719;font-weight: bold } + .terminal-3535066299-r8 { fill: #e3e4e4;font-weight: bold } + .terminal-3535066299-r9 { fill: #e3e4e4;font-weight: bold;font-style: italic; } + .terminal-3535066299-r10 { fill: #bc4563 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - ToastApp + ToastApp - - - - - - - - It's an older code, sir, but it  - checks out. - - - - Possible trap detected - Now witness the firepower of this - fully ARMED and OPERATIONAL - battle station! - - - - It's a trap! - - - - It's against my programming to  - impersonate a deity. - + + + + + + + + It's an older code, sir, but it  + checks out. + + + + Possible trap detected + Now witness the firepower of this  + fully ARMED and OPERATIONAL battle  + station! + + + + It's a trap! + + + + It's against my programming to  + impersonate a deity. + @@ -23955,117 +23955,117 @@ font-weight: 700; } - .terminal-61440561-matrix { + .terminal-4012933681-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-61440561-title { + .terminal-4012933681-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-61440561-r1 { fill: #c5c8c6 } - .terminal-61440561-r2 { fill: #56c278 } - .terminal-61440561-r3 { fill: #1d1d1d } - .terminal-61440561-r4 { fill: #e3e4e4 } + .terminal-4012933681-r1 { fill: #c5c8c6 } + .terminal-4012933681-r2 { fill: #56c278 } + .terminal-4012933681-r3 { fill: #1d1d1d } + .terminal-4012933681-r4 { fill: #e3e4e4 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - LoadingOverlayApp + LoadingOverlayApp - - - - - - - - - - - This is a big notification. - This is a big notification. - This is a big notification. - This is a big notification. - This is a big notification. - This is a big notification. - This is a big notification. - This is a big notification. - This is a big notification. - This is a big notification. - - + + + + + + + + + + + This is a big notification. + This is a big notification. + This is a big notification. + This is a big notification. + This is a big notification. + This is a big notification. + This is a big notification. + This is a big notification. + This is a big notification. + This is a big notification. + + @@ -24096,134 +24096,134 @@ font-weight: 700; } - .terminal-2569815150-matrix { + .terminal-1373062254-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2569815150-title { + .terminal-1373062254-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2569815150-r1 { fill: #e1e1e1 } - .terminal-2569815150-r2 { fill: #56c278 } - .terminal-2569815150-r3 { fill: #c5c8c6 } - .terminal-2569815150-r4 { fill: #1d1d1d } - .terminal-2569815150-r5 { fill: #e3e4e4 } + .terminal-1373062254-r1 { fill: #e1e1e1 } + .terminal-1373062254-r2 { fill: #56c278 } + .terminal-1373062254-r3 { fill: #c5c8c6 } + .terminal-1373062254-r4 { fill: #1d1d1d } + .terminal-1373062254-r5 { fill: #e3e4e4 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - NotifyThroughModesApp + NotifyThroughModesApp - - - - This is a mode screen - 4 - - - - 5 - - - - 6 - - - - 7 - - - - 8 - - - - 9 - + + + + This is a mode screen + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + @@ -24254,134 +24254,134 @@ font-weight: 700; } - .terminal-4257366247-matrix { + .terminal-3060613351-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-4257366247-title { + .terminal-3060613351-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-4257366247-r1 { fill: #e1e1e1 } - .terminal-4257366247-r2 { fill: #56c278 } - .terminal-4257366247-r3 { fill: #c5c8c6 } - .terminal-4257366247-r4 { fill: #1d1d1d } - .terminal-4257366247-r5 { fill: #e3e4e4 } + .terminal-3060613351-r1 { fill: #e1e1e1 } + .terminal-3060613351-r2 { fill: #56c278 } + .terminal-3060613351-r3 { fill: #c5c8c6 } + .terminal-3060613351-r4 { fill: #1d1d1d } + .terminal-3060613351-r5 { fill: #e3e4e4 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - NotifyDownScreensApp + NotifyDownScreensApp - - - - Screen 10 - 4 - - - - 5 - - - - 6 - - - - 7 - - - - 8 - - - - 9 - + + + + Screen 10 + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + @@ -24731,140 +24731,140 @@ font-weight: 700; } - .terminal-371403050-matrix { + .terminal-2682133191-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-371403050-title { + .terminal-2682133191-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-371403050-r1 { fill: #c5c8c6 } - .terminal-371403050-r2 { fill: #e3e3e3 } - .terminal-371403050-r3 { fill: #e1e1e1 } - .terminal-371403050-r4 { fill: #1e1e1e } - .terminal-371403050-r5 { fill: #0178d4 } - .terminal-371403050-r6 { fill: #ddedf9;font-weight: bold } - .terminal-371403050-r7 { fill: #e2e2e2 } - .terminal-371403050-r8 { fill: #434343 } - .terminal-371403050-r9 { fill: #787878 } - .terminal-371403050-r10 { fill: #14191f } - .terminal-371403050-r11 { fill: #ddedf9 } + .terminal-2682133191-r1 { fill: #c5c8c6 } + .terminal-2682133191-r2 { fill: #e3e3e3 } + .terminal-2682133191-r3 { fill: #e1e1e1 } + .terminal-2682133191-r4 { fill: #1e1e1e } + .terminal-2682133191-r5 { fill: #0178d4 } + .terminal-2682133191-r6 { fill: #ddedf9;font-weight: bold } + .terminal-2682133191-r7 { fill: #e2e2e2 } + .terminal-2682133191-r8 { fill: #434343 } + .terminal-2682133191-r9 { fill: #787878 } + .terminal-2682133191-r10 { fill: #14191f } + .terminal-2682133191-r11 { fill: #ddedf9 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - OptionListApp + OptionListApp - - - - OptionListApp - - - ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ - Aerilon - Aquaria - ─────────────────────────────────────────────────── - Canceron - Caprica - ─────────────────────────────────────────────────── - Gemenon - ─────────────────────────────────────────────────── - Leonis - Libran - ─────────────────────────────────────────────────── - Picon - ─────────────────────────────────────────────────── - Sagittaron▄▄ - Scorpia - ─────────────────────────────────────────────────── - ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - + + + + OptionListApp + + + ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + Aerilon + Aquaria + ────────────────────────────────────────────────── + Canceron + Caprica + ────────────────────────────────────────────────── + Gemenon + ────────────────────────────────────────────────── + Leonis + Libran + ────────────────────────────────────────────────── + Picon▁▁ + ────────────────────────────────────────────────── + Sagittaron + Scorpia + ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + @@ -25378,137 +25378,137 @@ font-weight: 700; } - .terminal-2341816165-matrix { + .terminal-534841697-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-2341816165-title { + .terminal-534841697-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-2341816165-r1 { fill: #c5c8c6 } - .terminal-2341816165-r2 { fill: #e3e3e3 } - .terminal-2341816165-r3 { fill: #e1e1e1 } - .terminal-2341816165-r4 { fill: #1e1e1e } - .terminal-2341816165-r5 { fill: #0178d4 } - .terminal-2341816165-r6 { fill: #ddedf9;font-weight: bold } - .terminal-2341816165-r7 { fill: #e2e2e2 } - .terminal-2341816165-r8 { fill: #ddedf9 } + .terminal-534841697-r1 { fill: #c5c8c6 } + .terminal-534841697-r2 { fill: #e3e3e3 } + .terminal-534841697-r3 { fill: #e1e1e1 } + .terminal-534841697-r4 { fill: #1e1e1e } + .terminal-534841697-r5 { fill: #0178d4 } + .terminal-534841697-r6 { fill: #ddedf9;font-weight: bold } + .terminal-534841697-r7 { fill: #e2e2e2 } + .terminal-534841697-r8 { fill: #ddedf9 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - OptionListApp + OptionListApp - - - - OptionListApp - - - ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ - Aerilon - Aquaria - Canceron - Caprica - Gemenon - Leonis - Libran - Picon - Sagittaron - Scorpia - Tauron - Virgon - - - - - ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - + + + + OptionListApp + + + ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + Aerilon + Aquaria + Canceron + Caprica + Gemenon + Leonis + Libran + Picon + Sagittaron + Scorpia + Tauron + Virgon + + + + ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + @@ -25539,141 +25539,141 @@ font-weight: 700; } - .terminal-228828675-matrix { + .terminal-1755547624-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-228828675-title { + .terminal-1755547624-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-228828675-r1 { fill: #c5c8c6 } - .terminal-228828675-r2 { fill: #e3e3e3 } - .terminal-228828675-r3 { fill: #e1e1e1 } - .terminal-228828675-r4 { fill: #1e1e1e } - .terminal-228828675-r5 { fill: #0178d4 } - .terminal-228828675-r6 { fill: #ddedf9;font-weight: bold;font-style: italic; } - .terminal-228828675-r7 { fill: #e2e2e2 } - .terminal-228828675-r8 { fill: #ddedf9;font-weight: bold } - .terminal-228828675-r9 { fill: #14191f } - .terminal-228828675-r10 { fill: #e2e2e2;font-style: italic; } - .terminal-228828675-r11 { fill: #e2e2e2;font-weight: bold } - .terminal-228828675-r12 { fill: #ddedf9 } + .terminal-1755547624-r1 { fill: #c5c8c6 } + .terminal-1755547624-r2 { fill: #e3e3e3 } + .terminal-1755547624-r3 { fill: #e1e1e1 } + .terminal-1755547624-r4 { fill: #1e1e1e } + .terminal-1755547624-r5 { fill: #0178d4 } + .terminal-1755547624-r6 { fill: #ddedf9;font-weight: bold;font-style: italic; } + .terminal-1755547624-r7 { fill: #e2e2e2 } + .terminal-1755547624-r8 { fill: #ddedf9;font-weight: bold } + .terminal-1755547624-r9 { fill: #14191f } + .terminal-1755547624-r10 { fill: #e2e2e2;font-style: italic; } + .terminal-1755547624-r11 { fill: #e2e2e2;font-weight: bold } + .terminal-1755547624-r12 { fill: #ddedf9 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - OptionListApp + OptionListApp - - - - OptionListApp - - - ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ -                  Data for Aerilon                   - ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓ - Patron God   Population    Capital City   - ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩▃▃ - Demeter      1.2 Billion   Gaoth          - └───────────────┴────────────────┴────────────────┘ -                  Data for Aquaria                   - ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓ - Patron God   Population   Capital City    - ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩ - Hermes       75,000       None            - └───────────────┴───────────────┴─────────────────┘ -                  Data for Canceron                  - ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓ - Patron God   Population    Capital City   - ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩ - ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - + + + + OptionListApp + + + ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +                  Data for Aerilon                  + ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓ + Patron God   Population   Capital City   + ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩▇▇ + Demeter      1.2 Billion  Gaoth          + └───────────────┴───────────────┴────────────────┘ +                  Data for Aquaria                  + ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓ + Patron God   Population   Capital City   + ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩ + Hermes       75,000       None           + └───────────────┴───────────────┴────────────────┘ +                 Data for Canceron                  + ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓ + Patron God   Population   Capital City   + ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + @@ -27616,139 +27616,139 @@ font-weight: 700; } - .terminal-3755206349-matrix { + .terminal-2068636424-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3755206349-title { + .terminal-2068636424-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3755206349-r1 { fill: #e1e1e1 } - .terminal-3755206349-r2 { fill: #c5c8c6 } - .terminal-3755206349-r3 { fill: #1e1e1e } - .terminal-3755206349-r4 { fill: #0178d4 } - .terminal-3755206349-r5 { fill: #575757 } - .terminal-3755206349-r6 { fill: #262626;font-weight: bold } - .terminal-3755206349-r7 { fill: #e2e2e2 } - .terminal-3755206349-r8 { fill: #e2e2e2;text-decoration: underline; } - .terminal-3755206349-r9 { fill: #434343 } - .terminal-3755206349-r10 { fill: #4ebf71;font-weight: bold } + .terminal-2068636424-r1 { fill: #e1e1e1 } + .terminal-2068636424-r2 { fill: #c5c8c6 } + .terminal-2068636424-r3 { fill: #1e1e1e } + .terminal-2068636424-r4 { fill: #0178d4 } + .terminal-2068636424-r5 { fill: #575757 } + .terminal-2068636424-r6 { fill: #262626;font-weight: bold } + .terminal-2068636424-r7 { fill: #e2e2e2 } + .terminal-2068636424-r8 { fill: #e2e2e2;text-decoration: underline; } + .terminal-2068636424-r9 { fill: #434343 } + .terminal-2068636424-r10 { fill: #4ebf71;font-weight: bold } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - RadioChoicesApp + RadioChoicesApp - - - - - - - - - - ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ - Battlestar Galactica -  Dune 1984 -  Dune 2021 -  Serenity -  Star Trek: The Motion Picture -  Star Wars: A New Hope -  The Last Starfighter -  Total Recall 👉 🔴 -  Wing Commander - ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - - - - - + + + + + + + + + + ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + Battlestar Galactica +  Dune 1984 +  Dune 2021 +  Serenity +  Star Trek: The Motion Picture +  Star Wars: A New Hope +  The Last Starfighter +  Total Recall 👉 🔴 +  Wing Commander + ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + + + + @@ -27779,140 +27779,140 @@ font-weight: 700; } - .terminal-3259211563-matrix { + .terminal-2449642391-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3259211563-title { + .terminal-2449642391-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3259211563-r1 { fill: #e1e1e1 } - .terminal-3259211563-r2 { fill: #c5c8c6 } - .terminal-3259211563-r3 { fill: #1e1e1e } - .terminal-3259211563-r4 { fill: #0178d4 } - .terminal-3259211563-r5 { fill: #575757 } - .terminal-3259211563-r6 { fill: #262626;font-weight: bold } - .terminal-3259211563-r7 { fill: #e2e2e2 } - .terminal-3259211563-r8 { fill: #e2e2e2;text-decoration: underline; } - .terminal-3259211563-r9 { fill: #434343 } - .terminal-3259211563-r10 { fill: #4ebf71;font-weight: bold } - .terminal-3259211563-r11 { fill: #cc555a;font-weight: bold;font-style: italic; } + .terminal-2449642391-r1 { fill: #e1e1e1 } + .terminal-2449642391-r2 { fill: #c5c8c6 } + .terminal-2449642391-r3 { fill: #1e1e1e } + .terminal-2449642391-r4 { fill: #0178d4 } + .terminal-2449642391-r5 { fill: #575757 } + .terminal-2449642391-r6 { fill: #262626;font-weight: bold } + .terminal-2449642391-r7 { fill: #e2e2e2 } + .terminal-2449642391-r8 { fill: #e2e2e2;text-decoration: underline; } + .terminal-2449642391-r9 { fill: #434343 } + .terminal-2449642391-r10 { fill: #4ebf71;font-weight: bold } + .terminal-2449642391-r11 { fill: #cc555a;font-weight: bold;font-style: italic; } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - RadioChoicesApp + RadioChoicesApp - - - - - - - - - - ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ - Battlestar Galactica Amanda -  Dune 1984 Connor MacLeod -  Dune 2021 Duncan MacLeod -  Serenity Heather MacLeod -  Star Trek: The Motion Picture Joe Dawson -  Star Wars: A New Hope Kurgan, The -  The Last Starfighter Methos -  Total Recall 👉 🔴 Rachel Ellenstein -  Wing Commander Ramírez - ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ - - - - - - + + + + + + + + + + ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ + Battlestar Galactica Amanda +  Dune 1984 Connor MacLeod +  Dune 2021 Duncan MacLeod +  Serenity Heather MacLeod +  Star Trek: The Motion Pictur Joe Dawson +  Star Wars: A New Hope Kurgan, The +  The Last Starfighter Methos +  Total Recall 👉 🔴 Rachel Ellenstein +  Wing Commander Ramírez + ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ + + + + + + @@ -30976,139 +30976,139 @@ font-weight: 700; } - .terminal-3401996005-matrix { + .terminal-2928221602-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3401996005-title { + .terminal-2928221602-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3401996005-r1 { fill: #c5c8c6 } - .terminal-3401996005-r2 { fill: #e3e3e3 } - .terminal-3401996005-r3 { fill: #e1e1e1 } - .terminal-3401996005-r4 { fill: #0178d4 } - .terminal-3401996005-r5 { fill: #575757 } - .terminal-3401996005-r6 { fill: #4ebf71;font-weight: bold } - .terminal-3401996005-r7 { fill: #ddedf9;font-weight: bold } - .terminal-3401996005-r8 { fill: #262626;font-weight: bold } - .terminal-3401996005-r9 { fill: #e2e2e2 } - .terminal-3401996005-r10 { fill: #ddedf9 } + .terminal-2928221602-r1 { fill: #c5c8c6 } + .terminal-2928221602-r2 { fill: #e3e3e3 } + .terminal-2928221602-r3 { fill: #e1e1e1 } + .terminal-2928221602-r4 { fill: #0178d4 } + .terminal-2928221602-r5 { fill: #575757 } + .terminal-2928221602-r6 { fill: #4ebf71;font-weight: bold } + .terminal-2928221602-r7 { fill: #ddedf9;font-weight: bold } + .terminal-2928221602-r8 { fill: #262626;font-weight: bold } + .terminal-2928221602-r9 { fill: #e2e2e2 } + .terminal-2928221602-r10 { fill: #ddedf9 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - SelectionListApp + SelectionListApp - - - - SelectionListApp - - -  Shall we play some games? ────────────────────────────────── - - XFalken's Maze - XBlack Jack - XGin Rummy - XHearts - XBridge - XCheckers - XChess - XPoker - XFighter Combat - - - - - - - ────────────────────────────────────────────────────────────── - - + + + + SelectionListApp + + +  Shall we play some games? ────────────────────────────────── + + XFalken's Maze + XBlack Jack + XGin Rummy + XHearts + XBridge + XCheckers + XChess + XPoker + XFighter Combat + + + + + + ────────────────────────────────────────────────────────────── + + + @@ -31139,139 +31139,139 @@ font-weight: 700; } - .terminal-3401996005-matrix { + .terminal-2928221602-matrix { font-family: Fira Code, monospace; font-size: 20px; line-height: 24.4px; font-variant-east-asian: full-width; } - .terminal-3401996005-title { + .terminal-2928221602-title { font-size: 18px; font-weight: bold; font-family: arial; } - .terminal-3401996005-r1 { fill: #c5c8c6 } - .terminal-3401996005-r2 { fill: #e3e3e3 } - .terminal-3401996005-r3 { fill: #e1e1e1 } - .terminal-3401996005-r4 { fill: #0178d4 } - .terminal-3401996005-r5 { fill: #575757 } - .terminal-3401996005-r6 { fill: #4ebf71;font-weight: bold } - .terminal-3401996005-r7 { fill: #ddedf9;font-weight: bold } - .terminal-3401996005-r8 { fill: #262626;font-weight: bold } - .terminal-3401996005-r9 { fill: #e2e2e2 } - .terminal-3401996005-r10 { fill: #ddedf9 } + .terminal-2928221602-r1 { fill: #c5c8c6 } + .terminal-2928221602-r2 { fill: #e3e3e3 } + .terminal-2928221602-r3 { fill: #e1e1e1 } + .terminal-2928221602-r4 { fill: #0178d4 } + .terminal-2928221602-r5 { fill: #575757 } + .terminal-2928221602-r6 { fill: #4ebf71;font-weight: bold } + .terminal-2928221602-r7 { fill: #ddedf9;font-weight: bold } + .terminal-2928221602-r8 { fill: #262626;font-weight: bold } + .terminal-2928221602-r9 { fill: #e2e2e2 } + .terminal-2928221602-r10 { fill: #ddedf9 } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - SelectionListApp + SelectionListApp - - - - SelectionListApp - - -  Shall we play some games? ────────────────────────────────── - - XFalken's Maze - XBlack Jack - XGin Rummy - XHearts - XBridge - XCheckers - XChess - XPoker - XFighter Combat - - - - - - - ────────────────────────────────────────────────────────────── - - + + + + SelectionListApp + + +  Shall we play some games? ────────────────────────────────── + + XFalken's Maze + XBlack Jack + XGin Rummy + XHearts + XBridge + XCheckers + XChess + XPoker + XFighter Combat + + + + + + ────────────────────────────────────────────────────────────── + + + diff --git a/tests/snapshot_tests/snapshot_apps/input_validation.py b/tests/snapshot_tests/snapshot_apps/input_validation.py index bf3bc37624..c376a23221 100644 --- a/tests/snapshot_tests/snapshot_apps/input_validation.py +++ b/tests/snapshot_tests/snapshot_apps/input_validation.py @@ -17,6 +17,7 @@ class InputApp(App): } Input { margin: 1 2; + width: 1fr; } """ @@ -41,5 +42,5 @@ def compose(self) -> ComposeResult: app = InputApp() -if __name__ == '__main__': +if __name__ == "__main__": app.run() diff --git a/tests/test_box_model.py b/tests/test_box_model.py index 8f59c8a82f..1fb1b9675d 100644 --- a/tests/test_box_model.py +++ b/tests/test_box_model.py @@ -84,7 +84,7 @@ def get_content_height(self, container: Size, parent: Size, width: int) -> int: styles.width = "100%" box_model = widget._get_box_model(Size(60, 20), Size(80, 24), one, one) - assert box_model == BoxModel(Fraction(54), Fraction(16), Spacing(1, 2, 3, 4)) + assert box_model == BoxModel(Fraction(60), Fraction(16), Spacing(1, 2, 3, 4)) styles.width = "100vw" styles.max_width = "50%" @@ -127,7 +127,7 @@ def get_content_height(self, container: Size, parent: Size, width: int) -> int: styles.height = "100%" box_model = widget._get_box_model(Size(60, 20), Size(80, 24), one, one) - assert box_model == BoxModel(Fraction(54), Fraction(16), Spacing(1, 2, 3, 4)) + assert box_model == BoxModel(Fraction(54), Fraction(20), Spacing(1, 2, 3, 4)) styles.height = "auto" styles.margin = 2