Theme
theme
¶
Defines the "Sumi & Shu" theme for the Flet GUI
Exposes a color palette, a Material ft.Theme + Font Registration, and themed
subclasses for flet primitives
Fontend + CLI Design
- Warm Sumi-Ink Surfaces
- Washi Text
- Single Vermilion (shu) Accent
ButtonProgressRing
¶
Bases: ProgressRing
Builds a small leading progress ring to be shown while a button is loading
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
color
|
str
|
The ring colour |
required |
HelpIcon
¶
Bases: IconButton
Builds a faint ? icon that reveals text as a hover tooltip
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
The tooltip text (typically a long field description) |
required |
NotificationBar
¶
Bases: SnackBar
A floating, globally styled toast notification
PrimaryActionButton
¶
Bases: ElevatedButton
A primary (shu) action button that can swap to a loading spinner
set_loading(is_loading)
¶
Toggles a leading spinner without changing the button's footprint
Only the leading icon is swapped for a progress ring (the label is kept), so the button keeps its shape; it is disabled while loading to prevent double-clicks
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
is_loading
|
bool
|
Whether to show the spinner |
required |
SecondaryActionButton
¶
Bases: OutlinedButton
A secondary (outlined) action button that can swap to a loading spinner
set_loading(is_loading)
¶
Toggles a leading spinner without changing the button's footprint
Only the leading icon is swapped for a progress ring (the label is kept), so the button keeps its shape; it is disabled while loading to prevent double-clicks
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
is_loading
|
bool
|
Whether to show the spinner |
required |
Section
¶
Bases: SurfaceCardContainer
Builds a SurfaceCardContainer (ft.Container) with a custom
ft.Column as its content to be used as a section
Forwards all kwargs to the underlying ft.Container
SettingsDropdown
¶
Bases: Column
A themed dropdown field following the same open layout as SettingsInput
Inherits from ft.Column and exposes all of its arguments
SettingsInput
¶
Bases: Column
A labelled, full-width text input
Inherits from ft.Column and exposes all of its arguments
The label sits above a full-width field. An optional description is shown
as a ? hover tooltip beside the label, and an optional helper line can
sit below the field
Attributes:
| Name | Type | Description |
|---|---|---|
field |
TextField
|
The underlying text field |
SurfaceCardContainer
¶
Bases: Container
Wraps content in a surface card with a hairline border
Inherits from ft.Container, exposing all of its arguments
TerminalSurface
¶
Bases: Container
The shared output surface for streamed command output
Inherits from ft.Container and exposes all of its arguments
Layout
-
Shows a monospace log list inside a bordered card with a status header
-
A header button clears the log list, leaving the status and any running operation untouched
-
A header toggle hides the log list (preserving its contents) and shrinks the card to its header bar.Toggling again restores it
-
In-progress status is shown in the header
-
final success / error outcomes are surfaced as toasts by the actions that drive the surface
Attributes:
| Name | Type | Description |
|---|---|---|
list_view |
ListView
|
The scrolling, monospace log list |
status_text |
Text
|
The colour-coded header status label |
copy_button |
IconButton
|
Copies the buffered output to the clipboard |
clear_button |
IconButton
|
Clears the log list |
logs_toggle |
IconButton
|
Hides / shows the log list |
append_log(text)
¶
Renders one monospace output line
Docker per-layer progress lines are collapsed by layer id, overwriting
a single in-place row coloured by status, so a pull reads like a
console instead of a flood of per-update lines. Every other line is
appended as usual, with a leading key ↦ column dimmed
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
The output line to render |
required |
clear()
¶
Clears all current log lines
MirumojiTheme()
¶
Builds the GUI's global theme
Defines a ft.ColorScheme based on the Sumi & Shu Color Palette
Fonts
-
Uses the
Hanken Groteskfont for main UI + body text -
Uses
Newsreaderfor headlines and labels
Returns:
| Type | Description |
|---|---|
Theme
|
The configured |
StatusPill(text, kind='muted', **kwargs)
¶
A rounded, tinted status chip built from an ft.Container
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
The chip's label |
required |
kind
|
str
|
A key fromt the status palette (success / danger / warning / info / muted) |
'muted'
|
**kwargs
|
Any
|
Additional arguments for the underlying |
{}
|
Returns:
| Type | Description |
|---|---|
Container
|
The configured |