OGE logoOGE

UI components for Angular

OGE is a suite of Angular UI components built on signals: a virtualized data grid, tree list, pivot table, buttons and form editors. Components run zoneless, ship with full template type checking and theme through CSS design tokens.

Requires Angular 22 or 23.

Installation

Packages are independent — install only the families you need. Shared engines (@oge-ui/core for data, @oge-ui/overlay for positioning) are pulled in as dependencies automatically.

# everything at once — one install, one import path
npm install oge-ui

# …or install only what you use — every package is standalone
npm install @oge-ui/grid        # data grid (+ @oge-ui/core)
npm install @oge-ui/tree-list   # hierarchical grid
npm install @oge-ui/pivot       # pivot table
npm install @oge-ui/buttons     # buttons, groups, drop-downs (+ @oge-ui/overlay)
npm install @oge-ui/inputs      # text, textarea, number and select editors

Quick start

Every component is standalone: import the classes you use into the imports array and bind with signals. No modules, no forms boilerplate — [(value)] works directly against a signal(), and the same editors also plug into Signal Forms ([formField]) and reactive forms (formControl).

import { Component, signal } from '@angular/core';
import { OgeButton } from '@oge-ui/buttons';
import { OgeTextBox } from '@oge-ui/inputs';

@Component({
  selector: 'app-search-bar',
  imports: [OgeTextBox, OgeButton],
  template: `
    <oge-text-box
      label="Search"
      [(value)]="query"
      [showClearButton]="true"
      (enterKey)="load()"
    />
    <oge-button text="Search" severity="accent" [action]="load" />
  `,
})
export class SearchBar {
  readonly query = signal('');

  // async action: the button manages its own loading spinner
  readonly load = () => fetch('/api/search?q=' + this.query());
}

Components

Packages

PackageContents
oge-uiUmbrella: installs and re-exports every package below — one install, one import path. The scoped packages remain the à-la-carte alternative.
@oge-ui/core Framework-agnostic engine: data sources, filtering, row pipeline, tree and pivot math, virtualization. No framework dependency — both render layers run this exact code.
@oge-ui/behavior Framework-agnostic interaction and accessibility layer: popup positioning, focus trapping, the shared overlay Escape stack, the button press pipeline. Shared by the Angular and React components, so gestures and timings cannot drift between them.
@oge-ui/reactReact umbrella: installs and re-exports every @oge-ui/react-* family below, with one stylesheet import for all of them. The scoped packages remain the à-la-carte alternative.
@oge-ui/react-buttonsReact. Buttons, button groups and drop-down/split buttons as real React components — props, callbacks, controlled state — over the two engines above and the same stylesheet.
@oge-ui/react-inputsReact. The full editor set on one field chrome: text, textarea, number, the drop-down editors with virtual scrolling, toggles, sliders, color box, calendar and the date editors.
@oge-ui/react-tabsReact. Tab strip and tab panel: APG activation, overflow menu, closable tabs with async guards, drag reordering and lazy panels.
@oge-ui/react-layoutReact. Layout containers and loading visuals — card, accordion, splitter, toolbar, progress bar, load indicator and skeleton.
@oge-ui/react-navigationReact. Navigation and wayfinding — virtualized tree view, drawer, stepper, menubar, breadcrumb and pagination.
@oge-ui/react-overlayReact. The popup foundation the other React families build on: viewport-aware anchored positioning and WAI-ARIA menus.
@oge-ui/grid Data Grid component, column directives, templates, CSV/Excel/PDF export entries and the shared theme files.
@oge-ui/tree-list Hierarchical grid with lazy loading, tri-state selection, drag & drop and Excel outline export.
@oge-ui/pivot Pivot table with field chooser, totals and export (commercial — free for evaluation and development).
@oge-ui/bpmn BPMN 2.0 process modeler with its own XML + DI engine, no watermark (commercial — free for evaluation and development).
@oge-ui/charts Charts: cartesian series and pie/doughnut on a dependency-free SVG kernel (commercial — free for evaluation and development).
@oge-ui/gantt Gantt chart with task tree, dependencies, critical path and drag editing (commercial — free for evaluation and development).
@oge-ui/upload File uploader with drag & drop, restrictions, previews and chunked resumable transfer.
@oge-ui/kanban Kanban board with columns, swimlanes, WIP limits and drag & drop (commercial — free for evaluation and development).
@oge-ui/scheduler Scheduler / event calendar with day, week and month views, drag & resize and form editing (commercial — free for evaluation and development).
@oge-ui/buttons Button, ButtonGroup and DropDownButton with async actions, click guards and hold-to-confirm.
@oge-ui/overlay Anchored panels, popups and menu lists — the positioning engine behind drop-downs.
@oge-ui/inputs TextBox, TextArea, NumberBox plus SelectBox and TagBox (multi-select combobox) on one field chrome, with three form-binding modes.

Next steps