From d4968bb225654e98fad7bfd0711033a7298e7972 Mon Sep 17 00:00:00 2001 From: Will Martin Date: Mon, 19 Feb 2024 11:03:24 -0500 Subject: [PATCH] [CL-166] add title and subtitle inputs to bit-dialog (#7597) --- libs/components/src/dialog/dialog.module.ts | 2 ++ .../src/dialog/dialog.service.stories.ts | 3 +-- .../src/dialog/dialog/dialog.component.html | 20 +++++++++------- .../src/dialog/dialog/dialog.component.ts | 10 ++++++++ .../src/dialog/dialog/dialog.stories.ts | 24 +++++++++++-------- 5 files changed, 39 insertions(+), 20 deletions(-) diff --git a/libs/components/src/dialog/dialog.module.ts b/libs/components/src/dialog/dialog.module.ts index a4e119bcc2..bc37f749c0 100644 --- a/libs/components/src/dialog/dialog.module.ts +++ b/libs/components/src/dialog/dialog.module.ts @@ -6,6 +6,7 @@ import { AsyncActionsModule } from "../async-actions"; import { ButtonModule } from "../button"; import { IconButtonModule } from "../icon-button"; import { SharedModule } from "../shared"; +import { TypographyModule } from "../typography"; import { DialogComponent } from "./dialog/dialog.component"; import { DialogService } from "./dialog.service"; @@ -22,6 +23,7 @@ import { IconDirective, SimpleDialogComponent } from "./simple-dialog/simple-dia CdkDialogModule, IconButtonModule, ReactiveFormsModule, + TypographyModule, ], declarations: [ DialogCloseDirective, diff --git a/libs/components/src/dialog/dialog.service.stories.ts b/libs/components/src/dialog/dialog.service.stories.ts index 9ebe292eda..b94b61f7c9 100644 --- a/libs/components/src/dialog/dialog.service.stories.ts +++ b/libs/components/src/dialog/dialog.service.stories.ts @@ -35,8 +35,7 @@ class StoryDialogComponent { @Component({ template: ` - - Dialog Title + Dialog body text goes here.
diff --git a/libs/components/src/dialog/dialog/dialog.component.html b/libs/components/src/dialog/dialog/dialog.component.html index b052cc23b6..e084728348 100644 --- a/libs/components/src/dialog/dialog/dialog.component.html +++ b/libs/components/src/dialog/dialog/dialog.component.html @@ -1,12 +1,16 @@ -
-
-

+

+ {{ title }} + + {{ subtitle }} +

-
+
-
-
-
+ + diff --git a/libs/components/src/dialog/dialog/dialog.component.ts b/libs/components/src/dialog/dialog/dialog.component.ts index 1d6eb33170..6d188ab9df 100644 --- a/libs/components/src/dialog/dialog/dialog.component.ts +++ b/libs/components/src/dialog/dialog/dialog.component.ts @@ -14,6 +14,16 @@ export class DialogComponent { */ @Input() dialogSize: "small" | "default" | "large" = "default"; + /** + * Title to show in the dialog's header + */ + @Input() title: string; + + /** + * Subtitle to show in the dialog's header + */ + @Input() subtitle: string; + private _disablePadding = false; /** * Disable the built-in padding on the dialog, for use with tabbed dialogs. diff --git a/libs/components/src/dialog/dialog/dialog.stories.ts b/libs/components/src/dialog/dialog/dialog.stories.ts index 35254bf109..cada557ecd 100644 --- a/libs/components/src/dialog/dialog/dialog.stories.ts +++ b/libs/components/src/dialog/dialog/dialog.stories.ts @@ -1,3 +1,4 @@ +import { NoopAnimationsModule } from "@angular/platform-browser/animations"; import { Meta, StoryObj, moduleMetadata } from "@storybook/angular"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; @@ -7,8 +8,7 @@ import { IconButtonModule } from "../../icon-button"; import { SharedModule } from "../../shared"; import { TabsModule } from "../../tabs"; import { I18nMockService } from "../../utils/i18n-mock.service"; -import { DialogCloseDirective } from "../directives/dialog-close.directive"; -import { DialogTitleContainerDirective } from "../directives/dialog-title-container.directive"; +import { DialogModule } from "../dialog.module"; import { DialogComponent } from "./dialog.component"; @@ -17,8 +17,14 @@ export default { component: DialogComponent, decorators: [ moduleMetadata({ - imports: [ButtonModule, SharedModule, IconButtonModule, TabsModule], - declarations: [DialogTitleContainerDirective, DialogCloseDirective], + imports: [ + DialogModule, + ButtonModule, + SharedModule, + IconButtonModule, + TabsModule, + NoopAnimationsModule, + ], providers: [ { provide: I18nService, @@ -56,8 +62,7 @@ export const Default: Story = { render: (args: DialogComponent) => ({ props: args, template: ` - - {{title}} + Dialog body text goes here. @@ -77,6 +82,7 @@ export const Default: Story = { args: { dialogSize: "default", title: "Default", + subtitle: "Subtitle", }, }; @@ -117,8 +123,7 @@ export const ScrollingContent: Story = { render: (args: DialogComponent) => ({ props: args, template: ` - - Scrolling Example + Dialog body text goes here.
@@ -142,8 +147,7 @@ export const TabContent: Story = { render: (args) => ({ props: args, template: ` - - Tab Content Example + First Tab Content