Table of Contents

Namespace BlazOrbit.Components

Classes

AutogenerateCssColorsAttribute

Marks a partial static class so the ColorClassGenerator expands it into per-color nested partial classes (Default + lighten/darken variants) at compile time.

BOBAccordion
BOBAccordionComponentInfo

Auto-generated parameter docs for BOBAccordion.

BOBAccordionItem
BOBAccordionItemComponentInfo

Auto-generated parameter docs for BOBAccordionItem.

BOBAspectRatio
BOBAspectRatioComponentInfo

Auto-generated parameter docs for BOBAspectRatio.

BOBAvatar
BOBAvatarComponentInfo

Auto-generated parameter docs for BOBAvatar.

BOBAvatarGroup
BOBAvatarGroupComponentInfo

Auto-generated parameter docs for BOBAvatarGroup.

BOBBadge
BOBBadgeComponentInfo

Auto-generated parameter docs for BOBBadge.

BOBBadgeVariant

Represents a variant definition for the BOBBadge component.

BOBBanner
BOBBannerComponentInfo

Auto-generated parameter docs for BOBBanner.

BOBBlazorLayout
BOBBorderPresets

Provides predefined BorderStyle instances for common border appearances.

BOBBreadcrumbs
BOBBreadcrumbsComponentInfo

Auto-generated parameter docs for BOBBreadcrumbs.

BOBButton
BOBButtonComponentInfo

Auto-generated parameter docs for BOBButton.

BOBButtonVariant

Represents a variant definition for the BOBButton component.

BOBCard
BOBCardComponentInfo

Auto-generated parameter docs for BOBCard.

BOBCardVariant

Represents a variant definition for the BOBCard component.

BOBCarousel
BOBCarouselComponentInfo

Auto-generated parameter docs for BOBCarousel.

BOBCarouselItem
BOBCarouselItemComponentInfo

Auto-generated parameter docs for BOBCarouselItem.

BOBChip
BOBChipComponentInfo

Auto-generated parameter docs for BOBChip.

BOBChipGroupComponentInfo

Auto-generated parameter docs for BOBChipGroup.

BOBChipGroup<TValue>
BOBColor

Root of the BlazOrbit CSS color palette. AutogenerateCssColorsAttribute expands this partial with per-color nested classes (Default + 3 lighten/darken steps).

