bundle.website.core.component

Attributes

Classes

ComponentAsset

Base data model class, providing utilities for serialization and deserialization

Component

Base data model class, providing utilities for serialization and deserialization

ComponentAssets

Base data model class, providing utilities for serialization and deserialization

Functions

attach_routes(→ None)

context(→ dict[str, Any])

Module Contents

bundle.website.core.component.COMPONENTS_ROOT
class bundle.website.core.component.ComponentAsset(/, **data: Any)

Bases: bundle.core.data.Data

Base data model class, providing utilities for serialization and deserialization from/to JSON, along with JSON Schema generation.

model_config

Default model configuration settings.

kind: AssetKind | None = None
path: str
route_name: str = 'static'
module: bool = False
class bundle.website.core.component.Component(/, **data: Any)

Bases: bundle.core.data.Data

Base data model class, providing utilities for serialization and deserialization from/to JSON, along with JSON Schema generation.

model_config

Default model configuration settings.

slug: str
template: str | None = None
assets: list[ComponentAsset] = None
routers: list[fastapi.APIRouter] = None
params: bundle.core.data.Data | None = None
name: str | None = None
description: str | None = None
asset_filenames: ClassVar[tuple[str, Ellipsis]] = ('component.css', 'component.js', 'component.mjs')
component_file: str | pathlib.Path | None = None
build_routers() list[fastapi.APIRouter]
static component_assets(*paths: str, route_name: str = 'components_static') list[ComponentAsset]
classmethod component_asset_paths_for(component_file: str | pathlib.Path, *, asset_filenames: collections.abc.Iterable[str] | None = None) list[str]
classmethod component_assets_for(component_file: str | pathlib.Path, *, route_name: str = 'components_static') list[ComponentAsset]
classmethod component_template_for(component_file: str | pathlib.Path) str | None
class bundle.website.core.component.ComponentAssets(/, **data: Any)

Bases: bundle.core.data.Data

Base data model class, providing utilities for serialization and deserialization from/to JSON, along with JSON Schema generation.

model_config

Default model configuration settings.

styles: list[ComponentAsset] = None
scripts: list[ComponentAsset] = None
classmethod from_components(items: tuple[Component, Ellipsis]) ComponentAssets
bundle.website.core.component.attach_routes(router: fastapi.APIRouter, *items: Component) None
bundle.website.core.component.context(*items: Component) dict[str, Any]