Skip to content

Commit 9b67464

Browse files
committed
feat(#3096): update temporary-notification to v2
1 parent 0c90dcc commit 9b67464

File tree

1 file changed

+53
-17
lines changed

1 file changed

+53
-17
lines changed

libs/web-components/src/components/temporary-notification/TemporaryNotification.svelte

Lines changed: 53 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
export let actionText: string = "";
3333
export let visible: boolean = true;
3434
export let animationDirection: TemporaryNotificationAnimationDirection = "down";
35+
36+
// Icon size for success/failure icons
37+
const iconSize = "large";
3538
</script>
3639

3740
<div
@@ -48,11 +51,11 @@
4851
data-testid={testid}
4952
>
5053
{#if type === "success"}
51-
<goa-icon type="checkmark-circle" />
54+
<goa-icon type="checkmark-circle" size={iconSize} />
5255
{/if}
5356

5457
{#if type === "failure"}
55-
<goa-icon type="close-circle" />
58+
<goa-icon type="close-circle" size={iconSize} />
5659
{/if}
5760

5861
<span class="message">
@@ -82,18 +85,33 @@
8285
flex-direction: row;
8386
flex-wrap: wrap;
8487
align-items: center;
85-
border-radius: var(--goa-border-radius-m);
86-
gap: var(--goa-space-m);
87-
padding: var(--goa-space-m) var(--goa-space-l);
88-
max-width: 640px;
89-
color: var(--goa-color-text-light);
90-
transition: transform 0.3s ease, opacity 0.3s ease;
88+
border-radius: var(--goa-temporary-notification-borderRadius, var(--goa-border-radius-m));
89+
row-gap: var(--goa-temporary-notification-row-gap, var(--goa-space-s));
90+
column-gap: var(--goa-temporary-notification-column-gap, var(--goa-space-m));
91+
padding: var(--goa-temporary-notification-padding, var(--goa-space-m) var(--goa-space-l));
92+
max-width: var(--goa-temporary-notification-max-width, 640px);
93+
color: var(--goa-temporary-notification-color-text, var(--goa-color-text-light));
94+
transition:
95+
transform var(--goa-temporary-notification-transition-duration, 0.3s) ease,
96+
opacity var(--goa-temporary-notification-transition-duration, 0.3s) ease;
9197
overflow: hidden;
9298
}
9399
100+
/* Add extra bottom padding when progress bar is present */
101+
.snackbar.progress,
102+
.snackbar.indeterminate {
103+
padding: var(--goa-temporary-notification-padding-with-progress, var(--goa-space-m) var(--goa-space-l) 22px var(--goa-space-l));
104+
}
105+
106+
/* Icon spacing - 12px margin to the right */
107+
.snackbar goa-icon {
108+
margin-right: var(--goa-temporary-notification-icon-margin, var(--goa-space-s));
109+
margin-left: calc(-1 * var(--goa-temporary-notification-column-gap, var(--goa-space-m)));
110+
}
111+
94112
@media (--not-mobile) {
95113
.snackbar {
96-
min-width: 360px;
114+
min-width: var(--goa-temporary-notification-min-width-desktop, 360px);
97115
}
98116
}
99117
@@ -107,8 +125,8 @@
107125
.snackbar.basic,
108126
.snackbar.indeterminate,
109127
.snackbar.progress {
110-
border: 1px solid var(--goa-color-greyscale-700);
111-
background: var(--goa-color-greyscale-black);
128+
border: var(--goa-temporary-notification-borderWidth, var(--goa-border-width-s)) solid var(--goa-temporary-notification-color-border, var(--goa-color-greyscale-700));
129+
background: var(--goa-temporary-notification-color-bg-basic, var(--goa-color-greyscale-black));
112130
}
113131
114132
.action {
@@ -123,7 +141,24 @@
123141
bottom: 0;
124142
left: 0;
125143
width: 100%;
126-
height: 6px;
144+
height: var(--goa-temporary-notification-progress-bar-height, 6px);
145+
border-radius: 0 0 var(--goa-temporary-notification-progress-bar-borderRadius, 0) var(--goa-temporary-notification-progress-bar-borderRadius, 0);
146+
}
147+
148+
/* Progress bar browser-specific styling */
149+
progress::-webkit-progress-bar {
150+
background-color: var(--goa-temporary-notification-progress-bar-color-bg, #adadad);
151+
border-radius: 0 0 var(--goa-temporary-notification-progress-bar-borderRadius, 0) var(--goa-temporary-notification-progress-bar-borderRadius, 0);
152+
}
153+
154+
progress::-webkit-progress-value {
155+
background-color: var(--goa-temporary-notification-progress-bar-color-fill, white);
156+
border-radius: 0 0 var(--goa-temporary-notification-progress-bar-borderRadius, 0) var(--goa-temporary-notification-progress-bar-borderRadius, 0);
157+
}
158+
159+
progress::-moz-progress-bar {
160+
background-color: var(--goa-temporary-notification-progress-bar-color-fill, white);
161+
border-radius: 0 0 var(--goa-temporary-notification-progress-bar-borderRadius, 0) var(--goa-temporary-notification-progress-bar-borderRadius, 0);
127162
}
128163
129164
.show {
@@ -143,23 +178,24 @@
143178
}
144179
145180
.hide.animate-up {
146-
transform: translateY(-100px);
181+
transform: translateY(calc(-1 * var(--goa-temporary-notification-animation-distance, 100px)));
147182
}
148183
149184
.hide.animate-down {
150-
transform: translateY(100px);
185+
transform: translateY(var(--goa-temporary-notification-animation-distance, 100px));
151186
}
152187
153188
.snackbar.success {
154-
background: var(--goa-color-success-default);
189+
background: var(--goa-temporary-notification-color-bg-success, var(--goa-color-success-default));
155190
}
156191
157192
.snackbar.failure {
158-
background: var(--goa-color-emergency-default);
193+
background: var(--goa-temporary-notification-color-bg-failure, var(--goa-color-emergency-default));
159194
}
160195
161196
.message {
162197
flex: 1 1 auto;
163-
font: var(--goa-typography-body-m);
198+
font: var(--goa-temporary-notification-typography, var(--goa-typography-body-m));
199+
padding-top: var(--goa-temporary-notification-padding-text-top, 0);
164200
}
165201
</style>

0 commit comments

Comments
 (0)