BOBColor.AliceBlue
BOBColor.AntiqueWhite
BOBColor.Aqua
BOBColor.Aquamarine
BOBColor.Azure
BOBColor.Beige
BOBColor.Bisque
BOBColor.Black
BOBColor.BlanchedAlmond
BOBColor.Blue
BOBColor.BlueViolet
BOBColor.Brown
BOBColor.BurlyWood
BOBColor.CadetBlue
BOBColor.Chartreuse
BOBColor.Chocolate
BOBColor.Coral
BOBColor.CornflowerBlue
BOBColor.Cornsilk
BOBColor.Crimson
BOBColor.Cyan
BOBColor.DarkBlue
BOBColor.DarkCyan
BOBColor.DarkGoldenrod
BOBColor.DarkGray
BOBColor.DarkGreen
BOBColor.DarkKhaki
BOBColor.DarkMagenta
BOBColor.DarkOliveGreen
BOBColor.DarkOrange
BOBColor.DarkOrchid
BOBColor.DarkRed
BOBColor.DarkSalmon
BOBColor.DarkSeaGreen
BOBColor.DarkSlateBlue
BOBColor.DarkSlateGray
BOBColor.DarkTurquoise
BOBColor.DarkViolet
BOBColor.DeepPink
BOBColor.DeepSkyBlue
BOBColor.DimGray
BOBColor.DodgerBlue
BOBColor.Firebrick
BOBColor.FloralWhite
BOBColor.ForestGreen
BOBColor.Fuchsia
BOBColor.Gainsboro
BOBColor.GhostWhite
BOBColor.Gold
BOBColor.Goldenrod
BOBColor.Gray
BOBColor.Green
BOBColor.GreenYellow
BOBColor.Honeydew
BOBColor.HotPink
BOBColor.IndianRed
BOBColor.Indigo
BOBColor.Ivory
BOBColor.Khaki
BOBColor.Lavender
BOBColor.LavenderBlush
BOBColor.LawnGreen
BOBColor.LemonChiffon
BOBColor.LightBlue
BOBColor.LightCoral
BOBColor.LightCyan
BOBColor.LightGoldenrodYellow
BOBColor.LightGray
BOBColor.LightGreen
BOBColor.LightPink
BOBColor.LightSalmon
BOBColor.LightSeaGreen
BOBColor.LightSkyBlue
BOBColor.LightSlateGray
BOBColor.LightSteelBlue
BOBColor.LightYellow
BOBColor.Lime
BOBColor.LimeGreen
BOBColor.Linen
BOBColor.Magenta
BOBColor.Maroon
BOBColor.MediumAquamarine
BOBColor.MediumBlue
BOBColor.MediumOrchid
BOBColor.MediumPurple
BOBColor.MediumSeaGreen
BOBColor.MediumSlateBlue
BOBColor.MediumSpringGreen
BOBColor.MediumTurquoise
BOBColor.MediumVioletRed
BOBColor.MidnightBlue
BOBColor.MintCream
BOBColor.MistyRose
BOBColor.Moccasin
BOBColor.NavajoWhite
BOBColor.Navy
BOBColor.OldLace
BOBColor.Olive
BOBColor.OliveDrab
BOBColor.Orange
BOBColor.OrangeRed
BOBColor.Orchid
BOBColor.PaleGoldenrod
BOBColor.PaleGreen
BOBColor.PaleTurquoise
BOBColor.PaleVioletRed
BOBColor.PapayaWhip
BOBColor.PeachPuff
BOBColor.Peru
BOBColor.Pink
BOBColor.Plum
BOBColor.PowderBlue
BOBColor.Purple
BOBColor.RebeccaPurple
BOBColor.Red
BOBColor.RosyBrown
BOBColor.RoyalBlue
BOBColor.SaddleBrown
BOBColor.Salmon
BOBColor.SandyBrown
BOBColor.SeaGreen
BOBColor.SeaShell
BOBColor.Sienna
BOBColor.Silver
BOBColor.SkyBlue
BOBColor.SlateBlue
BOBColor.SlateGray
BOBColor.Snow
BOBColor.SpringGreen
BOBColor.SteelBlue
BOBColor.Tan
BOBColor.Teal
BOBColor.Thistle
BOBColor.Tomato
BOBColor.Transparent
BOBColor.Turquoise
BOBColor.Violet
BOBColor.Wheat
BOBColor.White
BOBColor.WhiteSmoke
BOBColor.Yellow
BOBColor.YellowGreen
BOBComponentMetrics

Accumulated diagnostic metrics for a single component type.

BOBConfirmDialog
BOBConfirmDialogComponentInfo

Auto-generated parameter docs for BOBConfirmDialog.

BOBContainer
BOBContainerComponentInfo

Auto-generated parameter docs for BOBContainer.

BOBDataCardsComponentInfo

Auto-generated parameter docs for BOBDataCards.

BOBDataCards<TItem>
BOBDataCollectionBase<TItem, TComponent, TVariant>

Shared base for data-collection components (grid, cards) that own column registration, sorting, filtering, paging and selection state.

BOBDataCollectionClipboardSerializer<TItem>

Serializes a snapshot of a data collection (rows + visible columns) to the two clipboard payloads expected by spreadsheet applications:

  • text/plain as TSV — Excel, Sheets, Numbers and plain editors all consume tab-separated values directly.
  • text/html as a <table> — preserves cell typing when the destination's HTML clipboard reader is preferred (Excel especially: numbers stay numbers, dates stay dates, leading-zero strings survive).
Both forms write the same logical grid; the HTML variant additionally escapes special characters so a cell value containing markup cannot break out of the table envelope.
BOBDataColumn<TItem>
BOBDataGridComponentInfo

Auto-generated parameter docs for BOBDataGrid.

BOBDataGridCopyEventArgs<TItem>

Payload delivered to OnCopy after the grid has written the snapshot to the system clipboard. The consumer typically uses Items.Count for a confirmation toast, or inspects Tsv / Html for logging and analytics.

BOBDataGrid<TItem>
BOBDialog
BOBDialogComponentInfo

Auto-generated parameter docs for BOBDialog.

BOBDraggable
BOBDraggableComponentInfo

Auto-generated parameter docs for BOBDraggable.

BOBDrawer
BOBDrawerComponentInfo

Auto-generated parameter docs for BOBDrawer.

