UNPKG

baseui

Version:

A React Component library implementing the Base design language

186 lines (185 loc) • 6.2 kB
import type * as React from 'react'; import type { FLOATING_MARKER_ANCHOR_POSITIONS, NEEDLE_SIZES, PINHEAD_SIZES_SHAPES, FLOATING_MARKER_SIZES, PINHEAD_TYPES, FLOATING_MARKER_ANCHOR_TYPES, BADGE_ENHANCER_SIZES, LABEL_ENHANCER_POSITIONS, KIND, LOCATION_PUCK_SIZES, LOCATION_PUCK_TYPES, FLOATING_ROUTE_MARKER_ANCHOR_POSITIONS } from './constants'; import type { Override } from '../helpers/overrides'; export type AnchorPositions = (typeof FLOATING_MARKER_ANCHOR_POSITIONS)[keyof typeof FLOATING_MARKER_ANCHOR_POSITIONS]; export type NeedleSize = (typeof NEEDLE_SIZES)[keyof typeof NEEDLE_SIZES]; export type PinHead = (typeof PINHEAD_TYPES)[keyof typeof PINHEAD_TYPES]; export type PinHeadSize = (typeof PINHEAD_SIZES_SHAPES)[keyof typeof PINHEAD_SIZES_SHAPES]; export type FloatingMarkerSize = (typeof FLOATING_MARKER_SIZES)[keyof typeof FLOATING_MARKER_SIZES]; export type FloatingMarkerAnchorType = (typeof FLOATING_MARKER_ANCHOR_TYPES)[keyof typeof FLOATING_MARKER_ANCHOR_TYPES]; export type BadgeEnhancerSize = (typeof BADGE_ENHANCER_SIZES)[keyof typeof BADGE_ENHANCER_SIZES]; export type LabelEnhancerPosition = (typeof LABEL_ENHANCER_POSITIONS)[keyof typeof LABEL_ENHANCER_POSITIONS]; export type Kind = (typeof KIND)[keyof typeof KIND]; export type LocationPuckSize = (typeof LOCATION_PUCK_SIZES)[keyof typeof LOCATION_PUCK_SIZES]; export type LocationPuckType = (typeof LOCATION_PUCK_TYPES)[keyof typeof LOCATION_PUCK_TYPES]; export type FloatingRouteMarkerAnchorPositions = (typeof FLOATING_ROUTE_MARKER_ANCHOR_POSITIONS)[keyof typeof FLOATING_ROUTE_MARKER_ANCHOR_POSITIONS]; export type FixedMarkerOverrides = { Root?: Override; InnerAnchor?: Override; OuterAnchor?: Override; PinHead?: Override; LabelSlot?: Override; Label?: Override; SecondaryLabel?: Override; EnhancerSlot?: Override; PinHeadContainer?: Override; AnchorContainer?: Override; Needle?: Override; DragShadow?: Override; DragShadowContainer?: Override; DragContainer?: Override; BadgeEnhancer?: Override; LabelEnhancer?: Override; LabelEnhancerContainer?: Override; }; export type NeedleProps = { size: NeedleSize; background?: string; overrides: FixedMarkerOverrides; }; export type ItemProps = { children?: React.ReactNode; color?: string; size?: number; }; export type LabelEnhancer = { labelEnhancerContent?: string; labelEnhancerPosition?: LabelEnhancerPosition; }; export type LabelEhancerComponent = { needleHeight: number; size: PinHeadSize; overrides?: FixedMarkerOverrides; } & LabelEnhancer; export type BadgeEnhancer = { badgeEnhancerSize?: BadgeEnhancerSize | null; badgeEnhancerContent?: React.ComponentType<{ size: number; }>; }; export type BadgeEnhancerComponent = { pinHeadSize: PinHeadSize; markerType: PinHead; overrides: FixedMarkerOverrides; } & BadgeEnhancer; export type BadgePosition = { x: number; y: number; }; export type FixedMarkerProps = { size?: PinHeadSize; needle?: NeedleSize; label?: React.ReactNode; startEnhancer?: React.ComponentType<{ size: number; }>; endEnhancer?: React.ComponentType<{ size: number; }>; kind?: Kind; dragging?: boolean; overrides?: FixedMarkerOverrides; } & BadgeEnhancer & LabelEnhancer; export type FloatingMarkerOverrides = { Root?: Override; InnerAnchor?: Override; OuterAnchor?: Override; PinHead?: Override; LabelSlot?: Override; Label?: Override; SecondaryLabel?: Override; EnhancerSlot?: Override; PinHeadContainer?: Override; AnchorContainer?: Override; Needle?: Override; DragShadow?: Override; DragShadowContainer?: Override; DragContainer?: Override; BadgeEnhancer?: Override; LabelEnhancer?: Override; LabelEnhancerContainer?: Override; }; export type FloatingMarkerProps = { label?: React.ReactNode; secondaryLabel?: React.ReactNode; anchor?: AnchorPositions; endEnhancer?: React.ComponentType<{ size: number; }>; startEnhancer?: React.ComponentType<{ size: number; }>; anchorType?: FloatingMarkerAnchorType; size?: FloatingMarkerSize; overrides?: FloatingMarkerOverrides; }; export type PinHeadProps = { size?: PinHeadSize; label?: React.ReactNode; secondaryLabel?: React.ReactNode; endEnhancer?: React.ComponentType<{ size: number; }>; startEnhancer?: React.ComponentType<{ size: number; }>; color: string; background: string; type?: PinHead; anchorType?: FloatingMarkerAnchorType; needle?: NeedleSize; overrides?: FloatingMarkerOverrides | FixedMarkerOverrides; } & BadgeEnhancer & LabelEnhancer; export type DragShadowProps = { background: string; dragging: boolean; height: number; overrides: FixedMarkerOverrides; }; export type LocationPuckOverrides = { Root?: Override; LocationPuckApproximation?: Override; ConsumerLocationPuckCore?: Override; EarnerLocationPuckCore?: Override; }; export type LocationPuckProps = { size?: LocationPuckSize; heading?: number; confidenceRadius?: number; showHeading?: boolean; type?: LocationPuckType; overrides?: LocationPuckOverrides; }; export type ConsumerLocationPuckProps = { heading: number; confidenceRadius?: number; showHeading?: boolean; overrides: LocationPuckOverrides; }; export type EarnerLocationPuckProps = { heading: number; confidenceRadius?: number; size: LocationPuckSize; overrides?: LocationPuckOverrides; }; export type FloatingRouteMarkerOverrides = { Root?: Override; PointerContainer?: Override; Pointer?: Override; Label?: Override; SecondaryLabel?: Override; IconContainer?: Override; }; export type FloatingRouteMarkerProps = { label?: React.ReactNode; secondaryLabel?: React.ReactNode; startEnhancer?: React.ComponentType<{ size: number; }>; endEnhancer?: React.ComponentType<{ size: number; }>; anchorPosition?: FloatingRouteMarkerAnchorPositions; overrides?: FloatingRouteMarkerOverrides; selected?: boolean; };