+
+
+
+ {item.title ?
{item.title}
: null}
+ {item.message ? (
+
{item.message}
+ ) : null}
+ {item.body ? (
+
{item.body}
+ ) : null}
+
+ {item.closeButton ? (
+
+ ) : null}
+
+ {item.actions && item.actions.length > 0 ? (
+
+ ) : null}
+ {canDismiss ? (
+
+ ) : null}
+
+ );
+}
diff --git a/src/components/NotificationProgress.tsx b/src/components/NotificationProgress.tsx
new file mode 100644
index 0000000..e774786
--- /dev/null
+++ b/src/components/NotificationProgress.tsx
@@ -0,0 +1,18 @@
+export function NotificationProgress({
+ remaining,
+ duration,
+}: {
+ remaining: number;
+ duration: number;
+}) {
+ const percentage = Math.max(0, Math.min(100, (remaining / duration) * 100));
+
+ return (
+