BOBElevationPresets

Resolves an integer elevation level (0–24) to the Material Design 3 surface-tint percentage that consuming components apply on top of var(--palette-surface) via color-mix.

The returned percentage is the dark-mode M3 curve (0/5/8/11/12/14, plateau-14% from level 5 onwards). In light mode, components either gate the consumption of --bob-inline-elevation-tint behind [data-bob-theme="dark"] selectors, or accept that color-mix(... 0%) with the same value visually approximates light-mode behaviour (no perceptible tint at low levels).

The tint color is decided by the CSS layer (default: var(--palette-surface-contrast)); this class owns only the amount.

BOBFlexStack
BOBFlexStackComponentInfo

Auto-generated parameter docs for BOBFlexStack.

BOBGrid
BOBGridComponentInfo

Auto-generated parameter docs for BOBGrid.

BOBGridItem
BOBGridItemComponentInfo

Auto-generated parameter docs for BOBGridItem.

BOBIconKeys
BOBIconKeys.Brands
BOBIconKeys.FileFormats
BOBIconKeys.MaterialIconsOutlined
BOBIconKeys.MaterialIconsRound
BOBIconKeys.MaterialIconsSharp
BOBIconKeys.MaterialIconsTwoTone
BOBIconKeys.Materials
BOBIconKeys.UI
BOBIcons
BOBIcons.Brands
BOBIcons.FileFormats
BOBIcons.MaterialIconsOutlined
BOBIcons.MaterialIconsRound
BOBIcons.MaterialIconsSharp
BOBIcons.MaterialIconsTwoTone
BOBIcons.Materials
BOBIcons.UI
BOBInitializer
BOBModalContainer
BOBModalHost
BOBNotificationBadge
BOBNotificationBadgeComponentInfo

Auto-generated parameter docs for BOBNotificationBadge.

BOBPageHeader
BOBPageHeaderComponentInfo

Auto-generated parameter docs for BOBPageHeader.

BOBPerformanceDashboard
BOBPerformanceService

Default in-memory IBOBPerformanceService implementation.

BOBProgressBar
BOBProgressBarComponentInfo

Auto-generated parameter docs for BOBProgressBar.

BOBProgressIcon
BOBProgressIconComponentInfo

Auto-generated parameter docs for BOBProgressIcon.

BOBProgressIconVariant

Represents a variant definition for the BOBProgressIcon component.

BOBProgressRing
BOBProgressRingComponentInfo

Auto-generated parameter docs for BOBProgressRing.

BOBRating
BOBRatingComponentInfo

Auto-generated parameter docs for BOBRating.

BOBRowPatternPresets

Provides preset RowStylePattern configurations.

BOBSection
BOBSectionComponentInfo

Auto-generated parameter docs for BOBSection.

BOBSelectComponentInfo

Auto-generated parameter docs for BOBSelect.

BOBSelectVariant

Represents a variant definition for the BOBSelect<TValue> component.

BOBSelect<TValue>
BOBShadowPresets

Provides predefined ShadowStyle instances based on Material Design elevation levels.

BOBSidebarLayout
BOBSplitter
BOBSplitterComponentInfo

Auto-generated parameter docs for BOBSplitter.

BOBSplitterPane
BOBSplitterPaneComponentInfo

Auto-generated parameter docs for BOBSplitterPane.

BOBStackedLayout
BOBStatCard
BOBStatCardComponentInfo

Auto-generated parameter docs for BOBStatCard.

BOBStep
BOBStepChangeEventArgs

Mutable arguments raised by BOBStepper.OnStepChange before applying a step transition. Set Cancel to true from a handler to keep the active step at From.

BOBStepComponentInfo

Auto-generated parameter docs for BOBStep.

BOBStepper
BOBStepperComponentInfo

Auto-generated parameter docs for BOBStepper.

BOBStylingKeys

Public, stable subset of the BlazOrbit CSS/DOM contract that consumers can reference when writing custom CSS or tests against BOB components.

BOBSvgIcon
BOBSvgIconComponentInfo

Auto-generated parameter docs for BOBSvgIcon.

BOBSvgIconVariant

Represents a variant definition for the BOBSvgIcon component.

BOBTab
BOBTabComponentInfo

Auto-generated parameter docs for BOBTab.

BOBTabs
BOBTabsComponentInfo

Auto-generated parameter docs for BOBTabs.

