REFERENCE
API reference
One page for each of the 82 custom elements, with every property, attribute, event, slot, CSS part, CSS custom property, and method. One page for each of the 31 plugin and utility packages, with examples and every function, class, type, and event they export. All pages are generated from the components' source.
How to read a page
- A property with an attribute can be set in HTML or from JavaScript. "Property only" means you set it from JavaScript, for example an array of options or a function.
- A reflected property writes its value back to the attribute, so you can select on it in CSS, as in
dj-button[kind="outlined"]. - Arrays and objects are easiest to set as properties, even when an attribute exists. An attribute value has to be JSON.
- Events from the components bubble and cross shadow roots, so a listener on a parent element also receives them. The data is in
event.detail. - Parts are for styling with
::part(). CSS custom properties are the--dj-*tokens that the theming guide explains. - A plugin page lists the options the plugin adds to its host, the events it emits, and what it exports. To build a plugin of your own, see Writing plugins.
The renderer, pub/sub, and WebSocket client are on the Framework runtime page.
Form controls
<dj-action-button>A button that inherits the surrounding theme rather than imposing its own.<dj-button>The foundational button.<dj-checkbox>A form-associated checkbox composing<dj-label>.<dj-checkbox-group>Multi-select group fromoptions; submits each checked value undername.<dj-chip-typeahead>A multi-select typeahead: type to filteroptions, pick from a popup list, and each choice becomes a removable chip.<dj-color-picker>An inline color picker.<dj-constrained-input>A text input with a customvalidatorfunction:(value) => string | undefinedreturning an error message (or undefined when valid).<dj-copy-button>An icon-only button that copies text to the clipboard and shows whether it worked.<dj-date-input>An ISO (yyyy-mm-dd) date field: type it, or pick from a popup<dj-calendar>opened by the trailing button.<dj-email-input>A text input defaulting totype="email"(native email validation).<dj-file-input>A form-associated file selector with a button that opens the system file picker and a focusable drop zone.<dj-floating-action-button>A circular (or extended/pill) action button, optionally fixed to a screen position.<dj-form>A layout wrapper that gathers values from its named child controls and emitsdj-submitwith a{ name: value }object.<dj-helper-text>Supporting text shown under a form control.<dj-label>A form label.<dj-native-select>A form-associated wrapper over a native<select>, driven by anoptionsarray, composing<dj-label>,<dj-helper-text>, and a<dj-icon>chevron.<dj-number-input>A text input defaulting totype="number"; exposesvalueAsNumber.<dj-password-input>A password field with a show/hide toggle in the trailing slot.<dj-radio>A form-associated radio composing<dj-label>.<dj-radio-group>Coordinates a set of<dj-radio>into a single-choice control.<dj-range-slider>A form-associated dual-thumb range.<dj-rate>Star rating (0..max).<dj-search-box>A search field for free text plus typedkey:valuefilters.<dj-select>A form-associated single-select combobox.<dj-slider>A form-associated single-value range input with a themed track/fill/thumb and optional output, composing<dj-label>.<dj-switch>A form-associated on/off toggle (role="switch") composing<dj-label>.<dj-text-area>A form-associated multi-line text field, composing<dj-label>and<dj-helper-text>.<dj-text-input>A form-associated text field that composes<dj-label>and<dj-helper-text>.<dj-time-picker>AHH:MMtime field with a popup list of options generated frommin/max/step(seconds).<dj-typeahead>An editable combobox: type to filteroptions, pick from a popup<dj-list>.
Overlays
<dj-context-menu>Right-click the trigger (default slot) to open a menu ofoptions; emitsdj-selectwith the value.<dj-context-popup>Right-click (contextmenu) on the trigger (default slot) opens a<dj-popup>at the cursor, holding thecontentslot.<dj-dialog>A modal dialog.<dj-dropdown>A menu button: a trigger that opens a menu or panel anchored to it, built on<dj-popup>and<dj-list>.<dj-popup>Positions slotted content as an overlay, flipping to the opposite side when there isn't room in the preferred position.<dj-popup-confirmation>Clicking the trigger (default slot) opens a small confirm popup with thecontentslot and Confirm/Cancel buttons.<dj-slide-pane>A panel that slides in from an edge.<dj-snackbar>A toast.<dj-tooltip>Shows tip content next to its trigger on hover/focus.<dj-trigger-popup>Clicking the trigger (default slot) opens a<dj-popup>anchored to it, holding thecontentslot.
Layout
<dj-accordion>Coordinates slotted<dj-title-pane>children.<dj-card>Content container.<dj-carousel>A slotted, swipeable carousel.<dj-header-card>A<dj-card>with a header row (avatar + title/subtitle).<dj-split-panel>Two resizable panes with a draggable divider between them.<dj-stack>Flex layout.<dj-three-column-layout>Leading/center/trailing slots; collapses on narrow containers.<dj-title-pane>A collapsible panel with a title bar.<dj-two-column-layout>Leading + trailing slots; collapses to one column on narrow containers (container query).
Navigation
<dj-breadcrumb-group>A breadcrumb trail fromitems.<dj-header>App header bar.<dj-nav>A navigation landmark that collapses into a button and a panel when there is not enough room.<dj-pagination>Page navigation overtotalpages.<dj-speed-dial>A FAB that reveals slotted action buttons (actionsslot) when open.<dj-tab-container>Tabbed interface.<dj-toolbar>A horizontal action bar withrole="toolbar".<dj-tree>A hierarchical tree built fromnodes.<dj-wizard>Step progress indicator.
Data display
<dj-avatar>Circular/rounded/square avatar from an imagesrcor slotted initials/icon.<dj-badge>A small count or status label that decorates other content.<dj-board>A Kanban board over plain records.<dj-calendar>A form-associated month-grid date picker.<dj-chip>Compact label/tag.<dj-data-grid>A virtualized, sortable, selectable data grid built on TanStack Table and TanStack Virtual.<dj-grid>A data grid fromcolumns+rows.<dj-icon>A presentational icon.<dj-list>A single-select list, or a menu, built fromoptions.<dj-result>A status/result block with an icon, title, subtitle, content, and actions.<dj-text>Typographic wrapper.
Charts
<dj-chart>A themeable, accessible SVG chart.<dj-sparkline>A tiny inline chart of one numeric series, with no axes, grid, legend, tooltip, or margins.
Editing
<dj-rich-text>A form-associated WYSIWYG editor built on Lexical.
Feedback
<dj-alert>An inline status banner.<dj-global-event>Non-visual; attaches listeners to window/document for its lifetime.<dj-loading-indicator>A linear bar or circular spinner.<dj-progress>Determinate progress bar.<dj-skeleton>A loading placeholder that stands in for content while it loads.
Animation
<dj-transition>Runs an enter or leave effect whenshowchanges.<dj-transition-group>Staggers theshowof itsdj-transitionchildren.
Media
<dj-audio>A themed audio player.<dj-video>A themed video player built on video.js.
Data grid plugins
data-grid-cell-componentsIn-row Lit components (per-column render + actionButton/checkmark helpers)data-grid-detailMaster-detail (expandable row detail / subgrid)data-grid-editControlled inline cell editingdata-grid-exportCSV exportdata-grid-filterQuick + per-column filteringdata-grid-formatsValue-formatting plugin (Intl number/currency/percent/date via @dojo-ng/i18n)data-grid-groupsRow grouping + aggregatesdata-grid-paginationPagination (reuses dj-pagination)data-grid-rowstateRow/cell state styling plugin (conditional row parts + cell emphasis)data-grid-selectCheckbox selection column plugin (select-all, range selection)data-grid-treeTree (hierarchical) rows
Rich text plugins
rich-text-autolinkAuto-link (URL/email) pluginrich-text-colorText/background color pluginrich-text-criticmarkupCriticMarkup tracked-changes pluginrich-text-embedMedia embed pluginrich-text-emojiEmoji picker + shortcode pluginrich-text-headingsHeadings/quote pluginrich-text-imageImage insert pluginrich-text-linksLink insert/edit/remove pluginrich-text-listsBulleted/numbered/checklist pluginrich-text-markdownMarkdown input/output pluginrich-text-mentionsMentions (@name) pluginrich-text-slashSlash-command menu pluginrich-text-tableTable plugin
Chart plugins
chart-financialCandlestick, volume, and indicator plugins (OHLC support package, no custom element)
Utilities
<dj-theme>Scopes a theme to part of the page.contextDojo NG context-key registry (Context Protocol)dndDojo NG drag-and-drop primitive (pointer-events core: shadow DOM + touch, no dependency)dojo-elementDojo NG web component base classi18nDojo NG internationalization: locale signal, Intl formatting, message resolver, pluggable loaderrich-text-menuCaret-anchored menu machinery for @dojo-ng/rich-text pluginsstoreDojo NG external-store controller for Lit components