diff --git a/ts_web/elements/dees-appui-appbar.ts b/ts_web/elements/dees-appui-appbar.ts
index 3c7bedf..f9bc892 100644
--- a/ts_web/elements/dees-appui-appbar.ts
+++ b/ts_web/elements/dees-appui-appbar.ts
@@ -11,11 +11,13 @@ import {
import * as domtools from '@design.estate/dees-domtools';
import * as interfaces from './interfaces/index.js';
+import * as plugins from './00plugins.js';
import { demoFunc } from './dees-appui-appbar.demo.js';
// Import required components
import './dees-icon.js';
import './dees-windowcontrols.js';
+import './dees-appui-profiledropdown.js';
declare global {
interface HTMLElementTagNameMap {
@@ -44,10 +46,14 @@ export class DeesAppuiBar extends DeesElement {
@property({ type: Object })
public user?: {
name: string;
+ email?: string;
avatar?: string;
status?: 'online' | 'offline' | 'busy' | 'away';
};
+ @property({ type: Array })
+ public profileMenuItems: (plugins.tsclass.website.IMenuItem & { shortcut?: string } | { divider: true })[] = [];
+
@property({ type: Boolean })
public showSearch: boolean = false;
@@ -64,6 +70,9 @@ export class DeesAppuiBar extends DeesElement {
@state()
private focusedDropdownItem: number = -1;
+ @state()
+ private isProfileDropdownOpen: boolean = false;
+
public static styles = [
cssManager.defaultStyles,
css`
@@ -102,7 +111,7 @@ export class DeesAppuiBar extends DeesElement {
border-radius: 4px;
-webkit-app-region: no-drag;
transition: all 0.2s ease;
- cursor: pointer;
+ cursor: default;
outline: none;
display: flex;
align-items: center;
@@ -162,7 +171,7 @@ export class DeesAppuiBar extends DeesElement {
.dropdown-item {
padding: 8px 16px;
- cursor: pointer;
+ cursor: default;
display: flex;
align-items: center;
gap: 8px;
@@ -206,7 +215,7 @@ export class DeesAppuiBar extends DeesElement {
.breadcrumb-item {
color: ${cssManager.bdTheme('#00000080', '#ffffff80')};
- cursor: pointer;
+ cursor: default;
transition: color 0.2s;
}
@@ -229,7 +238,7 @@ export class DeesAppuiBar extends DeesElement {
}
.search-icon {
- cursor: pointer;
+ cursor: default;
opacity: 0.7;
transition: opacity 0.2s;
}
@@ -242,7 +251,7 @@ export class DeesAppuiBar extends DeesElement {
display: flex;
align-items: center;
gap: 8px;
- cursor: pointer;
+ cursor: default;
padding: 4px 8px;
border-radius: 4px;
transition: background 0.2s;
@@ -413,22 +422,31 @@ export class DeesAppuiBar extends DeesElement {
${this.showSearch ? html`