diff --git a/package-lock.json b/package-lock.json
index ee5e63b82..5795a1a21 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,7 +10,7 @@
"dependencies": {
"@bimdata/bcf-components": "6.7.8",
"@bimdata/components": "1.10.3",
- "@bimdata/design-system": "2.4.4",
+ "@bimdata/design-system": "3.0.0-beta.47",
"@bimdata/typescript-fetch-api-client": "10.48.0",
"@bimdata/viewer": "2.20.2-beta.7",
"@paddle/paddle-js": "^1.6.5",
@@ -1625,9 +1625,9 @@
}
},
"node_modules/@bimdata/design-system": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@bimdata/design-system/-/design-system-2.4.4.tgz",
- "integrity": "sha512-S9rpxvwR30ylGeyuqIXGbeZO7oOEBPfwxxYV7xkkT/TkFvjcx1GmzzE2VzoaoM9zhXX8RP5Z3e+XXPFn7fDG1A=="
+ "version": "3.0.0-beta.47",
+ "resolved": "https://registry.npmjs.org/@bimdata/design-system/-/design-system-3.0.0-beta.47.tgz",
+ "integrity": "sha512-vzTY/H/hGMjFPy8nVTncSH7aEXZr/FPUab1W8nRc0EBrQ4N4V2Y9i3PjVj0jLzwrqZhcqILaxxbz5Aq23I1qLQ=="
},
"node_modules/@bimdata/typescript-fetch-api-client": {
"version": "10.48.0",
@@ -2914,9 +2914,9 @@
}
},
"node_modules/@napi-rs/wasm-runtime": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.4.tgz",
- "integrity": "sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.6.tgz",
+ "integrity": "sha512-mRyDmEw9/fCDXCGfL1sbgIw/GUK0PVxRW4YwgPN61F3LQ+fSyoBFarJVzgGyhF6kRzEQZ0FejDqm4WLXSeqQmw==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -2931,8 +2931,8 @@
"url": "https://github.com/sponsors/Brooooooklyn"
},
"peerDependencies": {
- "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.4",
- "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.4"
+ "@emnapi/core": "^1.7.1 || 2.0.0-beta.2",
+ "@emnapi/runtime": "^1.7.1 || 2.0.0-beta.2"
}
},
"node_modules/@octokit/auth-token": {
diff --git a/package.json b/package.json
index 3091b67ef..d670ef4eb 100644
--- a/package.json
+++ b/package.json
@@ -15,7 +15,7 @@
"dependencies": {
"@bimdata/bcf-components": "6.7.8",
"@bimdata/components": "1.10.3",
- "@bimdata/design-system": "2.4.4",
+ "@bimdata/design-system": "3.0.0-beta.47",
"@bimdata/typescript-fetch-api-client": "10.48.0",
"@bimdata/viewer": "2.20.2-beta.7",
"@paddle/paddle-js": "^1.6.5",
diff --git a/src/AppLayout.vue b/src/AppLayout.vue
index 20b671b1e..3d95027bf 100644
--- a/src/AppLayout.vue
+++ b/src/AppLayout.vue
@@ -14,24 +14,29 @@
-
-
-
-
-
-
diff --git a/src/components/specific/app/app-header-menu/AppHeaderMenu.scss b/src/components/specific/app/app-header-menu/AppHeaderMenu.scss
index 1dd27745b..5bac2d283 100644
--- a/src/components/specific/app/app-header-menu/AppHeaderMenu.scss
+++ b/src/components/specific/app/app-header-menu/AppHeaderMenu.scss
@@ -1,90 +1,103 @@
.app-header-menu {
- .bimdata-dropdown:deep() {
- .bimdata-dropdown__content {
- padding: 0;
- }
-
- .bimdata-dropdown__elements {
- width: 250px;
- margin-left: -27px;
- }
- }
+ position: relative;
+ display: flex;
+ justify-content: center;
- &__btn {
- display: grid;
- grid-template-columns: 36px 135px;
- grid-template-rows: 14px 14px;
- align-items: center;
- gap: 2px 4px;
- padding: calc(var(--spacing-unit) / 2);
- text-align: left;
- width: 190px;
-
- &__avatar {
- grid-row: 1 / span 2;
- }
+ &__trigger {
+ display: flex;
+ padding: 2px;
+ border: none;
+ border-radius: 50%;
+ background-color: transparent;
+ cursor: pointer;
+ transition: box-shadow 0.2s ease;
- &__fullname {
- font-weight: bold;
+ &:hover,
+ &.active {
+ box-shadow: 0 0 0 2px var(--color-silver-light);
}
}
- &__container {
- position: relative;
+ &__popover {
+ position: absolute;
+ z-index: 200;
+ bottom: 0;
+ left: calc(100% + var(--spacing-unit) * 2);
+
display: flex;
flex-direction: column;
+ width: 231px;
+ padding: var(--spacing-unit) calc(var(--spacing-unit) * 3 / 2);
+ border-radius: 20px;
+ overflow: hidden;
+ background-color: var(--color-white);
+ box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.15);
font-size: 12px;
+ }
- .user-info {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: var(--spacing-unit);
- height: 115px;
-
- .user-avatar {
- margin-top: calc(var(--spacing-unit) / 2);
- }
+ &__user {
+ display: flex;
+ align-items: center;
+ gap: var(--spacing-unit);
+ padding: var(--spacing-unit) calc(var(--spacing-unit) / 2);
- .user-content {
- width: 100%;
- text-align: center;
- .user-name {
- font-weight: bold;
- }
- }
+ &__content {
+ min-width: 0;
+ flex: 1;
}
- .separator {
- height: 1px;
- margin: calc(var(--spacing-unit) / 2) var(--spacing-unit);
- background-color: var(--color-silver-light);
+ &__name {
+ font-weight: bold;
+ color: var(--color-primary);
}
- .external-link {
- text-decoration: none;
- color: inherit;
+ &__email {
+ color: var(--color-granite-light);
}
+ }
+
+ &__divider {
+ height: 1px;
+ margin: calc(var(--spacing-unit) / 2) 0;
+ background-color: var(--color-tertiary-lightest, #f7f7f7);
+ }
+
+ &__item {
+ display: flex;
+ align-items: center;
+ gap: var(--spacing-unit);
+ width: 100%;
+ height: 32px;
+ padding: 0 calc(var(--spacing-unit) / 2);
+ border: none;
+ border-radius: 6px;
+ background-color: transparent;
+ color: var(--color-primary);
+ font-size: 12px;
+ text-align: left;
+ text-decoration: none;
+ cursor: pointer;
+ transition: background-color 0.2s ease;
- .bimdata-btn {
- justify-content: flex-start;
+ &:hover {
+ background-color: var(--color-tertiary-lightest, #f7f7f7);
}
- .btn-language {
+ &--language {
justify-content: space-between;
}
+ }
- .lang-badge {
- padding: calc(var(--spacing-unit) / 6) var(--spacing-unit);
- font-weight: bold;
- border-radius: 2px;
- background-color: var(--color-silver);
- text-transform: uppercase;
- }
+ &__lang-badge {
+ padding: calc(var(--spacing-unit) / 6) var(--spacing-unit);
+ font-weight: 500;
+ text-transform: uppercase;
+ border-radius: 2px;
+ background-color: var(--color-silver);
+ }
- .btn-logout {
- margin: calc(var(--spacing-unit) / 2) var(--spacing-unit);
- justify-content: center;
- }
+ &__logout {
+ margin-top: var(--spacing-unit);
+ justify-content: center;
}
}
diff --git a/src/components/specific/app/app-header-menu/AppHeaderMenu.vue b/src/components/specific/app/app-header-menu/AppHeaderMenu.vue
index 8e519a516..2f41ff6c6 100644
--- a/src/components/specific/app/app-header-menu/AppHeaderMenu.vue
+++ b/src/components/specific/app/app-header-menu/AppHeaderMenu.vue
@@ -1,115 +1,105 @@
-