+
{{ "changeEmail" | i18n }}
-
-
-
-
-
{{ "dangerZoneDesc" | i18n }}
-
-
-
-
+
+
+
+
+
+
+
diff --git a/apps/web/src/app/auth/settings/account/danger-zone.component.html b/apps/web/src/app/auth/settings/account/danger-zone.component.html
new file mode 100644
index 0000000000..b6f5300cb2
--- /dev/null
+++ b/apps/web/src/app/auth/settings/account/danger-zone.component.html
@@ -0,0 +1,9 @@
+
{{ "dangerZone" | i18n }}
+
+
+
{{ "dangerZoneDesc" | i18n }}
+
+
+
+
+
diff --git a/apps/web/src/app/auth/settings/account/danger-zone.component.ts b/apps/web/src/app/auth/settings/account/danger-zone.component.ts
new file mode 100644
index 0000000000..42f198f4f0
--- /dev/null
+++ b/apps/web/src/app/auth/settings/account/danger-zone.component.ts
@@ -0,0 +1,15 @@
+import { Component } from "@angular/core";
+
+import { JslibModule } from "@bitwarden/angular/jslib.module";
+import { TypographyModule } from "@bitwarden/components";
+
+/**
+ * Component for the Danger Zone section of the Account/Organization Settings page.
+ */
+@Component({
+ selector: "app-danger-zone",
+ templateUrl: "danger-zone.component.html",
+ standalone: true,
+ imports: [TypographyModule, JslibModule],
+})
+export class DangerZoneComponent {}
diff --git a/apps/web/src/app/auth/settings/account/danger-zone.stories.ts b/apps/web/src/app/auth/settings/account/danger-zone.stories.ts
new file mode 100644
index 0000000000..67e7f195f1
--- /dev/null
+++ b/apps/web/src/app/auth/settings/account/danger-zone.stories.ts
@@ -0,0 +1,36 @@
+import { importProvidersFrom } from "@angular/core";
+import { Meta, StoryObj, applicationConfig, moduleMetadata } from "@storybook/angular";
+
+import { JslibModule } from "@bitwarden/angular/jslib.module";
+import { ButtonModule } from "@bitwarden/components";
+
+import { PreloadedEnglishI18nModule } from "../../../core/tests";
+
+import { DangerZoneComponent } from "./danger-zone.component";
+
+export default {
+ title: "Web/Danger Zone",
+ component: DangerZoneComponent,
+ decorators: [
+ moduleMetadata({
+ imports: [ButtonModule, JslibModule],
+ }),
+ applicationConfig({
+ providers: [importProvidersFrom(PreloadedEnglishI18nModule)],
+ }),
+ ],
+} as Meta;
+
+type Story = StoryObj
;
+
+export const Default: Story = {
+ render: (args) => ({
+ props: args,
+ template: `
+
+
+
+
+ `,
+ }),
+};
diff --git a/apps/web/src/app/shared/loose-components.module.ts b/apps/web/src/app/shared/loose-components.module.ts
index 604d7dcada..1f0bbe1659 100644
--- a/apps/web/src/app/shared/loose-components.module.ts
+++ b/apps/web/src/app/shared/loose-components.module.ts
@@ -27,6 +27,7 @@ import { SetPasswordComponent } from "../auth/set-password.component";
import { AccountComponent } from "../auth/settings/account/account.component";
import { ChangeAvatarComponent } from "../auth/settings/account/change-avatar.component";
import { ChangeEmailComponent } from "../auth/settings/account/change-email.component";
+import { DangerZoneComponent } from "../auth/settings/account/danger-zone.component";
import { DeauthorizeSessionsComponent } from "../auth/settings/account/deauthorize-sessions.component";
import { DeleteAccountComponent } from "../auth/settings/account/delete-account.component";
import { ProfileComponent } from "../auth/settings/account/profile.component";
@@ -107,6 +108,7 @@ import { SharedModule } from "./shared.module";
OrganizationBadgeModule,
PipesModule,
PasswordCalloutComponent,
+ DangerZoneComponent,
],
declarations: [
AcceptFamilySponsorshipComponent,
@@ -271,6 +273,7 @@ import { SharedModule } from "./shared.module";
VerifyEmailTokenComponent,
VerifyRecoverDeleteComponent,
LowKdfComponent,
+ DangerZoneComponent,
],
})
export class LooseComponentsModule {}