-<div
- [ngClass]="{
- 'empty-body': todayNotifications.length === 0 && previousNotifications.length === 0
- }"
- class="notification-area"
->
+<div class="notification-area">
@if (executingTasks.length > 0) {
<div
class="notification-section-heading"
@use '@carbon/styles/scss/spacing' as *;
@use '@carbon/type';
+:host {
+ flex: 1;
+ overflow-y: auto;
+ overflow-x: hidden;
+ min-block-size: 0;
+}
+
.notification-section-heading {
@include type.type-style('heading-compact-01');
background-color: $layer-01;
position: sticky;
z-index: 2;
- top: var(--header-height);
+ top: 0;
display: block;
}
color: $text-primary;
line-height: 1.25;
display: block;
+ overflow-wrap: break-word;
}
.notification-message {
margin: 0;
line-height: 1.4;
margin-top: -$spacing-01;
- display: block;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ overflow-wrap: break-word;
}
.notification-empty {
}
.notification-area {
- display: block;
- height: 100%;
background-color: $layer-01;
}
-
-.empty-body {
- max-block-size: var(--panel-height);
- min-block-size: var(--panel-height);
- max-inline-size: var(--panel-max-width);
- min-inline-size: var(--panel-min-width);
-}
-import { Component, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
+import { Component, OnInit, OnDestroy } from '@angular/core';
import { Subscription } from 'rxjs';
import { NotificationService } from '../../../../shared/services/notification.service';
import { CdNotification } from '../../../../shared/models/cd-notification';
constructor(
private notificationService: NotificationService,
private summaryService: SummaryService,
- private cdRef: ChangeDetectorRef,
private taskMessageService: TaskMessageService
) {}
this.notificationService.save(notification);
});
- this.cdRef.detectChanges();
-
release();
});
})
@use '@carbon/styles/scss/spacing';
@use '@carbon/styles/scss/theme';
+:host {
+ flex-shrink: 0;
+}
+
.notification-footer {
- position: sticky;
- bottom: 0;
+ flex-shrink: 0;
width: 100%;
- z-index: 2;
display: flex;
align-items: center;
background-color: theme.$layer-01;
@use '@carbon/styles/scss/spacing';
+:host {
+ flex-shrink: 0;
+}
+
.notification-header {
- position: sticky;
- top: 0;
- z-index: 2;
+ flex-shrink: 0;
padding: spacing.$spacing-03 spacing.$spacing-05;
background-color: var(--cds-layer-01);
border-block-end: 1px solid var(--cds-border-subtle-01);
- inset-block-start: 0;
- height: var(--header-height);
&__title {
margin-top: 0.4rem;
$inline-min-size: 20rem;
.notification-panel {
- --header-height: 4.5625rem;
- --panel-height: #{$block-size};
- --panel-max-width: #{$inline-max-size};
- --panel-min-width: #{$inline-min-size};
-
position: fixed;
z-index: 2;
- overflow-y: auto;
+ display: flex;
+ flex-direction: column;
background-color: var(--cds-layer-01);
border-block-end: 1px solid var(--cds-border-subtle-02);
border-inline-start: 1px solid var(--cds-border-subtle-02);
box-shadow: 0 0.125rem 0.25rem var(--cds-overlay);
- min-block-size: $block-size;
- min-inline-size: $inline-min-size;
+ block-size: $block-size;
+ max-block-size: calc(100vh - 3rem);
+ inline-size: $inline-max-size;
inset-block-start: 3rem;
inset-inline-end: 0;
- max-block-size: $block-size;
- max-inline-size: $inline-max-size;
}