Package-level declarations

Public application-integration support for Kobweb applications using Tabler. It owns application state, settings, theme selection, site configuration, and the shared page shell.

This is not a Tabler widget package. Its _ prefix distinguishes application infrastructure from component concepts such as navbar or table.

See Tabler page layouts.

Types

Link copied to clipboard
@Stable
class TabwebAppState(initialSettings: TabwebSettings)

Stable, observable owner of the current TabwebSettings.

Link copied to clipboard

Structured content for a Tabweb page footer.

Link copied to clipboard

A single item rendered inside one of the footer's dotted inline lists.

Link copied to clipboard
data class TabwebLayoutData(val activeRoute: String, val footer: TabwebFooter? = null, val sectionNavigation: TabwebSectionNavigationFactory? = null)

Route-scoped content supplied to the shared Tabweb Kobweb layout.

Link copied to clipboard
data class TabwebLayoutOptions(val navigationPosition: TabwebLayoutOptions.NavigationPosition = NavigationPosition.Vertical, val containerWidth: TabwebLayoutOptions.ContainerWidth = ContainerWidth.Fluid, val sidebarMode: TabwebLayoutOptions.SidebarMode = SidebarMode.Default, val sidebarPlacement: TabwebLayoutOptions.SidebarPlacement = SidebarPlacement.Start, val navbarBehavior: NavbarBehavior = NavbarBehavior.DEFAULT, val navbarTheme: TabwebLayoutOptions.NavbarTheme = NavbarTheme.Default)

Configuration for the structural and behavioral variants of a Tabweb page shell.

Link copied to clipboard
data class TabwebPageMeta(val title: String, val subtitle: String? = null, val breadcrumbs: List<BreadcrumbItem> = emptyList())

Route metadata consumed by the shared Tabweb page-header block.

Link copied to clipboard
@Immutable
data class TabwebSettings(val theme: TabwebTheme = TabwebTheme.SYSTEM, val navbarBehavior: NavbarBehavior = NavbarBehavior.DEFAULT)

Immutable snapshot of Tabweb presentation settings for the current application state.

Link copied to clipboard
data class TabwebShellConfig(val brand: TabwebBrand.Brand = TabwebBrand.Brand.Logo( image = Url("/tabweb/tabweb-logo.svg"), caption = AppGlobals["title"] ?: "tabweb" ), val navbar: TabwebNavbarFactory = TabwebNavbarFactory.None, val navigation: TabwebNavigation? = null, val navbarActions: @Composable () -> Unit = {}, val footer: TabwebFooter = TabwebFooter())

Shared page-shell defaults supplied by TabwebSiteConfig.

Link copied to clipboard
data class TabwebSiteConfig(val shell: TabwebShellConfig = TabwebShellConfig())

Static, site-specific defaults for the Tabweb page shell.

Link copied to clipboard

Selects the color mode applied to the document for Tabweb components.

Properties

Link copied to clipboard
val LocalTabwebAppState: ProvidableCompositionLocal<TabwebAppState>

The TabwebAppState visible to the current Compose subtree.

Link copied to clipboard
val LocalTabwebSiteConfig: ProvidableCompositionLocal<TabwebSiteConfig>

The TabwebSiteConfig visible to the current Compose subtree.

Functions

Link copied to clipboard
@Composable
fun ProvideTabwebAppState(state: TabwebAppState, content: @Composable () -> Unit)

Provides state to Tabweb composables and synchronizes its settings with the document's Tabweb attributes and the browser tab's session storage.

Link copied to clipboard
@Composable
fun ProvideTabwebSiteConfig(site: TabwebSiteConfig, content: @Composable () -> Unit)

Provides static site defaults to Tabweb composables in content.

Link copied to clipboard
@Composable
fun rememberTabwebAppState(initialSettings: TabwebSettings = TabwebSettings()): TabwebAppState

Creates one TabwebAppState for the lifetime of its composition location. A theme selected in this browser tab's session takes precedence over initialSettings.

Link copied to clipboard
@Composable
fun TabwebLayout(ctx: PageContext, content: @Composable () -> Unit)

Kobweb layout that renders the shared Tabweb page shell around a route.

@Composable
fun TabwebLayout(ctx: PageContext, layoutData: TabwebLayoutData, pageMeta: TabwebPageMeta, content: @Composable () -> Unit)

Renders the shared Tabweb page shell with explicitly supplied route data.

Link copied to clipboard
@Composable
fun TabwebPageBody(modifier: Modifier = Modifier, content: @Composable () -> Unit)

Renders the semantic main-content block of a Tabweb page.

Link copied to clipboard
@Composable
fun TabwebPageHeader(title: String, subtitle: String? = null, breadcrumbs: List<BreadcrumbItem> = emptyList(), modifier: Modifier = Modifier)

Renders the main Tabweb page header block. Page-header block for the current Tabweb route.