# Omni.Blazor — full API reference > 206 components. NuGet `AndersonN.Omni.Blazor`, namespace `Omni.Blazor`. Every component inherits the common Omni surface: `Class` (string), `Style` (string) and `Attributes` (HTML splat) — these are omitted per-component below and apply everywhere. Form inputs (FormComponent) also expose `Value`/`ValueChanged`/`ValueExpression`, `Disabled`, `ReadOnly`, `Name`, `Required`. ## Ai ### OmniAiConversation Drop-in AI chat: binds to an OmniChatClient (which wraps any IChatClient) and composes the AI primitives — OmniMessage/OmniStreamingText for turns, OmniPromptInput for the composer. _base: OmniComponent · source: src/Omni.Blazor.Ai/Components/Ai/OmniAiConversation.razor_ Parameters: - `AssistantInitials`: string = AI — Avatar initials for assistant turns. Default "AI". - `AssistantName`: string — Author name shown above assistant turns when ShowAuthor is on. - `Client`: OmniChatClient *required* — The conversation orchestrator (wraps your IChatClient). Required. - `Disabled`: bool = false — Disable the composer (e.g. while offline). Streaming auto-disables it too. - `LogLabel`: string = Conversation — Accessible label for the message log. Default "Conversation". - `Placeholder`: string — Placeholder for the composer. - `SendLabel`: string = Send — Accessible label for the send button. Default "Send". - `ShowAuthor`: bool = false — Show the author name above each message. Default false. - `UserInitials`: string = U — Avatar initials for user turns. Default "U". - `UserName`: string — Author name shown above user turns when ShowAuthor is on. Slots: - `EmptyContent`: RenderFragment — Shown in the log while the conversation is empty. - `HeaderContent`: RenderFragment — Optional header slot (title, clear button, model picker — you own it). ### OmniCitation Inline source citation badge ([n]) for AI answers — links to the reference and exposes the title/snippet on hover and to screen readers. _base: OmniComponent · source: src/Omni.Blazor/Components/Ai/OmniCitation.razor_ Parameters: - `Index`: int = 0 — Reference number rendered as [n] unless Text overrides it. - `Snippet`: string — Optional excerpt appended to the tooltip. - `Text`: string — Overrides the displayed label (default is [Index]). - `Title`: string — Source title, shown in the tooltip and the accessible name. - `Url`: string — Source URL. When set the badge becomes a link opening in a new tab. ### OmniMessage A single chat message (user / assistant / system) with avatar, author and content (Markdown or streaming via OmniStreamingText), plus a footer slot for citations, reasoning or actions. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Ai/OmniMessage.razor_ Parameters: - `Author`: string — Display name shown above the content. - `AvatarInitials`: string — Avatar initials when no image is set. - `AvatarUrl`: string — Avatar image URL (falls back to AvatarInitials). - `Content`: string — Message text, rendered as Markdown via OmniStreamingText when no ChildContent is given. - `Role`: MessageRole {User | Assistant | System} = Assistant — Who sent the message — drives the layout/styling. Default Assistant. - `Streaming`: bool = false — When true, the content shows the streaming caret (assistant still typing). Slots: - `AvatarContent`: RenderFragment — Custom avatar markup; overrides the default OmniAvatar. - `Footer`: RenderFragment — Footer slot for citations (OmniCitation), reasoning (OmniThinkingBlock) or actions. ### OmniPromptInput _base: FormComponent · form input · source: src/Omni.Blazor/Components/Ai/OmniPromptInput.razor_ Parameters: - `AriaLabel`: string — Accessible label for the textarea (falls back to Placeholder). - `MaxLength`: int — Optional maximum length; when set the counter shows count/max. - `Placeholder`: string — Placeholder shown in the empty composer. - `Rows`: int = 3 — Initial visible rows of the textarea. Default 3. - `SendLabel`: string = Send — Accessible label for the send button. Default "Send". Events: - `OnSend`: EventCallback — Fired with the prompt text when the user sends (Ctrl/Cmd+Enter or the send button). Slots: - `Actions`: RenderFragment — Extra action controls rendered left of the send button (e.g. a voice button). ### OmniStreamingText Renders an assistant response as it streams in — accumulating Markdown (or plain text) with a blinking caret while Streaming is true. _base: OmniComponent · source: src/Omni.Blazor/Components/Ai/OmniStreamingText.razor_ Parameters: - `Caret`: bool = true — Show the blinking caret while streaming. Default true. - `Markdown`: bool = true — Render Text as Markdown (default) or as plain text. - `Placeholder`: string — Optional text shown while streaming before any content has arrived (e.g. "Thinking…"). - `Streaming`: bool = false — When true, shows the blinking caret and marks the region aria-busy for screen readers. - `Text`: string — The accumulated response text. Update it as tokens arrive to stream the answer in. ### OmniSuggestionChips A row of clickable suggestion chips (follow-up questions / quick replies) for an AI conversation. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Ai/OmniSuggestionChips.razor_ Parameters: - `AriaLabel`: string = Suggestions — Accessible label for the chip group. Default "Suggestions". - `Icon`: string — Optional icon name shown on every suggestion chip. - `Suggestions`: IEnumerable — The suggestion labels to render as chips. Each fires OnSelect with its text. Events: - `OnSelect`: EventCallback — Fired with the chosen suggestion's text when a chip is clicked. ### OmniThinkingBlock Collapsible reasoning / "thinking" block for AI answers — collapsed by default; expand to reveal the model's chain of thought or tool steps. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Ai/OmniThinkingBlock.razor_ Parameters: - `Expanded`: bool = false — Expanded state; supports two-way binding via ExpandedChanged. Default collapsed. - `Title`: string = Reasoning — Toggle label. Default "Reasoning". Events: - `ExpandedChanged`: EventCallback — Fired when the block expands or collapses, carrying the new state. ## Buttons ### OmniButton The library's base button: leading/trailing icons, variants, sizes, block, icon-only and loading states. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Buttons/OmniButton.razor_ Parameters: - `Block`: bool = false — Stretches the button to full container width. Default false. - `Disabled`: bool = false — Disables the button (also disabled while Loading). Default false. - `Icon`: string — Name of the leading OmniIcon shown before the label. - `IconOnly`: bool = false — Renders a square icon-only button (no label spacing). Default false. - `Loading`: bool = false — When true, renders an inline OmniSpinner in place of the leading icon, disables click and sets aria-busy="true". Width is preserved so the surrounding layout doesn't shift. - `LoadingText`: string — Optional alternate label shown while Loading is true. - `Size`: ComponentSize {Sm | Md | Lg | Xl} = Md — Button size (Sm/Md/Lg/Xl). Default Md. - `Text`: string — Label text, rendered when no ChildContent is provided. - `TrailingIcon`: string — Name of the trailing OmniIcon shown after the label. - `Type`: string = button — The native type attribute (button/submit/reset). Default "button". - `Variant`: ButtonVariant {Default | Primary | Ghost | Danger | Link} = Default — Visual variant (Primary/Ghost/Danger/Link). Default Default. Events: - `OnClick`: EventCallback — Click handler; not invoked while Disabled or Loading. ### OmniFab Floating Action Button (FAB) — botão circular ancorado num canto da viewport pra ação primária de uma tela. _base: OmniComponent · source: src/Omni.Blazor/Components/Buttons/OmniFab.razor_ Parameters: - `AriaLabel`: string — aria-label custom. Fallback: Title → Text. - `Disabled`: bool = false - `Icon`: string = plus — Ícone do FAB. Default "plus" (ação "criar novo"). - `Position`: FabPosition {BottomRight | BottomLeft | TopRight | TopLeft | BottomCenter | Static} = BottomRight — Canto da viewport onde o FAB ancora. Default BottomRight. - `Size`: ComponentSize {Sm | Md | Lg | Xl} = Lg — Tamanho. Default Lg — FAB é proeminente por convenção. - `Text`: string — Texto opcional. Se setado, renderiza Extended FAB (pill alongado). Vazio = FAB circular icon-only (clássico Material). - `Title`: string — Tooltip. Use sempre — FAB icon-only sem tooltip é a11y ruim. - `Variant`: ButtonVariant {Default | Primary | Ghost | Danger | Link} = Primary — Variant do botão. Default Primary (cor accent — chama atenção). Events: - `OnClick`: EventCallback ### OmniFabMenu FAB com menu expansível — clique no botão principal pra mostrar/esconder itens (OmniFabMenuItem). _base: OmniComponent · accepts ChildContent · source: src/Omni.Blazor/Components/Buttons/OmniFabMenu.razor_ Parameters: - `Animation`: FabMenuAnimation {Stagger | Linear | None} = Stagger — Modo de animação de abertura. Default Stagger (pop-in cascading, padrão Material). Linear = fade simples estilo Radzen. None = sem animação. - `AriaLabel`: string — aria-label do grupo. Use pra nomear semanticamente o speed dial. - `CloseOnEsc`: bool = true — Fecha o menu quando o user pressiona Escape. Default true. - `CloseOnItemClick`: bool = true — Fecha o menu quando um OmniFabMenuItem filho é clicado. Default true — comportamento usual de speed dial. - `CloseOnOutsideClick`: bool = true — Fecha o menu quando o user clica fora dele. Default true. - `Direction`: FabMenuDirection {Up | Down | Left | Right} = Up — Direção em que os items se expandem. Default Up (combina com posições Bottom*). - `Disabled`: bool = false - `Icon`: string = plus — Ícone do FAB quando o menu está fechado. Default "plus". - `IsOpen`: bool = false — Two-way bound. Pode ser controlado externamente. - `OpenIcon`: string = x — Ícone do FAB quando o menu está aberto. Default "x" (padrão Material — close icon indica "agora fecha"). - `OpenTitle`: string — Tooltip quando aberto. Default "Fechar menu". - `Position`: FabPosition {BottomRight | BottomLeft | TopRight | TopLeft | BottomCenter | Static} = BottomRight — Canto da viewport onde o FAB ancora. Default BottomRight. - `ShowBackdrop`: bool = false — Mostra um backdrop semi-transparente que cobre a tela quando o menu está aberto. Default false — speed dial clássico não usa, mas em mobile pode focar a atenção. - `Size`: ComponentSize {Sm | Md | Lg | Xl} = Lg — Tamanho. Default Lg. - `Title`: string — Tooltip quando fechado. Default "Abrir menu". - `Variant`: ButtonVariant {Default | Primary | Ghost | Danger | Link} = Primary — Variant do FAB. Default Primary. Events: - `IsOpenChanged`: EventCallback Slots: - `ChildContent`: RenderFragment ### OmniFabMenuItem Item dentro de um OmniFabMenu — botão circular menor com label opcional ao lado (padrão Material: tooltip-style label flutuante). _base: OmniComponent · source: src/Omni.Blazor/Components/Buttons/OmniFabMenuItem.razor_ Parameters: - `AriaLabel`: string — aria-label. Fallback: Title → Label. - `Disabled`: bool = false - `Icon`: string *required* = circle — Ícone do item. Obrigatório (FAB items são icon-first). - `Label`: string — Label flutuante ao lado do botão. Padrão Material — chip pequeno com fundo opaco, visível só quando o menu está aberto. - `LabelPosition`: FabMenuItemLabelPosition {Auto | Left | Right | None} = Auto — Posição do label em relação ao botão. Default Auto — segue a direção do menu (Left/Right) ou esconde (Up/Down). - `Size`: ComponentSize {Sm | Md | Lg | Xl} = Md — Tamanho. Default Md — items são menores que o FAB principal. - `Title`: string — Tooltip nativo. Fallback: Label. - `Variant`: ButtonVariant {Default | Primary | Ghost | Danger | Link} = Default — Variant do botão interno. Default Default — neutro, contrasta com o FAB principal (Primary). Events: - `OnClick`: EventCallback ### OmniScrollToTopButton Botão "Voltar ao topo" auto-show/hide baseado em scroll position. _base: OmniComponent · source: src/Omni.Blazor/Components/Buttons/OmniScrollToTopButton.razor_ Parameters: - `Hidden`: bool = false — Force-hide externo (override do auto). Default false. - `Icon`: string = arrow-up — Ícone do botão. Default "arrow-up". - `Position`: FabPosition {BottomRight | BottomLeft | TopRight | TopLeft | BottomCenter | Static} = BottomRight — Canto da viewport. Default BottomRight. - `ScrollBehavior`: ScrollBehavior {Auto | Smooth | Instant} = Smooth — Comportamento de scroll ao clicar. Smooth (default) anima; Auto/Instant salta direto. - `ScrollContainerSelector`: string — Selector CSS do container scrollável. null (default) auto-detecta (o mesmo "scroll root" usado por ScrollToTopAsync). - `ShowAfterPercent`: double — Fração (0.0–1.0) de scroll percorrido pra mostrar. Quando setado, sobrescreve ShowAfterPx. Ex: 0.15 = mostra após 15%. - `ShowAfterPx`: double = 200 — Quantos pixels scrollados pra começar a mostrar. Default 200. Ignorado se ShowAfterPercent for setado. - `ShowProgress`: bool = false — Mostra anel de progresso (SVG) ao redor do ícone indicando quanto da página foi scrollada (0% no topo → 100% no final). Default false. - `Size`: ComponentSize {Sm | Md | Lg | Xl} = Lg — Tamanho. Default Lg. - `Title`: string — Tooltip + aria-label. Default "Voltar ao topo". - `Variant`: ButtonVariant {Default | Primary | Ghost | Danger | Link} = Primary — Variant do botão. Default Primary. ### OmniSocialButton External-auth provider button (Google, Microsoft, Apple, GitHub, Facebook, Passkey). _base: OmniComponent · source: src/Omni.Blazor/Components/Buttons/OmniSocialButton.razor_ Parameters: - `AriaLabel`: string — Accessible label (defaults to the full text even when Compact). - `Block`: bool = false — Stretch to full width. - `Compact`: bool = false — Icon-only (no label) — for a compact provider row. - `Disabled`: bool = false — Disable the button. - `Provider`: SocialProvider {Google | Microsoft | Apple | GitHub | Facebook | Passkey} = Google — Which provider's brand mark + label to render. - `Text`: string — Override the button label (default "Continuar com {provider}"). Events: - `OnClick`: EventCallback — Click handler. ### OmniSplitButton Split button: ação primária à esquerda + chevron de dropdown à direita. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Buttons/OmniSplitButton.razor_ Parameters: - `Disabled`: bool = false — Desabilita ambos os botões. - `Icon`: string — Ícone do botão primário. - `Loading`: bool = false — Loading state — desabilita ambos e mostra spinner no primário. - `LoadingText`: string — Texto alternativo do botão primário enquanto Loading. - `MenuAlignEnd`: bool = false — Alinha o popover ao FIM (direita) do chevron — extende para a esquerda embaixo do conjunto (primário + chevron). Útil quando o SplitButton está perto da borda direita da tela e o menu padrão (alinhado à esquerda do chevron) sairia da viewport. Default false. - `MenuAriaLabel`: string — aria-label do chevron. Default "Mais opções". - `MenuPosition`: PopoverPosition {Top | Bottom | Left | Right} = Bottom — Posição do popover. Default Bottom. - `Size`: ComponentSize {Sm | Md | Lg | Xl} = Md — Tamanho (compartilhado). - `Text`: string — Texto do botão primário. - `Variant`: ButtonVariant {Default | Primary | Ghost | Danger | Link} = Default — Variante visual (compartilhada por ambos os botões). Events: - `OnClick`: EventCallback — Click no botão primário (ação default). ### OmniToggleButton Botão com estado liga/desliga (pressed/unpressed). _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Buttons/OmniToggleButton.razor_ Parameters: - `Active`: bool = false — Estado pressed (true) / unpressed (false). Two-way: @bind-Active. - `Disabled`: bool = false — Desabilita interação. - `Icon`: string — Ícone antes do texto. - `IconOnly`: bool = false — Renderiza só o ícone (sem texto). Bom para toolbars. - `Size`: ComponentSize {Sm | Md | Lg | Xl} = Md — Tamanho. - `Text`: string — Texto do botão. - `TrailingIcon`: string — Ícone após o texto. - `Variant`: ToggleVariant {Default | Primary | Accent | Ghost} = Default — Variante visual quando ativo. Default = accent suave. Events: - `ActiveChanged`: EventCallback - `OnClick`: EventCallback — Callback de click adicional (além do toggle automático). ## Data ### OmniChat OmniChat — self-contained chat UI (RadzenChat port): header (title + roster + clear), a scrollable message list (avatar + bubble, aligned by author), and a compose box (Enter sends, Shift+Enter newline). _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Chat/OmniChat.razor_ Parameters: - `ClearButtonText`: string — Label for the clear button. Default "Limpar". - `CurrentUserId`: string = — The id of the current user — their messages align right; others' align left. - `DateSeparatorFormat`: string = D — Date format for the day separators. Default "D". - `Disabled`: bool = false — Disables the whole chat (compose box, send, clear). Default false. - `EmptyMessage`: string — Text shown when there are no messages. Default "Nenhuma mensagem ainda. Comece a conversa!". - `Height`: string = 480px — Height of the chat (CSS). Default 480px. - `InputLabel`: string = Mensagem — Accessible label (aria-label) for the compose textarea — describes the field, not the send action. Default "Mensagem". - `MaxMessages`: int = 200 — Max messages kept; older ones are trimmed once exceeded. Default 200. - `MaxVisibleUsers`: int = 5 — Max roster avatars shown before a "+N" overflow badge. Default 5. - `Messages`: IEnumerable — The messages to render (two-way via MessagesChanged). - `MessagesLabel`: string = Mensagens — Accessible label (aria-label) for the message log region. Default "Mensagens". - `Placeholder`: string — Compose-box placeholder. Default "Digite uma mensagem...". - `ReadOnly`: bool = false — Read-only mode — messages render but the compose box is disabled. Default false. - `RenderMarkdown`: bool = true — Render bubble content as Markdown (default) or plain text. - `SendLabel`: string — Accessible label / tooltip for the send button. Default "Enviar". - `ShowClearButton`: bool = true — Shows the "clear chat" button in the header. Default true. - `ShowDateSeparator`: bool = true — Inserts a date separator between messages from different days. Default true. - `ShowTypingIndicator`: bool = false — Shows a typing indicator when remote users are typing (see SetUserTypingAsync). Default false. - `ShowUserNames`: bool = true — Shows each (other) user's name above their bubble. Default true. - `ShowUsers`: bool = true — Shows the participant roster (avatars) in the header. Default true. - `TimestampFormat`: string = HH:mm — Time format for each message's timestamp. Default "HH:mm". - `Title`: string — Header title text. Empty hides the title. - `TypingTimeout`: int = 1500 — Idle time (ms) after the last keystroke before the local "typing" state clears. Default 1500. - `Users`: IEnumerable — The chat participants (avatars/names/colors). Events: - `ChatCleared`: EventCallback — Fired when the chat is cleared. - `MessageAdded`: EventCallback — Fired whenever a message is appended to the list. - `MessageSent`: EventCallback — Fired when the local user sends a message. - `MessagesChanged`: EventCallback> — Fired with the new list whenever messages change (consumer assigns it back). - `TypingChanged`: EventCallback — Fired when the local user starts/stops typing — relay to remote peers. Slots: - `EmptyTemplate`: RenderFragment — Custom empty-state content. Overrides EmptyMessage when set. - `MessageTemplate`: RenderFragment (context: OmniChatMessage) — Custom render template for a message bubble. Receives the OmniChatMessage. ### OmniDataFilter OmniDataFilter — a typed visual query builder. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/DataFilter/OmniDataFilter.razor_ Parameters: - `AddFilterText`: string — Label of the "add condition" button. Default "Adicionar condição". - `AddGroupText`: string — Label of the "add group" button. Default "Adicionar grupo". - `AllowGroups`: bool — Allow nested groups (the "add group" button). Default true. - `AllowSqlMode`: bool — Show the Visual/SQL toggle, enabling an editable SQL view of the filter. Default false. - `AndOperatorText`: string — Label of the AND logic toggle. Default "E". - `ApplyFilterText`: string — Label of the apply button (shown when Auto is false). Default "Aplicar". - `ApplySqlText`: string — Label of the "apply SQL to filter" button. Default "Aplicar ao filtro". - `Auto`: bool — Re-filter and raise Filter on every change. Default true. - `ClearFilterText`: string — Label of the "clear all" button. Default "Limpar tudo". - `CopyText`: string — Label of the copy button. Default "Copiar". - `Data`: IEnumerable — The items to filter. - `Disabled`: bool — Disable the whole builder. - `FieldsLabel`: string — Label preceding the available-fields chips in SQL mode. Default "Campos". - `Logic`: FilterLogic {And | Or} — Logic combining the root rules. Two-way bindable. - `OrOperatorText`: string — Label of the OR logic toggle. Default "OU". - `Query`: DataFilterQuery — Immutable, versioned query snapshot. - `RemoveFilterText`: string — Title/aria-label of the remove-condition button. Default "Remover". - `Rules`: List — Root list of rules. Two-way bindable. - `Schema`: DataFilterSchema *required* — Immutable strongly typed field schema used by the visual builder and query serialization. - `ShowSqlPreview`: bool — Show a read-only "generated SQL" disclosure under the visual builder. Default false. - `Size`: ComponentSize {Sm | Md | Lg | Xl} — Height/typography of every field (selects, inputs, date & list editors). Default Sm. - `SqlModeText`: string — Label of the SQL-mode toggle. Default "SQL". - `SqlPlaceholder`: string — Placeholder of the SQL textarea. Default an example expression. - `SqlPreviewLabel`: string — Summary label of the generated-SQL disclosure. Default "SQL gerado". - `SqlValidText`: string — Status text shown when the typed SQL is valid. Default "SQL válido". - `ValuePlaceholder`: string — Placeholder of the condition value inputs. Default "valor". - `VisualModeText`: string — Label of the visual-mode toggle. Default "Visual". Events: - `Filter`: EventCallback> — Raised with the filtered items (Auto mode, or when ApplyFilterAsync runs). - `LogicChanged`: EventCallback — Fired when the root logic changes (paired with Logic for two-way binding). - `QueryChanged`: EventCallback> — Raised with a fresh immutable query after a visual edit. - `RulesChanged`: EventCallback> — Fired when the rule tree changes (paired with Rules for two-way binding). - `ViewChanged`: EventCallback> — Raised with the filtered items alongside Filter (binding-friendly). ### OmniDataFilterItem OmniDataFilterItem — one node of an tree. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/DataFilter/OmniDataFilterItem.razor_ Parameters: - `IsRoot`: bool = false — True for the top-level group (hides the remove button, no group border). - `ParentRules`: List — The list that contains Rule (so it can remove itself). Null at the root. - `Rule`: OmniFilterRule *required* — The rule this item renders (condition or group). ### OmniDataGrid Rich data grid with sorting, filtering, grouping, editing, virtualization and optional hierarchical rows. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniDataGrid.razor_ Parameters: - `AllowColumnFilter`: bool — Habilita uma linha de filtros por coluna abaixo do header. Só colunas com Filterable exibem o input. - `AllowColumnResize`: bool — Lets the user resize columns by dragging the right edge of a header cell. - `AllowColumnVisibility`: bool — Shows the column visibility menu in the toolbar. - `AllowExport`: bool — Shows an export action that streams the filtered dataset as a bounded CSV. - `AllowGrouping`: bool — Enables row grouping. Shows a drop panel above the grid; drag a column's grip there (column must be Groupable) — or call GroupByAsync — to group rows by that column. Multiple columns nest. - `AllowMultiSelection`: bool — Habilita uma coluna de checkbox à esquerda para seleção múltipla. - `AllowPaging`: bool — Liga a paginação no rodapé. Default true. Ignorado quando Virtualize está ativo. - `AllowSearch`: bool — Mostra o campo de busca textual na toolbar. Default false. - `AllowSorting`: bool — Permite ordenar clicando no header das colunas Sortable. Default true. - `AutoCollapseGroupsThreshold`: int — Acima de quantos grupos de primeiro nível o agrupamento nasce COLAPSADO. Default 100. Sem isso, o primeiro render depois de arrastar uma coluna é sempre o conjunto inteiro aberto — agrupar 200 mil linhas por dia significa achatar as 200 mil de uma vez só para o usuário fechar tudo em seguida. Valores <= 0 desligam o auto-colapso. - `Children`: Func> — Synchronous child selector that enables hierarchy mode for in-memory trees. - `ChildrenProvider`: HierarchyChildrenProvider — Asynchronous, cancellable child source that enables lazy hierarchy mode. - `CollapseText`: string — Accessible label for collapsing a hierarchy row. - `Count`: int — Override do total quando server-side (caso o consumidor não preencha TotalCount no resultado). - `Data`: IEnumerable — Fonte de dados in-memory. Ignorado se DataProvider for setado. Filtro/ordenação/agrupamento são memoizados por referência e contagem: trocar a coleção ou acrescentar itens reprocessa sozinho; para itens MUTADOS no lugar (mesma coleção, mesma contagem), chame RefreshAsync(). - `DataProvider`: GridDataProvider — Callback server-side. Quando setado, o DataGrid delega filter/sort/page ao consumidor. O retorno é a janela de items a renderizar + total count. - `DebounceMs`: int — Debounce (ms) entre keystrokes na busca antes de chamar DataProvider. - `EditMode`: DataGridEditMode {None | Cell | Row} — Enables inline editing. Each column needs an EditTemplate to be editable. - `Embed`: bool — When true, renders without outer border/radius and stretches to fill its parent (flex:1 + min-height:0). Internal toolbar is hidden — render your own OmniPaneHeader/OmniPaneToolbar above. - `EmptyText`: string — Texto exibido quando não há registros. Default "Nenhum registro encontrado.". - `ExpandMode`: ExpandMode {Single | Multi} — Single = apenas uma linha expandida por vez; Multi = quantas o usuário quiser. - `ExpandText`: string — Accessible label for expanding a hierarchy row. - `ExpandedKeys`: IReadOnlyCollection — Externally controlled expanded key set. Replace the collection when updating it. - `ExportBatchSize`: int — Page size used while exporting through DataProvider. - `ExportFilename`: string — Nome do arquivo gerado pelo export CSV. Default "export.csv". - `ExportProvider`: GridExportProvider — Optional streaming source used only by CSV export. When omitted, the grid pages through DataProvider or exports its in-memory source. - `GroupLimitReachedText`: string — Aviso exibido quando MaxGroups é atingido; {0} é o teto. - `GroupPanelText`: string — Placeholder text shown in the (empty) group panel. - `HasChildren`: Func — Predicate indicating whether a hierarchy item can be expanded. - `Height`: string — Altura do scroller. Obrigatória quando virtualize ativo (default 520px é aplicado automaticamente se não setado). - `HideGroupedColumn`: bool — Hides a column from the table once it is used as a grouping key (its value shows in the group header instead). - `HierarchyAriaLabel`: string — Accessible label used when the table is rendered as a tree grid. - `HierarchyLimitReachedText`: string — Message displayed when the configured hierarchy row limit is reached. - `HierarchyLoadErrorText`: string — Message displayed when lazy child loading fails. - `HierarchyRetryText`: string — Label for retrying a failed lazy hierarchy load. - `IndentSize`: int — Pixels of indentation per hierarchy level. - `InitiallyExpanded`: Func — Optional predicate applied once when the hierarchy source changes. - `KeySelector`: Func — Stable unique key selector used by hierarchy expansion, cache and loading state. - `LoadingSkeleton`: bool — Quando true e LoadingTemplate não está setado, renderiza linhas de OmniSkeleton em vez do spinner — mais elegante para listas longas. - `MaxCachedItems`: int — Maximum total lazy-loaded child items retained in the LRU cache. - `MaxCachedNodes`: int — Maximum lazy-loaded parent nodes retained in the LRU cache. - `MaxChildrenPerNode`: int — Maximum children retained from one lazy-load response. - `MaxConcurrentLoads`: int — Maximum number of lazy child requests executed concurrently. - `MaxDepth`: int — Maximum hierarchy depth traversed, protecting against cycles and pathological input. - `MaxExportRows`: int — Hard cap applied to every export, including custom streaming providers. - `MaxGroups`: int — Teto de nós de grupo montados numa passada (todos os níveis somados). Default 10.000. Agrupar por uma coluna quase-única — um id, um timestamp com segundos — renderia um grupo por linha, e a árvore de grupos passaria a custar mais que os próprios dados. Ao estourar, a árvore é cortada e a UI avisa, no mesmo desenho do MaxVisibleRows da hierarquia. Valores <= 0 são tratados como 1. - `MaxVisibleRows`: int — Maximum hierarchy rows flattened before rendering or virtualization. - `OverscanCount`: int — Linhas extras renderizadas fora do viewport. Default 4. - `PageSize`: int — Quantidade de linhas por página. Default 10. - `PersistKey`: string — Optional stable local-storage key for automatic view-state restore. Column PropertyName values must be unique and stable. Null disables browser persistence. - `RowClass`: Func — Função opcional que retorna classes CSS extras por linha — útil para destacar linhas específicas (ex: "linha atual", "registro com pendência"). Aplicado em conjunto com as classes internas (selecionado, edição, etc.). - `RowHeight`: float — Altura fixa (px) por linha quando virtualize ativo. Default 44. - `Schema`: DataGridSchema — Optional immutable typed schema. Schema columns are rendered before declarative Columns and its structural feature defaults take precedence while supplied. - `SearchPlaceholder`: string — Placeholder do campo de busca. Default "Buscar...". - `SelectedItems`: HashSet — Itens selecionados. Quando setado pelo consumidor (via @bind-SelectedItems), o DataGrid usa essa referência diretamente. - `ShowAggregateRow`: bool — Renderiza uma linha de agregação () somando/contando/etc. colunas que definam Aggregate. Em modo server-side, valores vêm de Aggregates; client-side, calculados sobre o dataset filtrado completo (não só a página atual). - `ShowGroupFooters`: bool — Renders a per-group aggregate footer row (reuses each column's Aggregate). Requires aggregated columns. - `ViewState`: DataGridViewState — Controlled view preferences. Replace the record instance when changing it; row data, selection and hierarchy expansion are intentionally outside this state. - `Virtualize`: bool — Liga a virtualização do : somente as linhas visíveis (e um overscan pequeno) são montadas no DOM. **Ignora AllowPaging** — paging e virtualize são mutuamente exclusivos. Requer Height definido (default 520px). Implementação via OmniVirtualize com SpacerElement="tr". Events: - `ColumnResized`: EventCallback — Fired after a column is resized (drag of the header handle finished). - `ExpandedKeysChanged`: EventCallback> — Raised with an immutable snapshot after hierarchy expansion changes. - `ExportFailed`: EventCallback — Raised when an uncancelled export fails. - `ExportTruncated`: EventCallback — Raised when an export reaches MaxExportRows. - `Grouped`: EventCallback> — Fired whenever the grouping changes; carries the ordered grouped property names. - `HierarchyLoadFailed`: EventCallback — Raised when an uncancelled lazy hierarchy load fails. - `OnRowClick`: EventCallback — Emitido quando uma linha é clicada (fora do modo edição). - `OnRowCollapse`: EventCallback — Emitido quando uma linha é colapsada. - `OnRowExpand`: EventCallback — Emitido quando uma linha é expandida. - `RowUpdated`: EventCallback — Fired when the user confirms an inline edit (clicks check). Use to persist changes. - `SelectedItemsChanged`: EventCallback> — Emitido quando a seleção muda. O argumento é o set atual. - `ViewStateChanged`: EventCallback — Raised with a normalized snapshot after a user changes persisted view preferences. Slots: - `Columns`: RenderFragment — Definição das colunas (). Registradas via cascading. - `DetailTemplate`: RenderFragment (context: TItem) — Template renderizado abaixo da linha quando ela está expandida. - `EmptyTemplate`: RenderFragment — Slot custom para o estado vazio. Substitui o EmptyText quando setado. Permite ícone + título + CTA ricos. - `LoadingTemplate`: RenderFragment — Slot custom para o overlay de loading. Substitui o spinner default quando setado. - `ToolbarContent`: RenderFragment — Conteúdo extra na toolbar (entre a busca e os botões à direita). ### OmniDataGridColumn Column definition for an — declares title, value selector, templates, sorting/filtering/aggregation/grouping/freezing behavior. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniDataGridColumn.razor_ Parameters: - `Aggregate`: AggregateFunction {Sum | Average | Count | Min | Max} — Função agregadora aplicada nesta coluna no footer (e em group footers). - `AggregateFormat`: Func — Formatador opcional do valor agregado (ex: v => $"R$ {v:N2}"). - `AggregateProperty`: Func — Selector específico p/ agregação (default: usa Property). - `CanHide`: bool — Whether the user can hide this column via the visibility menu. Default true. - `FilterOperators`: FilterOperator[] — Override dos operadores oferecidos (default depende de FilterType). - `FilterSelectOptions`: IEnumerable — Opções para FilterType=Select. - `FilterType`: ColumnFilterType {Text | Number | Date | Boolean | Select} — Tipo de UI/operadores oferecidos. Default: Text. - `Filterable`: bool — Liga o filtro por coluna nesta coluna. Requer AllowColumnFilter no DataGrid. - `Frozen`: FrozenPosition {Left | Right} — Congela esta coluna no scroll horizontal. null = não congelada. - `GroupHierarchy`: IReadOnlyList — Desdobra esta coluna em vários níveis de agrupamento por data. Agrupar uma coluna de data pelo valor exato rende um grupo por linha — o instante nunca se repete —, então aqui se declara a granularidade de cada nível: GroupHierarchy="@DateGroupHierarchy.YearMonthDay" dá Ano › Mês › Dia com um único arrasto. Um nível só (new[] { DateGroupInterval.Month }) agrupa por mês, sem hierarquia. null (padrão) mantém o agrupamento pelo valor exato, e itens cujo valor não é uma data caem num grupo vazio. - `Groupable`: bool — Permite arrastar esta coluna para a group zone do DataGrid. - `IsHierarchyAnchor`: bool — Marca esta coluna como o "âncora" da hierarquia — receberá o chevron de expand/collapse + indentação por nível. Quando nenhuma coluna marca, o grid usa a primeira coluna visível. - `Property`: Func — Selector for the column's raw value — used for cell text, sorting, and filtering. - `PropertyName`: string — Nome canônico da propriedade (usado para serializar em SortDescriptor, FilterDescriptor e GroupBy). Quando ausente, cai no Title. Em modo server-side é altamente recomendado definir explicitamente. - `Resizable`: bool — Whether this column can be resized when the grid has AllowColumnResize. Default true. - `Sortable`: bool — Whether clicking the header sorts by this column (requires the grid's AllowSorting). Default true. - `TextSelector`: Func — Selector for the displayed cell text. Overrides Property's ToString() when set. - `Title`: string — Header text for this column. - `Visible`: bool — Initial visibility. Toggled via the grid's column-visibility menu when AllowColumnVisibility is enabled. - `Width`: string — CSS width of the column (e.g. "120px"). Null = auto. Slots: - `EditTemplate`: RenderFragment (context: TItem) — Editor render fragment used when the row/cell is in edit mode. If null, the column is treated as read-only even when EditMode is active. - `Template`: RenderFragment (context: TItem) — Custom cell render template. Receives the row item as @context. Falls back to the cell text. ### OmniDataGridForm Coordinates a generated OmniDataGrid`1, detached OmniDataForm`1 drafts and cancellable CRUD persistence. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniDataGridForm.razor_ Parameters: - `ActionsFrozen`: FrozenPosition {Left | Right} — Optionally freezes the generated row-actions column on the left or right edge. - `ActionsMenuAriaLabel`: string — Accessible label for the row overflow-menu button. - `ActionsMenuIcon`: string — Optional runtime icon override for the row overflow-menu button. - `ActionsMenuText`: string — Optional visible label for the row overflow-menu button. The default is icon-only. - `ActionsResizable`: bool — Optional runtime override for the generated row-actions column resizer. - `ActionsWidth`: string — Optional runtime width override for the generated row-actions column. - `AllowCreate`: bool — Allows the schema-defined create workflow. Default true. - `AllowDelete`: bool — Allows the schema-defined delete workflow. Default true. - `AllowEdit`: bool — Allows the schema-defined edit workflow. Default true. - `AllowReorder`: bool — Shows move-up and move-down actions in local-list mode. - `ConfirmDiscardChanges`: bool — Asks for confirmation before closing a modified generated editor. Default true. - `Disabled`: bool — Disables every generated operation and editor. - `GuardNavigationWithUnsavedChanges`: bool — Protects route changes and browser unload while the generated editor is modified. Default true. - `Items`: IList — Mutable local source. Use either Items or Provider, never both. Local create/edit/delete operations mutate this list only after validation succeeds. - `MaximumItems`: int — Maximum local item count enforced before creation. Default unlimited. - `MaximumSelectedItems`: int — Maximum items accepted in one bulk-action snapshot. Default 1,000. - `MinimumItems`: int — Minimum local item count enforced before deletion. Default zero. - `PersistViewStateKey`: string — Optional stable local-storage key used to restore generated DataGrid preferences. - `Provider`: IDataGridFormProvider — Cancellable server-side source and CRUD persistence provider. - `ReadOnly`: bool — Makes data read-only while preserving grid navigation and inspection. - `RenderEditorFormElement`: bool — Renders the semantic editor form element. Disable when this component is embedded inside another form to avoid nested HTML forms. Default true. - `ReorderActionsPlacement`: DataGridFormActionPlacement {Inline | Menu | Auto} — Optionally overrides generated move-up and move-down action placement. - `Schema`: DataGridFormSchema *required* — Immutable form, grid and operation schema. - `SelectedItems`: HashSet — Externally controlled selected-item set used by schema-defined bulk actions. - `ShowOperationErrors`: bool — Shows operation failures in the component. Default true. - `ViewState`: DataGridViewState — Controlled DataGrid layout, sort, filter, grouping and search preferences. Events: - `ItemsChanged`: EventCallback> — Raised after a local collection mutation. - `OperationCompleted`: EventCallback> — Raised after create, edit, delete or custom action success. - `OperationFailed`: EventCallback> — Raised after a handled operation failure. - `SelectedItemsChanged`: EventCallback> — Raised after the DataGrid selection or a bulk action clears the selected set. - `ViewStateChanged`: EventCallback — Raised after the generated DataGrid view preferences change. Slots: - `EmptyTemplate`: RenderFragment — Custom empty-state content. - `LoadingTemplate`: RenderFragment — Custom DataGrid loading content. - `OperationErrorTemplate`: RenderFragment> (context: DataGridFormOperationFailedEventArgs) — Custom renderer for the latest structured operation failure. - `ToolbarContent`: RenderFragment — Additional content rendered in the DataGrid toolbar. ### OmniDataImport Reads bounded delimited text incrementally, maps it to a typed schema and exposes only validated snapshots to cancellable persistence handlers. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniDataImport.razor_ Parameters: - `Accept`: string — HTML file input accept filter. - `AllowPartialImport`: bool — Allows valid rows to be imported while other rows are invalid. - `ClearText`: string — Overrides the clear action text. - `Culture`: CultureInfo — Culture used by built-in numeric and date parsers. Defaults to current culture. - `Disabled`: bool — Disables file selection, mapping and import. - `Handler`: DataImportHandler — Optional cancellable destination for accepted typed rows. - `ImportText`: string — Overrides the import action text. - `MappingTitle`: string — Overrides the mapping section title. - `MaxFileSize`: long — Maximum input size in bytes. Default 5 MB. - `MaximumCellLength`: int — Maximum characters accepted in one cell. Default 32,768. - `MaximumColumns`: int — Maximum source columns per row. Default 256. - `MaximumRows`: int — Maximum data rows retained in memory. Default 10,000. - `PreviewRowCount`: int — Maximum processed rows rendered in the preview. Default 25. - `PreviewTitle`: string — Overrides the preview section title. - `Schema`: DataImportSchema *required* — Immutable target schema containing typed property mappings and parsers. - `UploadText`: string — Overrides the file-selection text. Events: - `Failed`: EventCallback — Raised after an observed load, conversion or persistence failure. - `Imported`: EventCallback> — Raised after Handler succeeds, or directly when no Handler is supplied. Slots: - `LoadingTemplate`: RenderFragment — Custom loading content. - `RowTemplate`: RenderFragment> (context: DataImportRow) — Custom preview row cells. The fragment must render cells matching the component header structure. ### OmniDayView Single-day view with time slots. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Scheduler/OmniDayView.razor_ Parameters: - `EndTime`: TimeSpan — Last time slot of the day (exclusive). Default 24:00. - `Icon`: string = clock — Icon name shown on this view's switch tab. Default "clock". - `MinutesPerSlot`: int = 30 — Minutes per slot row. Default 30. - `StartTime`: TimeSpan — First time slot of the day. Default 08:00. - `Text`: string = Dia — Label shown on this view's switch tab. Default "Dia". - `TimeFormat`: string = HH:mm — Time format for slot labels. Default "HH:mm". ### OmniDiagramCanvas OmniDiagramCanvas — generic infinite graph editor: pan/zoom, dotted grid, nodes with named ports, bezier edges, drag-to-connect, marquee selection, minimap, zoom controls and auto-layout. _base: OmniComponent · accepts ChildContent · source: src/Omni.Blazor/Components/Data/Diagram/OmniDiagramCanvas.razor_ Parameters: - `AutoLayoutText`: string = Auto-layout (organizar) — Tooltip text for the auto-layout button. - `DropPayloadFormat`: string = application/x-omni-diagram — HTML5 drag payload format accepted by OnExternalDrop. - `Edges`: IReadOnlyList — Graph edges. - `FitOnMount`: bool = false — Fits the graph into view once, on first render with nodes. - `FitText`: string = Ajustar à tela — Tooltip text for the fit button. - `Nodes`: IReadOnlyList — Graph nodes (world coordinates). - `ReadOnly`: bool = false — Disables editing gestures (drag, connect, marquee, delete, drop). Pan/zoom stay enabled. - `RunState`: DiagramRunState — Optional execution overlay (current/done/faulted/taken edges...). - `Schema`: DiagramSchema — Optional immutable fluent schema for graph structure and canvas defaults. - `Selection`: DiagramSelection — Current selection. Two-way bindable. - `ShowAutoLayout`: bool = true — Shows the auto-layout button inside the controls. - `ShowControls`: bool = true — Shows the zoom control group (bottom-left). - `ShowMinimap`: bool = true — Shows the minimap (bottom-right). - `Viewport`: DiagramViewport — Viewport (offset + zoom). Two-way bindable; committed after gestures. - `ZoomInText`: string = Aumentar zoom — Tooltip text for the zoom-in button. - `ZoomOutText`: string = Diminuir zoom — Tooltip text for the zoom-out button. Events: - `NodesMoved`: EventCallback> — Raised when a node drag (possibly multi-node) or auto-layout commits. - `OnConnect`: EventCallback — Raised when the user finishes a drag-to-connect between two ports. - `OnDeleteRequested`: EventCallback — Raised when Delete/Backspace is pressed with the canvas focused. - `OnExternalDrop`: EventCallback — Raised when an external item is dropped on the canvas (world coords). - `SelectionChanged`: EventCallback — Raised when the user changes the selection (click, marquee). - `ViewportChanged`: EventCallback — Raised when a gesture commits a new viewport. Slots: - `ChildContent`: RenderFragment — Extra overlay content (hints, run bars...) rendered inside the canvas. - `EmptyContent`: RenderFragment — Rendered centered when the graph has no nodes. - `NodeTemplate`: RenderFragment (context: DiagramNode) — Replaces the default node card content. Ports are always rendered by the canvas. ### OmniDropZone A single drop bucket. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Data/OmniDropZone.razor_ Parameters: - `Value`: object — Opaque value the container's ItemSelector uses to bucket items into this zone (e.g. a status enum). Slots: - `Footer`: RenderFragment — Optional footer rendered below the items (e.g. an "+ Add" button). ### OmniDropZoneContainer Kanban-style drag-and-drop container. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Data/OmniDropZoneContainer.razor_ Parameters: - `CanDrop`: Func, bool> — Returns whether the current drag is allowed to drop on the target zone/item. - `Data`: IEnumerable — Backing data list. Each OmniDropZone`1 filters this via ItemSelector. - `ItemRender`: Action> — Per-item render hook — set attributes or hide individual items. - `ItemSelector`: Func, bool> — Returns true when an item belongs in the given zone. Events: - `DragEnd`: EventCallback> — Fires when the drag ends (with or without a drop). - `DragStart`: EventCallback> — Fires when the user starts dragging an item. - `Drop`: EventCallback> — Fires when an item is dropped on a zone (or another item). Slots: - `Template`: RenderFragment (context: TItem) — Render template for each item. Receives the item as @context. ### OmniDropZoneItem Internal draggable item rendered by . _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniDropZoneItem.razor_ Parameters: - `ItemAttributes`: IReadOnlyDictionary — ItemAttributes contributed by the container's ItemRender hook. ### OmniFileManager Provider-backed file manager with bounded loading, navigation and guarded mutations. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniFileManager.razor_ Parameters: - `AriaLabel`: string = Gerenciador de arquivos — Accessible label for the component. - `BreadcrumbLabel`: string = Localização — Accessible label for breadcrumb navigation. - `CancelText`: string = Cancelar — Label for cancelling a pending action. - `Capabilities`: FileManagerCapabilities {Browse | CreateFolder | Rename | Delete | Upload | Download | All} = Browse — Enabled optional operations. Browse is always available. - `ConfirmText`: string = Confirmar — Label for confirming deletion. - `DeleteConfirmationText`: string = Excluir “{0}”? — Delete confirmation template. Placeholder zero receives the entry name. - `DeleteText`: string = Excluir — Label for the delete action. - `DownloadText`: string = Baixar — Label for the download action. - `EmptyText`: string = Esta pasta está vazia. — Message shown when the directory is empty. - `ErrorText`: string = Não foi possível concluir a operação. — Message shown after a provider failure. - `GridViewText`: string = Exibição em grade — Label for grid view. - `ItemsCountText`: string = {0} de {1} itens — Footer template for visible and total item counts. - `LimitText`: string = Limite de {0} itens — Footer template shown when the configured item limit was reached. - `ListViewText`: string = Exibição em lista — Label for list view. - `LoadingText`: string = Carregando arquivos... — Message shown while the initial listing loads. - `MaxItems`: int = 1000 — Maximum entries requested, retained and rendered per directory. - `MaxUploadFiles`: int = 20 — Maximum files accepted in one upload selection. - `NewFolderPlaceholder`: string = Nome da pasta — Placeholder for a new folder name. - `NewFolderText`: string = Nova pasta — Label for the create-folder action. - `Path`: string = / — Current logical path for two-way binding. Paths use forward slashes. - `Provider`: IOmniFileManagerProvider *required* — Backend responsible for browsing and optional mutations. - `RefreshText`: string = Atualizar — Label for the refresh action. - `RenamePlaceholder`: string = Novo nome — Placeholder for a new entry name. - `RenameText`: string = Renomear — Label for the rename action. - `SaveText`: string = Salvar — Label for saving an inline edit. - `SearchDebounce`: int = 250 — Delay before provider-side text searches, in milliseconds. - `SearchPlaceholder`: string = Buscar nesta pasta — Provider-side search placeholder. - `SearchText`: string = — Current provider-side search text for two-way binding. - `SelectedItem`: FileManagerEntry — Currently selected entry for two-way binding. - `UploadText`: string = Enviar — Label for the upload action. - `View`: FileManagerView {List | Grid} = List — Current list or grid layout for two-way binding. Events: - `DirectoryOpened`: EventCallback — Raised after a directory is opened and its path changes. - `DownloadRequested`: EventCallback — Raised when the user requests download of a file. - `ItemsChanged`: EventCallback — Raised after a provider operation changes the directory contents. - `OperationFailed`: EventCallback — Raised when an uncancelled provider operation fails. - `PathChanged`: EventCallback — Raised when Path changes. - `SearchTextChanged`: EventCallback — Raised when SearchText changes. - `SelectedItemChanged`: EventCallback — Raised when SelectedItem changes. - `ViewChanged`: EventCallback — Raised when View changes. Slots: - `ItemTemplate`: RenderFragment (context: FileManagerEntry) — Optional custom renderer for each entry. ### OmniGantt OmniGantt — project timeline inspired by RadzenGantt. _base: OmniComponent · accepts ChildContent · source: src/Omni.Blazor/Components/Data/Gantt/OmniGantt.razor_ Parameters: - `AllowColumnResize`: bool — Lets the user resize left-pane columns by dragging the right edge of a header cell. Default true. - `Data`: IEnumerable — The task source. - `Dependencies`: IEnumerable> — Typed task dependencies rendered as arrows. - `LeftPaneWidth`: string — Fallback width for the left task pane when no columns are declared. When columns exist the pane auto-sizes to the sum of their (effective) widths, so a column never overflows into the timeline. - `Markers`: IEnumerable — Optional vertical date markers (e.g. deadlines) drawn on the timeline. - `NonWorkingDays`: IEnumerable — Which days count as non-working (shaded). Default Saturday + Sunday. - `RowHeightPx`: int — Height (px) of each task row. Default 34. - `Schema`: GanttSchema *required* — Immutable typed task projection and presentation schema. - `ShowCriticalPath`: bool — Computes and highlights the critical path (CPM). Requires dependencies. Default false. - `ShowNavigation`: bool — Shows the top navigation bar (title + zoom controls). Default true. - `ShowTodayLine`: bool — Draws a vertical line at the current date/time. Default true. - `ShowWeekends`: bool — Shades non-working days (see NonWorkingDays) on the timeline. Default true. - `TaskRender`: Action> — Per-bar render hook (CSS class / inline style). - `ViewEnd`: DateTime — Forces the timeline end date. Null = auto from the latest task. - `ViewStart`: DateTime — Forces the timeline start date. Null = auto from the earliest task. - `ZoomLevel`: GanttZoomLevel {Day | Week | Month | Year} — Timeline granularity (Day/Week/Month/Year). Default Week. - `ZoomToFitText`: string — Tooltip for the zoom-to-fit button. Default "Ajustar à tela". Events: - `ColumnResized`: EventCallback — Fired after a left-pane column is resized (drag of the header handle finished). - `RowClick`: EventCallback — Fired when a left-pane row is clicked. - `TaskClick`: EventCallback — Fired when a task bar is clicked. - `TaskMouseEnter`: EventCallback> — Fired when the pointer enters a task bar. - `TaskMouseLeave`: EventCallback> — Fired when the pointer leaves a task bar. - `TaskMove`: EventCallback> — Fired when a task is dragged to a new date range. Wiring it enables drag-to-move. - `TaskResize`: EventCallback> — Fired when a task is resized via its edge handles. Wiring it enables resizing. Slots: - `ChildContent`: RenderFragment — Left-pane column definitions (OmniGanttColumn) — pass them as child content. - `TaskTemplate`: RenderFragment (context: TItem) — Custom content inside each task bar (replaces progress + label). ### OmniGanttColumn Left-pane column for an OmniGantt. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Gantt/OmniGanttColumn.razor_ Parameters: - `FormatString`: string — Optional composite format string (e.g. "{0:d}", "{0:P0}"). - `MinWidth`: string — Minimum width (e.g. "60px") the user can drag this column down to. Default 60px. - `Property`: Func — Value selector for the cell content. - `Resizable`: bool — Whether this column can be resized when the gantt has AllowColumnResize. Default true. - `Title`: string — Header text. - `Width`: string — CSS width of the column (e.g. "200px"). Default "140px". Slots: - `Template`: RenderFragment (context: TItem) — Optional custom cell template (overrides Property). ### OmniGanttForm CRUD-enabled Gantt that edits detached tasks through OmniDataForm and the shared headless entity coordinator. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Gantt/OmniGanttForm.razor_ Parameters: - `Disabled`: bool — Disables generated entity operations. - `EditorSchema`: EntityEditorSchema *required* — Reusable DataForm and CRUD definition. - `GanttClass`: string — Additional CSS class applied directly to the Gantt. - `GanttSchema`: GanttSchema *required* — Strongly typed task projection and Gantt defaults. - `GanttStyle`: string — Additional inline styles applied directly to the Gantt. - `Items`: IList *required* — Mutable task snapshot rendered by the Gantt. - `MaximumItems`: int — Maximum local task count. - `MinimumItems`: int — Minimum local task count. - `Provider`: IOmniEntityMutationProvider — Optional persistence provider. - `ReadOnly`: bool — Makes generated entity operations read-only. Events: - `ColumnResized`: EventCallback — Raised after a Gantt column resize. - `ItemsChanged`: EventCallback> — Raised after a successful local mutation. - `OperationCompleted`: EventCallback> — Raised after a successful generated CRUD operation. - `OperationFailed`: EventCallback> — Raised after a handled generated CRUD failure. - `RefreshRequested`: EventCallback — Requests that the owner reload provider-backed Items. - `RowClick`: EventCallback — Raised after a left-pane row is selected. - `TaskClick`: EventCallback — Raised after a task bar is selected. - `TaskMove`: EventCallback> — Raised after a task move gesture. - `TaskResize`: EventCallback> — Raised after a task resize gesture. Slots: - `Columns`: RenderFragment — Declarative left-pane Gantt columns. - `TaskTemplate`: RenderFragment (context: TItem) — Typed task-bar content. - `ToolbarContent`: RenderFragment — Additional generated toolbar content. ### OmniHtmlEditor _base: FormComponent · accepts ChildContent · form input · source: src/Omni.Blazor/Components/Data/HtmlEditor/OmniHtmlEditor.razor_ Parameters: - `Height`: string = 320px — Height of the editor surface (CSS). Default 320px. - `Mode`: HtmlEditorMode {Design | Source} = Design — Design (WYSIWYG) or Source (raw HTML) view. Default Design. - `ShowToolbar`: bool = true — Shows the formatting toolbar. Default true. Events: - `Execute`: EventCallback — Fired whenever a command runs (carries the execCommand name). - `Input`: EventCallback — Fired on every content change in design mode (per keystroke). Slots: - `ChildContent`: RenderFragment — Custom toolbar content (OmniHtmlEditorButton tools). When null, a default toolbar renders. ### OmniHtmlEditorButton A toolbar tool for OmniHtmlEditor. _base: ComponentBase · source: src/Omni.Blazor/Components/Data/HtmlEditor/OmniHtmlEditorButton.razor_ Parameters: - `Command`: string *required* = — The execCommand name (e.g. bold, justifyCenter, insertOrderedList). - `Icon`: string *required* = — Icon name (Omni icon library). - `Shortcut`: string — Optional keyboard shortcut (e.g. Ctrl+B) registered with the editor. - `Title`: string — Tooltip / accessible title. - `Value`: string — Optional command value (e.g. a color, or a block tag for formatBlock). ### OmniKanban OmniKanban — quadro de colunas com cards arrastáveis. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniKanban.razor_ Parameters: - `AddCardText`: string — Label do botão de adicionar card. Default "Adicionar card". - `AgeStaleDays`: int — A partir de quantos dias o card fica "vermelho". Default 5. - `AgeWarnDays`: int — A partir de quantos dias o card fica "amarelo". Default 3. - `AllowAddCard`: bool — Mostra o botão "adicionar card" no rodapé das colunas. Default false. - `AllowColumnReorder`: bool — Permite arrastar o cabeçalho da coluna para reordená-las. Default false. - `CardActions`: Func> — Ações do menu "…" do card (atribuir, mover, sinalizar, etc.). Quando definido, mostra o botão "…"; o menu é renderizado num portal (escapa o overflow da coluna). - `CardAge`: Func — Dias que o card está na coluna (o consumidor calcula). null = oculto. - `CardAssignee`: Func — Nome do responsável — vira avatar (iniciais) no rodapé do card. - `CardAvatar`: Func — URL da imagem do avatar do responsável (senão usa as iniciais). - `CardColor`: Func — Cor (CSS) da faixa lateral do card — por tipo, prioridade, etc. null = sem faixa. - `CardDueDate`: Func — Prazo do card — badge de data (fica vermelho se vencido). - `CardEstimate`: Func — Estimativa (texto livre: "5", "3h", "8pts") — badge. - `CardFields`: Func> — Campos extras (rótulo + valor) exibidos no card — no máx. 3. - `CardId`: Func — Chave estável do card (recomendado): @@key, foco por teclado, igualdade. - `CardPriority`: Func — Prioridade do card — ícone/cor no topo. - `CardSubtasks`: Func> — Progresso de subtarefas (concluídas, total) — badge ✓ d/t. - `CardTitle`: Func — Card → título exibido no card padrão. Default: ToString() do card. - `Collapsible`: bool — Permite recolher colunas. Default true. - `ColumnSelector`: Func — Card → Id da coluna (obrigatório). - `ColumnSetter`: Action — Grava a nova coluna no card ao mover entre colunas. - `ColumnWidth`: string — Largura CSS de cada coluna (define --omni-kanban-col-w). Null = largura padrão. - `Columns`: IEnumerable — Definição das colunas (ordem = ordem de exibição). - `DragDisabled`: bool — Desabilita o drag-and-drop (mouse e teclado). Default false. - `DueDateFormat`: string — Formato do prazo. Default "dd MMM". - `Items`: IEnumerable — Lista plana de cards. Two-way (@bind-Items) — reordenada ao mover. - `QuickFilters`: IEnumerable> — Chips de filtro rápido (combinam em E). Cards que falham num filtro ativo são ocultados. - `Schema`: KanbanSchema — Optional immutable typed board schema. - `SearchPlaceholder`: string — Placeholder da busca. - `SearchSelector`: Func — Texto a pesquisar por card. Default = título do card. - `ShowCardAge`: bool — Exibe o indicador de envelhecimento (pontos). - `ShowCount`: bool — Mostra a contagem de cards (ou n/limite com WIP) no cabeçalho. Default true. - `ShowSearch`: bool — Exibe uma barra de busca textual. - `SwimlaneSelector`: Func — Card → Id da raia. - `SwimlaneSetter`: Action — Grava a nova raia no card ao mover entre raias. - `Swimlanes`: IEnumerable — Definição das raias. Quando presente (+ SwimlaneSelector), o board agrupa em linhas. - `SwimlanesCollapsible`: bool — Permite recolher raias. Default true. - `WipLimitMode`: WipLimitMode {Warn | Enforce} — Comportamento do limite de WIP: avisa (Warn) ou bloqueia a entrada (Enforce). Default Warn. Events: - `CardAction`: EventCallback> — Disparado quando uma ação do menu "…" é selecionada. - `CardClick`: EventCallback — Disparado ao clicar num card. - `CardMoved`: EventCallback> — Disparado após mover um card (coluna/raia de origem e destino + índices). - `ColumnMoved`: EventCallback — Disparado após reordenar colunas (coluna + índices). - `ColumnsChanged`: EventCallback> — Two-way: @@bind-Columns — recebe a nova ordem ao reordenar. - `ItemsChanged`: EventCallback> — Disparado com a nova lista ao mover/reordenar cards (par de @bind-Items). - `OnAddCard`: EventCallback — Disparado ao clicar no botão "adicionar card" de uma coluna. Slots: - `CardTemplate`: RenderFragment (context: TCard) — Template completo do card — substitui o card padrão (e todos os seletores Card*). - `ColumnFooterTemplate`: RenderFragment (context: KanbanColumn) — Template do rodapé da coluna (substitui o botão "adicionar card"). Recebe a KanbanColumn. - `ColumnHeaderTemplate`: RenderFragment (context: KanbanColumn) — Template do cabeçalho da coluna. Recebe a KanbanColumn. - `EmptyColumnTemplate`: RenderFragment — Conteúdo exibido numa coluna sem cards. Default: "Sem cards". ### OmniKanbanForm CRUD-enabled Kanban that edits detached cards through OmniDataForm and the shared headless entity coordinator. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniKanbanForm.razor_ Parameters: - `BoardClass`: string — Additional CSS class applied directly to the board. - `BoardStyle`: string — Additional inline styles applied directly to the board. - `ColumnFactory`: Func — Creates a prefilled card for the selected Kanban column. - `Disabled`: bool — Disables generated entity operations. - `EditorSchema`: EntityEditorSchema *required* — Reusable DataForm and CRUD definition. - `Items`: IList *required* — Mutable card snapshot rendered by the Kanban. - `KanbanSchema`: KanbanSchema *required* — Strongly typed board and card schema. - `MaximumItems`: int — Maximum local card count. - `MinimumItems`: int — Minimum local card count. - `Provider`: IOmniEntityMutationProvider — Optional persistence provider. - `ReadOnly`: bool — Makes generated entity operations read-only. Events: - `AddCard`: EventCallback — Raised after a column add action is requested. - `CardClick`: EventCallback — Raised after a card is selected for editing. - `CardMoved`: EventCallback> — Raised after a card is moved between board positions. - `ItemsChanged`: EventCallback> — Raised after CRUD or board movement changes the local source. - `OperationCompleted`: EventCallback> — Raised after a successful generated CRUD operation. - `OperationFailed`: EventCallback> — Raised after a handled generated CRUD failure. - `RefreshRequested`: EventCallback — Requests that the owner reload provider-backed Items. Slots: - `CardTemplate`: RenderFragment (context: TItem) — Custom card content. - `ToolbarContent`: RenderFragment — Additional generated toolbar content. ### OmniMonthView Month grid (6 weeks × 7 days). _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Scheduler/OmniMonthView.razor_ Parameters: - `Icon`: string = grid — Icon name shown on this view's switch tab. Default "grid". - `MaxAppointmentsInSlot`: int = 3 — Max appointments rendered per day before a "+N more" link appears. Null = unlimited. - `MoreText`: string = + {0} mais — Overflow link text. {0} is replaced with the hidden count. Default "+ {0} mais". - `Text`: string = Mês — Label shown on this view's switch tab. Default "Mês". ### OmniMultiDayView N consecutive days side-by-side with time slots (mirrors RadzenMultiDayView). _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Scheduler/OmniMultiDayView.razor_ Parameters: - `AdvanceDays`: int = 1 — How many days the next/prev buttons advance. Default 1. - `EndTime`: TimeSpan — Last time slot of the day (exclusive). Default 24:00. - `HeaderFormat`: string = ddd — Format for the day-of-week header. Default "ddd". - `Icon`: string = columns — Icon name shown on this view's switch tab. Default "columns". - `MinutesPerSlot`: int = 30 — Minutes per slot row. Default 30. - `NumberOfDays`: int = 2 — How many days to render side-by-side. Default 2. - `StartTime`: TimeSpan — First time slot of the day. Default 08:00. - `Text`: string = Multi-dias — Label shown on this view's switch tab. Default "Multi-dias". - `TimeFormat`: string = HH:mm — Time format for slot labels. Default "HH:mm". ### OmniPivotColumn A column dimension of an OmniPivotGrid`1. Multiple nest. _base: OmniPivotFieldBase · source: src/Omni.Blazor/Components/Data/Pivot/OmniPivotColumn.cs_ Parameters: - `Width`: string — Optional fixed width for the value columns under this group. ### OmniPivotGrid OmniPivotGrid — pivot table (RadzenPivotDataGrid port). _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Pivot/OmniPivotGrid.razor_ Parameters: - `AllowDrillDown`: bool — Lets the user expand/collapse row and column groups. Default true. - `Data`: IReadOnlyList — Flat data source to pivot. - `EmptyText`: string — Text shown when there's nothing to pivot. - `GrandTotalText`: string — Label of the grand-total footer cell. - `ShowColumnTotals`: bool — Shows a bottom totals row (per measure, per column group) + grand total. - `ShowRowTotals`: bool — Shows a right-hand totals column (per measure, per row group). - `TotalsText`: string — Label of the totals column/row headers. Slots: - `Columns`: RenderFragment — Column dimension declarations (OmniPivotColumn). - `Rows`: RenderFragment — Row dimension declarations (OmniPivotRow). - `Values`: RenderFragment — Value/measure declarations (OmniPivotValue). ### OmniPivotRow A row dimension of an OmniPivotGrid`1. Multiple nest. _base: OmniPivotFieldBase · source: src/Omni.Blazor/Components/Data/Pivot/OmniPivotRow.cs_ ### OmniPivotValue A value/measure of an OmniPivotGrid`1 — an aggregate (AggregateFunction) of a property computed at each row×column intersection. Multiple values render side-by-side under every column group. _base: OmniPivotFieldBase · source: src/Omni.Blazor/Components/Data/Pivot/OmniPivotValue.cs_ Parameters: - `Aggregate`: AggregateFunction {Sum | Average | Count | Min | Max} — Aggregate function. Default Sum. - `Align`: string — CSS text-align for the value cells. Default right. - `FormatString`: string — Composite format string for the cell value (e.g. "{0:C}", "{0:P0}"). Slots: - `Template`: RenderFragment (context: object) — Optional cell template (receives the aggregated value). ### OmniScheduler OmniScheduler — calendar/agenda component inspired by RadzenScheduler. _base: OmniComponent · accepts ChildContent · source: src/Omni.Blazor/Components/Data/Scheduler/OmniScheduler.razor_ Parameters: - `AppointmentRender`: Action> — Sync per-appointment render hook (add CSS classes / styles / data-* attributes). - `Culture`: CultureInfo — Culture for date formatting and first-day-of-week. Default CurrentCulture. - `Data`: IEnumerable — The appointment source. - `Date`: DateTime — Initial date shown. Two-way bindable via DateChanged. Default today. - `Height`: string — CSS height of the scheduler. Default "600px". - `NextText`: string — Title/aria-label for the next-range arrow. Default "Próximo". - `PrevText`: string — Title/aria-label for the previous-range arrow. Default "Anterior". - `Schema`: SchedulerSchema *required* — Immutable typed appointment projection and presentation schema. - `SelectedIndex`: int — Index of the initially selected view. Default 0. - `ShowDateTitle`: bool — Shows the current-range title in the header. Default true. - `ShowHeader`: bool — Shows the navigation/view-switch header bar. Default true. - `ShowNavigationButtons`: bool — Shows the prev/next arrow buttons in the header. Default true. - `ShowTodayButton`: bool — Shows the "today" button in the header. Default true. - `SlotRender`: Action — Sync per-slot render hook. - `TodayText`: string — Label for the "today" button. Default "Hoje". Events: - `AppointmentMouseEnter`: EventCallback> — Fires when the pointer enters an appointment. Wiring it enables hover handling. - `AppointmentMouseLeave`: EventCallback> — Fires when the pointer leaves an appointment. - `AppointmentMove`: EventCallback — Fires when an appointment is dropped on a slot. Wiring it enables drag-and-drop. - `AppointmentSelect`: EventCallback> — Fires when an appointment is clicked. - `DateChanged`: EventCallback — Fires when the displayed date changes (navigation / today). - `DaySelect`: EventCallback — Fires when a day header / day number is clicked. - `LoadData`: EventCallback — Fires when the visible range changes — hook for server-side appointment loading. - `MonthSelect`: EventCallback — Fires when a month header is clicked (year-style views). - `MoreSelect`: EventCallback — Fires when the "+N more" overflow link is clicked. - `SlotSelect`: EventCallback — Fires when an empty time slot is clicked. - `TodaySelect`: EventCallback — Fires when the "today" button is clicked (before the date moves). Slots: - `ChildContent`: RenderFragment — The views (e.g. ). - `NavigationTemplate`: RenderFragment — Replaces the entire built-in navigation bar. - `Template`: RenderFragment (context: TItem) — Custom appointment content. Receives the original TItem. Falls back to the projected text. ### OmniSchedulerForm CRUD-enabled Scheduler that edits detached drafts through OmniDataForm and the shared headless entity coordinator. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Scheduler/OmniSchedulerForm.razor_ Parameters: - `AppointmentRender`: Action> — Per-appointment render hook. - `Date`: DateTime — Current Scheduler date. - `Disabled`: bool — Disables generated entity operations. - `EditorSchema`: EntityEditorSchema *required* — Reusable DataForm and CRUD definition. - `Items`: IList *required* — Mutable appointment snapshot rendered by the Scheduler. - `MaximumItems`: int — Maximum local appointment count. - `MinimumItems`: int — Minimum local appointment count. - `Provider`: IOmniEntityMutationProvider — Optional persistence provider. The owner refreshes Items when requested. - `ReadOnly`: bool — Makes generated entity operations read-only. - `SchedulerClass`: string — Additional CSS class applied directly to the Scheduler. - `SchedulerSchema`: SchedulerSchema *required* — Strongly typed appointment projection and Scheduler defaults. - `SchedulerStyle`: string — Additional inline styles applied directly to the Scheduler. - `SelectedIndex`: int — Initially selected Scheduler view index. - `SlotFactory`: Func — Creates a prefilled draft from an empty Scheduler slot. - `SlotRender`: Action — Per-slot render hook. Events: - `AppointmentMouseEnter`: EventCallback> — Raised when the pointer enters an appointment. - `AppointmentMouseLeave`: EventCallback> — Raised when the pointer leaves an appointment. - `AppointmentMove`: EventCallback — Raised when an appointment is moved. - `AppointmentSelect`: EventCallback> — Raised after an appointment is selected for editing. - `DateChanged`: EventCallback — Raised when Scheduler navigation changes the date. - `ItemsChanged`: EventCallback> — Raised after a successful local mutation. - `LoadData`: EventCallback — Raised when the visible Scheduler range changes. - `OperationCompleted`: EventCallback> — Raised after a successful generated CRUD operation. - `OperationFailed`: EventCallback> — Raised after a handled generated CRUD failure. - `RefreshRequested`: EventCallback — Requests that the owner reload provider-backed Items. - `SlotSelect`: EventCallback — Raised after an empty slot is selected. Slots: - `AppointmentTemplate`: RenderFragment (context: TItem) — Typed appointment content. - `NavigationTemplate`: RenderFragment — Custom Scheduler navigation content. - `ToolbarContent`: RenderFragment — Additional editor toolbar content. - `Views`: RenderFragment — Scheduler view declarations. Day, Week and Month are generated when omitted. ### OmniTree OmniTree — hierarchical tree view (RadzenTree port). _base: OmniComponent · accepts ChildContent · source: src/Omni.Blazor/Components/Data/Tree/OmniTree.razor_ Parameters: - `AllowCheckChildren`: bool = true — When checking a node also checks all its descendants. Default true. - `AllowCheckParents`: bool = true — When all children of a node are checked, the parent auto-checks. Default true. - `AllowCheckboxes`: bool = false — Shows a tri-state checkbox on every node. - `CheckedValues`: IEnumerable — The set of checked values (two-way bindable). - `Data`: IEnumerable — Data source for a data-bound tree (used with OmniTreeLevel). - `Value`: object — The currently selected node's value (two-way bindable). Events: - `CheckedValuesChanged`: EventCallback> — Fired when the checked set changes (paired with CheckedValues for two-way binding). - `Collapsed`: EventCallback — Fired after a node collapses. - `Expand`: EventCallback — Fired when a node is expanded — set args.Children here to lazy-load. - `Expanded`: EventCallback — Fired after a node expands (post-load). - `SelectionChanged`: EventCallback — Fired when the selection changes (carries value + text). - `ValueChanged`: EventCallback — Fired when the selected value changes (paired with Value for two-way binding). Slots: - `ChildContent`: RenderFragment — Inline content: OmniTreeItem and/or OmniTreeLevel. ### OmniTreeGrid Accessible hierarchical data table with bounded lazy loading and selection. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniTreeGrid.razor_ Parameters: - `AriaLabel`: string — Accessible label for the tree grid. - `Children`: Func> — Synchronous child selector for fully in-memory trees. - `ChildrenProvider`: HierarchyChildrenProvider — Asynchronous, cancellable lazy child source. - `CollapseText`: string — Accessible label for collapsing a row. - `EmptyText`: string — Empty-state text. - `ExpandOnRowDoubleClick`: bool — Whether a row double-click toggles its expansion state. - `ExpandText`: string — Accessible label for expanding a row. - `ExpandedKeys`: IReadOnlyCollection — Externally controlled expanded key set. Replace the collection when updating it. - `HasChildren`: Func — Predicate indicating whether an item can be expanded. - `IndentSize`: int — Indentation per hierarchy level in CSS pixels. - `InitiallyExpanded`: Func — Optional predicate applied once when a data source is reset. - `Items`: IEnumerable — Root items in the hierarchy. - `KeySelector`: Func — Stable unique key selector. Keys identify expansion, cache and loading state; changing an item's key requires ReloadAsync. - `LimitReachedText`: string — Template shown when the visible-row limit is reached. - `LoadErrorText`: string — Message shown when lazy child loading fails. - `MaxCachedItems`: int — Maximum total lazy-loaded child items retained in the LRU cache. - `MaxCachedNodes`: int — Maximum lazy-loaded parent nodes retained in the LRU cache. - `MaxChildrenPerNode`: int — Maximum children retained from a single lazy-load response. - `MaxConcurrentLoads`: int — Maximum number of lazy child requests executed concurrently. - `MaxDepth`: int — Maximum traversed hierarchy depth, protecting against cycles and pathological input. - `MaxVisibleRows`: int — Maximum rows flattened and rendered at once. - `RetryText`: string — Label for retrying a failed lazy load. - `RowClass`: Func — Optional row CSS class selector. - `SelectedItem`: TItem — Currently selected row item for two-way binding. Events: - `ExpandedKeysChanged`: EventCallback> — Raised with an immutable snapshot after expansion changes. - `LoadFailed`: EventCallback — Raised when an uncancelled lazy-load operation fails. - `RowSelected`: EventCallback — Raised after a row is selected. - `SelectedItemChanged`: EventCallback — Raised when SelectedItem changes. Slots: - `Columns`: RenderFragment — Declarative OmniTreeGridColumn definitions. - `EmptyTemplate`: RenderFragment — Optional empty-state content. ### OmniTreeGridColumn Declarative column definition registered with a parent OmniTreeGrid. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniTreeGridColumn.razor_ Parameters: - `Align`: TreeGridColumnAlign {Start | Center | End} — Horizontal cell alignment. - `IsHierarchyAnchor`: bool — Marks this column as the hierarchy indentation/expansion anchor. - `Property`: Func — Raw value selector used by the default cell renderer. - `TextSelector`: Func — Text selector overriding Property formatting. - `Title`: string — Column header text. - `Width`: string — CSS width such as 240px or 30%. Slots: - `Template`: RenderFragment (context: TItem) — Custom cell template receiving the row item. ### OmniTreeItem A single node of an OmniTree. _base: OmniComponent · accepts ChildContent · source: src/Omni.Blazor/Components/Data/Tree/OmniTreeItem.razor_ Parameters: - `Checkable`: bool = true — Whether this node's checkbox is enabled. Default true. - `Expanded`: bool = false — Whether this node starts expanded. - `HasChildren`: bool = false — Whether this node has children — shows the chevron even before children load (lazy). - `Icon`: string — Optional leading icon name (Omni icon library). - `Selected`: bool = false — Whether this node starts selected. - `Text`: string — The node's text (used when no Template). - `Value`: object — The value bound to this node (passed to events / selection / checks). Slots: - `ChildContent`: RenderFragment — Nested child nodes (inline) or data-bound children render fragment. - `Template`: RenderFragment (context: OmniTreeItem) — Custom template (receives this item — use context.Value/context.Text). ### OmniTreeLevel Declarative binding for one depth of a data-bound OmniTree. _base: ComponentBase · source: src/Omni.Blazor/Components/Data/Tree/OmniTreeLevel.razor_ Parameters: - `Checkable`: Func — Whether a node's checkbox is enabled. Default: all checkable. - `Children`: Func — Selector for the enumerable that holds each node's children. - `Expanded`: Func — Whether a node starts expanded. - `HasChildren`: Func — Whether a node has children (controls the chevron). Defaults to "children non-empty". - `Icon`: Func — Leading-icon selector for each node. - `Selected`: Func — Whether a node starts selected. - `Text`: Func — Text selector for each node. Falls back to ToString(). Slots: - `Template`: RenderFragment (context: OmniTreeItem) — Per-node template (receives the OmniTreeItem; use context.Value/context.Text). ### OmniVirtualize Thin wrapper over Blazor's built-in . _base: OmniComponent · source: src/Omni.Blazor/Components/Data/OmniVirtualize.razor_ Parameters: - `DefaultEmptyText`: string — Text shown when Items is empty and EmptyContent isn't set. - `Height`: string — Fixed height for the scrolling viewport (default 400px). Pass null to let the parent size the container — useful when the virtualize lives inside a flex/grid pane that already constrains height. Virtualize`1 requires a bounded height to virtualize correctly; without one it will render every item. - `ItemSize`: float — Estimated height of each row, in pixels. Default 50. Drives overscan + placeholder height. - `Items`: ICollection — Synchronous data source. Mutually exclusive with ItemsProvider. - `ItemsProvider`: ItemsProviderDelegate — Async/server-side data source. Mutually exclusive with Items. - `OverscanCount`: int — Number of extra items to render outside the viewport. Default 3 (Blazor default). - `SpacerElement`: string — HTML tag usada para os placeholders/spacers do Virtualize`1. Default "div". Use "tr" quando virtualizar dentro de um (mantém semântica de tabela). Slots: - `EmptyContent`: RenderFragment — Custom empty state. If null, shows DefaultEmptyText. - `ItemContent`: RenderFragment (context: TItem) *required* — Template for each rendered item. - `Placeholder`: RenderFragment (context: PlaceholderContext) — Template shown for items still being fetched (ItemsProvider mode). ### OmniWeekView Seven-day week view with time slots. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Scheduler/OmniWeekView.razor_ Parameters: - `EndTime`: TimeSpan — Last time slot of the day (exclusive). Default 24:00. - `HeaderFormat`: string = ddd — Format for the day-of-week header. Default "ddd". - `Icon`: string = calendar — Icon name shown on this view's switch tab. Default "calendar". - `MinutesPerSlot`: int = 30 — Minutes per slot row. Default 30. - `StartTime`: TimeSpan — First time slot of the day. Default 08:00. - `Text`: string = Semana — Label shown on this view's switch tab. Default "Semana". - `TimeFormat`: string = HH:mm — Time format for slot labels. Default "HH:mm". ### OmniWorkflowDesigner Workflow composition surface with Diagram editing, bounded undo/redo, graph validation and a typed PropertyGrid inspector. _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Diagram/OmniWorkflowDesigner.razor_ Parameters: - `CanvasClass`: string — Additional CSS class applied to the Diagram canvas. - `CanvasStyle`: string — Additional inline styles applied to the Diagram canvas. - `ConnectionFactory`: Func — Creates an edge for a completed connection. Omit to handle OnConnect externally. - `Edges`: IReadOnlyList — Controlled workflow edge snapshot. - `FitOnMount`: bool — Fits the graph on first render. - `InspectorAriaLabel`: string — Accessible inspector label. - `InspectorEmptyText`: string — Inspector empty-state title. - `InspectorSchema`: DataFormSchema — Typed inspector schema used when a selected node carries TNode data. - `InspectorTitle`: string — Inspector heading. - `MaximumHistory`: int — Maximum retained undo entries. Default 50, maximum 200. - `Nodes`: IReadOnlyList — Controlled workflow node snapshot. - `PaletteAriaLabel`: string — Accessible palette label. - `ReadOnly`: bool — Disables graph and inspector mutations. - `RedoText`: string — Redo action text. - `RunState`: DiagramRunState — Optional execution-state overlay. - `Selection`: DiagramSelection — Controlled Diagram selection. - `ShowAutoLayout`: bool — Shows the built-in auto-layout action. - `ShowControls`: bool — Shows viewport controls. - `ShowMinimap`: bool — Shows the canvas minimap. - `ToolbarAriaLabel`: string — Accessible toolbar label. - `UndoText`: string — Undo action text. - `UpdateNode`: Func — Projects an edited typed payload back into its Diagram node. - `ValidationTitle`: string — Graph validation heading. - `Validator`: Func, IReadOnlyList, IReadOnlyList> — Bounded synchronous graph validator. - `Viewport`: DiagramViewport — Controlled Diagram viewport. Events: - `EdgesChanged`: EventCallback> — Raised after workflow edges change. - `InspectorChanged`: EventCallback> — Raised when an inspector property changes. - `NodesChanged`: EventCallback> — Raised after workflow nodes change. - `OnConnect`: EventCallback — Raised for every completed connection gesture. - `OnExternalDrop`: EventCallback — Raised for external canvas drops. - `SelectionChanged`: EventCallback — Raised after selection changes. - `ViewportChanged`: EventCallback — Raised after the viewport changes. Slots: - `EmptyContent`: RenderFragment — Content rendered when the workflow has no nodes. - `InspectorEmptyContent`: RenderFragment — Custom content shown when no typed node is selected. - `NodeTemplate`: RenderFragment (context: DiagramNode) — Custom Diagram node content. - `PaletteContent`: RenderFragment — Optional left-side workflow palette. - `ToolbarContent`: RenderFragment — Additional toolbar content. ### OmniYearPlannerView Year planner: 12 month rows × day columns with appointment bars (mirrors RadzenYearPlannerView). _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Scheduler/OmniYearPlannerView.razor_ Parameters: - `Icon`: string = grid — Icon name shown on this view's switch tab. Default "grid". - `Text`: string = Planner — Label shown on this view's switch tab. Default "Planner". ### OmniYearTimelineView Year timeline: 12 month rows × day columns, connected timeline styling (mirrors RadzenYearTimelineView). _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Scheduler/OmniYearTimelineView.razor_ Parameters: - `Icon`: string = trending-up — Icon name shown on this view's switch tab. Default "trending-up". - `Text`: string = Timeline — Label shown on this view's switch tab. Default "Timeline". ### OmniYearView Twelve mini-month calendars (mirrors RadzenYearView). _base: OmniComponent · source: src/Omni.Blazor/Components/Data/Scheduler/OmniYearView.razor_ Parameters: - `Icon`: string = calendar — Icon name shown on this view's switch tab. Default "calendar". - `Text`: string = Ano — Label shown on this view's switch tab. Default "Ano". ## Display ### OmniAccordion Group of collapsible panels. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniAccordion.razor_ Parameters: - `Mode`: AccordionMode {Single | Multi} = Single — Expansion behavior: Single (default) keeps only one item open at a time; Multi lets items expand independently. ### OmniAccordionItem A single collapsible panel within an OmniAccordion, with a clickable header (icon + title) and an expandable body. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniAccordionItem.razor_ Parameters: - `Disabled`: bool = false — When true, the header is disabled and the item cannot be toggled. - `Expanded`: bool = false — Initial/bound expanded state; supports two-way binding via ExpandedChanged. - `Icon`: string — Optional icon name rendered before the title in the header. - `Title`: string — Plain-text header label, shown when TitleContent is not provided. Events: - `ExpandedChanged`: EventCallback — Fired when the item expands or collapses, carrying the new expanded state. Slots: - `TitleContent`: RenderFragment — Custom header markup; takes precedence over Title when set. ### OmniAlert Inline banner — persists on the page (unlike Toast which auto-dismisses). _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniAlert.razor_ Parameters: - `Dismissible`: bool = false — When true, renders a close button that hides the alert. - `Icon`: string — Overrides the default severity-based leading icon. - `Severity`: NotificationSeverity {Info | Success | Warning | Error} = Info — Severity level (Info default) driving the color scheme and default icon. - `Title`: string — Optional bold heading shown above the message. Events: - `OnClosed`: EventCallback — Fired after the alert is dismissed via the close button. Slots: - `Actions`: RenderFragment — Optional action buttons/links rendered below the message. ### OmniAvatar Circular (or square) user avatar showing an image when available, otherwise fallback initials. _base: OmniComponent · source: src/Omni.Blazor/Components/Display/OmniAvatar.razor_ Parameters: - `ImageUrl`: string — URL of the avatar image; when set, the image replaces the initials. - `Initials`: string — Fallback text (typically 1-2 letters) shown when no image is provided; also used as the image alt text. - `Size`: AvatarSize {Sm | Md | Lg | Xl | XXl} = Md — Avatar size (Md default): Sm, Md, Lg, Xl, or XXl. - `Square`: bool = false — When true, renders a rounded-square avatar instead of a circle. ### OmniAvatarGroup Overlapping stack of avatars with an optional "+N" overflow chip — for member lists, assignees, participants. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniAvatarGroup.razor_ Parameters: - `More`: int — Overflow count rendered as a trailing "+N" chip. - `Size`: AvatarSize {Sm | Md | Lg | Xl | XXl} = Md — Sizes the overlap + "+N" chip to match the avatars. Default Md. ### OmniBadge Dual-mode badge: _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniBadge.razor_ Parameters: - `AriaLabel`: string — Override aria-label of the badge bubble. - `Bordered`: bool = false — Adds a contrast ring around the badge so it visually separates from the child. - `Content`: object — Badge content — supports string or int. When int and value > Max, renders as "Max+" (e.g. "99+"). - `Dot`: bool = false — Render as a small dot (no text/icon). Use for "new notification" indicators. - `Icon`: string — Optional icon at the start of the badge (or inside the overlay bubble). - `Max`: int = 99 — Numeric cap. When Content is an int > Max, renders "Max+". Default 99. - `Origin`: BadgeOrigin {TopEnd | TopStart | BottomEnd | BottomStart} = TopEnd — Anchor corner. TopEnd (default) puts the badge in the top-right corner. - `Overlap`: bool = false — Inset the badge over the wrapped child (recommended for round targets — avatars, icon buttons). - `Text`: string — Badge label (standalone mode). Ignored in overlay mode if Content is set. - `Variant`: BadgeVariant {Default | Good | Warn | Danger | Info | Accent | Plain | Solid} = Default — Visual color variant. - `Visible`: bool = true — Toggle badge visibility (the wrapped child still renders). Default true. Events: - `OnClick`: EventCallback — Fires on click of the badge bubble (NOT the wrapped child). ### OmniBarcode Renders a 1D barcode (Code128 / Code39 / EAN-13 / EAN-8 / UPC-A) as inline SVG. _base: OmniComponent · source: src/Omni.Blazor/Components/Display/OmniBarcode.razor_ Parameters: - `AriaLabel`: string — aria-label customizado. Default = Value. - `Background`: string = — Cor de fundo. Default vazio (transparente — herda o container). - `BarHeight`: double = 60 — Altura das barras em unidades de viewBox. Default 60. - `FontSize`: double = 10 — Tamanho da fonte do texto inferior em unidades de viewBox. Default 10. - `Foreground`: string = var(--omni-fg) — Cor das barras (qualquer CSS color). Default --omni-fg. - `Height`: string — CSS height inline. Ex: "80px". - `QuietZoneModules`: int = 10 — Margem em torno do código (em módulos). Default 10 (recomendação ISO). - `ShowValue`: bool = true — Exibir o valor decifrado embaixo do código. Default true. - `Stretch`: bool = true — Esticar o SVG para preencher o container (preserveAspectRatio=none). Default true — permite controle exclusivo via CSS width/height. - `Type`: BarcodeType {Code128 | Code39 | Ean13 | Ean8 | UpcA} = Code128 — Símbologia. Default Code128. - `Value`: string *required* = — Conteúdo a codificar. Vazio renderiza placeholder vazio. - `Width`: string — CSS width inline (atalho para style). Ex: "240px". ### OmniCard Structural card container — a flex column whose direct children carry roles (header / body / media / footer), mirroring Bootstrap's `.card`. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniCard.razor_ Parameters: - `Clickable`: bool = false — Applies pointer cursor + hover lift (card-as-link). - `Elevated`: bool = false — Adds a shadow to lift the card. - `Flat`: bool = false — Removes the border — variant for secondary regions. - `Horizontal`: bool = false — Lays the card out horizontally (media beside body). - `MaxBodyHeight`: string — When set, the body scrolls internally at this max height (scrollable card). - `NoPadding`: bool = false — Escape-hatch: forces the body flush (no padding) even for mixed content. - `Subtitle`: string — Subtitle shown below the title. - `Title`: string — Title shown in the card header. - `Tone`: CardTone {None | Accent | Neutral | Info | Success | Warning | Danger} = None — Thematic colour. Filled on the Default variant; border-only on Outline. - `Variant`: CardVariant {Default | Accent | Outline} = Default — Visual variant: Default surface, Accent muted frame, or Outline. Events: - `OnClick`: EventCallback — Raised when the card is clicked (also enables the clickable style). Slots: - `FooterContent`: RenderFragment — Footer content (CTAs, metadata). - `HeaderActions`: RenderFragment — Actions rendered on the right side of the header. - `HeaderContent`: RenderFragment — Custom header content (overrides Title/Subtitle). ### OmniCardBody Structural card part — an explicit padded body section. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniCardBody.razor_ Parameters: - `Divided`: bool = false — Draws a divider line above this section (Metronic-style grouped card). - `NoPadding`: bool = false — Removes the section padding (flush content). ### OmniCardGroup OmniCardGroup — connects several into one segmented set (RadzenCardGroup port): no gaps, squared inner corners, rounded outer ends, shared 1px dividers. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniCardGroup.razor_ Parameters: - `Orientation`: Orientation {Horizontal | Vertical} = Horizontal — Layout direction. Horizontal (default) connects side by side; Vertical stacks. - `Responsive`: bool = true — When Horizontal, stack the cards once the group gets narrow. Default true. ### OmniCardMedia Structural card part — a flush image / media block. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniCardMedia.razor_ Parameters: - `Alt`: string — Alternative text for the image. - `Height`: string — Optional fixed height (e.g. "160px"). - `Position`: CardMediaPosition {Top | Bottom | Overlay | Start | End} = Top — Where the media sits in the card. Default Top. - `Src`: string — Image URL. When set, renders an . ### OmniCarousel OmniCarousel — a slideshow that cycles through slides (RadzenCarousel port). _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniCarousel.razor_ Parameters: - `AllowNavigation`: bool = true — Whether the prev/next buttons are shown. Default true. - `AllowPaging`: bool = true — Whether the pager dots are shown. Default true. - `AllowScroll`: bool = true — Whether the user can scroll/swipe between slides. Default true. - `AnimationDuration`: double — Slide transition duration (ms). null = default smooth (~400ms), 0 = instant. - `Auto`: bool = true — Whether the carousel auto-cycles. Default true. - `ButtonSize`: ComponentSize {Sm | Md | Lg | Xl} = Lg — Size of the prev/next buttons. Default Lg. - `ButtonVariant`: ButtonVariant {Default | Primary | Ghost | Danger | Link} = Ghost — Variant of the prev/next buttons. Default Ghost. - `Interval`: double = 4000 — Auto-cycle interval in milliseconds. Default 4000. - `ItemsPerPage`: int = 1 — Number of slides visible at once. Default 1. - `NextAriaLabel`: string — Accessible label for the next button. Default "Próximo slide". - `NextIcon`: string = chevron-right — Next-button icon name. Default "chevron-right". - `NextText`: string = — Optional next-button text. - `PagerButtonAriaLabelFormat`: string = Ir para o slide {0} — Format string for each pager dot's aria-label ({0} = 1-based page). Default "Ir para o slide {0}". - `PagerOverlay`: bool = true — Whether the pager overlays the slides (vs. sitting outside). Default true. - `PagerPosition`: CarouselPagerPosition {Top | Bottom | TopAndBottom} = Bottom — Pager (dots) position. Default Bottom. - `PrevAriaLabel`: string — Accessible label for the previous button. Default "Slide anterior". - `PrevIcon`: string = chevron-left — Previous-button icon name. Default "chevron-left". - `PrevText`: string = — Optional previous-button text (shown alongside / instead of the icon). - `SelectedIndex`: int = 0 — Index of the active slide. Two-way bindable via @bind-SelectedIndex. Events: - `Change`: EventCallback — Raised when the active slide changes (general-purpose event). - `SelectedIndexChanged`: EventCallback — Raised when the active slide changes (binding callback). ### OmniCarouselItem OmniCarouselItem — a single slide inside an . _base: OmniComponent · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniCarouselItem.razor_ Slots: - `ChildContent`: RenderFragment — The slide content. ### OmniChart SVG chart supporting cartesian, stacked, scatter, bubble, radar, gauge, pie, donut and waterfall series. _base: OmniComponent · source: src/Omni.Blazor/Components/Display/OmniChart.razor_ Parameters: - `AriaLabel`: string — aria-label customizado. - `ColorScheme`: ChartColorScheme {Palette | Accent | Pastel | Semantic} = Palette — Esquema de cores das séries. Default Palette. - `DonutCenterLabel`: string — Rótulo central de um chart Donut (linha superior, pequena). - `DonutCenterValue`: string — Valor central de um chart Donut (linha inferior, grande). - `Height`: string = 260px — Altura CSS do chart. Default "260px". - `LegendPosition`: ChartLegendPosition {Top | Right | Bottom | Left | None} = Bottom — Posição da legenda. Default Bottom. - `Schema`: ChartSchema — Optional immutable fluent schema. When supplied, it provides series and presentation defaults. - `Series`: IEnumerable — As séries do chart. Para Pie/Donut, apenas a primeira é usada. - `ShowGrid`: bool = true — Mostra as linhas horizontais de grid. Default true. - `Title`: string — Título reservado para futuro header (atualmente não renderizado). - `ValueFormatter`: Func — Formatador customizado para o eixo de valores. Default v.ToString("0.##"). - `ValueTicks`: int = 5 — Número desejado de ticks no eixo de valores. Default 5. - `Width`: string = 100% — Largura CSS do chart. Default "100%". ### OmniChip Compact pill/tag button — optional dot and icon, with active/accent/static visual states. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniChip.razor_ Parameters: - `Accent`: bool = false — When true, applies the accent color styling. - `Active`: bool = false — When true, applies the active/selected visual state. - `Icon`: string — Optional icon name rendered before the text. - `ShowDot`: bool = false — When true, shows a small leading status dot. - `Static`: bool = false — When true, renders as a non-interactive (display-only) chip. - `Text`: string — Chip label text, used when no ChildContent is supplied. Events: - `OnClick`: EventCallback — Fired when the chip is clicked. ### OmniDescriptionItem A single term/value pair for OmniDescriptionList. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniDescriptionItem.razor_ Parameters: - `Term`: string — The label (term). ### OmniDescriptionList Read-only key/value detail layout (term + value pairs) — the standard "detail / review / summary" primitive for entity pages, settings summaries and review-before-submit. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniDescriptionList.razor_ Parameters: - `Bordered`: bool = false — Wrap the list in a bordered card surface. - `Columns`: int = 2 — Term/value pairs per row on wide containers. Collapses to 1 when narrow. Default 2. ### OmniEmptyState Empty / zero-data placeholder — for empty lists, no search results, first-run states, empty inboxes, cleared filters. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniEmptyState.razor_ Parameters: - `Compact`: bool = false — Reduced padding for tight panels / dropdowns. - `Description`: string — Supporting text (plain). Ignored when DescriptionContent is set. - `Icon`: string = inbox — Icon name (any OmniIcon). Default inbox. - `Title`: string — Short headline (e.g. "Nenhum resultado"). Slots: - `Actions`: RenderFragment — Action buttons row (e.g. "Criar primeiro item"). - `DescriptionContent`: RenderFragment — Rich supporting content (overrides Description). - `Visual`: RenderFragment — Custom figure/illustration replacing the default icon. ### OmniIcon Render nothing when the icon name is unknown — emitting an empty wrapper span would (1) reserve layout space for a glyph that won't paint and (2) defeat CSS-only `:empty`/`:has()` consumers (e.g. _base: OmniComponent · source: src/Omni.Blazor/Components/Display/OmniIcon.razor_ Parameters: - `Name`: string *required* = — Required icon name looked up in OmniIconLibrary; an unknown name renders nothing. - `Size`: ComponentSize {Sm | Md | Lg | Xl} = Md — Icon size (Md default): Sm, Md, Lg, or Xl. ### OmniImage OmniImage — a thin, consistent wrapper (RadzenImage port). _base: OmniComponent · source: src/Omni.Blazor/Components/Display/OmniImage.razor_ Parameters: - `Alt`: string = — Alt text — describe the image, or leave empty for purely decorative images. - `Fit`: ObjectFit {Fill | Contain | Cover | None | ScaleDown} = Fill — How the image fills its box (CSS object-fit). Needs a sized box (width/height). - `Lazy`: bool = true — Native lazy loading (loading="lazy"). Default true. - `Src`: string — Image source (URL, app path, or a data: URI). Events: - `Click`: EventCallback — Makes the image interactive (renders as a button, Enter/Space activate). ### OmniKbd Renders a keyboard key/shortcut as a styled element. _base: OmniComponentWithChildren · accepts ChildContent · source: src/Omni.Blazor/Components/Display/OmniKbd.razor_ Parameters: - `Text`: string — Key text to display, used when no ChildContent is supplied. ### OmniLabel Standalone