Files
authentik/web/.storybook/DocsContainer.tsx
Teffen Ellis 4da1115a7c web: Storybook v9 (#15550)
* web: Update Storybook. Clean up theme styles.

* web: Ignore Storybook output.
2025-07-16 04:29:01 +00:00

19 lines
668 B
TypeScript

import { extendStorybookTheme } from "./theme.js";
import { createUIThemeEffect, resolveUITheme } from "@goauthentik/web/common/theme.ts";
import { DocsContainer, DocsContainerProps } from "@storybook/addon-docs/blocks";
import { useEffect, useMemo, useState } from "react";
export const ThemedDocsContainer: React.FC<DocsContainerProps> = ({
theme: initialTheme = resolveUITheme(),
...props
}) => {
const [theme, setTheme] = useState(initialTheme);
const resolvedTheme = useMemo(() => extendStorybookTheme(theme), [theme]);
useEffect(() => createUIThemeEffect(setTheme), []);
return <DocsContainer {...props} theme={resolvedTheme} />;
};