diff --git a/packages/core/src/client/webcomponents/components/display/ToastOverlay.stories.ts b/packages/core/src/client/webcomponents/components/display/ToastOverlay.stories.ts
index 08b29191..e073b2ee 100644
--- a/packages/core/src/client/webcomponents/components/display/ToastOverlay.stories.ts
+++ b/packages/core/src/client/webcomponents/components/display/ToastOverlay.stories.ts
@@ -36,3 +36,23 @@ export const Stack: Story = {
},
}),
}
+
+/** A toast whose message carries an `activate` action, rendered alongside the dismiss control. */
+export const WithAction: Story = {
+ render: () => ({
+ setup() {
+ onMounted(() => {
+ addToast(message({
+ level: 'info',
+ message: 'New a11y violation detected',
+ notify: true,
+ autoDismiss: 10 ** 7,
+ actions: [
+ { id: 'view', label: 'View', kind: 'activate', activate: { dockId: 'devframes_plugin_messages' } },
+ ],
+ }))
+ })
+ return () => h(ToastOverlay)
+ },
+ }),
+}
diff --git a/packages/core/src/client/webcomponents/components/display/ToastOverlay.vue b/packages/core/src/client/webcomponents/components/display/ToastOverlay.vue
index 9151b1bf..ac14a16f 100644
--- a/packages/core/src/client/webcomponents/components/display/ToastOverlay.vue
+++ b/packages/core/src/client/webcomponents/components/display/ToastOverlay.vue
@@ -1,4 +1,5 @@
@@ -43,6 +49,14 @@ function openMessages(toastId: string) {
>
+
Loading -> Resolve
+