BOBTabsVariant

Represents a variant definition for the BOBTabs component.

BOBThemeSelector
BOBThemeSelectorComponentInfo

Auto-generated parameter docs for BOBThemeSelector.

BOBThemeSelectorVariant

Variant definition for the BOBThemeSelector component.

BOBTimeline
BOBTimelineComponentInfo

Auto-generated parameter docs for BOBTimeline.

BOBToast
BOBToastComponentInfo

Auto-generated parameter docs for BOBToast.

BOBToastHost
BOBToastHostComponentInfo

Auto-generated parameter docs for BOBToastHost.

BOBToastVariant

Variant definition for the BOBToast component.

BOBTooltip
BOBTooltipComponentInfo

Auto-generated parameter docs for BOBTooltip.

BOBTransitionPresets

Ready-made BOBTransitions recipes for common interactive effects.

BOBTransitions

Aggregates transition entries keyed by TransitionTrigger and emits CSS variables / shorthand.

BOBTransitionsBuilder

Fluent root builder for a BOBTransitions set keyed by trigger.

BOBTreeMenuComponentInfo

Auto-generated parameter docs for BOBTreeMenu.

BOBTreeMenuItem
BOBTreeMenuItemComponentInfo

Auto-generated parameter docs for BOBTreeMenuItem.

BOBTreeMenu<TItem>
BOBTreeNodeBase<TRegistration>

Registration-only base for tree nodes (BOBTreeMenuItem, BOBTreeSelectorItem). Intentionally inherits Microsoft.AspNetCore.Components.ComponentBase (not BOBComponentBase) because the node registers itself with the enclosing tree container via cascading parameters and the container renders the flattened structure. The node does not emit its own <bob-component> root.

BOBTreeSelectorComponentInfo

Auto-generated parameter docs for BOBTreeSelector.

BOBTreeSelectorItem
BOBTreeSelectorItemComponentInfo

Auto-generated parameter docs for BOBTreeSelectorItem.

BOBTreeSelector<TItem>
BorderCssValues

Holds the computed CSS border values extracted from a BorderStyle.

BorderStyle

Fluent builder for constructing CSS border styles.

ConfirmService

Default IConfirmService implementation auto-registered by AddBlazOrbit().

CssColor

The Css color representation.

CssColorVariant

Describes a per-step lightening or darkening transformation applied to a CssColor.

CubicBezierBuilder

Fluent builder for a CSS cubic-bezier(...) easing function.

DataCardsVariant

Variant definition for the BOBDataCards<TItem> component.

DataCollectionBulkAction<TItem>

Single bulk action rendered in the toolbar when at least one row is selected. Receives the current selection on activation. Use for "Delete selected", "Export selected", "Approve all" workflows.

DataCollectionFilterEventArgs

Provides data for the filter changed event in data collection components.

DataCollectionPageChangeEventArgs

Provides data for the page changed event in data collection components.

DataCollectionRowAction<TItem>

Single per-row action rendered as an icon-only button at the end of each row / inside each card. Combine multiple actions in a list and pass via RowActions on BOBDataGrid<TItem> / BOBDataCards<TItem>.

Visibility and enabled state can both depend on the row item — pass predicates to Visible / Enabled to support per-row policies (e.g. hide "Delete" on read-only rows).

DataCollectionSelectionEventArgs<TItem>

Provides data for the selection changed event in data collection components.

DataCollectionSortEventArgs

Provides data for the sort changed event in data collection components.

DataCollectionState<TItem>

Maintains the state for data collection components including pagination, filtering, sorting, and selection.

DataColumnRegistration<TItem>

Describes how a single column is rendered and behaves inside a data collection.

DataColumnRegistry<TItem>

Holds the column definitions registered against a data collection component.

DataGridVariant

Variant definition for the BOBDataGrid<TItem> component.

DataRequest

Describes the slice of rows a data-collection component wants the IDataCollectionDataSource<TItem> to materialise. The primary pair is StartIndex + Count — they map naturally to IQueryable.Skip(StartIndex).Take(Count) on server-side queries and to Microsoft.AspNetCore.Components.Web.Virtualization.ItemsProviderRequest on the client side. Sources that prefer page-based semantics derive the page index via Page.

DataResult<TItem>

