@bytebeans/macaw-ui
Version:
Saleor's UI component library
16 lines (11 loc) • 620 B
text/typescript
import { createContext, useContext, useMemo } from "react";
import { ListGridTemplate, useGridTemplateStyles } from "./styles";
export const ListContext = createContext<"body" | "head" | "foot">("body");
export const ListGridContext = createContext<ListGridTemplate>(["1fr"]);
export const useListContext = () => useContext(ListContext);
export const useListGridContext = () => useContext(ListGridContext);
export function useGridStyles() {
const gridTemplate = useListGridContext();
const props = useMemo(() => ({ width: gridTemplate }), [gridTemplate]);
return useGridTemplateStyles(props);
}