diff --git a/zhenxun/ui/models/__init__.py b/zhenxun/ui/models/__init__.py index 34fb418c..7f65faa6 100644 --- a/zhenxun/ui/models/__init__.py +++ b/zhenxun/ui/models/__init__.py @@ -12,6 +12,7 @@ from .components import ( from .core import ( BaseCell, CodeElement, + ComponentCell, HeadingElement, ImageCell, ImageElement, @@ -49,6 +50,7 @@ __all__ = [ "BaseCell", "BaseChartData", "CodeElement", + "ComponentCell", "Divider", "EChartsData", "HeadingElement", diff --git a/zhenxun/ui/models/core/__init__.py b/zhenxun/ui/models/core/__init__.py index e19ed058..94ae517e 100644 --- a/zhenxun/ui/models/core/__init__.py +++ b/zhenxun/ui/models/core/__init__.py @@ -24,6 +24,7 @@ from .markdown import ( from .notebook import NotebookData, NotebookElement from .table import ( BaseCell, + ComponentCell, ImageCell, RichTextCell, StatusBadgeCell, @@ -38,6 +39,7 @@ __all__ = [ "BaseCell", "CardData", "CodeElement", + "ComponentCell", "DetailsData", "DetailsItem", "HeadingElement", diff --git a/zhenxun/ui/models/core/table.py b/zhenxun/ui/models/core/table.py index daef088b..0ce9eb78 100644 --- a/zhenxun/ui/models/core/table.py +++ b/zhenxun/ui/models/core/table.py @@ -10,6 +10,7 @@ from .text import TextSpan __all__ = [ "BaseCell", + "ComponentCell", "ImageCell", "ProgressBarCell", "RichTextCell", @@ -78,12 +79,20 @@ class RichTextCell(BaseCell): """片段之间的间距""" +class ComponentCell(BaseCell): + """一个通用的单元格,可以容纳任何可渲染的组件。""" + + type: str = "component" + component: RenderableComponent + + TableCell = ( TextCell | ImageCell | StatusBadgeCell | ProgressBarCell | RichTextCell + | ComponentCell | str | int | float