+);
+
+export const Placement: StoryFn = (props) => {
+ return (
+
+
+
+ New feature updates are available.
+
+
+
+ Payment Activity
+
+
+ You have outstanding checks more than 30 days old. Review to prevent
+ fraud.
+
+
+
+
+
+
+
+ );
+};
diff --git a/site/docs/components/system-status/accessibility.mdx b/site/docs/components/system-status/accessibility.mdx
new file mode 100644
index 00000000000..783a2aa30c4
--- /dev/null
+++ b/site/docs/components/system-status/accessibility.mdx
@@ -0,0 +1,16 @@
+---
+title:
+ $ref: ./#/title
+layout: DetailComponent
+sidebar:
+ exclude: true
+data:
+ $ref: ./#/data
+---
+
+By default, the `SystemStatus` component has the role `"status"`. This means a screen reader will announce the message at the next available opportunity.
+
+## Best practices
+
+- If the status is critical and requires immediate attention, apply `role="alert"` to ensure the message is announced immediately.
+- If the status is not critical, consider applying `role="region"`.
diff --git a/site/docs/components/system-status/examples.mdx b/site/docs/components/system-status/examples.mdx
new file mode 100644
index 00000000000..2dd129cdb96
--- /dev/null
+++ b/site/docs/components/system-status/examples.mdx
@@ -0,0 +1,64 @@
+---
+title:
+ $ref: ./#/title
+layout: DetailComponent
+sidebar:
+ exclude: true
+data:
+ $ref: ./#/data
+---
+
+
+
+
+
+## Info
+
+Use the info system status to communicate important updates or new features that do not require immediate action.
+
+
+
+
+
+## Error
+
+Use error system status for critical issues that affect the user's ability to access or use the platform. When relevant, add a secondary action to help resolve the issue.
+
+
+
+
+
+## Warning
+
+Warnings announce scheduled outages or events that might impact the product experience, but don't prevent the user from using the application or completing their current workflow.
+
+Use warning system status to alert users about potential issues.
+
+
+
+
+
+## Success
+
+Use success system status to communicate successfully completed system actions.
+
+
+
+
+
+## With Title
+
+Use a title in a system status to highlight important information, and use description text to provide supporting details.
+
+
+
+
+
+## Placement
+
+System status alerts are displayed at the very top of the screen, extending across the full width of the page.
+
+They are positioned at the same level as the main content, causing any subsequent content to shift accordingly. For example, when a system status is dismissed, the content below it would move up to its original position.
+
+
+
diff --git a/site/docs/components/system-status/index.mdx b/site/docs/components/system-status/index.mdx
new file mode 100644
index 00000000000..b63c006b258
--- /dev/null
+++ b/site/docs/components/system-status/index.mdx
@@ -0,0 +1,21 @@
+---
+title: System status
+data:
+ description: "System status communicates essential platform-wide information or alerts, such as system maintenance or outages. These messages are designed to be quickly noticed and prompt users to take action if needed. System status offers 4 severity levels, each with a dedicated icon and color; `info`, `success`, `warning` and `error`. "
+ sourceCodeUrl: "https://github.com/jpmorganchase/salt-ds/blob/main/packages/lab/src/system-status"
+ package:
+ name: "@salt-ds/lab"
+ initialVersion: "1.0.0-alpha.48"
+ alsoKnownAs: ["System Message"]
+ relatedComponents:
+ [
+ { name: "Content status", relationship: "similarTo" },
+ { name: "Dialog", relationship: "similarTo" },
+ { name: "Toast", relationship: "similarTo" },
+ { name: "Tooltip", relationship: "similarTo" },
+ { name: "Icon", relationship: "contains" },
+ { name: "Status indicator", relationship: "contains" },
+ ]
+
+layout: DetailComponent
+---
diff --git a/site/docs/components/system-status/usage.mdx b/site/docs/components/system-status/usage.mdx
new file mode 100644
index 00000000000..134cecf22d6
--- /dev/null
+++ b/site/docs/components/system-status/usage.mdx
@@ -0,0 +1,57 @@
+---
+title:
+ $ref: ./#/title
+layout: DetailComponent
+sidebar:
+ exclude: true
+data:
+ $ref: ./#/data
+---
+
+## Using the component
+
+The primary purpose of the system status is to provide information and, if necessary, prompt further action.
+
+We advise against embedding excessive content into the system status due to potential color contrast issues. If you need to include additional components within the system status, it will be the responsibility of the application team to ensure accessibility compliance.
+
+### When to use
+
+- To inform users about critical system-wide issues, security updates or vulnerabilities that require immediate attention.
+- To notify users about new system-wide features or enhancements.
+- To alert users about planned maintenance schedules and potential service disruptions affecting the entire platform.
+
+### When not to use
+
+- For general updates or information that requires immediate user action.
+- For inline messaging. Instead, use [`Banner`](../banner).
+- To show a notification that applies to the user’s current task or workflow. Use [`Banner`](../banner) instead.
+- To communicate when content is loading, instead use the Content Status pattern.
+- When the notification requires immediate action and relates to the user’s current task. Instead, use [`Dialog`](../dialog) to interrupt the user's workflow.
+
+## Content
+
+A system status typically has one or two lines of text. Make content short, clear, and concise, allowing users to quickly understand the situation and/or next steps.
+
+Body Default applies to the content, however, if titles are necessary, configure them to display the Body Strong typography style across densities. See the [typography foundation](/salt/foundations/typography/) for more information.
+
+## Import
+
+To import `SystemStatus` and related components from the lab Salt package, use:
+
+```
+import { SystemStatus, SystemStatusContent, SystemStatusActions } from "@salt-ds/lab";
+```
+
+## Props
+
+### `SystemStatus`
+
+
+
+### `SystemStatusContent`
+
+
+
+### `SystemStatusActions`
+
+
diff --git a/site/src/examples/system-status/Error.tsx b/site/src/examples/system-status/Error.tsx
new file mode 100644
index 00000000000..ea2f3c6eab3
--- /dev/null
+++ b/site/src/examples/system-status/Error.tsx
@@ -0,0 +1,13 @@
+import { Text } from "@salt-ds/core";
+import { SystemStatus, SystemStatusContent } from "@salt-ds/lab";
+import type { ReactElement } from "react";
+
+export const Error = (): ReactElement => (
+
+
+
+ System failure. Please try again.
+
+
+
+);
diff --git a/site/src/examples/system-status/Info.tsx b/site/src/examples/system-status/Info.tsx
new file mode 100644
index 00000000000..a91610c747c
--- /dev/null
+++ b/site/src/examples/system-status/Info.tsx
@@ -0,0 +1,13 @@
+import { Text } from "@salt-ds/core";
+import { SystemStatus, SystemStatusContent } from "@salt-ds/lab";
+import type { ReactElement } from "react";
+
+export const Info = (): ReactElement => (
+
+
+
+ New feature updates are available
+
+
+
+);
diff --git a/site/src/examples/system-status/Placement.tsx b/site/src/examples/system-status/Placement.tsx
new file mode 100644
index 00000000000..e04917f3e91
--- /dev/null
+++ b/site/src/examples/system-status/Placement.tsx
@@ -0,0 +1,50 @@
+import {
+ Banner,
+ BannerActions,
+ BannerContent,
+ Button,
+ StackLayout,
+ Text,
+} from "@salt-ds/core";
+import { SystemStatus, SystemStatusContent } from "@salt-ds/lab";
+
+import { CloseIcon } from "@salt-ds/icons";
+
+import type { ReactElement } from "react";
+
+export const Placement = (): ReactElement => {
+ return (
+
+
+
+ New feature updates are available.
+
+
+
+ Payment Activity
+
+
+ You have outstanding checks more than 30 days old. Review to prevent
+ fraud.
+
+
+
+
+
+
+
+ );
+};
diff --git a/site/src/examples/system-status/Success.tsx b/site/src/examples/system-status/Success.tsx
new file mode 100644
index 00000000000..f0ce71d6120
--- /dev/null
+++ b/site/src/examples/system-status/Success.tsx
@@ -0,0 +1,13 @@
+import { Text } from "@salt-ds/core";
+import { SystemStatus, SystemStatusContent } from "@salt-ds/lab";
+import type { ReactElement } from "react";
+
+export const Success = (): ReactElement => (
+
+
+
+ Your operation was completed successfully.
+
+
+
+);
diff --git a/site/src/examples/system-status/Warning.tsx b/site/src/examples/system-status/Warning.tsx
new file mode 100644
index 00000000000..73730523b0d
--- /dev/null
+++ b/site/src/examples/system-status/Warning.tsx
@@ -0,0 +1,16 @@
+import { Text } from "@salt-ds/core";
+import { SystemStatus, SystemStatusContent } from "@salt-ds/lab";
+import type { ReactElement } from "react";
+
+export const Warning = (): ReactElement => (
+
+
+
+
+ The system will be down for scheduled maintenance starting Friday,
+ June 21 from 11:00PM EST – 1:00AM EST Saturday, June 22
+
+
+
+
+);
diff --git a/site/src/examples/system-status/WithTitle.tsx b/site/src/examples/system-status/WithTitle.tsx
new file mode 100644
index 00000000000..d8a003eea85
--- /dev/null
+++ b/site/src/examples/system-status/WithTitle.tsx
@@ -0,0 +1,18 @@
+import { StackLayout, Text } from "@salt-ds/core";
+import { SystemStatus, SystemStatusContent } from "@salt-ds/lab";
+import type { ReactElement } from "react";
+
+export const WithTitle = (): ReactElement => (
+