+
+ External object status matrix
+
+ Every status category × liveness combination from the UX spec §6, used as the canonical
+ presentational reference for inline markdown, pills, properties, and rollups.
+
+
+
+
+
+ | Category |
+ {EXTERNAL_OBJECT_LIVENESS_STATES.map((liveness) => (
+ {externalObjectLivenessLabel(liveness)} |
+ ))}
+
+
+
+ {EXTERNAL_OBJECT_STATUS_CATEGORIES.map((category) => (
+
+ | {category} |
+ {EXTERNAL_OBJECT_LIVENESS_STATES.map((liveness) => (
+
+
+ |
+ ))}
+
+ ))}
+
+
+
+
+ Pills (host-rendered identity, no plugin React)
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function inlineMarkdownStory() {
+ const references: MarkdownExternalReferenceMap = {
+ "https://github.com/acme/web/pull/241": {
+ providerKey: "github",
+ objectType: "pull_request",
+ statusCategory: "succeeded",
+ liveness: "fresh",
+ statusLabel: "Merged",
+ displayTitle: "Add external refs",
+ },
+ "https://github.com/acme/web/pull/242": {
+ providerKey: "github",
+ objectType: "pull_request",
+ statusCategory: "failed",
+ liveness: "stale",
+ statusLabel: "CI failed",
+ displayTitle: "Flaky tests",
+ },
+ "https://github.com/acme/web/pull/243": {
+ providerKey: "github",
+ objectType: "pull_request",
+ statusCategory: "waiting",
+ liveness: "fresh",
+ statusLabel: "Awaiting review",
+ displayTitle: "Add liveness overlay",
+ },
+ "https://app.hubspot.com/leads/99": {
+ providerKey: "hubspot",
+ objectType: "lead",
+ statusCategory: "auth_required",
+ liveness: "auth_required",
+ statusLabel: "Reconnect",
+ displayTitle: "Acme deal",
+ },
+ "https://ci.example.com/runs/88421": {
+ providerKey: "ci",
+ objectType: "deployment",
+ statusCategory: "unreachable",
+ liveness: "unreachable",
+ statusLabel: "Unreachable",
+ displayTitle: "Prod-0412",
+ },
+ };
+ const markdown = `Status of recent integrations:\n\n- Merged PR: https://github.com/acme/web/pull/241\n- Stale failed CI: https://github.com/acme/web/pull/242\n- Awaiting review: https://github.com/acme/web/pull/243\n- Auth required: https://app.hubspot.com/leads/99\n- Unreachable deploy: https://ci.example.com/runs/88421\n- Unrelated control link: https://random.example.com/path\n\n\`\`\`\n# Code blocks must be left alone — https://github.com/acme/web/pull/241\n\`\`\`\n\nInline code stays plain too: \`https://github.com/acme/web/pull/241\`.`;
+ return (
+