diff --git a/docs/assets/deck.svg b/docs/assets/deck.svg
index 6383d8e..736c84b 100644
--- a/docs/assets/deck.svg
+++ b/docs/assets/deck.svg
@@ -36,8 +36,8 @@
.spieldocs-r2 { fill: #c5c8c6 }
.spieldocs-r3 { fill: #e1e1e1 }
.spieldocs-r4 { fill: #e1e1e1;font-weight: bold;text-decoration: underline; }
-.spieldocs-r5 { fill: #fdfdc5 }
-.spieldocs-r6 { fill: #1984e9 }
+.spieldocs-r5 { fill: #68a0b3;font-weight: bold }
+.spieldocs-r6 { fill: #608ab1;text-decoration: underline; }
.spieldocs-r7 { fill: #398280 }
.spieldocs-r8 { fill: #e1e1e1;font-style: italic; }
.spieldocs-r9 { fill: #745ca9 }
@@ -334,48 +334,48 @@
-
+
- ╭─────────── 1 | What is Spiel? ────────────╮╭────────── 2 | Decks and Slides ───────────╮╭─────────── 3 | Dynamic Content ───────────╮
-││││││
-│What isWhy use││Decks are made of Slides││Slides can have dynamic│
-│Spiel?Spiel?││││content!│
-│││ Here's the code for Deck and │││
-│Spiel is a It's fun! ││Slide! ││ Since slides are created using │
-│││││ normal Python code, any output │
-│ContributiInspiration││ The source code is pulled ││ you can imagine producing via │
-│ngs││ directly from the definitions ││ Python can make it into your │
-│││ via inspect.getsource. ││ slides. │
-│ Please Brandon ││┌──────────────────┐┌───────────────────┐│││
-╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯
-╭────────────── 4 | Triggers ───────────────╮╭────────── 5 | Triggers: Reveals ──────────╮╭──────── 6 | Triggers: Animations ─────────╮
+ ╭─────────── 1 | What is Spiel? ────────────╮╭────────── 2 | Decks and Slides ───────────╮╭─────────── 3 | Dynamic Content ───────────╮
+││││││
+│What isWhy use││Decks are made of Slides││Slides can have dynamic│
+│Spiel?Spiel?││││content!│
+│││Here's the code for Deck and│││
+│Spiel is aIt's fun!││Slide!││Since slides are created using│
+│││││normal Python code,any output│
+│ContributiInspiration││The source code is pulled││you can imagine producing via│
+│ngs││directly from the definitions││Python can make it into your│
+│││via inspect.getsource.││slides.│
+│PleaseBrandon││┌──────────────────┐┌───────────────────┐│││
+╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯
+╭────────────── 4 | Triggers ───────────────╮╭────────── 5 | Triggers: Reveals ──────────╮╭──────── 6 | Triggers: Animations ─────────╮
││││││
│Triggers││Triggers: Reveals││Triggers: Animations│
││││││
-│ Triggers are a mechanism for ││ Triggers can be useful even ││ Here's an example of how │
-│ making dynamic content that ││ without considering their ││ triggers can be used to build │
-│ depends on relative time. ││ tracking of relative time. ││ more complex animations. │
+│Triggers are a mechanism for││Triggers can be useful even││Here's an example of how│
+│making dynamic content that││without considering their││triggers can be used to build│
+│depends on relative time.││tracking of relative time.││more complex animations.│
││││││
-│ Triggers can be used to ││ We can track the number of ││ The position and facing │
-│ implement effects like fades, ││ times the slide has been ││ direction of the bullet are │
-│ motion, and other "animations". ││ triggered to gradually reveal ││ calculated deterministically │
-│││ content. ││ based on the time since the │
+│Triggers can be used to││We can track the number of││The position and facing│
+│implement effects like fades,││times the slide has been││direction of the bullet are│
+│motion, and other "animations".││triggered to graduallyreveal││calculated deterministically│
+│││content.││based on the time since the│
╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯
-╭──────────────── 7 | Views ────────────────╮╭────────── 8 | Displaying Images ──────────╮╭───────────── 9 | Watch Mode ──────────────╮
-│││ ┏━━━━━━━━━━━━━━━━━━━┓ │││
-│Deck View││Images ┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃ ││Developing a Deck│
-│││ ┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃ │││
-│ Try pressing d to go into ││Spiel can ┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃ ││Spiel will reload your deck as │
-│ "deck" view. You can move ││ display ┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃ ││ you edit it to make development │
-│ between slides in deck view ││ images... ┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃ ││ easier. │
-│ using your arrow keys (right →, ││ sort of! ┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃ │││
-│ left ←, up ↑, and down ↓). ││ ┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃ ││ The reload is triggered │
-│││ Spiel ┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃ ││ whenever any files under the │
-│ Press enter or escape to go ││ includes ┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃ ││ path passed to the --watch│
-│ back to "slide" view (this ││ an Image ┗━━━━ tree.jpg ━━━━━┛ ││ argument of spiel present│
-╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯
+╭──────────────── 7 | Views ────────────────╮╭────────── 8 | Displaying Images ──────────╮╭───────────── 9 | Watch Mode ──────────────╮
+│││┏━━━━━━━━━━━━━━━━━━━┓│││
+│Deck View││Images┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃││Developing a Deck│
+│││┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃│││
+│Try pressing d to go into││Spiel can┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃││Spiel will reload your deck as│
+│"deck" view.You can move││display┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃││you edit it to make development│
+│between slides in deck view││images...┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃││easier.│
+│using your arrow keys (right →,││sort of!┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃│││
+│left ←, up ↑, and down ↓).││┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃││The reload is triggered│
+│││Spiel┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃││whenever any files under the│
+│Press enter or escape to go││includes┃▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀┃││path passed to the--watch│
+│back to "slide" view (this││an Image┗━━━━ tree.jpg ━━━━━┛││argument of spiel present│
+╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯╰───────────────────────────────────────────╯
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
-Spiel Demo Deck | Triggers: Reveals 2022-12-17 03:31 PM [05 / 11]
+Spiel Demo Deck | Triggers: Reveals 2022-12-17 03:31 PM [05 / 11]
diff --git a/docs/assets/demo.svg b/docs/assets/demo.svg
index 2ed0e71..a82284e 100644
--- a/docs/assets/demo.svg
+++ b/docs/assets/demo.svg
@@ -35,8 +35,8 @@
.spieldocs-r1 { fill: #e1e1e1 }
.spieldocs-r2 { fill: #c5c8c6 }
.spieldocs-r3 { fill: #e1e1e1;font-weight: bold;text-decoration: underline; }
-.spieldocs-r4 { fill: #1984e9 }
-.spieldocs-r5 { fill: #fdfdc5 }
+.spieldocs-r4 { fill: #608ab1;text-decoration: underline; }
+.spieldocs-r5 { fill: #68a0b3;font-weight: bold }
.spieldocs-r6 { fill: #939393 }
.spieldocs-r7 { fill: #e1e1e1;font-weight: bold }
@@ -157,34 +157,34 @@
-
+
What is Spiel?Why use Spiel?
-Spiel is a framework for building and presenting It's fun!
- richly-styled presentations in your terminal using
- Python. It's weird!
+Spiel is a framework for building and presentingIt's fun!
+richly-styled presentations in your terminal using
+Python.It's weird!
- Spiel uses Rich to render slide content. Anything you Why not?
- can display with Rich, you can display with Spiel (plus
- some other things)! Maybe you shouldn't.
+Spiel uses Rich to render slide content.Anything youWhy not?
+can display with Rich, you can display with Spiel (plus
+some other things)!Maybe you shouldn't.
- Use your right → and left ← arrows keys to go forwards Honestly, it's unclear whether it's a good idea.
- and backwards through the deck. Press ctrl-c to exit.
- There's always Powerpoint!
- Press ? at any time to see the help screen, which
- describes all of the built-in actions you can take.
+Use your right → and left ← arrows keys to go forwardsHonestly, it's unclear whether it's a good idea.
+and backwards through the deck.Press ctrl-c to exit.
+There's always Powerpoint!
+Press ? at any time to see the help screen, which
+describes all of the built-in actions you can take.
ContributingInspirations
- Please report bugs via GitHub Issues. Brandon Rhodes' PyCon 2017 and North Bay Python 2017
- talks.
- If you have ideas about how Spiel can be improved, or
- you have a cool deck to show off, please post to GitHub David Beazley's Lambda Calculus from the Ground Up
-Discussions. tutorial at PyCon 2019.
+Please report bugs via GitHub Issues.Brandon Rhodes' PyCon 2017 and North Bay Python 2017
+talks.
+If you have ideas about how Spiel can be improved,or
+you have a cool deck to show off,please post to GitHubDavid Beazley's Lambda Calculus from the Ground Up
+Discussions.tutorial at PyCon 2019.
- LaTeX's Beamer document class.
+LaTeX's Beamer document class.
@@ -193,7 +193,7 @@
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
-Spiel Demo Deck | What is Spiel? 2022-12-17 03:31 PM [01 / 11]
+Spiel Demo Deck | What is Spiel? 2022-12-17 03:31 PM [01 / 11]
diff --git a/docs/assets/help.svg b/docs/assets/help.svg
index 0efd549..1b502fb 100644
--- a/docs/assets/help.svg
+++ b/docs/assets/help.svg
@@ -32,8 +32,8 @@
font-family: arial;
}
- .spieldocs-r1 { fill: #e1e1e1 }
-.spieldocs-r2 { fill: #c5c8c6 }
+ .spieldocs-r1 { fill: #c5c8c6 }
+.spieldocs-r2 { fill: #e1e1e1 }
.spieldocs-r3 { fill: #e1e1e1;font-style: italic; }
.spieldocs-r4 { fill: #e1e1e1;font-weight: bold }
.spieldocs-r5 { fill: #939393 }
@@ -155,43 +155,43 @@
-
+
-
- All Views
- ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓
- ┃ Key ┃ Description ┃
- ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩
- │ d │ Go to the Deck view. │
- │ question_mark │ Go to the Help view. │
- │ i │ Switch to the REPL. │
- │ p │ Take a screenshot. │
- └───────────────┴──────────────────────┘
-
-
- Slide View Deck View
- ┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
- ┃ Key ┃ Description ┃ ┃ Key ┃ Description ┃
- ┡━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ ┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
- │ right │ Go to next slide. │ │ right │ Go to next slide. │
- │ left │ Go to previous slide. │ │ left │ Go to previous slide. │
- │ t │ Trigger the current slide. │ │ down │ Go to next row of slides. │
- │ r │ Reset trigger state. │ │ up │ Go to previous row of slides. │
- └───────┴────────────────────────────┘ │ escape,enter │ Go to Slide view with the selected slide. │
- └──────────────┴───────────────────────────────────────────┘
-
-
- Help View
- ┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
- ┃ Key ┃ Description ┃
- ┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
- │ escape,enter │ Return to the previous view. │
- └──────────────┴──────────────────────────────┘
-
-
-
-──────────────────────────────────────────────────────────────────────────────────────────────────────────────
-Spiel Demo Deck | What is Spiel? 2022-12-17 03:31 PM [01 / 11]
+
+ All Views
+┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓
+┃Key ┃Description ┃
+┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩
+│d │Go to the Deck view.│
+│question_mark│Go to the Help view.│
+│i │Switch to the REPL. │
+│p │Take a screenshot. │
+└───────────────┴──────────────────────┘
+
+
+ Slide View Deck View
+┏━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+┃Key ┃Description ┃┃Key ┃Description ┃
+┡━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
+│right│Go to next slide. ││right │Go to next slide. │
+│left │Go to previous slide. ││left │Go to previous slide. │
+│t │Trigger the current slide.││down │Go to next row of slides. │
+│r │Reset trigger state. ││up │Go to previous row of slides. │
+└───────┴────────────────────────────┘│escape,enter│Go to Slide view with the selected slide.│
+└──────────────┴───────────────────────────────────────────┘
+
+
+ Help View
+┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
+┃Key ┃Description ┃
+┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
+│escape,enter│Return to the previous view.│
+└──────────────┴──────────────────────────────┘
+
+
+
+──────────────────────────────────────────────────────────────────────────────────────────────────────────────
+Spiel Demo Deck | What is Spiel? 2022-12-17 03:31 PM [01 / 11]
diff --git a/docs/assets/quickstart_basic.svg b/docs/assets/quickstart_basic.svg
index 0003d6a..82e8a13 100644
--- a/docs/assets/quickstart_basic.svg
+++ b/docs/assets/quickstart_basic.svg
@@ -109,7 +109,7 @@
-
+
Your content here!
@@ -130,7 +130,7 @@
──────────────────────────────────────────────────────────────────────
-Your Deck Name | Slide 1 Title 2022-12-17 03:31 PM [1 / 1]
+Your Deck Name | Slide 1 Title 2022-12-17 03:31 PM [1 / 1]
diff --git a/docs/assets/quickstart_code.svg b/docs/assets/quickstart_code.svg
index 5d82451..8878c4c 100644
--- a/docs/assets/quickstart_code.svg
+++ b/docs/assets/quickstart_code.svg
@@ -35,8 +35,8 @@
.spieldocs-r1 { fill: #e1e1e1 }
.spieldocs-r2 { fill: #c5c8c6 }
.spieldocs-r3 { fill: #e1e1e1;font-weight: bold;text-decoration: underline; }
-.spieldocs-r4 { fill: #fdfdc5 }
-.spieldocs-r5 { fill: #1984e9 }
+.spieldocs-r4 { fill: #68a0b3;font-weight: bold }
+.spieldocs-r5 { fill: #608ab1;text-decoration: underline; }
.spieldocs-r6 { fill: #939393 }
.spieldocs-r7 { fill: #e3e3dd;font-weight: bold }
.spieldocs-r8 { fill: #656660 }
@@ -194,53 +194,53 @@
-
+
Decks are made of Slides
- Here's the code for Deck and Slide!
+Here's the code for Deck and Slide!
- The source code is pulled directly from the definitions via inspect.getsource.
+The source code is pulled directly from the definitions via inspect.getsource.
- (Rich supports syntax highlighting, so Spiel does too!)
+(Rich supports syntax highlighting, so Spiel does too!)
-┌────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────────────────────────────────┐
-│10 @dataclass││17 @dataclass│
-│11 classDeck(Sequence[Slide]):││18 classSlide:│
-│12 """││19 """│
-│13 Represents a "deck" of "slides": a presentation.││20 Represents a single slide in the presentation.│
-│14 """││21 """│
-│15 ││22 │
-│16 name: str││23 title: str =""│
-│17 """The name of the `Deck`/presentation, which will be dis││24 """The title of the `Slide`, which will be displayed in t│
-│18 ││25 │
-│19 _slides: list[Slide] = field(default_factory=list)││26 content: Content =lambda: Text()│
-│20 ││27 """│
-│21 defslide(││28 A callable that is invoked by Spiel to display the slide'│
-│22 self,││29 │
-│23 title: str ="",││30 The function may optionally take arguments with these nam│
-│24 bindings: Mapping[str, Callable[..., None]] |None=││31 │
-│25 ) -> Callable[[Content], Content]:││32 - `trigger`: The current [`Trigger`][spiel.Triggers] stat│
-│26 """││33 """│
-│27 A decorator that creates a new slide in the deck,││34 │
-│28 with the decorated function as the `Slide`'s `content││35 bindings: Mapping[str, Callable[..., None]] = field(defau│
-│29 ││36 │
-│30 Args:││37 defrender(self, triggers: Triggers) -> RenderableType:│
-│31 title: The title to display for the slide.││38 signature = inspect.signature(self.content)│
-│32 bindings: A mapping of││39 │
-│33 [keys](https://textual.textualize.io/guide/in││40 kwargs: dict[str, object] = {}│
-│34 to callables to be executed when those keys a││41 if TRIGGERS in signature.parameters:│
-│35 when on this slide.││42 kwargs[TRIGGERS] = triggers│
-│36 """││43 │
-│37 ││44 return self.content(**kwargs)│
-│38 defslideify(content: Content) -> Content:│└────────────────────────────────────────────────────────────────────┘
-│39 self.add_slides(│
-│40 Slide(│
-│41 title=title,│
-│42 content=content,│
+┌────────────────────────────────────────────────────────────────────┐┌────────────────────────────────────────────────────────────────────┐
+│10 @dataclass││17 @dataclass│
+│11 classDeck(Sequence[Slide]):││18 classSlide:│
+│12 """││19 """│
+│13 Represents a "deck" of "slides": a presentation.││20 Represents a single slide in the presentation.│
+│14 """││21 """│
+│15 ││22 │
+│16 name:str││23 title:str=""│
+│17 """The name of the `Deck`/presentation, which will be dis││24 """The title of the `Slide`, which will be displayed in t│
+│18 ││25 │
+│19 _slides:list[Slide]=field(default_factory=list)││26 content:Content=lambda:Text()│
+│20 ││27 """│
+│21 defslide(││28 A callable that is invoked by Spiel to display the slide'│
+│22 self,││29 │
+│23 title:str="",││30 The function may optionally take arguments with these nam│
+│24 bindings:Mapping[str,Callable[...,None]]|None=││31 │
+│25 )->Callable[[Content],Content]:││32 - `trigger`: The current [`Trigger`][spiel.Triggers] stat│
+│26 """││33 """│
+│27 A decorator that creates a new slide in the deck,││34 │
+│28 with the decorated function as the `Slide`'s `content││35 bindings:Mapping[str,Callable[...,None]]=field(defau│
+│29 ││36 │
+│30 Args:││37 defrender(self,triggers:Triggers)->RenderableType:│
+│31 title: The title to display for the slide.││38 signature=inspect.signature(self.content)│
+│32 bindings: A mapping of││39 │
+│33 [keys](https://textual.textualize.io/guide/in││40 kwargs:dict[str,object]={}│
+│34 to callables to be executed when those keys a││41 ifTRIGGERSinsignature.parameters:│
+│35 when on this slide.││42 kwargs[TRIGGERS]=triggers│
+│36 """││43 │
+│37 ││44 returnself.content(**kwargs)│
+│38 defslideify(content:Content)->Content:│└────────────────────────────────────────────────────────────────────┘
+│39 self.add_slides(│
+│40 Slide(│
+│41 title=title,│
+│42 content=content,│
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
-Spiel Demo Deck | Decks and Slides 2022-12-17 03:31 PM [02 / 11]
+Spiel Demo Deck | Decks and Slides 2022-12-17 03:31 PM [02 / 11]
diff --git a/docs/assets/slide_loop_1.svg b/docs/assets/slide_loop_1.svg
index ff898d1..e3e9d6e 100644
--- a/docs/assets/slide_loop_1.svg
+++ b/docs/assets/slide_loop_1.svg
@@ -95,7 +95,7 @@
-
+
@@ -111,7 +111,7 @@
────────────────────────────────────────────────────────────
-Deck Name | First Slide 2022-12-17 03:31 PM [1 / 3]
+Deck Name | First Slide 2022-12-17 03:31 PM [1 / 3]
diff --git a/docs/assets/slide_loop_2.svg b/docs/assets/slide_loop_2.svg
index 688f1e1..30964e7 100644
--- a/docs/assets/slide_loop_2.svg
+++ b/docs/assets/slide_loop_2.svg
@@ -95,7 +95,7 @@
-
+
@@ -111,7 +111,7 @@
────────────────────────────────────────────────────────────
-Deck Name | Second Slide 2022-12-17 03:31 PM [2 / 3]
+Deck Name | Second Slide 2022-12-17 03:31 PM [2 / 3]
diff --git a/docs/assets/slide_loop_3.svg b/docs/assets/slide_loop_3.svg
index f383791..6e2607c 100644
--- a/docs/assets/slide_loop_3.svg
+++ b/docs/assets/slide_loop_3.svg
@@ -95,7 +95,7 @@
-
+
@@ -111,7 +111,7 @@
────────────────────────────────────────────────────────────
-Deck Name | Third Slide 2022-12-17 03:31 PM [3 / 3]
+Deck Name | Third Slide 2022-12-17 03:31 PM [3 / 3]
diff --git a/docs/assets/slide_via_decorator.svg b/docs/assets/slide_via_decorator.svg
index 66b3f0b..1a6b2f4 100644
--- a/docs/assets/slide_via_decorator.svg
+++ b/docs/assets/slide_via_decorator.svg
@@ -97,7 +97,7 @@
-
+
@@ -105,7 +105,7 @@
-Yourcontenthere!
+Yourcontenthere!
@@ -113,7 +113,7 @@
────────────────────────────────────────────────────────────
-Deck Name | Slide Title 2022-12-17 03:31 PM [1 / 1]
+Deck Name | Slide Title 2022-12-17 03:31 PM [1 / 1]
diff --git a/docs/assets/triggers_animation_1.svg b/docs/assets/triggers_animation_1.svg
index fbef508..7b0d60c 100644
--- a/docs/assets/triggers_animation_1.svg
+++ b/docs/assets/triggers_animation_1.svg
@@ -94,23 +94,23 @@
-
+
- spaces_before_bang=0 | spaces_after_bang=5
- ╭────────╮
- │ ! │
- ╰────────╯
+spaces_before_bang=0 | spaces_after_bang=5
+╭────────╮
+│! │
+╰────────╯
──────────────────────────────────────────────────────────────────────
-Trigger Examples | Animating Content 2022-12-17 03:31 PM [1 / 1]
+Trigger Examples | Animating Content 2022-12-17 03:31 PM [1 / 1]
diff --git a/docs/assets/triggers_animation_2.svg b/docs/assets/triggers_animation_2.svg
index d93f615..792f8a7 100644
--- a/docs/assets/triggers_animation_2.svg
+++ b/docs/assets/triggers_animation_2.svg
@@ -94,23 +94,23 @@
-
+
- spaces_before_bang=1 | spaces_after_bang=4
- ╭────────╮
- │ ! │
- ╰────────╯
+spaces_before_bang=1 | spaces_after_bang=4
+╭────────╮
+│ ! │
+╰────────╯
──────────────────────────────────────────────────────────────────────
-Trigger Examples | Animating Content 2022-12-17 03:31 PM [1 / 1]
+Trigger Examples | Animating Content 2022-12-17 03:31 PM [1 / 1]
diff --git a/docs/assets/triggers_animation_3.svg b/docs/assets/triggers_animation_3.svg
index fc0c85d..1e39cd7 100644
--- a/docs/assets/triggers_animation_3.svg
+++ b/docs/assets/triggers_animation_3.svg
@@ -94,23 +94,23 @@
-
+
- spaces_before_bang=3 | spaces_after_bang=2
- ╭────────╮
- │ ! │
- ╰────────╯
+spaces_before_bang=3 | spaces_after_bang=2
+╭────────╮
+│ ! │
+╰────────╯
──────────────────────────────────────────────────────────────────────
-Trigger Examples | Animating Content 2022-12-17 03:31 PM [1 / 1]
+Trigger Examples | Animating Content 2022-12-17 03:31 PM [1 / 1]
diff --git a/docs/assets/triggers_animation_4.svg b/docs/assets/triggers_animation_4.svg
index 82862b9..176a730 100644
--- a/docs/assets/triggers_animation_4.svg
+++ b/docs/assets/triggers_animation_4.svg
@@ -94,23 +94,23 @@
-
+
- spaces_before_bang=5 | spaces_after_bang=0
- ╭────────╮
- │ ! │
- ╰────────╯
+spaces_before_bang=5 | spaces_after_bang=0
+╭────────╮
+│ !│
+╰────────╯
──────────────────────────────────────────────────────────────────────
-Trigger Examples | Animating Content 2022-12-17 03:31 PM [1 / 1]
+Trigger Examples | Animating Content 2022-12-17 03:31 PM [1 / 1]
diff --git a/docs/assets/triggers_reveal_1.svg b/docs/assets/triggers_reveal_1.svg
index 09152aa..0c31c4e 100644
--- a/docs/assets/triggers_reveal_1.svg
+++ b/docs/assets/triggers_reveal_1.svg
@@ -96,9 +96,9 @@
-
+
- This slide has been triggered 1 time.
+ This slide has been triggered 1 time.
First line.
@@ -112,7 +112,7 @@
──────────────────────────────────────────────────────────────────────
-Trigger Examples | Revealing Content 2022-12-17 03:31 PM [1 / 1]
+Trigger Examples | Revealing Content 2022-12-17 03:31 PM [1 / 1]
diff --git a/docs/assets/triggers_reveal_2.svg b/docs/assets/triggers_reveal_2.svg
index d232d89..d4178b5 100644
--- a/docs/assets/triggers_reveal_2.svg
+++ b/docs/assets/triggers_reveal_2.svg
@@ -97,9 +97,9 @@
-
+
- This slide has been triggered 2 times.
+ This slide has been triggered 2 times.
First line.
@@ -113,7 +113,7 @@
──────────────────────────────────────────────────────────────────────
-Trigger Examples | Revealing Content 2022-12-17 03:31 PM [1 / 1]
+Trigger Examples | Revealing Content 2022-12-17 03:31 PM [1 / 1]
diff --git a/docs/assets/triggers_reveal_3.svg b/docs/assets/triggers_reveal_3.svg
index 6e904ad..cae0381 100644
--- a/docs/assets/triggers_reveal_3.svg
+++ b/docs/assets/triggers_reveal_3.svg
@@ -98,9 +98,9 @@
-
+
- This slide has been triggered 3 times.
+ This slide has been triggered 3 times.
First line.
@@ -114,7 +114,7 @@
──────────────────────────────────────────────────────────────────────
-Trigger Examples | Revealing Content 2022-12-17 03:31 PM [1 / 1]
+Trigger Examples | Revealing Content 2022-12-17 03:31 PM [1 / 1]
diff --git a/docs/changelog.md b/docs/changelog.md
index a7337db..e3cc6f5 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -4,6 +4,14 @@
*Unreleased*
+## `0.4.6`
+
+Released `2023-01-19`
+
+### Changed
+
+- [#208](https://github.com/JoshKarpel/spiel/pull/208) Unpinned `textual==0.4.0` and allowed `textual>=0.10.0`, which includes [textual#1558](https://github.com/Textualize/textual/pull/1558).
+
## `0.4.5`
Released `2023-01-16`
diff --git a/docs/generate_screenshots.py b/docs/generate_screenshots.py
index 50beba4..96a40c2 100755
--- a/docs/generate_screenshots.py
+++ b/docs/generate_screenshots.py
@@ -44,7 +44,7 @@ def take_reproducible_screenshot(app: App[object]) -> str:
return console.export_svg(title=app.title, unique_id="spieldocs")
-async def auto_pilot(pilot: Pilot, name: str, keys: Iterable[str]) -> None:
+async def auto_pilot(pilot: Pilot[object], name: str, keys: Iterable[str]) -> None:
await pilot.press(*intersperse("wait:50", keys), "wait:100")
(ASSETS_DIR / name).with_suffix(".svg").write_text(take_reproducible_screenshot(pilot.app))
diff --git a/poetry.lock b/poetry.lock
index bba1da6..7ecc0ab 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -242,21 +242,6 @@ files = [
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
]
-[[package]]
-name = "commonmark"
-version = "0.9.1"
-description = "Python parser for the CommonMark Markdown spec"
-category = "main"
-optional = false
-python-versions = "*"
-files = [
- {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"},
- {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"},
-]
-
-[package.extras]
-test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"]
-
[[package]]
name = "coverage"
version = "7.0.5"
@@ -486,14 +471,14 @@ dev = ["flake8", "markdown", "twine", "wheel"]
[[package]]
name = "griffe"
-version = "0.25.3"
+version = "0.25.4"
description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API."
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "griffe-0.25.3-py3-none-any.whl", hash = "sha256:c98e8471a4fc7675a7989f45563a9f7ccbfdfb1713725526d69dec1bbdcda74a"},
- {file = "griffe-0.25.3.tar.gz", hash = "sha256:a71f156851649b3f0bdad6eb6bf7d7ac70e720a30da9f2d5a60e042480e92c03"},
+ {file = "griffe-0.25.4-py3-none-any.whl", hash = "sha256:919f935a358b31074d16e324e26b041883c60a8cf10504655e394afc3a7caad8"},
+ {file = "griffe-0.25.4.tar.gz", hash = "sha256:f190edf8ef58d43c856d2d6761ec324a043ff60deb8c14359263571e8b91fe68"},
]
[package.dependencies]
@@ -627,54 +612,101 @@ files = [
[package.extras]
testing = ["coverage", "pyyaml"]
+[[package]]
+name = "markdown-it-py"
+version = "2.1.0"
+description = "Python port of markdown-it. Markdown parsing, done right!"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "markdown-it-py-2.1.0.tar.gz", hash = "sha256:cf7e59fed14b5ae17c0006eff14a2d9a00ed5f3a846148153899a0224e2c07da"},
+ {file = "markdown_it_py-2.1.0-py3-none-any.whl", hash = "sha256:93de681e5c021a432c63147656fe21790bc01231e0cd2da73626f1aa3ac0fe27"},
+]
+
+[package.dependencies]
+mdurl = ">=0.1,<1.0"
+
+[package.extras]
+benchmarking = ["psutil", "pytest", "pytest-benchmark (>=3.2,<4.0)"]
+code-style = ["pre-commit (==2.6)"]
+compare = ["commonmark (>=0.9.1,<0.10.0)", "markdown (>=3.3.6,<3.4.0)", "mistletoe (>=0.8.1,<0.9.0)", "mistune (>=2.0.2,<2.1.0)", "panflute (>=2.1.3,<2.2.0)"]
+linkify = ["linkify-it-py (>=1.0,<2.0)"]
+plugins = ["mdit-py-plugins"]
+profiling = ["gprof2dot"]
+rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"]
+testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
+
[[package]]
name = "markupsafe"
-version = "2.1.1"
+version = "2.1.2"
description = "Safely add untrusted strings to HTML/XML markup."
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"},
- {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"},
- {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"},
- {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"},
- {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4"},
- {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f"},
- {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e"},
- {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933"},
- {file = "MarkupSafe-2.1.1-cp310-cp310-win32.whl", hash = "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6"},
- {file = "MarkupSafe-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417"},
- {file = "MarkupSafe-2.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02"},
- {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a"},
- {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37"},
- {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980"},
- {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a"},
- {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3"},
- {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a"},
- {file = "MarkupSafe-2.1.1-cp37-cp37m-win32.whl", hash = "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff"},
- {file = "MarkupSafe-2.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a"},
- {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452"},
- {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003"},
- {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1"},
- {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"},
- {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925"},
- {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f"},
- {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88"},
- {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63"},
- {file = "MarkupSafe-2.1.1-cp38-cp38-win32.whl", hash = "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1"},
- {file = "MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"},
- {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a"},
- {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f"},
- {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6"},
- {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"},
- {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603"},
- {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7"},
- {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135"},
- {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96"},
- {file = "MarkupSafe-2.1.1-cp39-cp39-win32.whl", hash = "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c"},
- {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"},
- {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"},
+ {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"},
+ {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"},
+ {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"},
+ {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"},
+ {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"},
+ {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"},
+ {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"},
+ {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"},
+ {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"},
+ {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"},
+ {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"},
+ {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"},
+ {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"},
+ {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"},
+ {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"},
+ {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"},
+ {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"},
+ {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"},
+ {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"},
+ {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"},
+ {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"},
+ {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"},
+ {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"},
+ {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"},
+ {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"},
+ {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"},
+ {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"},
+ {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"},
+ {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"},
+ {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"},
+ {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"},
+ {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"},
+ {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"},
+ {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"},
+ {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"},
+ {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"},
+ {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"},
+ {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"},
+ {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"},
+ {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"},
+ {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"},
+ {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"},
+ {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"},
+ {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"},
+ {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"},
+ {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"},
+ {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"},
+ {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"},
+ {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"},
+ {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"},
+]
+
+[[package]]
+name = "mdurl"
+version = "0.1.2"
+description = "Markdown URL utilities"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+files = [
+ {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"},
+ {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
]
[[package]]
@@ -735,14 +767,14 @@ mkdocs = ">=1.1"
[[package]]
name = "mkdocs-material"
-version = "9.0.5"
+version = "9.0.6"
description = "Documentation that simply works"
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "mkdocs_material-9.0.5-py3-none-any.whl", hash = "sha256:53194bf8ae7dfb527fef2892a6ee291d3efc7b57d010b04dbb818b4ee88074a5"},
- {file = "mkdocs_material-9.0.5.tar.gz", hash = "sha256:bbfed71788223b4c548a6e637cb7a9ee5b6ad6593c6d5b04e57c9c4d2c39d76b"},
+ {file = "mkdocs_material-9.0.6-py3-none-any.whl", hash = "sha256:4a71195ddc100dddf07d4b23b53373f36c5f0f1010fa4ea301ca7a8e949dd9e7"},
+ {file = "mkdocs_material-9.0.6.tar.gz", hash = "sha256:6065b573e38746dc267d7fc84252be31b73da955b2ce553687806b6030e51ee0"},
]
[package.dependencies]
@@ -770,14 +802,14 @@ files = [
[[package]]
name = "mkdocstrings"
-version = "0.19.1"
+version = "0.20.0"
description = "Automatic documentation from sources, for MkDocs."
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
- {file = "mkdocstrings-0.19.1-py3-none-any.whl", hash = "sha256:32a38d88f67f65b264184ea71290f9332db750d189dea4200cbbe408d304c261"},
- {file = "mkdocstrings-0.19.1.tar.gz", hash = "sha256:d1037cacb4b522c1e8c164ed5d00d724a82e49dcee0af80db8fb67b384faeef9"},
+ {file = "mkdocstrings-0.20.0-py3-none-any.whl", hash = "sha256:f17fc2c4f760ec302b069075ef9e31045aa6372ca91d2f35ded3adba8e25a472"},
+ {file = "mkdocstrings-0.20.0.tar.gz", hash = "sha256:c757f4f646d4f939491d6bc9256bfe33e36c5f8026392f49eaa351d241c838e5"},
]
[package.dependencies]
@@ -1552,18 +1584,18 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[[package]]
name = "rich"
-version = "12.6.0"
+version = "13.2.0"
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
category = "main"
optional = false
-python-versions = ">=3.6.3,<4.0.0"
+python-versions = ">=3.7.0"
files = [
- {file = "rich-12.6.0-py3-none-any.whl", hash = "sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e"},
- {file = "rich-12.6.0.tar.gz", hash = "sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0"},
+ {file = "rich-13.2.0-py3-none-any.whl", hash = "sha256:7c963f0d03819221e9ac561e1bc866e3f95a02248c1234daa48954e6d381c003"},
+ {file = "rich-13.2.0.tar.gz", hash = "sha256:f1a00cdd3eebf999a15d85ec498bfe0b1a77efe9b34f645768a54132ef444ac5"},
]
[package.dependencies]
-commonmark = ">=0.9.0,<0.10.0"
+markdown-it-py = ">=2.1.0,<3.0.0"
pygments = ">=2.6.0,<3.0.0"
[package.extras]
@@ -1624,14 +1656,14 @@ files = [
[[package]]
name = "textual"
-version = "0.4.0"
+version = "0.10.0"
description = "Modern Text User Interface framework"
category = "main"
optional = false
python-versions = ">=3.7,<4.0"
files = [
- {file = "textual-0.4.0-py3-none-any.whl", hash = "sha256:10aac2d244ef4a5aef89a38f9088382a5ce6914cec953d40a9527d729c300f53"},
- {file = "textual-0.4.0.tar.gz", hash = "sha256:53c836c978a8d8460efc4f097fc4748a3d68060b4c77d8fa80fdf6cca9a8198c"},
+ {file = "textual-0.10.0-py3-none-any.whl", hash = "sha256:d4c9215595d348bb35f27e9865572cd64c3d15448ff4578a33038c94e3fe6761"},
+ {file = "textual-0.10.0.tar.gz", hash = "sha256:7b4e7fdc67e9101b6c9799be3f400d6812ebffc2fa760fe50b08450fbcc75bfe"},
]
[package.dependencies]
@@ -1640,7 +1672,7 @@ click = {version = ">=8.1.2", optional = true, markers = "extra == \"dev\""}
importlib-metadata = ">=4.11.3,<5.0.0"
msgpack = {version = ">=1.0.3", optional = true, markers = "extra == \"dev\""}
nanoid = ">=2.0.0"
-rich = ">=12.6.0,<13.0.0"
+rich = ">12.6.0"
[package.extras]
dev = ["aiohttp (>=3.8.1)", "click (>=8.1.2)", "msgpack (>=1.0.3)"]
@@ -1907,4 +1939,4 @@ testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools"
[metadata]
lock-version = "2.0"
python-versions = ">=3.10,<4"
-content-hash = "32aa9da5bad39b65c0fed5734eeb75bc169becc660517755faa80bc6c88f4d9a"
+content-hash = "4042da5d4785d3b5d52ce5e870731325d0c8e0ddebe43fad297c37cfdeb196d6"
diff --git a/pyproject.toml b/pyproject.toml
index 637b345..c3f72a2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "spiel"
-version = "0.4.5"
+version = "0.4.6"
description = "A framework for building and presenting richly-styled presentations in your terminal using Python."
readme="README.md"
homepage="https://github.com/JoshKarpel/spiel"
@@ -39,10 +39,10 @@ include = ["py.typed", "demo/*", "spiel.css"]
[tool.poetry.dependencies]
python = ">=3.10,<4"
-rich = ">=12"
+rich = ">=13.2"
typer = ">=0.6"
pillow = ">=8"
-textual = "==0.4.0"
+textual = ">=0.10.0"
watchfiles = ">=0.18"
more-itertools = ">=9"
@@ -55,7 +55,7 @@ mypy = ">=0.991"
pytest-mypy = ">=0.10"
pytest-mock = ">=3"
hypothesis = ">=6"
-textual = {extras = ["dev"], version = "==0.4.0"}
+textual = {extras = ["dev"], version = ">=0.10.0"}
mkdocs = ">=1.4"
mkdocs-material = ">=9"
mkdocstrings = {extras = ["python"], version = ">=0.19.0"}