+
-
-
- {{ "ownerYou" | i18n }}
-
-
+
- {{ organization.name }}
-
-
-
- {{ folder.name }}
-
-
+
+
+ {{ organization.name }}
+
+
+
+
+ -
+
+
+ {{ collection.name }}
+
+
+
+
+
+
+ {{ folder.name }}
+
+
diff --git a/libs/vault/src/cipher-view/item-details/item-details-v2.component.ts b/libs/vault/src/cipher-view/item-details/item-details-v2.component.ts
index f4f60dc6f5..0694283b04 100644
--- a/libs/vault/src/cipher-view/item-details/item-details-v2.component.ts
+++ b/libs/vault/src/cipher-view/item-details/item-details-v2.component.ts
@@ -13,6 +13,8 @@ import {
TypographyModule,
} from "@bitwarden/components";
+import { OrgIconDirective } from "../../components/org-icon.directive";
+
@Component({
selector: "app-item-details-v2",
templateUrl: "item-details-v2.component.html",
@@ -24,6 +26,7 @@ import {
SectionComponent,
SectionHeaderComponent,
TypographyModule,
+ OrgIconDirective,
],
})
export class ItemDetailsV2Component {
diff --git a/libs/vault/src/components/org-icon.directive.ts b/libs/vault/src/components/org-icon.directive.ts
new file mode 100644
index 0000000000..1f0af29c83
--- /dev/null
+++ b/libs/vault/src/components/org-icon.directive.ts
@@ -0,0 +1,50 @@
+import { Directive, ElementRef, HostBinding, Input, Renderer2 } from "@angular/core";
+
+import { ProductTierType } from "@bitwarden/common/billing/enums";
+
+export type OrgIconSize = "default" | "small" | "large";
+
+@Directive({
+ standalone: true,
+ selector: "[appOrgIcon]",
+})
+export class OrgIconDirective {
+ @Input({ required: true }) tierType: ProductTierType;
+ @Input() size?: OrgIconSize = "default";
+
+ constructor(
+ private el: ElementRef,
+ private renderer: Renderer2,
+ ) {
+ this.renderer.setAttribute(this.el.nativeElement, "aria-hidden", "true");
+ }
+
+ get iconSize(): "bwi-sm" | "bwi-lg" | "" {
+ switch (this.size) {
+ case "small":
+ return "bwi-sm";
+ case "large":
+ return "bwi-lg";
+ default:
+ return "";
+ }
+ }
+
+ get orgIcon(): string {
+ switch (this.tierType) {
+ case ProductTierType.Free:
+ case ProductTierType.Families:
+ return "bwi-family";
+ case ProductTierType.Teams:
+ case ProductTierType.Enterprise:
+ case ProductTierType.TeamsStarter:
+ return "bwi-business";
+ default:
+ return "";
+ }
+ }
+
+ @HostBinding("class") get classList() {
+ return ["bwi", this.iconSize, this.orgIcon];
+ }
+}
diff --git a/libs/vault/src/index.ts b/libs/vault/src/index.ts
index b48d359b90..e9417495a7 100644
--- a/libs/vault/src/index.ts
+++ b/libs/vault/src/index.ts
@@ -1,6 +1,7 @@
export { PasswordRepromptService } from "./services/password-reprompt.service";
export { CopyCipherFieldService, CopyAction } from "./services/copy-cipher-field.service";
export { CopyCipherFieldDirective } from "./components/copy-cipher-field.directive";
+export { OrgIconDirective } from "./components/org-icon.directive";
export * from "./cipher-view";
export * from "./cipher-form";