UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

41 lines (40 loc) 2.02 kB
import { Component, ReactNode } from 'react'; import { ColumnCtx, ColumnDivision } from './column'; export interface ColumnLayoutCtx<T extends ColumnDivision> extends ColumnCtx<T> { width: number; grainSizes?: string[]; grainsizeScale?: (d: string) => number; xScale: any; widthForDivision: (d: ColumnDivision) => number; } declare const ColumnLayoutContext: import('react').Context<ColumnLayoutCtx<ColumnDivision>>; export interface ColumnLayoutProviderProps<T extends ColumnDivision> extends Partial<ColumnCtx<T>> { grainSizes?: string[]; grainsizeScale?: (d: string) => number; width: number; xScale?: any; children?: ReactNode; } declare function ColumnLayoutProvider<T extends ColumnDivision>({ children, width, grainSizes, grainsizeScale, xScale, }: ColumnLayoutProviderProps<T>): import('react').FunctionComponentElement<import('react').ProviderProps<ColumnLayoutCtx<ColumnDivision>>>; export interface CrossAxisLayoutProviderProps { width: number; domain: number[]; range?: number[]; children?: ReactNode; } declare class CrossAxisLayoutProvider extends Component<CrossAxisLayoutProviderProps> { static contextType: import('react').Context<ColumnCtx<ColumnDivision>>; context: ColumnCtx<ColumnDivision>; render(): import('react').FunctionComponentElement<ColumnLayoutProviderProps<ColumnDivision>>; } export type GrainsizeLayoutProps = { grainSizes: string[]; children?: ReactNode; width?: number; grainsizeScaleStart?: number; grainsizeScaleRange?: [number, number]; tickPositions?: number[]; }; declare function GrainsizeLayoutProvider({ width, grainSizes, grainsizeScaleStart, grainsizeScaleRange, tickPositions, children, }: GrainsizeLayoutProps): import('react').FunctionComponentElement<ColumnLayoutProviderProps<ColumnDivision>>; export declare function useColumnLayout(): ColumnLayoutCtx<ColumnDivision>; export { ColumnLayoutContext, ColumnLayoutProvider, CrossAxisLayoutProvider, GrainsizeLayoutProvider, };