diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9d01b6145..5cc7db23e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- Assigned names to Textual-specific threads: `textual-input`, `textual-output`. These should become visible in monitoring tools (ps, top, htop) as of Python 3.14. https://github.com/Textualize/textual/pull/5654
- Tabs now accept Content or content markup https://github.com/Textualize/textual/pull/5657
+- Buttons will now use Textual markup rather than console markup
## [2.1.2] - 2025-02-26
diff --git a/docs/examples/widgets/radio_button.py b/docs/examples/widgets/radio_button.py
index b9383c709..37a85fa28 100644
--- a/docs/examples/widgets/radio_button.py
+++ b/docs/examples/widgets/radio_button.py
@@ -1,3 +1,5 @@
+from rich.text import Text
+
from textual.app import App, ComposeResult
from textual.widgets import RadioButton, RadioSet
@@ -15,7 +17,9 @@ class RadioChoicesApp(App[None]):
yield RadioButton("Star Wars: A New Hope")
yield RadioButton("The Last Starfighter")
yield RadioButton(
- "Total Recall :backhand_index_pointing_right: :red_circle:"
+ Text.from_markup(
+ "Total Recall :backhand_index_pointing_right: :red_circle:"
+ )
)
yield RadioButton("Wing Commander")
diff --git a/docs/examples/widgets/radio_set.py b/docs/examples/widgets/radio_set.py
index e41b94fca..63f451475 100644
--- a/docs/examples/widgets/radio_set.py
+++ b/docs/examples/widgets/radio_set.py
@@ -1,3 +1,5 @@
+from rich.text import Text
+
from textual.app import App, ComposeResult
from textual.containers import Horizontal
from textual.widgets import RadioButton, RadioSet
@@ -18,7 +20,9 @@ class RadioChoicesApp(App[None]):
yield RadioButton("Star Wars: A New Hope")
yield RadioButton("The Last Starfighter")
yield RadioButton(
- "Total Recall :backhand_index_pointing_right: :red_circle:"
+ Text.from_markup(
+ "Total Recall :backhand_index_pointing_right: :red_circle:"
+ )
)
yield RadioButton("Wing Commander")
# A RadioSet built up from a collection of strings.
diff --git a/docs/examples/widgets/radio_set_changed.py b/docs/examples/widgets/radio_set_changed.py
index 8c890bb6c..b0431d2b5 100644
--- a/docs/examples/widgets/radio_set_changed.py
+++ b/docs/examples/widgets/radio_set_changed.py
@@ -1,3 +1,5 @@
+from rich.text import Text
+
from textual.app import App, ComposeResult
from textual.containers import Horizontal, VerticalScroll
from textual.widgets import Label, RadioButton, RadioSet
@@ -18,7 +20,9 @@ class RadioSetChangedApp(App[None]):
yield RadioButton("Star Wars: A New Hope")
yield RadioButton("The Last Starfighter")
yield RadioButton(
- "Total Recall :backhand_index_pointing_right: :red_circle:"
+ Text.from_markup(
+ "Total Recall :backhand_index_pointing_right: :red_circle:"
+ )
)
yield RadioButton("Wing Commander")
with Horizontal():
diff --git a/src/textual/widget.py b/src/textual/widget.py
index 1872a909c..b666dfaac 100644
--- a/src/textual/widget.py
+++ b/src/textual/widget.py
@@ -1106,7 +1106,7 @@ class Widget(DOMNode):
else:
text_background = background
if has_rule("color"):
- color = styles.color
+ color = styles.color.multiply_alpha(styles.text_opacity)
style += styles.text_style
if has_rule("auto_color") and styles.auto_color:
color = text_background.get_contrast_text(color.a)
diff --git a/src/textual/widgets/_toggle_button.py b/src/textual/widgets/_toggle_button.py
index d8650e245..c0965d01d 100644
--- a/src/textual/widgets/_toggle_button.py
+++ b/src/textual/widgets/_toggle_button.py
@@ -8,7 +8,6 @@ from __future__ import annotations
from typing import TYPE_CHECKING, ClassVar
from rich.console import RenderableType
-from rich.text import Text
from textual.binding import Binding, BindingType
from textual.content import Content, ContentText
@@ -184,32 +183,17 @@ class ToggleButton(Static, can_focus=True):
The content to render for the widget.
"""
button = self._button
- label = self._label.stylize(self.get_visual_style("toggle--label"))
- # label.stylize_before(self.get_component_rich_style("toggle--label"))
+ label_style = self.get_visual_style("toggle--label")
+ label = self._label.stylize_before(label_style)
spacer = " " if label else ""
if self._button_first:
- return Content.assemble(button, spacer, label)
+ content = Content.assemble(button, spacer, label)
else:
- return Content.assemble(label, spacer, button)
+ content = Content.assemble(label, spacer, button)
- return Content.assemble(
- *(
- (button, spacer, label)
- if self._button_first
- else (label, spacer, button)
- )
- )
-
- return Text.assemble(
- *(
- (button, spacer, label)
- if self._button_first
- else (label, spacer, button)
- ),
- no_wrap=True,
- overflow="ellipsis",
- )
+ # content = content.stylize_before(self.get_visual_style("toggle--label"))
+ return content
def get_content_width(self, container: Size, viewport: Size) -> int:
return (
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_arbitrary_selection.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_arbitrary_selection.svg
index 83d061fec..7ea9688b5 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_arbitrary_selection.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_arbitrary_selection.svg
@@ -19,236 +19,236 @@
font-weight: 700;
}
- .terminal-2713772870-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2713772870-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2713772870-r1 { fill: #ff0000 }
-.terminal-2713772870-r2 { fill: #c5c8c6 }
-.terminal-2713772870-r3 { fill: #e0e0e0 }
+ .terminal-r1 { fill: #ff0000 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #e0e0e0 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MyApp
+ MyApp
-
-
-
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
-┃┃┃┃┃┃
-┃┃┃┃┃┃
-┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
-┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
-┃Fear is the little-death that brings total ┃┃Fear is the little-death that brings total ┃┃Fear is the little-death that brings total ┃
-┃obliteration.┃┃obliteration.┃┃obliteration.┃
-┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
-┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃
-┃And when it has gone past, I will turn the inner┃┃And when it has gone past, I will turn the inner┃┃And when it has gone past, I will turn the inner ┃
-┃eye to see its path.┃┃eye to see its path.┃┃eye to see its path.┃
-┃Where the fear has gone there will be nothing. ┃┃Where the fear has gone there will be nothing. ┃┃Where the fear has gone there will be nothing. ┃
-┃Only I will remain.┃┃Only I will remain.┃┃Only I will remain.┃
-┃┃┃┃┃┃
-┃┃┃┃┃┃
-┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
-┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
-┃┃┃┃┃┃
-┃┃┃┃┃┃
-┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
-┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
-┃Fear is the little-death that brings total ┃┃Fear is the little-death that brings total ┃┃Fear is the little-death that brings total ┃
-┃obliteration.┃┃obliteration.┃┃obliteration.┃
-┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
-┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃
-┃And when it has gone past, I will turn the inner┃┃And when it has gone past, I will turn the inner┃┃And when it has gone past, I will turn the inner ┃
-┃eye to see its path.┃┃eye to see its path.┃┃eye to see its path.┃
-┃Where the fear has gone there will be nothing. ┃┃Where the fear has gone there will be nothing. ┃┃Where the fear has gone there will be nothing. ┃
-┃Only I will remain.┃┃Only I will remain.┃┃Only I will remain.┃
-┃┃┃┃┃┃
-┃┃┃┃┃┃
-┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
-┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
-┃┃┃┃┃┃
-┃┃┃┃┃┃
-┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
-┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
-┃Fearisthelittle-deaththatbringstotal┃┃Fearisthelittle-deaththatbringstotal┃┃Fearisthelittle-deaththatbringstotal┃
-┃obliteration.┃┃obliteration.┃┃obliteration.┃
-┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
-┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃
-┃Andwhenithasgonepast,Iwillturntheinner┃┃Andwhenithasgonepast,Iwillturntheinner┃┃Andwhenithasgonepast,Iwillturntheinner┃
-┃eye to see its path.┃┃eye to see its path.┃┃eye to see its path.┃
-┃Wherethefearhasgonetherewillbenothing.┃┃Wherethefearhasgonetherewillbenothing.┃┃Wherethefearhasgonetherewillbenothing.┃
-┃Only I will remain.┃┃Only I will remain.┃┃Only I will remain.┃
-┃┃┃┃┃┃
-┃┃┃┃┃┃
-┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
-
+
+
+
+ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+┃┃┃┃┃┃
+┃┃┃┃┃┃
+┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
+┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
+┃Fear is the little-death that brings total┃┃Fear is the little-death that brings total┃┃Fear is the little-death that brings total┃
+┃obliteration.┃┃obliteration.┃┃obliteration.┃
+┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
+┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃
+┃And when it has gone past, I will turn the inner┃┃And when it has gone past, I will turn the inner┃┃And when it has gone past, I will turn the inner┃
+┃eye to see its path.┃┃eye to see its path.┃┃eye to see its path.┃
+┃Where the fear has gone there will be nothing.┃┃Where the fear has gone there will be nothing.┃┃Where the fear has gone there will be nothing.┃
+┃Only I will remain.┃┃Only I will remain.┃┃Only I will remain.┃
+┃┃┃┃┃┃
+┃┃┃┃┃┃
+┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+┃┃┃┃┃┃
+┃┃┃┃┃┃
+┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
+┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
+┃Fear is the little-death that brings total┃┃Fear is the little-death that brings total┃┃Fear is the little-death that brings total┃
+┃obliteration.┃┃obliteration.┃┃obliteration.┃
+┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
+┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃
+┃And when it has gone past, I will turn the inner┃┃And when it has gone past, I will turn the inner┃┃And when it has gone past, I will turn the inner┃
+┃eye to see its path.┃┃eye to see its path.┃┃eye to see its path.┃
+┃Where the fear has gone there will be nothing.┃┃Where the fear has gone there will be nothing.┃┃Where the fear has gone there will be nothing.┃
+┃Only I will remain.┃┃Only I will remain.┃┃Only I will remain.┃
+┃┃┃┃┃┃
+┃┃┃┃┃┃
+┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+┃┃┃┃┃┃
+┃┃┃┃┃┃
+┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
+┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
+┃Fearisthelittle-deaththatbringstotal┃┃Fearisthelittle-deaththatbringstotal┃┃Fearisthelittle-deaththatbringstotal┃
+┃obliteration.┃┃obliteration.┃┃obliteration.┃
+┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
+┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃┃I will permit it to pass over me and through me.┃
+┃Andwhenithasgonepast,Iwillturntheinner┃┃Andwhenithasgonepast,Iwillturntheinner┃┃Andwhenithasgonepast,Iwillturntheinner┃
+┃eye to see its path.┃┃eye to see its path.┃┃eye to see its path.┃
+┃Wherethefearhasgonetherewillbenothing.┃┃Wherethefearhasgonetherewillbenothing.┃┃Wherethefearhasgonetherewillbenothing.┃
+┃Only I will remain.┃┃Only I will remain.┃┃Only I will remain.┃
+┃┃┃┃┃┃
+┃┃┃┃┃┃
+┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_auto_grid.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_auto_grid.svg
index 80002db81..712968542 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_auto_grid.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_auto_grid.svg
@@ -19,135 +19,135 @@
font-weight: 700;
}
- .terminal-3084000176-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3084000176-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3084000176-r1 { fill: #008000 }
-.terminal-3084000176-r2 { fill: #c5c8c6 }
-.terminal-3084000176-r3 { fill: #e0e0e0 }
-.terminal-3084000176-r4 { fill: #121212 }
-.terminal-3084000176-r5 { fill: #191919 }
+ .terminal-r1 { fill: #008000 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #e0e0e0 }
+.terminal-r4 { fill: #121212 }
+.terminal-r5 { fill: #191919 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- GridApp
+ GridApp
-
-
-
- ┌──────────────────────────────────────────────────────────────────────────────┐
-│foo▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
-│▊▎│
-│▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
-│Longer label▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
-│▊▎│
-│▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
-└──────────────────────────────────────────────────────────────────────────────┘
-┌──────────────────────────────────────────────────────────────────────────────┐
-│foo▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
-│▊▎│
-│▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
-│Longer label▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
-│▊▎│
-│▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
-└──────────────────────────────────────────────────────────────────────────────┘
-┌──────────────────────────────────────────────────────────────────────────────┐
-│foo bar foo bar foo bar foo ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
-│bar foo bar foo bar foo bar ▊▎│
-│foo bar foo bar foo bar ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
-│Longer label▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
-│▊▎│
-│▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
-└──────────────────────────────────────────────────────────────────────────────┘
+
+
+
+ ┌──────────────────────────────────────────────────────────────────────────────┐
+│foo▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
+│▊▎│
+│▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
+│Longer label▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
+│▊▎│
+│▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
+└──────────────────────────────────────────────────────────────────────────────┘
+┌──────────────────────────────────────────────────────────────────────────────┐
+│foo▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
+│▊▎│
+│▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
+│Longer label▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
+│▊▎│
+│▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
+└──────────────────────────────────────────────────────────────────────────────┘
+┌──────────────────────────────────────────────────────────────────────────────┐
+│foo bar foo bar foo bar foo▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
+│bar foo bar foo bar foo bar▊▎│
+│foo bar foo bar foo bar ▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
+│Longer label▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎│
+│▊▎│
+│▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎│
+└──────────────────────────────────────────────────────────────────────────────┘
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_button_with_console_markup.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_button_with_console_markup.svg
index cc94bf181..66fc80086 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_button_with_console_markup.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_button_with_console_markup.svg
@@ -19,141 +19,141 @@
font-weight: 700;
}
- .terminal-3204420437-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3204420437-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3204420437-r1 { fill: #2d2d2d }
-.terminal-3204420437-r2 { fill: #e0e0e0 }
-.terminal-3204420437-r3 { fill: #c5c8c6 }
-.terminal-3204420437-r4 { fill: #272727;font-weight: bold }
-.terminal-3204420437-r5 { fill: #272727;font-weight: bold;font-style: italic; }
-.terminal-3204420437-r6 { fill: #0d0d0d }
-.terminal-3204420437-r7 { fill: #e0e0e0;font-weight: bold }
-.terminal-3204420437-r8 { fill: #f4005f;font-weight: bold;font-style: italic; }
-.terminal-3204420437-r9 { fill: #1e1e1e }
-.terminal-3204420437-r10 { fill: #6a6a6a;font-weight: bold }
-.terminal-3204420437-r11 { fill: #720c34;font-weight: bold;font-style: italic; }
-.terminal-3204420437-r12 { fill: #0f0f0f }
+ .terminal-r1 { fill: #2d2d2d }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #c5c8c6 }
+.terminal-r4 { fill: #272727;font-weight: bold }
+.terminal-r5 { fill: #272727;font-weight: bold;font-style: italic; }
+.terminal-r6 { fill: #0d0d0d }
+.terminal-r7 { fill: #e0e0e0;font-weight: bold }
+.terminal-r8 { fill: #ff0000;font-weight: bold;font-style: italic; }
+.terminal-r9 { fill: #1e1e1e }
+.terminal-r10 { fill: #6a6a6a;font-weight: bold }
+.terminal-r11 { fill: #770c0c;font-weight: bold;font-style: italic; }
+.terminal-r12 { fill: #0f0f0f }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ButtonsWithMarkupApp
+ ButtonsWithMarkupApp
-
-
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-Focused Button
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-Blurred Button
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-Disabled Button
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+Focused Button
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+Blurred Button
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+Disabled Button
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_checkbox_example.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_checkbox_example.svg
index d84339b5d..9be3cdb8d 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_checkbox_example.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_checkbox_example.svg
@@ -19,143 +19,143 @@
font-weight: 700;
}
- .terminal-4290255817-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-4290255817-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-4290255817-r1 { fill: #e0e0e0 }
-.terminal-4290255817-r2 { fill: #c5c8c6 }
-.terminal-4290255817-r3 { fill: #121212 }
-.terminal-4290255817-r4 { fill: #1b1b1b }
-.terminal-4290255817-r5 { fill: #191919 }
-.terminal-4290255817-r6 { fill: #242f38 }
-.terminal-4290255817-r7 { fill: #000f18 }
-.terminal-4290255817-r8 { fill: #e0e0e0;font-weight: bold }
-.terminal-4290255817-r9 { fill: #f4005f }
-.terminal-4290255817-r10 { fill: #8ad4a1 }
-.terminal-4290255817-r11 { fill: #0178d4 }
-.terminal-4290255817-r12 { fill: #000000 }
-.terminal-4290255817-r13 { fill: #ddedf9;font-weight: bold }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #121212 }
+.terminal-r4 { fill: #1b1b1b }
+.terminal-r5 { fill: #191919 }
+.terminal-r6 { fill: #242f38 }
+.terminal-r7 { fill: #000f18 }
+.terminal-r8 { fill: #e0e0e0;font-weight: bold }
+.terminal-r9 { fill: #ff00ff }
+.terminal-r10 { fill: #8ad4a1 }
+.terminal-r11 { fill: #0178d4 }
+.terminal-r12 { fill: #000000 }
+.terminal-r13 { fill: #ddedf9;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- CheckboxApp
+ CheckboxApp
-
-
-
-
-
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▐X▌ Arrakis 😓▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▐X▌ Caladan▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▐X▌ Chusuk▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▐X▌Giedi Prime▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▔▔▔▎
-▊▐X▌Ginaz▎
-▊▁▁▁▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▐X▌ Grumman▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▎▃▃
-▊▐X▌Kaitain▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+
+
+
+
+
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▐X▌Arrakis :sweat:▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▐X▌Caladan▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▐X▌Chusuk▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▐X▌Giedi Prime▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▔▔▔▎
+▊▐X▌Ginaz▎
+▊▁▁▁▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▐X▌Grumman▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▎▃▃
+▊▐X▌Kaitain▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_content_switcher_example_switch.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_content_switcher_example_switch.svg
index eaea54352..98785bede 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_content_switcher_example_switch.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_content_switcher_example_switch.svg
@@ -19,242 +19,242 @@
font-weight: 700;
}
- .terminal-1247649819-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1247649819-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1247649819-r1 { fill: #c5c8c6 }
-.terminal-1247649819-r2 { fill: #e0e0e0 }
-.terminal-1247649819-r3 { fill: #2d2d2d }
-.terminal-1247649819-r4 { fill: #e0e0e0;font-weight: bold }
-.terminal-1247649819-r5 { fill: #272727;font-weight: bold }
-.terminal-1247649819-r6 { fill: #0d0d0d }
-.terminal-1247649819-r7 { fill: #0178d4 }
-.terminal-1247649819-r8 { fill: #0178d4;font-weight: bold }
-.terminal-1247649819-r9 { fill: #ffff00;text-decoration: underline; }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #2d2d2d }
+.terminal-r4 { fill: #e0e0e0;font-weight: bold }
+.terminal-r5 { fill: #272727;font-weight: bold }
+.terminal-r6 { fill: #0d0d0d }
+.terminal-r7 { fill: #0178d4 }
+.terminal-r8 { fill: #0178d4;font-weight: bold }
+.terminal-r9 { fill: #ffff00;text-decoration: underline; }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ContentSwitcherApp
+ ContentSwitcherApp
-
-
-
-
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- DataTable Markdown
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-╭─────────────────────────────────────────╮
-││
-││
-│Three Flavours Cornetto│
-││
-│The Three Flavours Cornetto trilogy │
-│is an anthology series of British │
-│comedic genre films directed by Edgar│
-│Wright.│
-││
-││
-│Shaun of the Dead│
-││
-││
-│UK Release │
-│Flavour Date Director │
-│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
-│ Strawberry 2004-04-09 Edgar │
-│ Wright │
-││
-││
-││
-│Hot Fuzz│
-││
-││
-│UK Release │
-│Flavour Date Director │
-│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
-│ Classico 2007-02-17 Edgar Wright │
-││
-││
-││
-│The World's End│
-││
-││
-│UK Release │
-│FlavourDate Director │
-│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
-│ Mint 2013-07-19 Edgar Wright │
-││
-││
-││
-││
-││
-╰─────────────────────────────────────────╯
+
+
+
+
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ DataTable Markdown
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+╭─────────────────────────────────────────╮
+││
+││
+│Three Flavours Cornetto│
+││
+│The Three Flavours Cornetto trilogy│
+│is an anthology series of British│
+│comedic genre films directed by Edgar│
+│Wright.│
+││
+││
+│Shaun of the Dead│
+││
+││
+│UK Release │
+│Flavour Date Director │
+│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
+│ Strawberry 2004-04-09 Edgar │
+│ Wright │
+││
+││
+││
+│Hot Fuzz│
+││
+││
+│UK Release │
+│Flavour Date Director │
+│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
+│ Classico 2007-02-17 Edgar Wright │
+││
+││
+││
+│The World's End│
+││
+││
+│UK Release │
+│FlavourDate Director │
+│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
+│ Mint 2013-07-19 Edgar Wright │
+││
+││
+││
+││
+││
+╰─────────────────────────────────────────╯
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[border.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[border.py].svg
index 617fb7de8..9a4814f44 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[border.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[border.py].svg
@@ -19,135 +19,135 @@
font-weight: 700;
}
- .terminal-3499344120-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3499344120-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3499344120-r1 { fill: #e0e0e0 }
-.terminal-3499344120-r2 { fill: #c5c8c6 }
-.terminal-3499344120-r3 { fill: #ff0000 }
-.terminal-3499344120-r4 { fill: #008000 }
-.terminal-3499344120-r5 { fill: #ffffff }
-.terminal-3499344120-r6 { fill: #0000ff }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #ff0000 }
+.terminal-r4 { fill: #008000 }
+.terminal-r5 { fill: #ffffff }
+.terminal-r6 { fill: #0000ff }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- BorderApp
+ BorderApp
-
-
-
-
-┌────────────────────────────────────────────────────────────────────────────┐
-│ │
-│ My border is solid red │
-│ │
-└────────────────────────────────────────────────────────────────────────────┘
-
-┏╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┓
-╏ ╏
-╏ My border is dashed green ╏
-╏ ╏
-┗╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┛
-
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▎
-▊My border is tall blue▎
-▊▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-
-
-
-
-
+
+
+
+
+┌────────────────────────────────────────────────────────────────────────────┐
+││
+│My border is solid red│
+││
+└────────────────────────────────────────────────────────────────────────────┘
+
+┏╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┓
+╏╏
+╏My border is dashed green╏
+╏╏
+┗╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┛
+
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▎
+▊My border is tall blue▎
+▊▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[border_all.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[border_all.py].svg
index f6bf2f933..1efa91856 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[border_all.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[border_all.py].svg
@@ -19,133 +19,133 @@
font-weight: 700;
}
- .terminal-2049110049-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2049110049-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2049110049-r1 { fill: #e0e0e0 }
-.terminal-2049110049-r2 { fill: #c5c8c6 }
-.terminal-2049110049-r3 { fill: #fea62b }
-.terminal-2049110049-r4 { fill: #121212 }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #fea62b }
+.terminal-r4 { fill: #121212 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- AllBordersApp
+ AllBordersApp
-
-
-
-
-+----------------+┏╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┓╔═════════════════╗
-|ascii|blank╏dashed╏║double║
-+----------------+┗╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┛╚═════════════════╝
-
-
-
-┏━━━━━━━━━━━━━━━━┓▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▗▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▖
-┃heavy┃hidden/nonehkey▐inner▌
-┗━━━━━━━━━━━━━━━━┛▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
-
-
-
-▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜▊█████████████████▎╭────────────────╮┌─────────────────┐
-▌outer▐▊panel▎│round││solid│
-▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎╰────────────────╯└─────────────────┘
-
-
-
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▏ ▕▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-▊tall▎█thick█▏vkey▕▎wide▊
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█▏ ▕▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-
+
+
+
+
++----------------+┏╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┓╔═════════════════╗
+|ascii|blank╏dashed╏║double║
++----------------+┗╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┛╚═════════════════╝
+
+
+
+┏━━━━━━━━━━━━━━━━┓▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▗▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▖
+┃heavy┃hidden/nonehkey▐inner▌
+┗━━━━━━━━━━━━━━━━┛▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+
+
+
+▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜▊█████████████████▎╭────────────────╮┌─────────────────┐
+▌outer▐▊panel▎│round││solid│
+▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎╰────────────────╯└─────────────────┘
+
+
+
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▏ ▕▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+▊tall▎█thick█▏vkey▕▎wide▊
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█▏ ▕▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[margin.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[margin.py].svg
index c08ae9573..585968ac4 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[margin.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[margin.py].svg
@@ -19,133 +19,133 @@
font-weight: 700;
}
- .terminal-329385349-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-329385349-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-329385349-r1 { fill: #000000 }
-.terminal-329385349-r2 { fill: #c5c8c6 }
-.terminal-329385349-r3 { fill: #0000ff }
-.terminal-329385349-r4 { fill: #ccccff }
+ .terminal-r1 { fill: #000000 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #0000ff }
+.terminal-r4 { fill: #ccccff }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MarginApp
+ MarginApp
-
-
-
-
-
-
-
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-▎I must not fear.▊
-▎Fear is the mind-killer.▊
-▎Fear is the little-death that brings total obliteration.▊
-▎I will face my fear.▊
-▎I will permit it to pass over me and through me.▊
-▎And when it has gone past, I will turn the inner eye to see ▊
-▎its path.▊
-▎Where the fear has gone there will be nothing. Only I will ▊
-▎remain.▊
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+▎I must not fear.▊
+▎Fear is the mind-killer.▊
+▎Fear is the little-death that brings total obliteration.▊
+▎I will face my fear.▊
+▎I will permit it to pass over me and through me.▊
+▎And when it has gone past, I will turn the inner eye to see▊
+▎its path.▊
+▎Where the fear has gone there will be nothing. Only I will▊
+▎remain.▊
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[margin_all.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[margin_all.py].svg
index 50b689997..a3a69ebfb 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[margin_all.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[margin_all.py].svg
@@ -19,141 +19,141 @@
font-weight: 700;
}
- .terminal-42710366-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-42710366-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-42710366-r1 { fill: #ffffff }
-.terminal-42710366-r2 { fill: #e0e0e0 }
-.terminal-42710366-r3 { fill: #c5c8c6 }
-.terminal-42710366-r4 { fill: #e7e0e6 }
-.terminal-42710366-r5 { fill: #eae2e4 }
-.terminal-42710366-r6 { fill: #ece5e5 }
-.terminal-42710366-r7 { fill: #eee8e3 }
-.terminal-42710366-r8 { fill: #e8ede4 }
-.terminal-42710366-r9 { fill: #e3ede7 }
-.terminal-42710366-r10 { fill: #e1eceb }
-.terminal-42710366-r11 { fill: #eeeddf }
+ .terminal-r1 { fill: #ffffff }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #c5c8c6 }
+.terminal-r4 { fill: #e7e0e6 }
+.terminal-r5 { fill: #eae2e4 }
+.terminal-r6 { fill: #ece5e5 }
+.terminal-r7 { fill: #eee8e3 }
+.terminal-r8 { fill: #e8ede4 }
+.terminal-r9 { fill: #e3ede7 }
+.terminal-r10 { fill: #e1eceb }
+.terminal-r11 { fill: #eeeddf }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MarginAllApp
+ MarginAllApp
-
-
-
- ╭────────────────╮╭─────────────────╮╭────────────────╮╭─────────────────╮
-││││││││
-││││││││
-││││││││
-│││││margin││margin: 1 │
-│no margin││margin: 1││: 1 5││1 2 6│
-││││││││
-││││││││
-││││││││
-││││││││
-╰────────────────╯╰─────────────────╯╰────────────────╯╰─────────────────╯
-
-╭────────────────╮╭─────────────────╮╭────────────────╮╭─────────────────╮
-││││││││
-││││││││
-│││││margin-bottom: 4│││
-││││││││
-│││margin-right: ││││margin-left: 3│
-│││3│││││
-│margin-top: 4│││││││
-││││││││
-││││││││
-││││││││
-╰────────────────╯╰─────────────────╯╰────────────────╯╰─────────────────╯
+
+
+
+ ╭────────────────╮╭─────────────────╮╭────────────────╮╭─────────────────╮
+││││││││
+││││││││
+││││││││
+│││││margin││margin: 1│
+│no margin││margin: 1││: 1 5││1 2 6│
+││││││││
+││││││││
+││││││││
+││││││││
+╰────────────────╯╰─────────────────╯╰────────────────╯╰─────────────────╯
+
+╭────────────────╮╭─────────────────╮╭────────────────╮╭─────────────────╮
+││││││││
+││││││││
+│││││margin-bottom: 4│││
+││││││││
+│││margin-right:││││margin-left: 3│
+│││3│││││
+│margin-top: 4│││││││
+││││││││
+││││││││
+││││││││
+╰────────────────╯╰─────────────────╯╰────────────────╯╰─────────────────╯
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[max_width.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[max_width.py].svg
index 99d92ba51..666d2a61e 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[max_width.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[max_width.py].svg
@@ -19,135 +19,135 @@
font-weight: 700;
}
- .terminal-3569717307-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3569717307-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3569717307-r1 { fill: #e7e0e6 }
-.terminal-3569717307-r2 { fill: #e0e0e0 }
-.terminal-3569717307-r3 { fill: #c5c8c6 }
-.terminal-3569717307-r4 { fill: #eae2e4 }
-.terminal-3569717307-r5 { fill: #ece5e5 }
-.terminal-3569717307-r6 { fill: #eee8e3 }
+ .terminal-r1 { fill: #e7e0e6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #c5c8c6 }
+.terminal-r4 { fill: #eae2e4 }
+.terminal-r5 { fill: #ece5e5 }
+.terminal-r6 { fill: #eee8e3 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MaxWidthApp
+ MaxWidthApp
-
-
-
-
-
-max-width:
-50h
-
-
-
-
-max-width: 999
-
-
-
-
-
-max-width: 50%
-
-
-
-
-
-max-width: 30
-
-
+
+
+
+
+
+max-width:
+50h
+
+
+
+
+max-width: 999
+
+
+
+
+
+max-width: 50%
+
+
+
+
+
+max-width: 30
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[offset.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[offset.py].svg
index 1dd0fb3eb..06ea7495d 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[offset.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[offset.py].svg
@@ -19,134 +19,134 @@
font-weight: 700;
}
- .terminal-2976121018-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2976121018-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2976121018-r1 { fill: #000000 }
-.terminal-2976121018-r2 { fill: #0000ff }
-.terminal-2976121018-r3 { fill: #c5c8c6 }
-.terminal-2976121018-r4 { fill: #ff0000 }
-.terminal-2976121018-r5 { fill: #008000 }
+ .terminal-r1 { fill: #000000 }
+.terminal-r2 { fill: #0000ff }
+.terminal-r3 { fill: #c5c8c6 }
+.terminal-r4 { fill: #ff0000 }
+.terminal-r5 { fill: #008000 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OffsetApp
+ OffsetApp
-
-
-
- ▌ ▐
-▌ Chani (offset 0 ▐
-▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜▌ -3) ▐
-▌ ▐▌ ▐
-▌ ▐▌ ▐
-▌ ▐▌ ▐
-▌Paul (offset 8 2) ▐▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
-▌ ▐
-▌ ▐
-▌ ▐
-▌ ▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜
-▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌ ▐
-▌ ▐
-▌ ▐
-▌Duncan (offset 4 ▐
-▌10) ▐
-▌ ▐
-▌ ▐
-▌ ▐
-▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
-
-
-
+
+
+
+ ▌▐
+▌Chani (offset 0▐
+▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜▌-3)▐
+▌▐▌▐
+▌▐▌▐
+▌▐▌▐
+▌Paul (offset 8 2)▐▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
+▌▐
+▌▐
+▌▐
+▌▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜
+▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌▐
+▌▐
+▌▐
+▌Duncan (offset 4▐
+▌10)▐
+▌▐
+▌▐
+▌▐
+▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[outline.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[outline.py].svg
index a4518a7ca..1baa0a713 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[outline.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[outline.py].svg
@@ -19,133 +19,133 @@
font-weight: 700;
}
- .terminal-3118814322-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3118814322-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3118814322-r1 { fill: #000000 }
-.terminal-3118814322-r2 { fill: #c5c8c6 }
-.terminal-3118814322-r3 { fill: #008000 }
-.terminal-3118814322-r4 { fill: #cce5cc }
+ .terminal-r1 { fill: #000000 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #008000 }
+.terminal-r4 { fill: #cce5cc }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OutlineApp
+ OutlineApp
-
-
-
-
-
-
-
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-▎ear is the mind-killer.▊
-▎ear is the little-death that brings total obliteration.▊
-▎ will face my fear.▊
-▎ will permit it to pass over me and through me.▊
-▎nd when it has gone past, I will turn the inner eye to see its▊
-▎ath.▊
-▎here the fear has gone there will be nothing. Only I will ▊
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+▎ear is the mind-killer.▊
+▎ear is the little-death that brings total obliteration.▊
+▎ will face my fear.▊
+▎ will permit it to pass over me and through me.▊
+▎nd when it has gone past, I will turn the inner eye to see its▊
+▎ath.▊
+▎here the fear has gone there will be nothing. Only I will▊
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[outline_all.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[outline_all.py].svg
index a969a9e7b..5aa61df94 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[outline_all.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[outline_all.py].svg
@@ -19,133 +19,133 @@
font-weight: 700;
}
- .terminal-934842990-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-934842990-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-934842990-r1 { fill: #e0e0e0 }
-.terminal-934842990-r2 { fill: #fea62b }
-.terminal-934842990-r3 { fill: #c5c8c6 }
-.terminal-934842990-r4 { fill: #121212 }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #fea62b }
+.terminal-r3 { fill: #c5c8c6 }
+.terminal-r4 { fill: #121212 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- AllOutlinesApp
+ AllOutlinesApp
-
-
-
- +------------------+┏╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┓
-|ascii|blank╏dashed╏
-+------------------+┗╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┛
-
-
-╔══════════════════╗┏━━━━━━━━━━━━━━━━━━┓
-║double║┃heavy┃hidden/none
-╚══════════════════╝┗━━━━━━━━━━━━━━━━━━┛
-
-
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▗▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▖
-hkey▐inner▌none
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
-
-
-▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜╭──────────────────╮┌──────────────────┐
-▌outer▐│round││solid│
-▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟╰──────────────────╯└──────────────────┘
-
-
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎▏ ▕▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-▊tall▎▏vkey▕▎wide▊
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎▏ ▕▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+
+
+
+ +------------------+┏╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┓
+|ascii|blank╏dashed╏
++------------------+┗╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┛
+
+
+╔══════════════════╗┏━━━━━━━━━━━━━━━━━━┓
+║double║┃heavy┃hidden/none
+╚══════════════════╝┗━━━━━━━━━━━━━━━━━━┛
+
+
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▗▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▖
+hkey▐inner▌none
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘
+
+
+▛▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜╭──────────────────╮┌──────────────────┐
+▌outer▐│round││solid│
+▙▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▟╰──────────────────╯└──────────────────┘
+
+
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎▏ ▕▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+▊tall▎▏vkey▕▎wide▊
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎▏ ▕▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[overflow.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[overflow.py].svg
index bf35ef8cc..c566af783 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[overflow.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[overflow.py].svg
@@ -19,136 +19,136 @@
font-weight: 700;
}
- .terminal-3431310894-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3431310894-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3431310894-r1 { fill: #000000 }
-.terminal-3431310894-r2 { fill: #121212 }
-.terminal-3431310894-r3 { fill: #c5c8c6 }
-.terminal-3431310894-r4 { fill: #008000 }
-.terminal-3431310894-r5 { fill: #e5f0e5 }
-.terminal-3431310894-r6 { fill: #036a03 }
+ .terminal-r1 { fill: #000000 }
+.terminal-r2 { fill: #121212 }
+.terminal-r3 { fill: #c5c8c6 }
+.terminal-r4 { fill: #008000 }
+.terminal-r5 { fill: #e5f0e5 }
+.terminal-r6 { fill: #036a03 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OverflowApp
+ OverflowApp
-
-
-
-
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-▎I must not fear.▊▎I must not fear.▊
-▎Fear is the mind-killer.▊▎Fear is the mind-killer.▊
-▎Fear is the little-death that ▊▎Fear is the little-death that ▊
-▎brings total obliteration.▊▎brings total obliteration.▊
-▎I will face my fear.▊▎I will face my fear.▊
-▎I will permit it to pass over me▊▎I will permit it to pass over me ▊
-▎and through me.▊▎and through me.▊
-▎And when it has gone past, I ▊▎And when it has gone past, I will ▊
-▎will turn the inner eye to see ▊▎turn the inner eye to see its ▊
-▎its path.▊▁▁▎path.▊
-▎Where the fear has gone there ▊▎Where the fear has gone there will▊
-▎will be nothing. Only I will ▊▎be nothing. Only I will remain.▊
-▎remain.▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎I must not fear.▊
-▎I must not fear.▊▎Fear is the mind-killer.▊
-▎Fear is the mind-killer.▊▎Fear is the little-death that ▊
-▎Fear is the little-death that ▊▎brings total obliteration.▊
-▎brings total obliteration.▊▎I will face my fear.▊
-▎I will face my fear.▊▎I will permit it to pass over me ▊
-▎I will permit it to pass over me▊▎and through me.▊
+
+
+
+
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+▎I must not fear.▊▎I must not fear.▊
+▎Fear is the mind-killer.▊▎Fear is the mind-killer.▊
+▎Fear is the little-death that▊▎Fear is the little-death that▊
+▎brings total obliteration.▊▎brings total obliteration.▊
+▎I will face my fear.▊▎I will face my fear.▊
+▎I will permit it to pass over me▊▎I will permit it to pass over me▊
+▎and through me.▊▎and through me.▊
+▎And when it has gone past, I▊▎And when it has gone past, I will▊
+▎will turn the inner eye to see▊▎turn the inner eye to see its▊
+▎its path.▊▁▁▎path.▊
+▎Where the fear has gone there▊▎Where the fear has gone there will▊
+▎will be nothing. Only I will▊▎be nothing. Only I will remain.▊
+▎remain.▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎I must not fear.▊
+▎I must not fear.▊▎Fear is the mind-killer.▊
+▎Fear is the mind-killer.▊▎Fear is the little-death that▊
+▎Fear is the little-death that▊▎brings total obliteration.▊
+▎brings total obliteration.▊▎I will face my fear.▊
+▎I will face my fear.▊▎I will permit it to pass over me▊
+▎I will permit it to pass over me▊▎and through me.▊
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[padding.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[padding.py].svg
index 1a84cd793..3d7c8c38e 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[padding.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[padding.py].svg
@@ -19,131 +19,131 @@
font-weight: 700;
}
- .terminal-1142797465-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1142797465-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1142797465-r1 { fill: #c5c8c6 }
-.terminal-1142797465-r2 { fill: #0000ff }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #0000ff }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- PaddingApp
+ PaddingApp
-
-
-
-
-
-
-
-I must not fear.
-Fear is the mind-killer.
-Fear is the little-death that brings total obliteration.
-I will face my fear.
-I will permit it to pass over me and through me.
-And when it has gone past, I will turn the inner eye to see its
-path.
-Where the fear has gone there will be nothing. Only I will
-remain.
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+I must not fear.
+Fear is the mind-killer.
+Fear is the little-death that brings total obliteration.
+I will face my fear.
+I will permit it to pass over me and through me.
+And when it has gone past, I will turn the inner eye to see its
+path.
+Where the fear has gone there will be nothing. Only I will
+remain.
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_align.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_align.py].svg
index 23446d5b4..e7c545af7 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_align.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_align.py].svg
@@ -19,134 +19,134 @@
font-weight: 700;
}
- .terminal-1859079648-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1859079648-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1859079648-r1 { fill: #c5c8c6 }
-.terminal-1859079648-r2 { fill: #000000;font-weight: bold }
-.terminal-1859079648-r3 { fill: #ffffff;font-weight: bold }
-.terminal-1859079648-r4 { fill: #000000 }
-.terminal-1859079648-r5 { fill: #ffffff }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #000000;font-weight: bold }
+.terminal-r3 { fill: #ffffff;font-weight: bold }
+.terminal-r4 { fill: #000000 }
+.terminal-r5 { fill: #ffffff }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- TextAlign
+ TextAlign
-
-
-
-
-Left alignedCenter aligned
-I must not fear. Fear is the I must not fear. Fear is the
-mind-killer. Fear is the mind-killer. Fear is the
-little-death that brings total little-death that brings total
-obliteration. I will face my fear. Iobliteration. I will face my fear. I
-will permit it to pass over me and will permit it to pass over me and
-through me.through me.
-
-
-
-
-
-Right alignedJustified
-I must not fear. Fear is the Imustnotfear.Fearisthe
-mind-killer. Fear is the mind-killer.Fearisthe
-little-death that brings total little-deaththatbringstotal
-obliteration. I will face my fear. Iobliteration.Iwillfacemyfear.I
-will permit it to pass over me and willpermitittopassovermeand
-through me.through me.
-
-
-
+
+
+
+
+Left alignedCenter aligned
+I must not fear. Fear is theI must not fear. Fear is the
+mind-killer. Fear is themind-killer. Fear is the
+little-death that brings totallittle-death that brings total
+obliteration. I will face my fear. Iobliteration. I will face my fear. I
+will permit it to pass over me andwill permit it to pass over me and
+through me.through me.
+
+
+
+
+
+Right alignedJustified
+I must not fear. Fear is theImustnotfear.Fearisthe
+mind-killer. Fear is themind-killer.Fearisthe
+little-death that brings totallittle-deaththatbringstotal
+obliteration. I will face my fear. Iobliteration.Iwillfacemyfear.I
+will permit it to pass over me andwillpermitittopassovermeand
+through me.through me.
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_style.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_style.py].svg
index 279ca0179..06cae5559 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_style.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_style.py].svg
@@ -19,133 +19,134 @@
font-weight: 700;
}
- .terminal-1725920000-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1725920000-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1725920000-r1 { fill: #e0e0e0;font-weight: bold }
-.terminal-1725920000-r2 { fill: #c5c8c6 }
-.terminal-1725920000-r3 { fill: #e0e0e0;font-style: italic; }
-.terminal-1725920000-r4 { fill: #e0e0e0 }
+ .terminal-r1 { fill: #e0e0e0;font-weight: bold }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #e0e0e0;font-style: italic; }
+.terminal-r4 { fill: #0c0c59 }
+.terminal-r5 { fill: #e0e0e0 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- TextStyleApp
+ TextStyleApp
-
-
-
- I must not fear.I must not fear.I must not fear.
-Fear is the mind-killer.Fear is the mind-killer.Fear is the mind-killer.
-Fear is the little-death Fear is the little-death Fear is the little-death
-that brings total that brings total that brings total
-obliteration.obliteration.obliteration.
-I will face my fear.I will face my fear.I will face my fear.
-I will permit it to pass I will permit it to pass I will permit it to pass
-over me and through me.over me and through me.over me and through me.
-And when it has gone past,And when it has gone past, And when it has gone past,
-I will turn the inner eye I will turn the inner eye I will turn the inner eye
-to see its path.to see its path.to see its path.
-Where the fear has gone Where the fear has gone Where the fear has gone
-there will be nothing. there will be nothing. Onlythere will be nothing. Only
-Only I will remain.I will remain.I will remain.
-
-
-
-
-
-
-
-
-
+
+
+
+ I must not fear.I must not fear.I must not fear.
+Fear is the mind-killer.Fear is the mind-killer.Fear is the mind-killer.
+Fear is the little-deathFear is the little-deathFear is the little-death
+that brings totalthat brings totalthat brings total
+obliteration.obliteration.obliteration.
+I will face my fear.I will face my fear.I will face my fear.
+I will permit it to passI will permit it to passI will permit it to pass
+over me and through me.over me and through me.over me and through me.
+And when it has gone past,And when it has gone past,And when it has gone past,
+I will turn the inner eyeI will turn the inner eyeI will turn the inner eye
+to see its path.to see its path.to see its path.
+Where the fear has goneWhere the fear has goneWhere the fear has gone
+there will be nothing.there will be nothing. Onlythere will be nothing. Only
+Only I will remain.I will remain.I will remain.
+
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_style_all.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_style_all.py].svg
index 06a4fa05e..7996970e3 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_style_all.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_style_all.py].svg
@@ -19,136 +19,138 @@
font-weight: 700;
}
- .terminal-1955101701-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1955101701-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1955101701-r1 { fill: #e0e0e0 }
-.terminal-1955101701-r2 { fill: #c5c8c6 }
-.terminal-1955101701-r3 { fill: #e0e0e0;font-weight: bold }
-.terminal-1955101701-r4 { fill: #e0e0e0;font-style: italic; }
-.terminal-1955101701-r5 { fill: #e0e0e0;text-decoration: line-through; }
-.terminal-1955101701-r6 { fill: #e0e0e0;text-decoration: underline; }
-.terminal-1955101701-r7 { fill: #e0e0e0;font-weight: bold;font-style: italic; }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #e0e0e0;font-weight: bold }
+.terminal-r4 { fill: #e0e0e0;font-style: italic; }
+.terminal-r5 { fill: #121212 }
+.terminal-r6 { fill: #e0e0e0;text-decoration: line-through; }
+.terminal-r7 { fill: #e0e0e0;text-decoration: underline; }
+.terminal-r8 { fill: #e0e0e0;font-weight: bold;font-style: italic; }
+.terminal-r9 { fill: #121212;text-decoration: line-through; }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- 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 theFear is theFear is theFear is the
+mind-killer.mind-killer.mind-killer.mind-killer.
+Fear is theFear is theFear is theFear is the
+little-death thatlittle-death thatlittle-death thatlittle-death that
+brings totalbrings totalbrings totalbrings total
+obliteration.obliteration.obliteration.obliteration.
+I will face myI will face myI will face myI 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 theFear is theFear is theFear is the
+mind-killer.mind-killer.mind-killer.mind-killer.
+Fear is theFear is theFear is theFear is the
+little-death thatlittle-death thatlittle-death thatlittle-death that
+brings totalbrings totalbrings totalbrings total
+obliteration.obliteration.obliteration.obliteration.
+I will face myI will face myI will face myI will face my
+fear.fear.fear.fear.
+I will permit itI will permit itI will permit itI will permit it
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_wrap.py].svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_wrap.py].svg
index 07ac7d9e0..face149fd 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_wrap.py].svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_css_property[text_wrap.py].svg
@@ -19,131 +19,131 @@
font-weight: 700;
}
- .terminal-22760394-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-22760394-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-22760394-r1 { fill: #e0e0e0 }
-.terminal-22760394-r2 { fill: #c5c8c6 }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- WrapApp
+ WrapApp
-
-
-
- I must not fear. Fear is the mind-killer. Fear is the little-death that brings
-total obliteration. I will face my fear.
-
-
-
-
-
-
-
-
-
-
-I must not fear. Fear is the mind-killer. Fear is the little-death that brings t
-otal obliteration. I will face my fear.
-
-
-
-
-
-
-
-
-
+
+
+
+ I must not fear. Fear is the mind-killer. Fear is the little-death that brings
+total obliteration. I will face my fear.
+
+
+
+
+
+
+
+
+
+
+I must not fear. Fear is the mind-killer. Fear is the little-death that brings t
+otal obliteration. I will face my fear.
+
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_disabled.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_disabled.svg
index 765e14674..86acac262 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_disabled.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_disabled.svg
@@ -19,140 +19,140 @@
font-weight: 700;
}
- .terminal-1302620672-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1302620672-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1302620672-r1 { fill: #e0e0e0 }
-.terminal-1302620672-r2 { fill: #c5c8c6 }
-.terminal-1302620672-r3 { fill: #a2a2a2 }
-.terminal-1302620672-r4 { fill: #a5a5a5 }
-.terminal-1302620672-r5 { fill: #a4a4a4 }
-.terminal-1302620672-r6 { fill: #a2a2a2;font-weight: bold }
-.terminal-1302620672-r7 { fill: #121212 }
-.terminal-1302620672-r8 { fill: #141414 }
-.terminal-1302620672-r9 { fill: #1a1a1a }
-.terminal-1302620672-r10 { fill: #1c2126 }
-.terminal-1302620672-r11 { fill: #050f16 }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #a2a2a2 }
+.terminal-r4 { fill: #a5a5a5 }
+.terminal-r5 { fill: #a4a4a4 }
+.terminal-r6 { fill: #a2a2a2;font-weight: bold }
+.terminal-r7 { fill: #121212 }
+.terminal-r8 { fill: #141414 }
+.terminal-r9 { fill: #1a1a1a }
+.terminal-r10 { fill: #1c2126 }
+.terminal-r11 { fill: #050f16 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- DisabledApp
+ DisabledApp
-
-
-
- Labels don't have a disabled state
-I am disabled
-
-
-
-I am disabled
-
-
-
- Foo Bar
- Also disabled
-
-
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊you▎
-▊can't▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▐X▌ Simple SelectionList ▎
-▊▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-
-
+
+
+
+ Labels don't have a disabled state
+I am disabled
+
+
+
+I am disabled
+
+
+
+ Foo Bar
+ Also disabled
+
+
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊you▎
+▊can't▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▐X▌ Simple SelectionList▎
+▊▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_dock_layout_sidebar.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_dock_layout_sidebar.svg
index 80e5f7ba4..349932537 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_dock_layout_sidebar.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_dock_layout_sidebar.svg
@@ -19,134 +19,134 @@
font-weight: 700;
}
- .terminal-2774229283-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2774229283-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2774229283-r1 { fill: #0f2b41 }
-.terminal-2774229283-r2 { fill: #c5c8c6 }
-.terminal-2774229283-r3 { fill: #e0e0e0 }
-.terminal-2774229283-r4 { fill: #121212 }
-.terminal-2774229283-r5 { fill: #000000 }
+ .terminal-r1 { fill: #0f2b41 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #e0e0e0 }
+.terminal-r4 { fill: #121212 }
+.terminal-r5 { fill: #000000 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- DockLayoutExample
+ DockLayoutExample
-
-
-
- Sidebar1Docking a widget removes it from the layout and
-fixes its position, aligned to either the top,
-right, bottom, or left edges of a container.
-
-Docked widgets will not scroll out of view,
-making them ideal for sticky headers, footers,
-and sidebars.
-▇▇
-Docking a widget removes it from the layout and
-fixes its position, aligned to either the top,
-right, bottom, or left edges of a container.
-
-Docked widgets will not scroll out of view,
-making them ideal for sticky headers, footers,
-and sidebars.
-
-Docking a widget removes it from the layout and
-fixes its position, aligned to either the top,
-right, bottom, or left edges of a container.
-
-Docked widgets will not scroll out of view,
-making them ideal for sticky headers, footers,
-and sidebars.
+
+
+
+ Sidebar1Docking a widget removes it from the layout and
+fixes its position, aligned to either the top,
+right, bottom, or left edges of a container.
+
+Docked widgets will not scroll out of view,
+making them ideal for sticky headers, footers,
+and sidebars.
+▇▇
+Docking a widget removes it from the layout and
+fixes its position, aligned to either the top,
+right, bottom, or left edges of a container.
+
+Docked widgets will not scroll out of view,
+making them ideal for sticky headers, footers,
+and sidebars.
+
+Docking a widget removes it from the layout and
+fixes its position, aligned to either the top,
+right, bottom, or left edges of a container.
+
+Docked widgets will not scroll out of view,
+making them ideal for sticky headers, footers,
+and sidebars.
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_dock_scroll_off_by_one.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_dock_scroll_off_by_one.svg
index aae238606..56976f37a 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_dock_scroll_off_by_one.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_dock_scroll_off_by_one.svg
@@ -19,143 +19,143 @@
font-weight: 700;
}
- .terminal-2886241055-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2886241055-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2886241055-r1 { fill: #121212 }
-.terminal-2886241055-r2 { fill: #191919 }
-.terminal-2886241055-r3 { fill: #e0e0e0 }
-.terminal-2886241055-r4 { fill: #c5c8c6 }
-.terminal-2886241055-r5 { fill: #242f38 }
-.terminal-2886241055-r6 { fill: #000f18 }
-.terminal-2886241055-r7 { fill: #003054 }
-.terminal-2886241055-r8 { fill: #495259 }
-.terminal-2886241055-r9 { fill: #ffa62b;font-weight: bold }
+ .terminal-r1 { fill: #121212 }
+.terminal-r2 { fill: #191919 }
+.terminal-r3 { fill: #e0e0e0 }
+.terminal-r4 { fill: #c5c8c6 }
+.terminal-r5 { fill: #242f38 }
+.terminal-r6 { fill: #000f18 }
+.terminal-r7 { fill: #003054 }
+.terminal-r8 { fill: #495259 }
+.terminal-r9 { fill: #ffa62b;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ScrollOffByOne
+ ScrollOffByOne
-
-
-
- ▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 92▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 93▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 94▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 95▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 96▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 97▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 98▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 99▎▁▁
-▊▁▁▁▁▁▁▁▁▎
-▏^p palette
+
+
+
+ ▊▔▔▔▔▔▔▔▔▎
+▊▐X▌92▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌93▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌94▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌95▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌96▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌97▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌98▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌99▎▁▁
+▊▁▁▁▁▁▁▁▁▎
+▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_example_five_by_five.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_example_five_by_five.svg
index 463e31154..a4c82b42b 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_example_five_by_five.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_example_five_by_five.svg
@@ -19,139 +19,139 @@
font-weight: 700;
}
- .terminal-1848227364-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1848227364-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1848227364-r1 { fill: #e4e6e7 }
-.terminal-1848227364-r2 { fill: #c5c8c6 }
-.terminal-1848227364-r3 { fill: #0d0d0d }
-.terminal-1848227364-r4 { fill: #e0e0e0;font-weight: bold }
-.terminal-1848227364-r5 { fill: #003465 }
-.terminal-1848227364-r6 { fill: #0b4c7d;font-weight: bold }
-.terminal-1848227364-r7 { fill: #ffa62b;font-weight: bold }
-.terminal-1848227364-r8 { fill: #e0e0e0 }
-.terminal-1848227364-r9 { fill: #495259 }
+ .terminal-r1 { fill: #e4e6e7 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #0d0d0d }
+.terminal-r4 { fill: #e0e0e0;font-weight: bold }
+.terminal-r5 { fill: #003465 }
+.terminal-r6 { fill: #0b4c7d;font-weight: bold }
+.terminal-r7 { fill: #ffa62b;font-weight: bold }
+.terminal-r8 { fill: #e0e0e0 }
+.terminal-r9 { fill: #495259 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- 5x5 -- A little annoying puzzle
+ 5x5 -- A little annoying puzzle
-
-
-
- 5x5 -- A little annoying puzzleMoves: 0Filled: 5
-╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮
-││││││││││
-││││││││││
-╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯
-╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮
-││││││││││
-││││││││││
-╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯
-╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮
-││││││││││
-││││││││││
-││││││││││
-╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯
-╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮
-││││││││││
-││││││││││
-╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯
-╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮
-││││││││││
-││││││││││
-││││││││││
-╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯
- n New Game ? Help q Quit ^d Toggle Dark Mode ▏^p palette
+
+
+
+ 5x5 -- A little annoying puzzleMoves: 0Filled: 5
+╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮
+││││││││││
+││││││││││
+╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯
+╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮
+││││││││││
+││││││││││
+╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯
+╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮
+││││││││││
+││││││││││
+││││││││││
+╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯
+╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮
+││││││││││
+││││││││││
+╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯
+╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮╭──────────────╮
+││││││││││
+││││││││││
+││││││││││
+╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯╰──────────────╯
+ n New Game ? Help q Quit ^d Toggle Dark Mode ▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_example_markdown.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_example_markdown.svg
index 97437c1b0..255d5800f 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_example_markdown.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_example_markdown.svg
@@ -19,141 +19,141 @@
font-weight: 700;
}
- .terminal-2122315289-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2122315289-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2122315289-r1 { fill: #c5c8c6 }
-.terminal-2122315289-r2 { fill: #e0e0e0 }
-.terminal-2122315289-r3 { fill: #94999c }
-.terminal-2122315289-r4 { fill: #3e3e3e }
-.terminal-2122315289-r5 { fill: #0178d4;font-weight: bold }
-.terminal-2122315289-r6 { fill: #969696;font-weight: bold }
-.terminal-2122315289-r7 { fill: #0178d4;text-decoration: underline; }
-.terminal-2122315289-r8 { fill: #e2e2e2;text-decoration: underline; }
-.terminal-2122315289-r9 { fill: #ffa62b;font-weight: bold }
-.terminal-2122315289-r10 { fill: #a77630;font-weight: bold }
-.terminal-2122315289-r11 { fill: #495259 }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #94999c }
+.terminal-r4 { fill: #3e3e3e }
+.terminal-r5 { fill: #0178d4;font-weight: bold }
+.terminal-r6 { fill: #969696;font-weight: bold }
+.terminal-r7 { fill: #0178d4;text-decoration: underline; }
+.terminal-r8 { fill: #e2e2e2;text-decoration: underline; }
+.terminal-r9 { fill: #ffa62b;font-weight: bold }
+.terminal-r10 { fill: #a77630;font-weight: bold }
+.terminal-r11 { fill: #495259 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MarkdownApp
+ MarkdownApp
-
-
-
-
-▼ Ⅰ Textual Markdown Browser
-└── Ⅱ Do You Want to Know More?Textual Markdown Browser
-
-Welcome fellow adventurer! If you ran
-markdown.py from the terminal you are
-viewing demo.md with Textual's built in
-Markdown widget.
-
-The widget supports much of the Markdown
-spec. There is also an optional Table of
-Contents sidebar which you will see to
-your left.
-
-
-Do You Want to Know More?
-
-See example.md for more examples of what
-this can do.
-
-
-
-
- t TOC b Back f Forward ▏^p palette
+
+
+
+
+▼ Ⅰ Textual Markdown Browser
+└── Ⅱ Do You Want to Know More?Textual Markdown Browser
+
+Welcome fellow adventurer! If you ran
+markdown.py from the terminal you are
+viewing demo.md with Textual's built in
+Markdown widget.
+
+The widget supports much of the Markdown
+spec. There is also an optional Table of
+Contents sidebar which you will see to
+your left.
+
+
+Do You Want to Know More?
+
+See example.md for more examples of what
+this can do.
+
+
+
+
+ t TOC b Back f Forward ▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_focus_within_transparent.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_focus_within_transparent.svg
index 4a8757776..3d0312c1e 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_focus_within_transparent.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_focus_within_transparent.svg
@@ -19,136 +19,136 @@
font-weight: 700;
}
- .terminal-2644608584-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2644608584-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2644608584-r1 { fill: #121212 }
-.terminal-2644608584-r2 { fill: #191919 }
-.terminal-2644608584-r3 { fill: #c5c8c6 }
-.terminal-2644608584-r4 { fill: #737373 }
-.terminal-2644608584-r5 { fill: #e0e0e0 }
-.terminal-2644608584-r6 { fill: #ffff00 }
+ .terminal-r1 { fill: #121212 }
+.terminal-r2 { fill: #191919 }
+.terminal-r3 { fill: #c5c8c6 }
+.terminal-r4 { fill: #737373 }
+.terminal-r5 { fill: #e0e0e0 }
+.terminal-r6 { fill: #ffff00 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- FocusWithinTransparentApp
+ FocusWithinTransparentApp
-
-
-
- ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊This is here to escape to▎
-▊▎
-▊▎
-▊▎
-▊▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▎▊This is an ▎
-▊▎▊option▎
-▊▎▊This is an ▎
-▊▎▊option▎
-▊▎▊This is an ▎
-▊▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▎▊Escape out via▎
-▊▎▊▎
-▊▎▊▎
-▊▎▊▎
-▊▎▊▎
-▊▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▎
-▊▎
-▊▎
-▊▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊This is here to escape to▎
+▊▎
+▊▎
+▊▎
+▊▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▎▊This is an▎
+▊▎▊option▎
+▊▎▊This is an▎
+▊▎▊option▎
+▊▎▊This is an▎
+▊▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▎▊Escape out via▎
+▊▎▊▎
+▊▎▊▎
+▊▎▊▎
+▊▎▊▎
+▊▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▎
+▊▎
+▊▎
+▊▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_fr_unit_with_min.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_fr_unit_with_min.svg
index d3f2ac8bd..2f1880d7e 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_fr_unit_with_min.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_fr_unit_with_min.svg
@@ -19,136 +19,136 @@
font-weight: 700;
}
- .terminal-3978274812-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3978274812-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3978274812-r1 { fill: #c5c8c6 }
-.terminal-3978274812-r2 { fill: #e0e0e0 }
-.terminal-3978274812-r3 { fill: #242f38 }
-.terminal-3978274812-r4 { fill: #000000 }
-.terminal-3978274812-r5 { fill: #495259 }
-.terminal-3978274812-r6 { fill: #ffa62b;font-weight: bold }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #242f38 }
+.terminal-r4 { fill: #000000 }
+.terminal-r5 { fill: #495259 }
+.terminal-r6 { fill: #ffa62b;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ScreenSplitApp
+ ScreenSplitApp
-
-
-
- ⭘ScreenSplitApp
-This is content This is content number 0
-number 0This is content number 1
-This is content ▄▄This is content number 2
-number 1This is content number 3
-This is content This is content number 4▁▁
-number 2This is content number 5
-This is content This is content number 6
-number 3This is content number 7
-This is content This is content number 8
-number 4This is content number 9
-This is content This is content number 10
-number 5This is content number 11
-This is content This is content number 12
-number 6This is content number 13
-This is content This is content number 14
-number 7This is content number 15
-This is content This is content number 16
-number 8This is content number 17
-This is content This is content number 18
-number 9This is content number 19
-This is content This is content number 20
-number 10This is content number 21
-▏^p palette
+
+
+
+ ⭘ScreenSplitApp
+This is contentThis is content number 0
+number 0This is content number 1
+This is content▄▄This is content number 2
+number 1This is content number 3
+This is contentThis is content number 4▁▁
+number 2This is content number 5
+This is contentThis is content number 6
+number 3This is content number 7
+This is contentThis is content number 8
+number 4This is content number 9
+This is contentThis is content number 10
+number 5This is content number 11
+This is contentThis is content number 12
+number 6This is content number 13
+This is contentThis is content number 14
+number 7This is content number 15
+This is contentThis is content number 16
+number 8This is content number 17
+This is contentThis is content number 18
+number 9This is content number 19
+This is contentThis is content number 20
+number 10This is content number 21
+▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_horizontal_layout_width_auto_dock.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_horizontal_layout_width_auto_dock.svg
index ed17622fe..5ca43e8ee 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_horizontal_layout_width_auto_dock.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_horizontal_layout_width_auto_dock.svg
@@ -19,131 +19,131 @@
font-weight: 700;
}
- .terminal-1466751161-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1466751161-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1466751161-r1 { fill: #e0e0e0 }
-.terminal-1466751161-r2 { fill: #c5c8c6 }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- HorizontalAutoWidth
+ HorizontalAutoWidth
-
-
-
- Docke
-d Widget 1Widget 2
-left
-1Docked left 2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ Docke
+dWidget 1Widget 2
+left
+1Docked left 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_label_widths.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_label_widths.svg
index bd262e57b..0970f7908 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_label_widths.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_label_widths.svg
@@ -19,132 +19,132 @@
font-weight: 700;
}
- .terminal-2706293106-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2706293106-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2706293106-r1 { fill: #1f1f1f }
-.terminal-2706293106-r2 { fill: #c5c8c6 }
-.terminal-2706293106-r3 { fill: #00ff00 }
+ .terminal-r1 { fill: #1f1f1f }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #00ff00 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- LabelWrap
+ LabelWrap
-
-
-
-
-
-
-
-
-
-Apple Banana Cherry Mango Fig Guava Pineapple:Dragon Unicorn Centaur Phoenix Ch
-
-
-Apple Banana Cherry Mango Fig Guava Pineapple:Dragon Unicorn Centaur Phoenix
-Chimera Castle
-
-
-╭────────────────────────────────────────────────────────────────────────────╮
-│ Apple Banana Cherry Mango Fig Guava Pineapple:Dragon Unicorn Centaur │
-│ Phoenix Chimera Castle │
-╰────────────────────────────────────────────────────────────────────────────╯
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+Apple Banana Cherry Mango Fig Guava Pineapple:Dragon Unicorn Centaur Phoenix Ch
+
+
+Apple Banana Cherry Mango Fig Guava Pineapple:Dragon Unicorn Centaur Phoenix
+Chimera Castle
+
+
+╭────────────────────────────────────────────────────────────────────────────╮
+│ Apple Banana Cherry Mango Fig Guava Pineapple:Dragon Unicorn Centaur │
+│ Phoenix Chimera Castle │
+╰────────────────────────────────────────────────────────────────────────────╯
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_loading_indicator.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_loading_indicator.svg
index 2a52e2d4c..6849ad7ac 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_loading_indicator.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_loading_indicator.svg
@@ -19,138 +19,138 @@
font-weight: 700;
}
- .terminal-64002133-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-64002133-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-64002133-r1 { fill: #121212 }
-.terminal-64002133-r2 { fill: #0178d4 }
-.terminal-64002133-r3 { fill: #191919 }
-.terminal-64002133-r4 { fill: #c5c8c6 }
-.terminal-64002133-r5 { fill: #004578 }
-.terminal-64002133-r6 { fill: #e0e0e0 }
-.terminal-64002133-r7 { fill: #1e1e1e }
-.terminal-64002133-r8 { fill: #000000 }
+ .terminal-r1 { fill: #121212 }
+.terminal-r2 { fill: #0178d4 }
+.terminal-r3 { fill: #191919 }
+.terminal-r4 { fill: #c5c8c6 }
+.terminal-r5 { fill: #004578 }
+.terminal-r6 { fill: #e0e0e0 }
+.terminal-r7 { fill: #1e1e1e }
+.terminal-r8 { fill: #000000 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- LoadingOverlayRedux
+ LoadingOverlayRedux
-
-
-
- ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▎▊foo barfoo barfoo barfoo barfoo ▎
-▊▎▊bar▎
-▊▎▊foo barfoo barfoo barfoo barfoo ▄▄▎
-▊▎▊bar▎
-▊▎▊foo barfoo barfoo barfoo barfoo ▎
-▊▎▊bar▎
-▊▎▊foo barfoo barfoo barfoo barfoo ▎
-▊▎▊bar▎
-▊▎▊foo barfoo barfoo barfoo barfoo ▎
-▊▎▊bar▎
-▊Loading!▎▊foo barfoo barfoo barfoo barfoo ▎
-▊▎▊bar▎
-▊▎▊foo barfoo barfoo barfoo barfoo ▎
-▊▎▊bar▎
-▊▎▊foo barfoo barfoo barfoo barfoo ▎
-▊▎▊bar▎
-▊▎▊foo barfoo barfoo barfoo barfoo ▎
-▊▎▊bar▎
-▊▎▊foo barfoo barfoo barfoo barfoo ▎
-▊▎▊bar▎
-▊▎▊foo barfoo barfoo barfoo barfoo ▎
-▊▎▊bar▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▎▊foo barfoo barfoo barfoo barfoo▎
+▊▎▊bar▎
+▊▎▊foo barfoo barfoo barfoo barfoo▄▄▎
+▊▎▊bar▎
+▊▎▊foo barfoo barfoo barfoo barfoo▎
+▊▎▊bar▎
+▊▎▊foo barfoo barfoo barfoo barfoo▎
+▊▎▊bar▎
+▊▎▊foo barfoo barfoo barfoo barfoo▎
+▊▎▊bar▎
+▊Loading!▎▊foo barfoo barfoo barfoo barfoo▎
+▊▎▊bar▎
+▊▎▊foo barfoo barfoo barfoo barfoo▎
+▊▎▊bar▎
+▊▎▊foo barfoo barfoo barfoo barfoo▎
+▊▎▊bar▎
+▊▎▊foo barfoo barfoo barfoo barfoo▎
+▊▎▊bar▎
+▊▎▊foo barfoo barfoo barfoo barfoo▎
+▊▎▊bar▎
+▊▎▊foo barfoo barfoo barfoo barfoo▎
+▊▎▊bar▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_loading_indicator_disables_widget.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_loading_indicator_disables_widget.svg
index e12b2d666..7a893cdcc 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_loading_indicator_disables_widget.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_loading_indicator_disables_widget.svg
@@ -19,138 +19,138 @@
font-weight: 700;
}
- .terminal-1906336014-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1906336014-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1906336014-r1 { fill: #121212 }
-.terminal-1906336014-r2 { fill: #0178d4 }
-.terminal-1906336014-r3 { fill: #191919 }
-.terminal-1906336014-r4 { fill: #c5c8c6 }
-.terminal-1906336014-r5 { fill: #ddedf9;font-weight: bold }
-.terminal-1906336014-r6 { fill: #1e1e1e }
-.terminal-1906336014-r7 { fill: #e0e0e0 }
-.terminal-1906336014-r8 { fill: #000000 }
+ .terminal-r1 { fill: #121212 }
+.terminal-r2 { fill: #0178d4 }
+.terminal-r3 { fill: #191919 }
+.terminal-r4 { fill: #c5c8c6 }
+.terminal-r5 { fill: #ddedf9;font-weight: bold }
+.terminal-r6 { fill: #1e1e1e }
+.terminal-r7 { fill: #e0e0e0 }
+.terminal-r8 { fill: #000000 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- LoadingOverlayRedux
+ LoadingOverlayRedux
-
-
-
- ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊hello world hello world hello ▎▊foo barfoo barfoo barfoo barfoo ▎
-▊world hello world hello world ▎▊bar▎
-▊hello world hello world hello ▄▄▎▊foo barfoo barfoo barfoo barfoo ▄▄▎
-▊world hello world hello world ▎▊bar▎
-▊hello world hello world hello ▎▊foo barfoo barfoo barfoo barfoo ▎
-▊world hello world hello world ▎▊bar▎
-▊hello world hello world hello ▎▊foo barfoo barfoo barfoo barfoo ▎
-▊world hello world hello world ▎▊bar▎
-▊hello world hello world hello ▎▊foo barfoo barfoo barfoo barfoo ▎
-▊world hello world hello world ▎▊bar▎
-▊hello world hello world hello ▎▊foo barfoo barfoo barfoo barfoo ▎
-▊world hello world hello world ▎▊bar▎
-▊hello world hello world hello ▎▊foo barfoo barfoo barfoo barfoo ▎
-▊world hello world hello world ▎▊bar▎
-▊hello world hello world hello ▎▊foo barfoo barfoo barfoo barfoo ▎
-▊world hello world hello world ▎▊bar▎
-▊hello world hello world hello ▎▊foo barfoo barfoo barfoo barfoo ▎
-▊world hello world hello world ▎▊bar▎
-▊hello world hello world hello ▎▊foo barfoo barfoo barfoo barfoo ▎
-▊world hello world hello world ▎▊bar▎
-▊hello world hello world hello ▎▊foo barfoo barfoo barfoo barfoo ▎
-▊world hello world hello world ▎▊bar▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊hello world hello world hello▎▊foo barfoo barfoo barfoo barfoo▎
+▊world hello world hello world ▎▊bar▎
+▊hello world hello world hello▄▄▎▊foo barfoo barfoo barfoo barfoo▄▄▎
+▊world hello world hello world ▎▊bar▎
+▊hello world hello world hello▎▊foo barfoo barfoo barfoo barfoo▎
+▊world hello world hello world ▎▊bar▎
+▊hello world hello world hello▎▊foo barfoo barfoo barfoo barfoo▎
+▊world hello world hello world ▎▊bar▎
+▊hello world hello world hello▎▊foo barfoo barfoo barfoo barfoo▎
+▊world hello world hello world ▎▊bar▎
+▊hello world hello world hello▎▊foo barfoo barfoo barfoo barfoo▎
+▊world hello world hello world ▎▊bar▎
+▊hello world hello world hello▎▊foo barfoo barfoo barfoo barfoo▎
+▊world hello world hello world ▎▊bar▎
+▊hello world hello world hello▎▊foo barfoo barfoo barfoo barfoo▎
+▊world hello world hello world ▎▊bar▎
+▊hello world hello world hello▎▊foo barfoo barfoo barfoo barfoo▎
+▊world hello world hello world ▎▊bar▎
+▊hello world hello world hello▎▊foo barfoo barfoo barfoo barfoo▎
+▊world hello world hello world ▎▊bar▎
+▊hello world hello world hello▎▊foo barfoo barfoo barfoo barfoo▎
+▊world hello world hello world ▎▊bar▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_markdown_component_classes_reloading.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_markdown_component_classes_reloading.svg
index 264ee71a6..28c0fd011 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_markdown_component_classes_reloading.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_markdown_component_classes_reloading.svg
@@ -19,140 +19,140 @@
font-weight: 700;
}
- .terminal-4208745612-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-4208745612-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-4208745612-r1 { fill: #c5c8c6 }
-.terminal-4208745612-r2 { fill: #e0e0e0 }
-.terminal-4208745612-r3 { fill: #0178d4;font-weight: bold }
-.terminal-4208745612-r4 { fill: #e0e0e0;font-weight: bold }
-.terminal-4208745612-r5 { fill: #929292;font-weight: bold }
-.terminal-4208745612-r6 { fill: #e0e0e0;font-style: italic; }
-.terminal-4208745612-r7 { fill: #e0e0e0;text-decoration: line-through; }
-.terminal-4208745612-r8 { fill: #d2d2d2 }
-.terminal-4208745612-r9 { fill: #82aaff }
-.terminal-4208745612-r10 { fill: #89ddff }
-.terminal-4208745612-r11 { fill: #c3e88d }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #0178d4;font-weight: bold }
+.terminal-r4 { fill: #e0e0e0;font-weight: bold }
+.terminal-r5 { fill: #929292;font-weight: bold }
+.terminal-r6 { fill: #e0e0e0;font-style: italic; }
+.terminal-r7 { fill: #e0e0e0;text-decoration: line-through; }
+.terminal-r8 { fill: #d2d2d2 }
+.terminal-r9 { fill: #82aaff }
+.terminal-r10 { fill: #89ddff }
+.terminal-r11 { fill: #c3e88d }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MyApp
+ MyApp
-
-
-
-
-
-This is a header
-
-
-col1 col2
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- value 1 value 2
-
-Here's some code: from itertools import product. Bold textEmphasized text
-strikethrough
-
-
-print("Hello, world!")
-
-
-That was some code.
-
-
-
-
-
-
+
+
+
+
+
+This is a header
+
+
+col1 col2
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ value 1 value 2
+
+Here's some code: from itertools import product. Bold textEmphasized text
+strikethrough
+
+
+print("Hello, world!")
+
+
+That was some code.
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_markdown_viewer_example.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_markdown_viewer_example.svg
index 6ba097af1..9ec6d36ae 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_markdown_viewer_example.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_markdown_viewer_example.svg
@@ -19,141 +19,141 @@
font-weight: 700;
}
- .terminal-4177322048-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-4177322048-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-4177322048-r1 { fill: #c5c8c6 }
-.terminal-4177322048-r2 { fill: #e0e0e0 }
-.terminal-4177322048-r3 { fill: #1e1e1e }
-.terminal-4177322048-r4 { fill: #94999c }
-.terminal-4177322048-r5 { fill: #3e3e3e }
-.terminal-4177322048-r6 { fill: #0178d4;font-weight: bold }
-.terminal-4177322048-r7 { fill: #969696;font-weight: bold }
-.terminal-4177322048-r8 { fill: #0178d4;text-decoration: underline; }
-.terminal-4177322048-r9 { fill: #000000 }
-.terminal-4177322048-r10 { fill: #4ebf71;font-weight: bold }
-.terminal-4177322048-r11 { fill: #e0e0e0;font-style: italic; }
-.terminal-4177322048-r12 { fill: #e0e0e0;font-weight: bold }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #1e1e1e }
+.terminal-r4 { fill: #94999c }
+.terminal-r5 { fill: #3e3e3e }
+.terminal-r6 { fill: #0178d4;font-weight: bold }
+.terminal-r7 { fill: #969696;font-weight: bold }
+.terminal-r8 { fill: #0178d4;text-decoration: underline; }
+.terminal-r9 { fill: #000000 }
+.terminal-r10 { fill: #4ebf71;font-weight: bold }
+.terminal-r11 { fill: #e0e0e0;font-style: italic; }
+.terminal-r12 { fill: #e0e0e0;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MarkdownExampleApp
+ MarkdownExampleApp
-
-
-
-
-▼ Ⅰ Markdown Viewer
-├── Ⅱ FeaturesMarkdown Viewer
-├── Ⅱ Tables
-└── Ⅱ Code BlocksThis is an example of Textual's MarkdownViewer
-widget.
-
-
-Features
-
-Markdown syntax and extensions are supported.
-▇▇
-● Typography emphasis, strong, inline code etc.
-● Headers
-● Lists (bullet and ordered)
-● Syntax highlighted code blocks
-● Tables!
-
-
-Tables
-
-Tables are displayed in a DataTable widget.
-
+
+
+
+
+▼ Ⅰ Markdown Viewer
+├── Ⅱ FeaturesMarkdown Viewer
+├── Ⅱ Tables
+└── Ⅱ Code BlocksThis is an example of Textual's MarkdownViewer
+widget.
+
+
+Features
+
+Markdown syntax and extensions are supported.
+▇▇
+● Typography emphasis, strong, inline code etc.
+● Headers
+● Lists (bullet and ordered)
+● Syntax highlighted code blocks
+● Tables!
+
+
+Tables
+
+Tables are displayed in a DataTable widget.
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_modal_dialog_bindings_input.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_modal_dialog_bindings_input.svg
index 990d602ab..8304a00d6 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_modal_dialog_bindings_input.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_modal_dialog_bindings_input.svg
@@ -19,140 +19,140 @@
font-weight: 700;
}
- .terminal-3964039014-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3964039014-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3964039014-r1 { fill: #e0e0e0 }
-.terminal-3964039014-r2 { fill: #646464 }
-.terminal-3964039014-r3 { fill: #c5c8c6 }
-.terminal-3964039014-r4 { fill: #121212 }
-.terminal-3964039014-r5 { fill: #191919 }
-.terminal-3964039014-r6 { fill: #2d2d2d }
-.terminal-3964039014-r7 { fill: #272727;font-weight: bold }
-.terminal-3964039014-r8 { fill: #0d0d0d }
-.terminal-3964039014-r9 { fill: #704d1c;font-weight: bold }
-.terminal-3964039014-r10 { fill: #282b2e }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #646464 }
+.terminal-r3 { fill: #c5c8c6 }
+.terminal-r4 { fill: #121212 }
+.terminal-r5 { fill: #191919 }
+.terminal-r6 { fill: #2d2d2d }
+.terminal-r7 { fill: #272727;font-weight: bold }
+.terminal-r8 { fill: #0d0d0d }
+.terminal-r9 { fill: #704d1c;font-weight: bold }
+.terminal-r10 { fill: #282b2e }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ModalApp
+ ModalApp
-
-
-
- Dialog ModalApp
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊hi! ▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- OK
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ⏎ Open Dialog ▏^p palette
+
+
+
+ DialogModalApp
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊hi! ▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ OK
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ⏎ Open Dialog ▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_notifications_example.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_notifications_example.svg
index 853de33b7..a6cea4e3c 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_notifications_example.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_notifications_example.svg
@@ -19,137 +19,137 @@
font-weight: 700;
}
- .terminal-2149059740-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2149059740-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2149059740-r1 { fill: #e0e0e0 }
-.terminal-2149059740-r2 { fill: #c5c8c6 }
-.terminal-2149059740-r3 { fill: #4ebf71 }
-.terminal-2149059740-r4 { fill: #fea62b }
-.terminal-2149059740-r5 { fill: #ffc473;font-weight: bold }
-.terminal-2149059740-r6 { fill: #e0e0e0;font-weight: bold }
-.terminal-2149059740-r7 { fill: #e0e0e0;font-weight: bold;font-style: italic; }
-.terminal-2149059740-r8 { fill: #b93c5b }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #4ebf71 }
+.terminal-r4 { fill: #fea62b }
+.terminal-r5 { fill: #ffc473;font-weight: bold }
+.terminal-r6 { fill: #e0e0e0;font-weight: bold }
+.terminal-r7 { fill: #e0e0e0;font-weight: bold;font-style: italic; }
+.terminal-r8 { fill: #b93c5b }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- 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.
+▌
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_overflow.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_overflow.svg
index d75b2ed71..d6288ca49 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_overflow.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_overflow.svg
@@ -19,131 +19,131 @@
font-weight: 700;
}
- .terminal-2934696095-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2934696095-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2934696095-r1 { fill: #e0e0e0 }
-.terminal-2934696095-r2 { fill: #c5c8c6 }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- OverflowApp
+ OverflowApp
-
-
-
- FOO
-FOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBA
-FOO
-FOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARB…
-FOO
-FOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBA
-ZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARB
-AZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBAR
-BAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBA
-RBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOB
-ARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOO
-BARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFO
-OBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZF
-OOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZ
-FOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBA
-ZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARB
-AZFOOBARBAZFOOBARBAZ
-
-
-
-
-
-
+
+
+
+ FOO
+FOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBA
+FOO
+FOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARB…
+FOO
+FOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBA
+ZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARB
+AZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBAR
+BAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBA
+RBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOB
+ARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOO
+BARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFO
+OBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZF
+OOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZ
+FOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBA
+ZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARBAZFOOBARB
+AZFOOBARBAZFOOBARBAZ
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_placeholder_render.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_placeholder_render.svg
index 31061dc39..de60bf5f6 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_placeholder_render.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_placeholder_render.svg
@@ -19,145 +19,145 @@
font-weight: 700;
}
- .terminal-2716093602-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2716093602-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2716093602-r1 { fill: #e7e0e6 }
-.terminal-2716093602-r2 { fill: #eae2e4 }
-.terminal-2716093602-r3 { fill: #c5c8c6 }
-.terminal-2716093602-r4 { fill: #ece5e5 }
-.terminal-2716093602-r5 { fill: #eee8e3 }
-.terminal-2716093602-r6 { fill: #eeeddf }
-.terminal-2716093602-r7 { fill: #e8ede4 }
-.terminal-2716093602-r8 { fill: #dfe8ec }
-.terminal-2716093602-r9 { fill: #e5e2e8 }
-.terminal-2716093602-r10 { fill: #e2e5eb }
-.terminal-2716093602-r11 { fill: #dfe8ec;font-weight: bold }
-.terminal-2716093602-r12 { fill: #e5e2e8;font-weight: bold }
-.terminal-2716093602-r13 { fill: #e1eceb }
-.terminal-2716093602-r14 { fill: #e3ede7 }
-.terminal-2716093602-r15 { fill: #e1eceb;font-weight: bold }
-.terminal-2716093602-r16 { fill: #dfebec }
+ .terminal-r1 { fill: #e7e0e6 }
+.terminal-r2 { fill: #eae2e4 }
+.terminal-r3 { fill: #c5c8c6 }
+.terminal-r4 { fill: #ece5e5 }
+.terminal-r5 { fill: #eee8e3 }
+.terminal-r6 { fill: #eeeddf }
+.terminal-r7 { fill: #e8ede4 }
+.terminal-r8 { fill: #dfe8ec }
+.terminal-r9 { fill: #e5e2e8 }
+.terminal-r10 { fill: #e2e5eb }
+.terminal-r11 { fill: #dfe8ec;font-weight: bold }
+.terminal-r12 { fill: #e5e2e8;font-weight: bold }
+.terminal-r13 { fill: #e1eceb }
+.terminal-r14 { fill: #e3ede7 }
+.terminal-r15 { fill: #e1eceb;font-weight: bold }
+.terminal-r16 { fill: #dfebec }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- PlaceholderApp
+ PlaceholderApp
-
-
-
-
-Placeholder p2 here!
-This is a custom label for p1.
-#p4
-#p3#p5Placeholde
-r
-
-Lorem ipsum dolor sit
-26 x 6amet, consectetur 27 x 6
-adipiscing elit. Etiam
-feugiat ac elit sit amet
-
-
-Lorem ipsum dolor sit amet,
-consectetur adipiscing elit. Etiam 40 x 6
-feugiat ac elit sit amet accumsan.
-Suspendisse bibendum nec libero quis
-gravida. Phasellus id eleifend ligula.
-Nullam imperdiet sem tellus, sed
-vehicula nisl faucibus sit amet. Lorem ipsum dolor sit amet,
-Praesent iaculis tempor ultricies. Sedconsectetur adipiscing elit. Etiam
-lacinia, tellus id rutrum lacinia, feugiat ac elit sit amet accumsan.
-sapien sapien congue mauris, sit amet Suspendisse bibendum nec libero quis
+
+
+
+
+Placeholder p2 here!
+This is a custom label for p1.
+#p4
+#p3#p5Placeholde
+r
+
+Lorem ipsum dolor sit
+26 x 6amet, consectetur27 x 6
+adipiscing elit. Etiam
+feugiat ac elit sit amet
+
+
+Lorem ipsum dolor sit amet,
+consectetur adipiscing elit. Etiam40 x 6
+feugiat ac elit sit amet accumsan.
+Suspendisse bibendum nec libero quis
+gravida. Phasellus id eleifend ligula.
+Nullam imperdiet sem tellus, sed
+vehicula nisl faucibus sit amet.Lorem ipsum dolor sit amet,
+Praesent iaculis tempor ultricies. Sedconsectetur adipiscing elit. Etiam
+lacinia, tellus id rutrum lacinia,feugiat ac elit sit amet accumsan.
+sapien sapien congue mauris, sit ametSuspendisse bibendum nec libero quis
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_completed_styled.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_completed_styled.svg
index 79a84b90a..794167d5c 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_completed_styled.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_completed_styled.svg
@@ -19,137 +19,138 @@
font-weight: 700;
}
- .terminal-487307658-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-487307658-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-487307658-r1 { fill: #e0e0e0 }
-.terminal-487307658-r2 { fill: #c5c8c6 }
-.terminal-487307658-r3 { fill: #b93c5b }
-.terminal-487307658-r4 { fill: #004578 }
-.terminal-487307658-r5 { fill: #e0e0e0;text-decoration: underline; }
-.terminal-487307658-r6 { fill: #ffa62b;font-weight: bold }
-.terminal-487307658-r7 { fill: #495259 }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #b93c5b }
+.terminal-r4 { fill: #004578 }
+.terminal-r5 { fill: #121212 }
+.terminal-r6 { fill: #e0e0e0;text-decoration: underline; }
+.terminal-r7 { fill: #ffa62b;font-weight: bold }
+.terminal-r8 { fill: #495259 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- StyledProgressBar
+ StyledProgressBar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━100%--:--:--
-
-
-
-
-
-
-
-
-
-
-
- s Start ▏^p palette
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━100%--:--:--
+
+
+
+
+
+
+
+
+
+
+
+ s Start ▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_halfway_styled.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_halfway_styled.svg
index 0c28c44ac..e4f60000a 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_halfway_styled.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_halfway_styled.svg
@@ -19,138 +19,139 @@
font-weight: 700;
}
- .terminal-3776117691-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3776117691-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3776117691-r1 { fill: #e0e0e0 }
-.terminal-3776117691-r2 { fill: #c5c8c6 }
-.terminal-3776117691-r3 { fill: #0178d4 }
-.terminal-3776117691-r4 { fill: #0c304c }
-.terminal-3776117691-r5 { fill: #004578 }
-.terminal-3776117691-r6 { fill: #e0e0e0;text-decoration: underline; }
-.terminal-3776117691-r7 { fill: #ffa62b;font-weight: bold }
-.terminal-3776117691-r8 { fill: #495259 }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #0178d4 }
+.terminal-r4 { fill: #0c304c }
+.terminal-r5 { fill: #004578 }
+.terminal-r6 { fill: #121212 }
+.terminal-r7 { fill: #e0e0e0;text-decoration: underline; }
+.terminal-r8 { fill: #ffa62b;font-weight: bold }
+.terminal-r9 { fill: #495259 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- StyledProgressBar
+ StyledProgressBar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━39%00:00:07
-
-
-
-
-
-
-
-
-
-
-
- s Start ▏^p palette
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━39%00:00:07
+
+
+
+
+
+
+
+
+
+
+
+ s Start ▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_indeterminate_styled.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_indeterminate_styled.svg
index 92feef988..00c670072 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_indeterminate_styled.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_progress_bar_indeterminate_styled.svg
@@ -19,137 +19,138 @@
font-weight: 700;
}
- .terminal-2698181481-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2698181481-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2698181481-r1 { fill: #e0e0e0 }
-.terminal-2698181481-r2 { fill: #c5c8c6 }
-.terminal-2698181481-r3 { fill: #004578 }
-.terminal-2698181481-r4 { fill: #0178d4 }
-.terminal-2698181481-r5 { fill: #e0e0e0;text-decoration: underline; }
-.terminal-2698181481-r6 { fill: #ffa62b;font-weight: bold }
-.terminal-2698181481-r7 { fill: #495259 }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #004578 }
+.terminal-r4 { fill: #0178d4 }
+.terminal-r5 { fill: #121212 }
+.terminal-r6 { fill: #e0e0e0;text-decoration: underline; }
+.terminal-r7 { fill: #ffa62b;font-weight: bold }
+.terminal-r8 { fill: #495259 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- StyledProgressBar
+ StyledProgressBar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-━╸━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━ --%--:--:--
-
-
-
-
-
-
-
-
-
-
-
- s Start ▏^p palette
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+━╸━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━--%--:--:--
+
+
+
+
+
+
+
+
+
+
+
+ s Start ▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_button_example.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_button_example.svg
index cece1cb2a..305ecd4cf 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_button_example.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_button_example.svg
@@ -19,139 +19,139 @@
font-weight: 700;
}
- .terminal-2872722684-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2872722684-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2872722684-r1 { fill: #e0e0e0 }
-.terminal-2872722684-r2 { fill: #c5c8c6 }
-.terminal-2872722684-r3 { fill: #121212 }
-.terminal-2872722684-r4 { fill: #0178d4 }
-.terminal-2872722684-r5 { fill: #242f38;font-weight: bold }
-.terminal-2872722684-r6 { fill: #000f18;font-weight: bold }
-.terminal-2872722684-r7 { fill: #ddedf9;font-weight: bold }
-.terminal-2872722684-r8 { fill: #242f38 }
-.terminal-2872722684-r9 { fill: #000f18 }
-.terminal-2872722684-r10 { fill: #8ad4a1 }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #121212 }
+.terminal-r4 { fill: #0178d4 }
+.terminal-r5 { fill: #242f38;font-weight: bold }
+.terminal-r6 { fill: #000f18;font-weight: bold }
+.terminal-r7 { fill: #ddedf9;font-weight: bold }
+.terminal-r8 { fill: #242f38 }
+.terminal-r9 { fill: #000f18 }
+.terminal-r10 { fill: #8ad4a1 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- 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▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_set_example.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_set_example.svg
index 7265c6987..e5a221fc6 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_set_example.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_set_example.svg
@@ -19,141 +19,141 @@
font-weight: 700;
}
- .terminal-580936868-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-580936868-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-580936868-r1 { fill: #e0e0e0 }
-.terminal-580936868-r2 { fill: #c5c8c6 }
-.terminal-580936868-r3 { fill: #121212 }
-.terminal-580936868-r4 { fill: #0178d4 }
-.terminal-580936868-r5 { fill: #191919 }
-.terminal-580936868-r6 { fill: #242f38;font-weight: bold }
-.terminal-580936868-r7 { fill: #000f18;font-weight: bold }
-.terminal-580936868-r8 { fill: #ddedf9;font-weight: bold }
-.terminal-580936868-r9 { fill: #242f38 }
-.terminal-580936868-r10 { fill: #000f18 }
-.terminal-580936868-r11 { fill: #8ad4a1 }
-.terminal-580936868-r12 { fill: #f4005f;font-weight: bold;font-style: italic; }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #121212 }
+.terminal-r4 { fill: #0178d4 }
+.terminal-r5 { fill: #191919 }
+.terminal-r6 { fill: #242f38;font-weight: bold }
+.terminal-r7 { fill: #000f18;font-weight: bold }
+.terminal-r8 { fill: #ddedf9;font-weight: bold }
+.terminal-r9 { fill: #242f38 }
+.terminal-r10 { fill: #000f18 }
+.terminal-r11 { fill: #8ad4a1 }
+.terminal-r12 { fill: #ff0000;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 Pictur▎▊▐●▌ 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▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_set_is_scrollable.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_set_is_scrollable.svg
index 8a3090982..2ad05271c 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_set_is_scrollable.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_radio_set_is_scrollable.svg
@@ -19,139 +19,139 @@
font-weight: 700;
}
- .terminal-1769748498-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1769748498-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1769748498-r1 { fill: #121212 }
-.terminal-1769748498-r2 { fill: #0178d4 }
-.terminal-1769748498-r3 { fill: #e0e0e0 }
-.terminal-1769748498-r4 { fill: #c5c8c6 }
-.terminal-1769748498-r5 { fill: #242f38 }
-.terminal-1769748498-r6 { fill: #000f18 }
-.terminal-1769748498-r7 { fill: #242f38;font-weight: bold }
-.terminal-1769748498-r8 { fill: #000f18;font-weight: bold }
-.terminal-1769748498-r9 { fill: #ddedf9;font-weight: bold }
-.terminal-1769748498-r10 { fill: #272727 }
+ .terminal-r1 { fill: #121212 }
+.terminal-r2 { fill: #0178d4 }
+.terminal-r3 { fill: #e0e0e0 }
+.terminal-r4 { fill: #c5c8c6 }
+.terminal-r5 { fill: #242f38 }
+.terminal-r6 { fill: #000f18 }
+.terminal-r7 { fill: #242f38;font-weight: bold }
+.terminal-r8 { fill: #000f18;font-weight: bold }
+.terminal-r9 { fill: #ddedf9;font-weight: bold }
+.terminal-r10 { fill: #272727 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- RadioSetApp
+ RadioSetApp
-
-
-
- ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▐●▌ This is option #7▎
-▊▐●▌ This is option #8▎
-▊▐●▌ This is option #9▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▐●▌This is option #7▎
+▊▐●▌This is option #8▎
+▊▐●▌This is option #9▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_recompose_in_mount.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_recompose_in_mount.svg
index 075f89576..ccd08eb8f 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_recompose_in_mount.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_recompose_in_mount.svg
@@ -19,141 +19,141 @@
font-weight: 700;
}
- .terminal-3810993770-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3810993770-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3810993770-r1 { fill: #c5c8c6 }
-.terminal-3810993770-r2 { fill: #e0e0e0 }
-.terminal-3810993770-r3 { fill: #121212 }
-.terminal-3810993770-r4 { fill: #0178d4 }
-.terminal-3810993770-r5 { fill: #242f38;font-weight: bold }
-.terminal-3810993770-r6 { fill: #000f18;font-weight: bold }
-.terminal-3810993770-r7 { fill: #ddedf9;font-weight: bold }
-.terminal-3810993770-r8 { fill: #242f38 }
-.terminal-3810993770-r9 { fill: #000f18 }
-.terminal-3810993770-r10 { fill: #495259 }
-.terminal-3810993770-r11 { fill: #ffa62b;font-weight: bold }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #121212 }
+.terminal-r4 { fill: #0178d4 }
+.terminal-r5 { fill: #242f38;font-weight: bold }
+.terminal-r6 { fill: #000f18;font-weight: bold }
+.terminal-r7 { fill: #ddedf9;font-weight: bold }
+.terminal-r8 { fill: #242f38 }
+.terminal-r9 { fill: #000f18 }
+.terminal-r10 { fill: #495259 }
+.terminal-r11 { fill: #ffa62b;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ForecastApp
+ ForecastApp
-
-
-
- ⭘ForecastApp
- Profile
-▊▔▔▔▔▔▔▔▔▔▎
-▊▐●▌ Foo▎
-▊▐●▌ Bar▎
-▊▁▁▁▁▁▁▁▁▁▎
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-▏^p palette
+
+
+
+ ⭘ForecastApp
+ Profile
+▊▔▔▔▔▔▔▔▔▔▎
+▊▐●▌Foo▎
+▊▐●▌Bar▎
+▊▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_scroll_to.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_scroll_to.svg
index 7f2163147..3b031500a 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_scroll_to.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_scroll_to.svg
@@ -19,144 +19,144 @@
font-weight: 700;
}
- .terminal-2173734398-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2173734398-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2173734398-r1 { fill: #121212 }
-.terminal-2173734398-r2 { fill: #191919 }
-.terminal-2173734398-r3 { fill: #e0e0e0 }
-.terminal-2173734398-r4 { fill: #c5c8c6 }
-.terminal-2173734398-r5 { fill: #242f38 }
-.terminal-2173734398-r6 { fill: #000f18 }
-.terminal-2173734398-r7 { fill: #003054 }
-.terminal-2173734398-r8 { fill: #000000 }
-.terminal-2173734398-r9 { fill: #495259 }
-.terminal-2173734398-r10 { fill: #ffa62b;font-weight: bold }
+ .terminal-r1 { fill: #121212 }
+.terminal-r2 { fill: #191919 }
+.terminal-r3 { fill: #e0e0e0 }
+.terminal-r4 { fill: #c5c8c6 }
+.terminal-r5 { fill: #242f38 }
+.terminal-r6 { fill: #000f18 }
+.terminal-r7 { fill: #003054 }
+.terminal-r8 { fill: #000000 }
+.terminal-r9 { fill: #495259 }
+.terminal-r10 { fill: #ffa62b;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- ScrollOffByOne
+ ScrollOffByOne
-
-
-
- ▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 43▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 44▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 45▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 46▎▄▄
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎▃▃
-▊▐X▌ 47▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 48▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 49▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-▊▐X▌ 50▎
-▊▁▁▁▁▁▁▁▁▎
-▏^p palette
+
+
+
+ ▊▔▔▔▔▔▔▔▔▎
+▊▐X▌43▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌44▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌45▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌46▎▄▄
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎▃▃
+▊▐X▌47▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌48▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌49▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+▊▐X▌50▎
+▊▁▁▁▁▁▁▁▁▎
+▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_select_expanded.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_select_expanded.svg
index 3d958528f..d679f0113 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_select_expanded.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_select_expanded.svg
@@ -19,137 +19,137 @@
font-weight: 700;
}
- .terminal-1421459469-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1421459469-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1421459469-r1 { fill: #c5c8c6 }
-.terminal-1421459469-r2 { fill: #e0e0e0 }
-.terminal-1421459469-r3 { fill: #121212 }
-.terminal-1421459469-r4 { fill: #191919 }
-.terminal-1421459469-r5 { fill: #7f7f7f }
-.terminal-1421459469-r6 { fill: #0178d4 }
-.terminal-1421459469-r7 { fill: #ddedf9;font-weight: bold }
-.terminal-1421459469-r8 { fill: #85beea;font-weight: bold }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #121212 }
+.terminal-r4 { fill: #191919 }
+.terminal-r5 { fill: #7f7f7f }
+.terminal-r6 { fill: #0178d4 }
+.terminal-r7 { fill: #ddedf9;font-weight: bold }
+.terminal-r8 { fill: #85beea;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectApp
+ SelectApp
-
-
-
- ⭘SelectApp
-
-
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊Select▲▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊Select▎
-▊I must not fear.▎
-▊Fear is the mind-killer.▎
-▊Fear is the little-death that brings total ▎
-▊obliteration.▎
-▊I will face my fear.▎
-▊I will permit it to pass over me and through me.▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-
-
-
-
-
-
-
-
+
+
+
+ ⭘SelectApp
+
+
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊Select▲▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊Select▎
+▊I must not fear.▎
+▊Fear is the mind-killer.▎
+▊Fear is the little-death that brings total▎
+▊obliteration.▎
+▊I will face my fear.▎
+▊I will permit it to pass over me and through me.▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_select_from_values_expanded.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_select_from_values_expanded.svg
index 3d958528f..d679f0113 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_select_from_values_expanded.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_select_from_values_expanded.svg
@@ -19,137 +19,137 @@
font-weight: 700;
}
- .terminal-1421459469-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1421459469-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1421459469-r1 { fill: #c5c8c6 }
-.terminal-1421459469-r2 { fill: #e0e0e0 }
-.terminal-1421459469-r3 { fill: #121212 }
-.terminal-1421459469-r4 { fill: #191919 }
-.terminal-1421459469-r5 { fill: #7f7f7f }
-.terminal-1421459469-r6 { fill: #0178d4 }
-.terminal-1421459469-r7 { fill: #ddedf9;font-weight: bold }
-.terminal-1421459469-r8 { fill: #85beea;font-weight: bold }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #121212 }
+.terminal-r4 { fill: #191919 }
+.terminal-r5 { fill: #7f7f7f }
+.terminal-r6 { fill: #0178d4 }
+.terminal-r7 { fill: #ddedf9;font-weight: bold }
+.terminal-r8 { fill: #85beea;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectApp
+ SelectApp
-
-
-
- ⭘SelectApp
-
-
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊Select▲▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊Select▎
-▊I must not fear.▎
-▊Fear is the mind-killer.▎
-▊Fear is the little-death that brings total ▎
-▊obliteration.▎
-▊I will face my fear.▎
-▊I will permit it to pass over me and through me.▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-
-
-
-
-
-
-
-
+
+
+
+ ⭘SelectApp
+
+
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊Select▲▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊Select▎
+▊I must not fear.▎
+▊Fear is the mind-killer.▎
+▊Fear is the little-death that brings total▎
+▊obliteration.▎
+▊I will face my fear.▎
+▊I will permit it to pass over me and through me.▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_selected.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_selected.svg
index f753c281a..077b4ca5b 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_selected.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_selected.svg
@@ -19,141 +19,141 @@
font-weight: 700;
}
- .terminal-598357588-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-598357588-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-598357588-r1 { fill: #c5c8c6 }
-.terminal-598357588-r2 { fill: #e0e0e0 }
-.terminal-598357588-r3 { fill: #fea62b }
-.terminal-598357588-r4 { fill: #e0e0e0;font-weight: bold }
-.terminal-598357588-r5 { fill: #242f38 }
-.terminal-598357588-r6 { fill: #8ad4a1 }
-.terminal-598357588-r7 { fill: #ddedf9;font-weight: bold }
-.terminal-598357588-r8 { fill: #98e024 }
-.terminal-598357588-r9 { fill: #000f18 }
-.terminal-598357588-r10 { fill: #495259 }
-.terminal-598357588-r11 { fill: #ffa62b;font-weight: bold }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #fea62b }
+.terminal-r4 { fill: #e0e0e0;font-weight: bold }
+.terminal-r5 { fill: #242f38 }
+.terminal-r6 { fill: #8ad4a1 }
+.terminal-r7 { fill: #ddedf9;font-weight: bold }
+.terminal-r8 { fill: #98e024 }
+.terminal-r9 { fill: #000f18 }
+.terminal-r10 { fill: #495259 }
+.terminal-r11 { fill: #ffa62b;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectionListApp
+ SelectionListApp
-
-
-
- ⭘SelectionListApp
-
-
-┌─ Shall we play some games? ──┐┌─ Selected games ─────────────┐
-│││[│
-│▐X▌ Falken's Maze ││'secret_back_door',│
-│▐X▌ Black Jack ││'a_nice_game_of_chess',│
-│▐X▌ Gin Rummy ││'fighter_combat'│
-│▐X▌ Hearts ││]│
-│▐X▌ Bridge │└──────────────────────────────┘
-│▐X▌ Checkers │
-│▐X▌ Chess │
-│▐X▌ Poker │
-│▐X▌ Fighter Combat │
-││
-└──────────────────────────────┘
-
-
-
-
-
-
-
-▏^p palette
+
+
+
+ ⭘SelectionListApp
+
+
+┌─ Shall we play some games? ──┐┌─ Selected games ─────────────┐
+│││[│
+│▐X▌ Falken's Maze││'secret_back_door',│
+│▐X▌ Black Jack││'a_nice_game_of_chess',│
+│▐X▌ Gin Rummy││'fighter_combat'│
+│▐X▌ Hearts││]│
+│▐X▌ Bridge│└──────────────────────────────┘
+│▐X▌ Checkers│
+│▐X▌ Chess│
+│▐X▌ Poker│
+│▐X▌ Fighter Combat│
+││
+└──────────────────────────────┘
+
+
+
+
+
+
+
+▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_selections.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_selections.svg
index e0e25e8dd..74df41d4a 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_selections.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_selections.svg
@@ -19,139 +19,139 @@
font-weight: 700;
}
- .terminal-1411537458-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1411537458-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1411537458-r1 { fill: #c5c8c6 }
-.terminal-1411537458-r2 { fill: #e0e0e0 }
-.terminal-1411537458-r3 { fill: #fea62b }
-.terminal-1411537458-r4 { fill: #242f38 }
-.terminal-1411537458-r5 { fill: #8ad4a1 }
-.terminal-1411537458-r6 { fill: #ddedf9;font-weight: bold }
-.terminal-1411537458-r7 { fill: #000f18 }
-.terminal-1411537458-r8 { fill: #495259 }
-.terminal-1411537458-r9 { fill: #ffa62b;font-weight: bold }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #fea62b }
+.terminal-r4 { fill: #242f38 }
+.terminal-r5 { fill: #8ad4a1 }
+.terminal-r6 { fill: #ddedf9;font-weight: bold }
+.terminal-r7 { fill: #000f18 }
+.terminal-r8 { fill: #495259 }
+.terminal-r9 { fill: #ffa62b;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectionListApp
+ SelectionListApp
-
-
-
- ⭘SelectionListApp
-
-
-┌─ Shall we play some games? ──────────────────────────────────┐
-││
-│▐X▌ Falken's Maze │
-│▐X▌ Black Jack │
-│▐X▌ Gin Rummy │
-│▐X▌ Hearts │
-│▐X▌ Bridge │
-│▐X▌ Checkers │
-│▐X▌ Chess │
-│▐X▌ Poker │
-│▐X▌ Fighter Combat │
-││
-││
-││
-││
-││
-└──────────────────────────────────────────────────────────────┘
-
-
-
-▏^p palette
+
+
+
+ ⭘SelectionListApp
+
+
+┌─ Shall we play some games? ──────────────────────────────────┐
+││
+│▐X▌ Falken's Maze│
+│▐X▌ Black Jack│
+│▐X▌ Gin Rummy│
+│▐X▌ Hearts│
+│▐X▌ Bridge│
+│▐X▌ Checkers│
+│▐X▌ Chess│
+│▐X▌ Poker│
+│▐X▌ Fighter Combat│
+││
+││
+││
+││
+││
+└──────────────────────────────────────────────────────────────┘
+
+
+
+▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_tuples.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_tuples.svg
index e0e25e8dd..74df41d4a 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_tuples.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_selection_list_tuples.svg
@@ -19,139 +19,139 @@
font-weight: 700;
}
- .terminal-1411537458-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-1411537458-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-1411537458-r1 { fill: #c5c8c6 }
-.terminal-1411537458-r2 { fill: #e0e0e0 }
-.terminal-1411537458-r3 { fill: #fea62b }
-.terminal-1411537458-r4 { fill: #242f38 }
-.terminal-1411537458-r5 { fill: #8ad4a1 }
-.terminal-1411537458-r6 { fill: #ddedf9;font-weight: bold }
-.terminal-1411537458-r7 { fill: #000f18 }
-.terminal-1411537458-r8 { fill: #495259 }
-.terminal-1411537458-r9 { fill: #ffa62b;font-weight: bold }
+ .terminal-r1 { fill: #c5c8c6 }
+.terminal-r2 { fill: #e0e0e0 }
+.terminal-r3 { fill: #fea62b }
+.terminal-r4 { fill: #242f38 }
+.terminal-r5 { fill: #8ad4a1 }
+.terminal-r6 { fill: #ddedf9;font-weight: bold }
+.terminal-r7 { fill: #000f18 }
+.terminal-r8 { fill: #495259 }
+.terminal-r9 { fill: #ffa62b;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SelectionListApp
+ SelectionListApp
-
-
-
- ⭘SelectionListApp
-
-
-┌─ Shall we play some games? ──────────────────────────────────┐
-││
-│▐X▌ Falken's Maze │
-│▐X▌ Black Jack │
-│▐X▌ Gin Rummy │
-│▐X▌ Hearts │
-│▐X▌ Bridge │
-│▐X▌ Checkers │
-│▐X▌ Chess │
-│▐X▌ Poker │
-│▐X▌ Fighter Combat │
-││
-││
-││
-││
-││
-└──────────────────────────────────────────────────────────────┘
-
-
-
-▏^p palette
+
+
+
+ ⭘SelectionListApp
+
+
+┌─ Shall we play some games? ──────────────────────────────────┐
+││
+│▐X▌ Falken's Maze│
+│▐X▌ Black Jack│
+│▐X▌ Gin Rummy│
+│▐X▌ Hearts│
+│▐X▌ Bridge│
+│▐X▌ Checkers│
+│▐X▌ Chess│
+│▐X▌ Poker│
+│▐X▌ Fighter Combat│
+││
+││
+││
+││
+││
+└──────────────────────────────────────────────────────────────┘
+
+
+
+▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_switches.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_switches.svg
index 7d54ea78c..20423b8a3 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_switches.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_switches.svg
@@ -19,138 +19,138 @@
font-weight: 700;
}
- .terminal-3932973537-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3932973537-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3932973537-r1 { fill: #e0e0e0 }
-.terminal-3932973537-r2 { fill: #c5c8c6 }
-.terminal-3932973537-r3 { fill: #e0e0e0;font-weight: bold }
-.terminal-3932973537-r4 { fill: #121212 }
-.terminal-3932973537-r5 { fill: #0178d4 }
-.terminal-3932973537-r6 { fill: #272727 }
-.terminal-3932973537-r7 { fill: #191919 }
-.terminal-3932973537-r8 { fill: #1e1e1e }
-.terminal-3932973537-r9 { fill: #2f4f4f }
+ .terminal-r1 { fill: #e0e0e0 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #e0e0e0;font-weight: bold }
+.terminal-r4 { fill: #121212 }
+.terminal-r5 { fill: #0178d4 }
+.terminal-r6 { fill: #272727 }
+.terminal-r7 { fill: #191919 }
+.terminal-r8 { fill: #1e1e1e }
+.terminal-r9 { fill: #2f4f4f }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- SwitchApp
+ SwitchApp
-
-
-
-
-
-
-
-Example switches
-
-
-▊▔▔▔▔▔▔▔▔▎
-off: ▊▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-on: ▊▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-focused: ▊▎
-▊▁▁▁▁▁▁▁▁▎
-▊▔▔▔▔▔▔▔▔▎
-custom: ▊▎
-▊▁▁▁▁▁▁▁▁▎
-
-
-
-
+
+
+
+
+
+
+
+Example switches
+
+
+▊▔▔▔▔▔▔▔▔▎
+off: ▊▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+on: ▊▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+focused: ▊▎
+▊▁▁▁▁▁▁▁▁▎
+▊▔▔▔▔▔▔▔▔▎
+custom: ▊▎
+▊▁▁▁▁▁▁▁▁▎
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_textual_dev_border_preview.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_textual_dev_border_preview.svg
index 0e6de792a..767a30e50 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_textual_dev_border_preview.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_textual_dev_border_preview.svg
@@ -19,136 +19,136 @@
font-weight: 700;
}
- .terminal-3794448518-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3794448518-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3794448518-r1 { fill: #121212 }
-.terminal-3794448518-r2 { fill: #0178d4 }
-.terminal-3794448518-r3 { fill: #e0e0e0 }
-.terminal-3794448518-r4 { fill: #c5c8c6 }
-.terminal-3794448518-r5 { fill: #ddedf9;font-weight: bold }
-.terminal-3794448518-r6 { fill: #e2e3e5 }
+ .terminal-r1 { fill: #121212 }
+.terminal-r2 { fill: #0178d4 }
+.terminal-r3 { fill: #e0e0e0 }
+.terminal-r4 { fill: #c5c8c6 }
+.terminal-r5 { fill: #ddedf9;font-weight: bold }
+.terminal-r6 { fill: #e2e3e5 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- BorderApp
+ BorderApp
-
-
-
- ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊ascii▎
-▊blank▎
-▊dashed▎+--------------------- ascii ----------------------+
-▊double▎||
-▊heavy▎||
-▊hidden▎|I must not fear.|
-▊hkey▎|Fear is the mind-killer.|
-▊inner▎|Fear is the little-death that brings total|
-▊none▎|obliteration.|
-▊outer▎|I will face my fear.|
-▊panel▎|I will permit it to pass over me and |
-▊round▎|through me.|
-▊solid▎|And when it has gone past, I will turn the|
-▊tab▎|inner eye to see its path.|
-▊tall▎|Where the fear has gone there will be |
-▊thick▎|nothing. Only I will remain.|
-▊vkey▎||
-▊wide▎||
-▊▎+-------------------------------- border subtitle -+
-▊▎
-▊▎
-▊▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+
+
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊ascii▎
+▊blank▎
+▊dashed▎+--------------------- ascii ----------------------+
+▊double▎||
+▊heavy▎||
+▊hidden▎|I must not fear.|
+▊hkey▎|Fear is the mind-killer.|
+▊inner▎|Fear is the little-death that brings total|
+▊none▎|obliteration.|
+▊outer▎|I will face my fear.|
+▊panel▎|I will permit it to pass over me and|
+▊round▎|through me.|
+▊solid▎|And when it has gone past, I will turn the|
+▊tab▎|inner eye to see its path.|
+▊tall▎|Where the fear has gone there will be|
+▊thick▎|nothing. Only I will remain.|
+▊vkey▎||
+▊wide▎||
+▊▎+-------------------------------- border subtitle -+
+▊▎
+▊▎
+▊▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_textual_dev_easing_preview.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_textual_dev_easing_preview.svg
index a0f46ed26..a86a1634e 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_textual_dev_easing_preview.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_textual_dev_easing_preview.svg
@@ -19,146 +19,146 @@
font-weight: 700;
}
- .terminal-3267621604-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-3267621604-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-3267621604-r1 { fill: #2d2d2d }
-.terminal-3267621604-r2 { fill: #121212 }
-.terminal-3267621604-r3 { fill: #c5c8c6 }
-.terminal-3267621604-r4 { fill: #272727;font-weight: bold }
-.terminal-3267621604-r5 { fill: #1b1b1b }
-.terminal-3267621604-r6 { fill: #e0e0e0 }
-.terminal-3267621604-r7 { fill: #0d0d0d }
-.terminal-3267621604-r8 { fill: #e0e0e0;font-weight: bold }
-.terminal-3267621604-r9 { fill: #000000 }
-.terminal-3267621604-r10 { fill: #1e1e1e }
-.terminal-3267621604-r11 { fill: #b93c5b }
-.terminal-3267621604-r12 { fill: #fea62b }
-.terminal-3267621604-r13 { fill: #211505;font-weight: bold }
-.terminal-3267621604-r14 { fill: #211505 }
-.terminal-3267621604-r15 { fill: #495259 }
-.terminal-3267621604-r16 { fill: #ffa62b;font-weight: bold }
+ .terminal-r1 { fill: #2d2d2d }
+.terminal-r2 { fill: #121212 }
+.terminal-r3 { fill: #c5c8c6 }
+.terminal-r4 { fill: #272727;font-weight: bold }
+.terminal-r5 { fill: #1b1b1b }
+.terminal-r6 { fill: #e0e0e0 }
+.terminal-r7 { fill: #0d0d0d }
+.terminal-r8 { fill: #e0e0e0;font-weight: bold }
+.terminal-r9 { fill: #000000 }
+.terminal-r10 { fill: #1e1e1e }
+.terminal-r11 { fill: #b93c5b }
+.terminal-r12 { fill: #fea62b }
+.terminal-r13 { fill: #211505;font-weight: bold }
+.terminal-r14 { fill: #211505 }
+.terminal-r15 { fill: #495259 }
+.terminal-r16 { fill: #ffa62b;font-weight: bold }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- EasingApp
+ EasingApp
-
-
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- round ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁Animation Duration:▊1.0 ▎
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
- out_sine
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- out_quint ▏▎▊
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▎Welcome to Textual!▊
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏▎▊
- out_quart ▏▎I must not fear.▊
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▎Fear is the ▊
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏▎mind-killer.▊
- out_quad ▏▎Fear is the ▊
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▎little-death that ▊
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏▎brings total ▊
- out_expo ▏▎obliteration.▊
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▎I will face my fear.▊
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏▎I will permit it to ▊
- out_elastic ▏▎pass over me and ▊
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▎through me.▊
-▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏▎And when it has gone ▊
- out_cubic ▏
-▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏^p palette
+
+
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ round ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁Animation Duration:▊1.0 ▎
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+ out_sine
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ out_quint ▏▎▊
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▎Welcome to Textual!▊
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏▎▊
+ out_quart ▏▎I must not fear.▊
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▎Fear is the▊
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏▎mind-killer.▊
+ out_quad ▏▎Fear is the▊
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▎little-death that▊
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏▎brings total▊
+ out_expo ▏▎obliteration.▊
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▎I will face my fear.▊
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏▎I will permit it to▊
+ out_elastic ▏▎pass over me and▊
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏▎through me.▊
+▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▏▎And when it has gone▊
+ out_cubic ▏
+▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▏^p palette
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_toggle_style_order.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_toggle_style_order.svg
index 5cfb9d4f5..243da8ecf 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_toggle_style_order.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_toggle_style_order.svg
@@ -19,139 +19,139 @@
font-weight: 700;
}
- .terminal-2591470392-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2591470392-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2591470392-r1 { fill: #121212 }
-.terminal-2591470392-r2 { fill: #0178d4 }
-.terminal-2591470392-r3 { fill: #e0e0e0 }
-.terminal-2591470392-r4 { fill: #c5c8c6 }
-.terminal-2591470392-r5 { fill: #242f38 }
-.terminal-2591470392-r6 { fill: #000f18 }
-.terminal-2591470392-r7 { fill: #f4005f;font-weight: bold }
-.terminal-2591470392-r8 { fill: #80bbe9;font-weight: bold }
-.terminal-2591470392-r9 { fill: #880909;font-weight: bold }
-.terminal-2591470392-r10 { fill: #888888 }
+ .terminal-r1 { fill: #121212 }
+.terminal-r2 { fill: #0178d4 }
+.terminal-r3 { fill: #e0e0e0 }
+.terminal-r4 { fill: #c5c8c6 }
+.terminal-r5 { fill: #242f38 }
+.terminal-r6 { fill: #000f18 }
+.terminal-r7 { fill: #ff0000;font-weight: bold }
+.terminal-r8 { fill: #80bbe9;font-weight: bold }
+.terminal-r9 { fill: #880909;font-weight: bold }
+.terminal-r10 { fill: #888888 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- CheckboxApp
+ CheckboxApp
-
+
-
- ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
-▊▐X▌This is just some text.▎
-▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
-This is just some text.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ ▊▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▎
+▊▐X▌This is just some text.▎
+▊▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎
+This is just some text.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/snapshot_tests/__snapshots__/test_snapshots/test_widgets_in_grid.svg b/tests/snapshot_tests/__snapshots__/test_snapshots/test_widgets_in_grid.svg
index bb1f936a7..1bde3160b 100644
--- a/tests/snapshot_tests/__snapshots__/test_snapshots/test_widgets_in_grid.svg
+++ b/tests/snapshot_tests/__snapshots__/test_snapshots/test_widgets_in_grid.svg
@@ -19,236 +19,236 @@
font-weight: 700;
}
- .terminal-688247660-matrix {
+ .terminal-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-688247660-title {
+ .terminal-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-688247660-r1 { fill: #ff0000 }
-.terminal-688247660-r2 { fill: #c5c8c6 }
-.terminal-688247660-r3 { fill: #e0e0e0 }
+ .terminal-r1 { fill: #ff0000 }
+.terminal-r2 { fill: #c5c8c6 }
+.terminal-r3 { fill: #e0e0e0 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- MyApp
+ MyApp
-
-
-
- ┏━ 0 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 1 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 2 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
-┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
-┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
-┃Fear is the little-death that ┃┃Fear is the little-death that ┃┃Fear is the little-death that ┃
-┃brings total obliteration.┃┃brings total obliteration.┃┃brings total obliteration.┃
-┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
-┃I will permit it to pass over ┃┃I will permit it to pass over ┃┃I will permit it to pass over me┃
-┃me and through me.┃┃me and through me.┃┃and through me.┃
-┃And when it has gone past, I ┃┃And when it has gone past, I ┃┃And when it has gone past, I ┃
-┃will turn the inner eye to see ┃┃will turn the inner eye to see ┃┃will turn the inner eye to see ┃
-┃its path.┃┃its path.┃┃its path.┃
-┃Where the fear has gone there ┃┃Where the fear has gone there ┃┃Where the fear has gone there ┃
-┃will be nothing. Only I will ┃┃will be nothing. Only I will ┃┃will be nothing. Only I will ┃
-┃remain.┃┃remain.┃┃remain.┃
-┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
-┏━ 3 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 4 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
-┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
-┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
-┃Fear is the little-death that ┃┃Fear is the little-death that ┃┃Fear is the little-death that ┃
-┃brings total obliteration.┃┃brings total obliteration.┃┃brings total obliteration.┃
-┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
-┃I will permit it to pass over ┃┃I will permit it to pass over ┃┃I will permit it to pass over me┃
-┃me and through me.┃┃me and through me.┃┃and through me.┃
-┃And when it has gone past, I ┃┃And when it has gone past, I ┃┃And when it has gone past, I ┃
-┃will turn the inner eye to see ┃┃will turn the inner eye to see ┃┃will turn the inner eye to see ┃
-┃its path.┃┃its path.┃┃its path.┃
-┃Where the fear has gone there ┃┃Where the fear has gone there ┃┃Where the fear has gone there ┃
-┃will be nothing. Only I will ┃┃will be nothing. Only I will ┃┃will be nothing. Only I will ┃
-┃remain.┃┃remain.┃┃remain.┃
-┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
-┏━ 6 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 8 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
-┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
-┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
-┃Fear is the little-death that ┃┃Fear is the little-death that ┃┃Fear is the little-death that ┃
-┃brings total obliteration.┃┃brings total obliteration.┃┃brings total obliteration.┃
-┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
-┃I will permit it to pass over ┃┃I will permit it to pass over ┃┃I will permit it to pass over me┃
-┃me and through me.┃┃me and through me.┃┃and through me.┃
-┃And when it has gone past, I ┃┃And when it has gone past, I ┃┃And when it has gone past, I ┃
-┃will turn the inner eye to see ┃┃will turn the inner eye to see ┃┃will turn the inner eye to see ┃
-┃its path.┃┃its path.┃┃its path.┃
-┃Where the fear has gone there ┃┃Where the fear has gone there ┃┃Where the fear has gone there ┃
-┃will be nothing. Only I will ┃┃will be nothing. Only I will ┃┃will be nothing. Only I will ┃
-┃remain.┃┃remain.┃┃remain.┃
-┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
-
-
-
-
+
+
+
+ ┏━ 0 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 1 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 2 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
+┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
+┃Fear is the little-death that┃┃Fear is the little-death that┃┃Fear is the little-death that┃
+┃brings total obliteration.┃┃brings total obliteration.┃┃brings total obliteration.┃
+┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
+┃I will permit it to pass over┃┃I will permit it to pass over┃┃I will permit it to pass over me┃
+┃me and through me.┃┃me and through me.┃┃and through me.┃
+┃And when it has gone past, I┃┃And when it has gone past, I┃┃And when it has gone past, I┃
+┃will turn the inner eye to see┃┃will turn the inner eye to see┃┃will turn the inner eye to see┃
+┃its path.┃┃its path.┃┃its path.┃
+┃Where the fear has gone there┃┃Where the fear has gone there┃┃Where the fear has gone there┃
+┃will be nothing. Only I will┃┃will be nothing. Only I will┃┃will be nothing. Only I will┃
+┃remain.┃┃remain.┃┃remain.┃
+┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+┏━ 3 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 4 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
+┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
+┃Fear is the little-death that┃┃Fear is the little-death that┃┃Fear is the little-death that┃
+┃brings total obliteration.┃┃brings total obliteration.┃┃brings total obliteration.┃
+┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
+┃I will permit it to pass over┃┃I will permit it to pass over┃┃I will permit it to pass over me┃
+┃me and through me.┃┃me and through me.┃┃and through me.┃
+┃And when it has gone past, I┃┃And when it has gone past, I┃┃And when it has gone past, I┃
+┃will turn the inner eye to see┃┃will turn the inner eye to see┃┃will turn the inner eye to see┃
+┃its path.┃┃its path.┃┃its path.┃
+┃Where the fear has gone there┃┃Where the fear has gone there┃┃Where the fear has gone there┃
+┃will be nothing. Only I will┃┃will be nothing. Only I will┃┃will be nothing. Only I will┃
+┃remain.┃┃remain.┃┃remain.┃
+┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+┏━ 6 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━ 8 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+┃I must not fear.┃┃I must not fear.┃┃I must not fear.┃
+┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃┃Fear is the mind-killer.┃
+┃Fear is the little-death that┃┃Fear is the little-death that┃┃Fear is the little-death that┃
+┃brings total obliteration.┃┃brings total obliteration.┃┃brings total obliteration.┃
+┃I will face my fear.┃┃I will face my fear.┃┃I will face my fear.┃
+┃I will permit it to pass over┃┃I will permit it to pass over┃┃I will permit it to pass over me┃
+┃me and through me.┃┃me and through me.┃┃and through me.┃
+┃And when it has gone past, I┃┃And when it has gone past, I┃┃And when it has gone past, I┃
+┃will turn the inner eye to see┃┃will turn the inner eye to see┃┃will turn the inner eye to see┃
+┃its path.┃┃its path.┃┃its path.┃
+┃Where the fear has gone there┃┃Where the fear has gone there┃┃Where the fear has gone there┃
+┃will be nothing. Only I will┃┃will be nothing. Only I will┃┃will be nothing. Only I will┃
+┃remain.┃┃remain.┃┃remain.┃
+┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
+
+
+
+
diff --git a/tests/toggles/test_labels.py b/tests/toggles/test_labels.py
index a879351d0..317fccabd 100644
--- a/tests/toggles/test_labels.py
+++ b/tests/toggles/test_labels.py
@@ -1,8 +1,7 @@
"""Test that setting a toggle button's label has the desired effect."""
-from rich.text import Text
-
from textual.app import App, ComposeResult
+from textual.content import Content
from textual.widgets import Checkbox, RadioButton, RadioSet
@@ -16,21 +15,21 @@ class LabelChangeApp(App[None]):
async def test_change_labels() -> None:
"""It should be possible to change the labels of toggle buttons."""
async with LabelChangeApp().run_test() as pilot:
- assert pilot.app.query_one(Checkbox).label == Text("Before")
- assert pilot.app.query_one("Screen > RadioButton", RadioButton).label == Text(
- "Before"
- )
- assert pilot.app.query_one("RadioSet > RadioButton", RadioButton).label == Text(
- "Before"
- )
+ assert pilot.app.query_one(Checkbox).label == Content("Before")
+ assert pilot.app.query_one(
+ "Screen > RadioButton", RadioButton
+ ).label == Content("Before")
+ assert pilot.app.query_one(
+ "RadioSet > RadioButton", RadioButton
+ ).label == Content("Before")
pilot.app.query_one(Checkbox).label = "After"
pilot.app.query_one("Screen > RadioButton", RadioButton).label = "After"
pilot.app.query_one("RadioSet > RadioButton", RadioButton).label = "After"
await pilot.pause()
- assert pilot.app.query_one(Checkbox).label == Text("After")
- assert pilot.app.query_one("Screen > RadioButton", RadioButton).label == Text(
- "After"
- )
- assert pilot.app.query_one("RadioSet > RadioButton", RadioButton).label == Text(
- "After"
- )
+ assert pilot.app.query_one(Checkbox).label == Content("After")
+ assert pilot.app.query_one(
+ "Screen > RadioButton", RadioButton
+ ).label == Content("After")
+ assert pilot.app.query_one(
+ "RadioSet > RadioButton", RadioButton
+ ).label == Content("After")