Page returned by an IDataCollectionDataSource<TItem> in response to a DataRequest. Carries the materialised slice for the requested page plus the total row count after filtering (used by the host component to compute pagination — the slice itself only contains the visible page).

DialogOptions

Options for configuring a dialog modal.

DrawerOptions

Options for configuring a drawer modal.

Easing

Constants and entry point for CSS easing values.

EasingBuilder

Fluent builder for a CSS transition timing function value.

InMemoryDataSource<TItem>

Wraps an in-process System.Collections.Generic.IEnumerable<T> behind the IDataCollectionDataSource<TItem> contract. Used implicitly by BOBDataCollectionBase<TItem, TComponent, TVariant> when the consumer passes the legacy Items parameter — the component injects its column registry and optional custom global filter via the internal hooks so the locally applied pipeline matches the historical behaviour exactly.

Consumers building their own data-collection components can construct the source directly to share the filter / sort / page semantics — the constructor accepts a bare enumerable, the column metadata is wired separately when needed.

LocalStorageStatePersistence

localStorage-backed implementation of IDataCollectionStatePersistence. Goes through the browser's built-in localStorage.getItem / localStorage.setItem via inline JS interop — no module load, no extra TypeScript. Failures (SSR without circuit, runtime disposed, storage quota) are swallowed so a missing browser environment never crashes the grid.

ModalOptionsBase

Base class for modal options.

ModalReference

Represents a reference to an open modal, allowing programmatic control over its lifecycle.

ModalService

Default IModalService implementation registered by AddBlazOrbit().

ModalState

Runtime state for a modal currently tracked by IModalService.

NavigationInfo

Navigation metadata for a tree-menu node — href, match strategy, and link target.

NullStatePersistence

No-op persistence — every LoadAsync(string) returns null, every save is dropped. Default registration.

PaletteColor

Strongly-typed accessor for a palette CSS custom property. Implicitly converts to a var(--palette-*) reference for direct use in CSS values.

RemoteDataSource<TItem>

Delegates each LoadAsync(DataRequest, CancellationToken) call to a user-supplied async provider. Used for server-side paging where the database (or a remote API) resolves the filters / sorts / page and returns the matching slice plus the total filtered count — the host component never sees the full set, so memory stays bounded regardless of how many rows live behind the source.

RowStyle

Defines the style for a single row.

RowStylePattern

Defines a styling pattern for rows (DataGrid) or cards (DataCards). CSS-expressible patterns set container-level variables once; custom patterns compute per-item.

SearchAlgorithms

Reusable search algorithms backing dropdowns, autocompletes and selectors.

ShadowStyle

Fluent builder for constructing CSS box-shadow styles.

SortDescriptor

Single sort step inside a multi-column sort. Lower Priority values sort first; the next steps act as tie-breakers (LINQ OrderBy → ThenBy).

StepsBuilder

Fluent builder for a CSS steps(...) easing function.

ToastAnimation

Animation descriptor for toast enter/exit transitions.

ToastOptions

Configuration for a single toast: duration, position, animation, severity.

ToastService

Default IToastService implementation registered by AddBlazOrbit().

ToastState

Runtime state for a single toast tracked by IToastService.

TransitionEntry

Single CSS property entry within a transition set.

TransitionTiming

Per-entry CSS transition timing parameters (delay, duration, easing).

TreeMenuNodeRegistration

Registration record produced by a BOBTreeMenuItem when it registers with its tree menu.

TreeMenuNode<TItem>

Concrete tree-node type used by BOBTreeMenu.

TreeNodeBase<TItem, TSelf>

Base class for concrete tree-node records that carry a payload of TItem.

TreeNodeEventArgs<TNode>

Event payload raised by tree components for node-level interactions.

TreeNodeRegistration

Common shape for registrations contributed by tree-node child components.

TreeSelectionNodeRegistration

Registration record produced by a BOBTreeSelectorItem when it registers with its selector.

TreeSelectionNode<TItem>

Concrete tree-node type used by BOBTreeSelector; bridges to the hierarchical selection contract.

TriggerTransitionBuilder

Fluent builder for the CSS properties animated by a given set of triggers.

Variant

Base type for strongly-typed component variants. Equality compares variant type and name.

_BOBDataGridCellEditor<TItem>
_BOBFieldHelper<TValue>
_BOBInAddon
_BOBInBtn
_BOBInCheckMark
_BOBInDate
_BOBInNumber
_BOBInPagination
_BOBInSelect
_BOBInText
_Imports

