variations
Version:
A React component library that enables rapid prototyping and exploration of UI variations.
37 lines (36 loc) • 1.17 kB
TypeScript
import { ReactNode } from 'react';
import { VariationProps, VariationsProps } from './types';
export interface VariationsContextType {
activeIds: Map<string, string>;
setActiveId: (group: string, variationId: string) => void;
registerVariation: (group: string, id: string, label: string, groupLabel: string, parentId?: string) => void;
variations: Map<string, {
group: string;
label: string;
groupLabel: string;
parentId?: string;
}>;
activeTree: VariationNode | null;
}
export interface VariationsProviderProps<TState = unknown> {
children: ReactNode;
/** Disables the URL query string functionality when true */
disableQueryString?: boolean;
/** Initial state for the global state context */
initialState?: TState;
}
export interface VariationNode {
id: string;
group: string;
children: Map<string, VariationNode>;
}
export interface InternalVariationProps extends VariationProps {
group?: string;
groupLabel?: string;
parentId?: string;
id?: string;
}
export interface InternalVariationsProps extends VariationsProps {
parentId?: string;
group?: string;
}