+ Welcome to my dashboard
+ Example of vanilla JS code
+
+
+
+`;
+
+export default class MyDashboardElement extends UmbElementMixin(HTMLElement) {
+ /** @type {import('@umbraco-cms/backoffice/notification').UmbNotificationContext} */
+ #notificationContext;
+
+ constructor() {
+ super();
+ this.attachShadow({ mode: 'open' });
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
+
+ this.shadowRoot.getElementById('clickMe').addEventListener('click', this.onClick.bind(this));
+
+ this.consumeContext(UMB_NOTIFICATION_CONTEXT_TOKEN, (_instance) => {
+ this.#notificationContext = _instance;
+ });
+ }
+
+ onClick = () => {
+ this.#notificationContext?.peek('positive', { data: { headline: 'Hello' } });
+ };
+}
+
+customElements.define('my-custom-dashboard', MyDashboardElement);
+```
+
+### TypeScript with Lit
+
+First install Lit and Vite. This command will create a new folder called "my-package". Choose "lit" and "typescript" when prompted.
+
+```bash
+npm create vite@latest my-package
+```
+
+Go to the new folder and install the backoffice package.
+
+```bash
+cd my-package
+npm install -D @umbraco-cms/backoffice
+```
+
+Then go to the element located in `src/my-element.ts` and add the following code.
+
+```typescript
+// src/my-element.ts
+import { LitElement, html } from 'lit';
+import { customElement } from 'lit/decorators.js';
+import { UmbElementMixin } from '@umbraco-cms/backoffice/element';
+import { UmbNotificationContext, UMB_NOTIFICATION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/notification';
+
+@customElement('my-element')
+export default class MyElement extends UmbElementMixin(LitElement) {
+ #notificationContext?: UmbNotificationContext;
+
+ constructor() {
+ super();
+ this.consumeContext(UMB_NOTIFICATION_CONTEXT_TOKEN, (_instance) => {
+ this.#notificationContext = _instance;
+ });
+ }
+
+ onClick() {
+ this.#notificationContext?.peek('positive', { data: { message: '#h5yr' } });
+ }
+
+ render() {
+ return html`
+