Structs

BOBAccordionItemToggle

Payload of OnExpandedChanged describing a single item toggle.

BOBNumericRange<T>

Immutable inclusive numeric range used by range-style components. Wraps a T minimum and maximum and provides validation, containment, and clamping helpers backed by generic math.

BreadcrumbItem

Single breadcrumb entry consumed by BOBBreadcrumbs (BlazOrbit.Components.Navigation).

ColumnFilterEntry

Per-column filter entry stored in DataCollectionState<TItem>.ColumnFilters. Pairs the user's filter text with the comparison operator and the column's data mode so the grid pipeline can apply the right comparison without re-deriving it from the column registration.

DateRange

Inclusive start/end date pair used by BOBInputDateRange (BlazOrbit.Components.Forms). Either bound may be null to indicate an open-ended range.

DragEventArgs

Pointer position payload for drag events raised by BOBDraggable.

HsvColor

Represents a color in HSV (Hue, Saturation, Value) color space. Used internally by the color picker component.

IconKey

Strongly-typed identifier for an SVG icon in the closed catalog. Consumers obtain instances exclusively through BOBIconKeys; the framework guarantees that BlazOrbit.Components.IconKey.SvgContent corresponds to a vetted glyph from the built-in icon sets.

SearchResult<T>

Single hit returned by the BlazOrbit search pipeline.

ShadowLine

Represents a single line (layer) within a ShadowStyle.

TimelineItem

Single event consumed by BOBTimeline (BlazOrbit.Components.Navigation).

Interfaces

IBOBPerformanceService

DEBUG-only diagnostic service collecting per-component render/init timing.

IBuiltComponent

Opt-in contract for components that contribute extra data-attributes and CSS custom properties to the root <bob-component> element. Implementing this interface signals two things to BOBComponentAttributesBuilder:

  1. The component participates in the BuildComponent* hooks; the builder will call them on every BuildStyles and on the volatile re-patch path.
  2. The component opts out of the style-fingerprint cache. Hooks may read state opaque to the fingerprint (timers, derived counters, etc.), so the builder rebuilds on every parameter set instead of attempting to reuse a cached attribute set.

Invocation order: hooks are called before the framework writes its own data-bob-* attributes and --bob-inline-* variables, so any key a component sets that collides with a framework-owned key will be overwritten. The framework owns the contract exposed by FeatureDefinitions; components may only contribute additional keys.

Default no-op virtuals live on BOBComponentBase and BOBInputComponentBase<TValue>; declaring IBuiltComponent on a derived component is sufficient to opt in - the inherited virtuals satisfy the interface contract until the component overrides one of them.

IChipGroupContainer

Bridge surfaced by BOBChipGroup<TValue> to nested BOBChip children. Decouples the chip from the group's value generic so a single BOBChip definition can participate in any group regardless of payload type.

IClipboardJsInterop

JS interop contract for clipboard operations.

IConfirmService

Themed replacement for the native window.confirm() prompt. Renders a BOBConfirmDialog via IModalService and returns whether the user accepted.

IDataCollectionDataSource<TItem>

Strategy that materialises the rows shown by a data-collection component (BOBDataGrid, BOBDataCards). Built-in implementations:

  • InMemoryDataSource<TItem> wraps an in-process System.Collections.Generic.IEnumerable<T> and runs the filter / sort / page pipeline locally — the default, backwards-compatible path that mirrors the legacy Items parameter.
  • RemoteDataSource<TItem> delegates each page request to a user-supplied async provider — typical for server-side paging where the database resolves filters / sorts and returns the matching slice plus the total count.
Consumers can implement the interface directly for bespoke sources (SignalR streams, GraphQL clients, hybrid caches).
IDataCollectionFamilyComponent

Marker interface for data-collection-family components (tables, trees, lists).

IDataCollectionStatePersistence

Strategy for persisting DataCollectionState<TItem> across renders / reloads. The default registration is NullStatePersistence (no-op); register LocalStorageStatePersistence via AddBlazOrbitDataCollectionLocalStorage() to opt every grid in to localStorage-backed persistence, or supply a custom implementation for query string / server-side stores.

IHasActive

Indicates the component supports an active state.

IHasBackgroundColor

Indicates the component supports a BackgroundColor parameter.

IHasBorder

