UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

49 lines (48 loc) 1.62 kB
import { ScaleContinuousNumeric } from 'd3-scale'; import { default as React } from 'react'; type HeightRange = number; type ColumnScale = ScaleContinuousNumeric<HeightRange, number> | any; type ColumnScaleClamped = ScaleContinuousNumeric<number, number>; export declare interface ColumnDivision { section_id: string; id: number; surface: number; bottom: number; top: number; flooding_surface_order?: number; grainsize?: string; covered?: boolean; definite_boundary?: boolean; facies?: string; } declare enum ColumnAxisType { AGE = "age", HEIGHT = "height", DEPTH = "depth", ORDINAL = "ordinal" } export interface ColumnCtx<T extends ColumnDivision> { divisions: T[]; scaleClamped: ColumnScaleClamped; pixelsPerMeter: number; scale: ColumnScale; axisType?: ColumnAxisType; pixelHeight?: number; zoom: number; } export declare const ColumnContext: React.Context<ColumnCtx<ColumnDivision>>; export interface ColumnProviderProps<T extends ColumnDivision> { pixelsPerMeter?: number; divisions: T[]; range?: HeightRange | any; height?: number; zoom?: number; width?: number; axisType?: ColumnAxisType; children?: any; scale?: ColumnScale; } declare function ColumnProvider<T extends ColumnDivision>(props: ColumnProviderProps<T>): React.FunctionComponentElement<React.ProviderProps<ColumnCtx<ColumnDivision>>>; declare const useColumn: () => ColumnCtx<ColumnDivision>; declare const useColumnDivisions: () => ColumnDivision[]; export { ColumnProvider, ColumnAxisType, useColumnDivisions, useColumn };