import { render } from '@testing-library/react';
import React, { useState } from 'react';
import { StudioProvider } from '~/components/StudioProvider';
import { IS_HAPPO } from './env';
/**
 * Uses `@testing-library/react` to render components with the theme.
 */
export const renderWithTheme = (children, config) => render(<StudioProvider tokenColorMode={config?.tokenColorMode}>{children}</StudioProvider>);
/**
 * The `happoCompatibleState` function is a utility for creating stories
 * that are compatible with both Storybook and Happo. This papers over the
 * differences between the two environments by providing a consistent API
 * for managing basic state.
 */
export function happoCompatibleState(story, initialState) {
    if (IS_HAPPO) {
        return function Render() {
            return story({
                isOpen: initialState?.isOpen ?? true,
                setIsOpen: () => null,
                selectedItem: initialState?.selectedItem ?? 0,
                setSelectedItem: () => null,
            });
        };
    }
    return function Render() {
        const [isOpen, setIsOpen] = useState(initialState?.isOpen ?? false);
        const [selectedItem, setSelectedItem] = useState(initialState?.selectedItem ?? 0);
        return story({ isOpen, setIsOpen, selectedItem, setSelectedItem });
    };
}
//# sourceMappingURL=testing-helpers.jsx.map