Indicates the component supports a Border parameter.

IHasColor

Indicates the component supports a text or foreground Color parameter.

IHasDensity

Indicates the component supports a BOBDensity parameter.

IHasDisabled

Indicates the component supports a disabled state.

IHasElevation

Indicates the component supports an Elevation parameter - a Material Design elevation level (0–24) that resolves at render to (a) a derived box-shadow via Elevation(int, string?) and (b) a surface-tint percentage that consuming components can apply to lift the surface in dark mode.

Precedence: when a component implements both IHasShadow and IHasElevation, an explicit Shadow value wins for --bob-inline-shadow; Elevation is still consulted to emit data-bob-elevation and --bob-inline-elevation-tint.

IHasError

Indicates the component supports an error state.

IHasFullWidth

Indicates the component supports a FullWidth parameter.

IHasLoading

Indicates the component supports a loading state.

IHasPrefix

Indicates the component supports prefix content (text, icon, colors).

IHasReadOnly

Indicates the component supports a read-only state.

IHasRequired

Indicates the component supports a required state.

IHasRipple

Indicates the component supports a ripple effect via JavaScript interop.

IHasShadow

Indicates the component supports a Shadow parameter.

IHasSize

Indicates the component supports a BOBSize parameter.

IHasSuffix

Indicates the component supports suffix content (text, icon, colors).

IHasTransitions

Indicates the component supports transition animations.

IInputFamilyComponent

Marker interface for input-family components (text, dropdown, textarea, etc.).

IJsBehavior

Marker interface for components that require JavaScript behavior attachment.

IModalContent

Contract implemented by components hosted inside a dialog or drawer modal.

IModalJsInterop

JS interop contract for the modal/dialog/drawer module.

IModalService

Coordinates dialog and drawer modals — opening, closing, and stack ordering.

IPickerFamilyComponent

Marker interface for picker-family components (color, date, time, etc.).

IPureBuiltComponent

Refined opt-in for components that contribute extra data-attributes and CSS custom properties to the root <bob-component> element and guarantee their hooks read only component Microsoft.AspNetCore.Components.ParameterAttribute properties or pure getters derived from them. The marker promises:

  • No internal field reads (_isFocused, _isDirty, timers, counters, …).
  • No reads of mutable shared state (services, captured state objects).
  • Output is a pure function of the parameter values.

Components that satisfy this contract participate in the style-fingerprint cache: BOBComponentAttributesBuilder folds the hook contributions into the fingerprint, so repeated BuildStyles calls with the same parameters short-circuit.

If a component breaks the contract - for example by introducing an internal focus flag - drop the marker and revert to plain IBuiltComponent. The cache otherwise freezes the stale value and the component renders out of date.

Pure inherits from IBuiltComponent, so the standard hook signatures and default no-op virtuals on the base classes still apply. Declaring this marker on a derived component is sufficient to opt in.

IThemeJsInterop

JS interop contract for the theme module — reads/writes the active theme on the document root.

IToastService

Coordinates toast notifications shown by BOBToastHost.

ITreeNode

Non-generic projection of a tree node — used by infrastructure that walks heterogeneous trees.

ITreeNodeRegistry<TRegistration>

Cascading-parameter contract for tree containers that accept child node registrations.

ITreeNode<TItem>

Strongly-typed tree node carrying a per-node item payload.

IVariant

Marker contract for a named component variant.

IVariantComponent

Base contract for components that support visual variants.

IVariantComponent<TVariant>

Strongly-typed contract for components that support a specific TVariant.

Enums

AggregateFunction

Aggregation function rendered for a column in the data-collection footer. Aggregates run against the post-filter, pre-pagination set so totals reflect the full filtered result rather than just the visible page.

BOBAccordionMode

Controls how many items can be expanded simultaneously inside a BOBAccordion.

BOBAvatarShape

Shape outline of BOBAvatar.

BOBAvatarStatus

Status dot rendered on BOBAvatar.

BOBBannerSeverity

Tone of a BOBBanner. Drives the icon, palette accent and screen-reader role.

BOBCarouselTransition

Visual transition applied when the active slide of a BOBCarousel changes.

BOBContainerSize

Pre-defined max-width tier for BOBContainer and BOBSection.

BOBDataGridEditMode

Inline-edit strategy for BOBDataGrid<TItem>. Drives when changes flow back to the row item and which UI affordances appear in the toolbar.

