Skip to content

React components ​

The package exports React wrappers for the webcomponents listed below. Props are typed from each element's JavaScript properties; use property names such as filesString rather than HTML attribute names such as group-files. Each source link points to the webcomponent class defining the element and its properties. Follow that class's inheritance for properties declared by a base class.

All wrappers require LabirthermalProvider. Components that consume thermal context also need the relevant providers; see the @labirthermal/webcomponents context guide.

Applications ​

React componentWebcomponentSource and properties
ThermalDropinAppthermal-dropin-appThermalDropinAppElement
ThermalFileAppthermal-file-appThermalFileAppElement
ThermalGroupAppthermal-group-appThermalGroupAppElement
ThermalSlottedAppthermal-simple-appThermalSlottedAppElement
AatAppapparent-temperature-aatAatAppElement

ThermalFileApp, ThermalGroupApp and ThermalDropinApp are self-contained applications; the other two wrappers expose their respective app elements.

tsx
<LabirthermalProvider>
  <ThermalFileApp thermal="/thermal/recording.lrc" />
</LabirthermalProvider>

UI ​

React componentWebcomponentSource and properties
ThermalAppthermal-appThermalAppElement
ThermalBarthermal-barThermalBarElement
ThermalBtnthermal-btnThermalBtnElement
ThermalBtnGroupthermal-btn-groupThermalBtnGroupElement
ThermalDialogthermal-dialogThermalDialogElement
ThermalDropdownthermal-dropdownThermalDropdownElement
ThermalDropinthermal-dropinThermalDropinElement
ThermalExpandablethermal-expandableThermalExpandableElement
ThermalFieldthermal-fieldThermalFieldElement
ThermalIconthermal-iconThermalIconElement
ThermalLoadingthermal-loadingThermalPosterElement
ThermalRadiothermal-radioThermalRadioElement
ThermalSlotthermal-slotThermalSlotElement
ThermalSpinnerthermal-spinnerThermalSpinnerElement
ThermalTipthermal-tipThermalTipElement
tsx
<ThermalBtn variant="primary">Open</ThermalBtn>

Manager ​

React componentWebcomponentSource and properties
ManagerProvidermanager-providerManagerProviderElement
ManagerGraphSmoothSwitchmanager-graph-smooth-switchManagerGraphSmoothSwitch
ManagerImageSmoothSwitchmanager-image-smooth-switchManagerImageSmoothSwitch
ManagerPaletteButtonsmanager-palette-buttonsManagerPaletteButtons
ManagerPaletteDropdownmanager-palette-dropdownManagerPaletteDropdown
ManagerToolBarmanager-tool-barManagerToolBar
ManagerAdvancedPaletteSwitchmanager-advanced-palette-switchManagerAdvancedPaletteSwitch
ManagerUnitSwitchmanager-unit-switchManagerUnitSwitch
ManagerExportPanel (deprecated)manager-export-panelManagerExportPanel
tsx
<LabirthermalProvider>
  <ManagerProvider>
    <ManagerPaletteDropdown />
  </ManagerProvider>
</LabirthermalProvider>

Registry ​

React componentWebcomponentSource and properties
RegistryProviderregistry-providerRegistryProviderElement
RegistryHistogramregistry-histogramRegistryHistogram
RegistryOpacitySliderregistry-opacity-sliderRegistryOpacitySlider
RegistryRangeAutoButtonregistry-range-auto-buttonRegistryRangeAutoButton
RegistryRangeFullButtonregistry-range-full-buttonRegistryRangeFullButton
RegistryRangeDisplayregistry-range-displayRegistryRangeDisplay
RegistryRangeFormregistry-range-formRegistryRangeForm
RegistryRangeSliderregistry-range-sliderRegistryRangeSlider
RegistryTicksBarregistry-ticks-barRegistryTicksBar
tsx
<LabirthermalProvider>
  <ManagerProvider>
    <RegistryProvider>
      <RegistryRangeSlider />
    </RegistryProvider>
  </ManagerProvider>
</LabirthermalProvider>

Group ​

React componentWebcomponentSource and properties
GroupProvidergroup-providerGroupProviderElement
GroupAnalysisSyncButtongroup-analysis-sync-buttonGroupAnalysisSyncButton
GroupChartgroup-chartGroupChartElement
GroupDownloadButtonsgroup-download-buttonsGroupDownloadButtons
GroupDownloadDropdowngroup-download-dropdownGroupDownloadDropdown
GroupDropingroup-dropin-elementGroupDropinElement
GroupDropinInputgroup-dropin-inputGroupDropinInputElement
GroupRangePropagatorgroup-range-propagatorGroupRangePropagatorElement
GroupTimelinegroup-timelineGroupTimelineElement
tsx
<LabirthermalProvider>
  <ManagerProvider>
    <RegistryProvider>
      <GroupProvider>
        <GroupTimeline />
      </GroupProvider>
    </RegistryProvider>
  </ManagerProvider>
</LabirthermalProvider>

File and analysis ​

React componentWebcomponentSource and properties
FileProviderfile-providerFileProviderElement
FileCopyfile-copyFileCopyElement
FileCanvasfile-canvasFileCanvasElement
FileDownloadButtonfile-download-dropdownFileDownloadButton
FileInfoButtonfile-info-buttonFileInfoButton
FilePlaybackSpeedDropdownfile-playback-speed-dropdownFilePlaybackSpeedDropdown
FileTimelinefile-timelineFileTimelineElement
FileVideoExportButtonfile-video-export-buttonFileVideoExportButton
FileVideoExportPanelfile-video-export-panelFileVideoExportPanel
FileLabelfile-labelFileLabelElement
FileButtonfile-buttonFileButtonElement
FileDropdownfile-dropdown-eltFileDropdown
FileLrcButtonfile-download-lrcFileLrcButton
FilePngButtonfile-download-pngFilePngButton
FileRangePropagatorfile-range-propagatorFileRangePropagator
FileAnalysisComplexfile-analysis-complexFileAnalysisComplexElement
FileAnalysisDisplayfile-analysis-displayFileAnalysisDisplayElement
FileAnalysisEditDialogfile-analysis-editFileAnalisisEditDialog
FileAnalysisGraphfile-analysis-graphFileAnalysisGraphElement
FileAnalysisRowfile-analysis-table-rowFileAnalysisRowElement
FileAnalysisTablefile-analysis-tableFileAnalysisTableElement
AnalysisColorDropdownanalysis-colorAnalysisColorDropdown
AnalysisNameInputanalysis-nameAnalysisNameInput
AreaEditTableedit-areaAreaEditTable
EditpointTableedit-pointEditpointTable
ThermalChartthermal-chartThermalChartElement
FileDetailfile-detailFileDetailElement
FileThumbnailfile-thumbnailFileThumbnailElement
tsx
<LabirthermalProvider>
  <ManagerProvider>
    <RegistryProvider>
      <GroupProvider>
        <FileProvider thermal="/thermal/recording.lrc">
          <FileCanvas />
          <FileTimeline />
        </FileProvider>
      </GroupProvider>
    </RegistryProvider>
  </ManagerProvider>
</LabirthermalProvider>

Wrapper implementation ​

The wrappers use @lit/react to bridge custom elements to React. The package resolves constructors from the webcomponents catalog after LabirthermalProvider initializes it, preserving browser-only loading. Each exported React component's JSDoc links to the type-only imported class that defines its corresponding webcomponent's properties.

See the React documentation for React fundamentals.