Extending Components
For deep customization beyond what the Extension Registry provides, you can subclass UmbNav's Lit components directly.
Available Components
Component
Class
Description
Importing Components
import {
UmbNavItem,
UmbNavGroup,
UmbNavSorterPropertyEditorUIElement,
UmbNavItemStyles,
UmbNavGroupStyles,
UmbNavPropertyEditorUIStyles
} from '/App_Plugins/UmbNav/dist/api.js';Extending UmbNavItem
Basic Subclass
import { UmbNavItem, UmbNavItemStyles } from '/App_Plugins/UmbNav/dist/api.js';
import { customElement, html, css } from '@umbraco-cms/backoffice/external/lit';
@customElement('my-custom-umbnav-item')
export class MyCustomUmbNavItem extends UmbNavItem {
// Your customizations here
}Override Points
Method
Returns
Description
Example: Custom Icon Rendering
Example: Custom Name with Extra Info
Example: Custom Toolbar
Example: Completely Custom Render
Available Properties
Property
Type
Description
Extending Styles
Extending Base Styles
Replacing Styles Completely
Using CSS Custom Properties
Registering Custom Components
1. Replace via Manifest
2. Use in Custom Property Editor
Best Practices
1. Call Parent Methods
2. Preserve Extension Points
3. Handle Undefined Data
4. Use Type Guards
Last updated
Was this helpful?