BOBDensity

Defines the vertical density (gap) of a component.

BOBInBtnVariant

Visual modes for the internal _BOBInBtn primitive. Drives the data-bob-variant attribute so the scoped CSS can switch between the solid color-shift treatment and the transparent ghost treatment used by dismiss / close affordances across the library.

BOBRatingFill

Fill state of a single rating slot rendered by BOBRating.

BOBSize

Defines the visual size of a component.

BOBSplitterOrientation

Layout direction of a BOBSplitter rail.

BOBStatTrend

Direction of a Delta. Drives the trend icon and accent color.

BOBStepState

Visual state of a single BOBStep as resolved by the parent BOBStepper.

BOBStepperOrientation

Layout direction for the BOBStepper header rail.

BOBTimelineOrientation

Layout direction of the BOBTimeline timeline rail.

BadgePosition

Defines the position of a badge relative to its anchor element.

BorderStyleType

Defines the CSS border-style values.

CardActionsAlignment

Defines the alignment of actions within a card.

CardMediaPosition

Defines the position of media content within a card.

ChipGroupSelectionMode

Selection cardinality enforced by BOBChipGroup<TValue>. Drives whether a freshly-tapped chip clears any prior selection (Single) or coexists with previously-selected chips (Multiple).

ColorOutputFormats

The CssColor output formats.

ColumnAlign

Defines the horizontal alignment of a data collection column.

ColumnFilterMode

Hint for the per-column filter UI: drives which operator dropdown / input type the grid renders for the column. The default Text matches the legacy substring-only filter shipped in I1.S1.

ColumnFilterOperator

Comparison operator applied by a per-column filter. The filter text is interpreted according to the column's data category (text vs numeric vs date) — operators that don't apply to a category collapse to Contains for safety.

ColumnFreeze

Pinning side for a frozen BOBDataColumn{TItem}. Frozen columns sit on the scroll edge via position: sticky so they stay visible while the rest of the grid scrolls horizontally inside its container.

ConfirmSeverity

Severity tier shown by BOBConfirmDialog via IConfirmService.

CssColorVariant.Modifier

Lightening / darkening direction.

DrawerPosition

Defines the position of a drawer on the screen.

FilterMode

Defines the filtering mode for data collection components.

FlexStackAlignContent

Maps to CSS align-content for multi-line flex containers.

FlexStackAlignItems

Maps to CSS align-items on the cross axis.

FlexStackDirection

Maps to CSS flex-direction.

FlexStackJustifyContent

Maps to CSS justify-content on the main axis.

FlexStackWrap

Maps to CSS flex-wrap.

GridAlignItems

Cross-axis alignment for grid items.

GridAlignSelf

Per-item override for cross-axis alignment.

GridDirection

Maps to the grid container's flex-direction equivalent.

GridJustifyContent

Main-axis distribution for grid items.

GridWrap

Wrapping behavior for grid rows.

LoadingMode

Visual mode used while Loading is on. Skeleton renders animated row placeholders for a smoother UX than the default spinner — pair with remote loading where the row count is known up front.

ModalType

Discriminator between modal kinds.

SearchMatchType

Classifies how a SearchResult<T> matched the input query.

SearchMode

Matching strategy used by the BlazOrbit search pipeline.

SelectionMode

Defines the selection mode for data collection components.

SidebarSide

Which side of the layout the sidebar is anchored to (logical, not absolute).

SortAppendBehavior

Multi-column sort append policy when the user clicks a header.

SortDirection

Defines the sort direction for data collection columns.

ToastAnimationType

Toast animation kinds.

ToastPosition

Anchor corner for a toast within the host viewport.

ToastSeverity

Toast severity — drives accent color and ARIA live-region role.

TooltipPlacement

Placement of a tooltip relative to its anchor element.

TooltipTrigger

How a tooltip becomes visible.

TransitionTrigger

Interaction states that trigger a transition entry.

TreeMenuExpandMode

How children are revealed when a parent expands.

TreeMenuOrientation

Layout orientation for a BOBTreeMenu.

TreeMenuTextBehavior

How node text behaves.

TreeMenuTrigger

How a submenu opens.

TreeSelectionCascade

How selection toggles propagate across a tree.

TreeSelectionMode

Selection arity for a BOBTreeSelector.

_BOBInCheckMark.CheckMarkMode