import "../src/icons.scss"; import "../src/index.scss"; import "../src/fonts.scss"; import { Preview } from "@storybook/react"; import { DocsContainer } from "@storybook/blocks"; import { CunninghamProvider } from "../src/components/Provider"; import { BACKGROUND_COLOR_TO_THEME, getThemeFromGlobals, themes, } from "./themes"; import React from "react"; export const DocsWithTheme = (props, context) => { const theme = getThemeFromGlobals(props.context.store.userGlobals.globals); return ( ); }; const preview: Preview = { decorators: [ (Story, context) => ( ), ], parameters: { backgrounds: { default: null, values: Object.entries(BACKGROUND_COLOR_TO_THEME).map((value) => ({ name: value[1], value: value[0], })), }, controls: { matchers: { color: /(background|color)$/i, date: /Date$/, }, }, docs: { container: DocsWithTheme, }, options: { storySort: (a, b) => { const roots = ["Getting Started", "Components", "Migrating"]; const gettingStartedOrder = [ "Installation", "First steps", "Customization", "Theming", "Colors", "Spacings", "Typography", ]; const aParts = a.title.split("/"); const bParts = b.title.split("/"); if (aParts[0] !== bParts[0]) { return roots.indexOf(aParts[0]) - roots.indexOf(bParts[0]); } if (aParts[1] !== bParts[1]) { if (aParts[0] === "Getting Started") { return ( gettingStartedOrder.indexOf(aParts[1]) - gettingStartedOrder.indexOf(bParts[1]) ); } return aParts[1].localeCompare(bParts[1]); } return 0; }, }, }, }; export default preview;