React Advanced Odontogram - v2.6.0
    Preparing search index...

    Type Alias OdontogramProviderProps

    Props for OdontogramProvider — the full former OdontogramShell (App) props surface plus the composed children. All state/behavior props are optional: when omitted the provider operates in standalone mode with internal state; when provided it operates in controlled mode and delegates state to the parent.

    type OdontogramProviderProps = {
        cariesDepthEnabled?: boolean;
        children?: ReactNode;
        darkMode?: boolean;
        discolorationDetailLevel?: ToothDetailLevel;
        enableIcdas?: boolean;
        enableNotes?: boolean;
        fillingComplexity?: FillingComplexity;
        fillingDefectEnabled?: boolean;
        fillingMaterialAvailability?: Record<string, boolean>;
        fissureSealingEnabled?: boolean;
        language?: Language;
        numberingSystem?: NumberingSystem;
        onDarkModeChange?: (dark: boolean) => void;
        onFillingComplexityChange?: (value: FillingComplexity) => void;
        onFillingDefectEnabledChange?: (enabled: boolean) => void;
        onFillingMaterialAvailabilityChange?: (
            material: string,
            enabled: boolean,
        ) => void;
        onFissureSealingEnabledChange?: (enabled: boolean) => void;
        onLanguageChange?: (lang: Language) => void;
        onNumberingChange?: (system: NumberingSystem) => void;
        plugins?: OdontogramPlugin[];
        pulpDetailLevel?: PulpDetailLevel;
        radiographicDepthMode?: RadiographicDepthMode;
        readOnly?: boolean;
        rootCariesMode?: RootCariesMode;
        screenToothNumberSize?: ScreenToothNumberSize;
        screenToothSpacing?: ScreenToothSpacing;
        secondaryCariesMode?: SecondaryCariesMode;
        selectionBorderStyle?: SelectionBorderStyle;
        selectionColor?: string;
        showOrthoCard?: boolean;
        showStatusCard?: boolean;
        surfaceNotation?: SurfaceNotation;
        themeConfig?: OdontogramThemeConfig;
        toothInfo?: boolean;
        wearDetailLevel?: ToothDetailLevel;
    }
    Index

    Properties

    cariesDepthEnabled?: boolean

    Whether the visual caries-depth encoding (per-surface depth picker + the opacity/contour depth tier in the render) is active. Default true; set false to render caried surfaces at the SVG default with no depth tier.

    children?: ReactNode

    The composed UI (surfaces + shell layout).

    darkMode?: boolean

    Override dark mode state (controlled mode).

    discolorationDetailLevel?: ToothDetailLevel

    Detail level for the per-tooth discoloration control: "simple" (yes/no toggle) or "complex" (choose the discoloration cause, default).

    enableIcdas?: boolean

    Enable ICDAS II per-surface caries scoring (0–6). When enabled, the depth selector/popup expose ICDAS codes 1–6 and the surface indicator shows a numeric badge; otherwise the 3-level scale is used.

    enableNotes?: boolean

    When true, enables per-tooth notes. Double-click a tooth to add/edit a note. Notes are shown in hover tooltips and included in JSON export/import.

    fillingComplexity?: FillingComplexity

    Filling-complexity level for the Fillings card: "simple" (one material per tooth, no per-surface picker) or "complex" (per-surface materials, default). Contrast with settings.panels — this one mirrors the fillingComplexity engine flag (Settings → Fillings). When provided, the value overrides the engine/UI default; when omitted, whatever the engine holds (module default or a prior setFillingComplexity call) stays put.

    fillingDefectEnabled?: boolean

    Whether filling-defect findings are enabled on the Fillings card. Default true. Mirrors the fillingDefectEnabled engine flag (Settings → Fillings); same controlled/standalone contract as fillingComplexity.

    fillingMaterialAvailability?: Record<string, boolean>

    Available filling materials as a Record<material, boolean> over "amalgam" | "composite" | "gic" | "temporary" (unknown keys are ignored). Default: all four available. Mirrors the fillingMaterialAvail engine map (Settings → Fillings). Hosts may pass an inline literal — the sync effect keys on a canonical serialized form, so re-renders with identical content do not re-fire.

    fissureSealingEnabled?: boolean

    Whether fissure-sealing is offered on the Fillings card. Default true. Mirrors the fissureSealingEnabled engine flag (Settings → Fillings); same controlled/standalone contract as fillingComplexity.

    language?: Language

    Override the UI language (controlled mode).

    numberingSystem?: NumberingSystem

    Override the tooth numbering system (controlled mode).

    onDarkModeChange?: (dark: boolean) => void

    Callback when the user toggles dark mode.

    onFillingComplexityChange?: (value: FillingComplexity) => void

    Called after the user changes the filling-complexity level in the Settings modal: (value: FillingComplexity) => void. Not fired for prop-driven restores. The write-back counterpart of fillingComplexity.

    onFillingDefectEnabledChange?: (enabled: boolean) => void

    See onFillingComplexityChange — the defect toggle's counterpart.

    onFillingMaterialAvailabilityChange?: (
        material: string,
        enabled: boolean,
    ) => void

    Called after the user toggles a material in the Settings modal: (material: string, enabled: boolean) => void — per-material, mirroring the engine's setFillingMaterialAvailability setter (no whole-record change ever happens). Not fired for prop-driven restores.

    onFissureSealingEnabledChange?: (enabled: boolean) => void

    See onFillingComplexityChange — the fissure-sealing toggle's counterpart.

    onLanguageChange?: (lang: Language) => void

    Callback when the user changes the language.

    onNumberingChange?: (system: NumberingSystem) => void

    Callback when the user changes the numbering system.

    plugins?: OdontogramPlugin[]

    Custom SVG plugins for extending the odontogram with additional visual overlays and per-tooth custom state. See OdontogramPlugin.

    pulpDetailLevel?: PulpDetailLevel

    Pulp-diagnosis detail level for the pulp control: "simple" (healthy / pulpitis), "aae" (4 AAE pulp diagnoses, default) or "latin" (9 practical-Latin subtypes). A stored value round-trips at every level; the level only governs how the pulp control presents it.

    radiographicDepthMode?: RadiographicDepthMode

    Radiographic-depth granularity for the per-surface picker: "off" (hidden, default), "threeLevel" (superficial/middle/deep) or "detailed" (E1..D3). When off, the per-surface radiographic badge is not shown.

    readOnly?: boolean

    When true, disables all interactions (click, touch, keyboard). Useful for print/report/view modes.

    rootCariesMode?: RootCariesMode

    Root-caries granularity for the per-tooth picker: "simple" (none / present, default) or "severity" (the full none/active/arrested/ active-cavitated enum). Non-collapsing across modes.

    screenToothNumberSize?: ScreenToothNumberSize

    Tooth-number size of the on-screen grid; same contract as screenToothSpacing.

    screenToothSpacing?: ScreenToothSpacing

    Inter-tooth spacing of the on-screen grid (Settings → Odontogram). Mirrors the screenToothSpacing engine flag; same controlled/standalone contract as fillingComplexity.

    secondaryCariesMode?: SecondaryCariesMode

    Secondary-caries (CARS) granularity for the per-surface score picker: "simple" ([0,3]), "standard" ([0,1,3,6], default) or "full" ([0..6]). A stored score round-trips at every mode; the mode only governs the offered option list. (The mode UI lives in the Settings modal; this prop is the controlled entry point.)

    selectionBorderStyle?: SelectionBorderStyle

    Selection-ring border style; same contract as screenToothSpacing.

    selectionColor?: string

    Selection-ring colour as #rrggbb; same contract as screenToothSpacing.

    showOrthoCard?: boolean

    Whether the Orthodontics panel (#orthoCard) is shown. Default true. Composes with the panel's own imperative ortho-eligibility gate (hidden when no selected tooth is ortho-eligible) — both must be satisfied for the panel to render.

    showStatusCard?: boolean

    Whether the Statuses panel (#statusCard) is shown. Default true. The panel visibility is a settings-driven wrapper around the section — the section's own imperative collapse/expand behavior is unaffected.

    surfaceNotation?: SurfaceNotation

    Surface-notation mode for caries/filling surface letters + captions: "full" (default) makes them position-aware (incisal on an anterior tooth, labial on an anterior buccal surface, palatal on an upper lingual surface) or "simple" (always the tooth-independent B/O/L set).

    themeConfig?: OdontogramThemeConfig

    Custom theme configuration. Overrides the default color palette via CSS custom properties (--odon-*). See OdontogramThemeConfig.

    toothInfo?: boolean

    Whether the tooth-information panel is shown; same contract as screenToothSpacing.

    wearDetailLevel?: ToothDetailLevel

    Detail level for the per-tooth wear control: "simple" (yes/no toggle for attrition) or "complex" (wear type per edge and cervix, default).