// Base components export { default as BaseButton } from './BaseButton.vue' export { default as BaseInput } from './BaseInput.vue' export { default as BaseTextarea } from './BaseTextarea.vue' export { default as BaseSelect } from './BaseSelect.vue' export { default as SearchableSelect } from './SearchableSelect.vue' export { default as BaseCheckbox } from './BaseCheckbox.vue' export { default as BaseToggle } from './BaseToggle.vue' export { default as BaseRadioGroup } from './BaseRadioGroup.vue' export { default as BaseSlider } from './BaseSlider.vue' export { default as BaseTabs } from './BaseTabs.vue' export { default as BaseModal } from './BaseModal.vue' export { default as SegmentedControl } from './SegmentedControl.vue' export { default as MultiSelect } from './MultiSelect.vue' export { default as BasePill } from './BasePill.vue' export { default as Calendar } from './Calendar.vue' export { default as DataFrame } from './DataFrame.vue' // Form components export { default as FormField } from './FormField.vue' export { default as DatePicker } from './DatePicker.vue' export { default as TimePicker } from './TimePicker.vue' export { default as TagsInput } from './TagsInput.vue' export { default as SecretInput } from './SecretInput.vue' export { default as NumberInput } from './NumberInput.vue' export { default as FileUploader } from './FileUploader.vue' // Feedback components export { default as AlertBox } from './AlertBox.vue' export { default as AppToastContainer } from './AppToastContainer.vue' export { default as RuntimeUpdateNotice } from './RuntimeUpdateNotice.vue' // Action components export { default as ActionMenu } from './ActionMenu.vue' export { default as IconButton } from './IconButton.vue' export { default as ThemeToggle } from './ThemeToggle.vue' // Layout components export { default as CollapsibleCard } from './CollapsibleCard.vue' export { default as AppTopBar } from './AppTopBar.vue' export { default as AppAvatarMenu } from './AppAvatarMenu.vue' export { default as AppSidebar } from './AppSidebar.vue' export { default as AppLayout } from './AppLayout.vue' export { default as MobileSupportGate } from './MobileSupportGate.vue' export { default as PluginWorkspaceView } from './PluginWorkspaceView.vue' export { default as GeneratedPluginView } from './GeneratedPluginView.vue' export { default as GeneratedResultRenderer } from './GeneratedResultRenderer.vue' export { default as GeneratedPlotlyResult } from './GeneratedPlotlyResult.vue' export { default as ComponentBindingRenderer } from './ComponentBindingRenderer.vue' export { default as ControlWorkspaceView } from './ControlWorkspaceView.vue' /** Complete ControlWorkspaceView page shell for WellPlate + DoseCalculator dose design. @deprecated Scheduled for removal in MINT 1.4; use `ControlWorkspaceView` instead, with `defineDoseDesignControlModel()`. */ export { /** @deprecated Removed in MINT 1.4. */ default as DoseDesignWorkspaceView } from './DoseDesignWorkspaceView.vue' export { default as AppContainer } from './AppContainer.vue' export { default as PluginIcon } from './PluginIcon.vue' export { default as LayoutResizeHandle } from './LayoutResizeHandle.vue' // Utility components export { default as Skeleton } from './Skeleton.vue' export { default as LoadingSpinner } from './LoadingSpinner.vue' export { default as Divider } from './Divider.vue' export { default as StatusIndicator } from './StatusIndicator.vue' export { default as ProgressBar } from './ProgressBar.vue' export { default as Avatar } from './Avatar.vue' export { default as EmptyState } from './EmptyState.vue' export { default as Breadcrumb } from './Breadcrumb.vue' export { default as Tooltip } from './Tooltip.vue' export { default as ConfirmDialog } from './ConfirmDialog.vue' export { default as ChartContainer } from './ChartContainer.vue' export { default as AdductText } from './AdductText.vue' export { default as SettingsModal } from './SettingsModal.vue' // Biological experiment components /** Render biology template envelopes with matching SDK components such as WellPlate, DoseCalculator, and DataFrame. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as BioTemplateRenderer } from './BioTemplateRenderer.vue' /** Current-experiment template workspace with load/save/reset controls and WellPlate/DataFrame/DoseCalculator previews. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as BioTemplateExperimentWorkspaceView } from './BioTemplateExperimentWorkspaceView.vue' /** Complete current-experiment workspace for a curated biology template pack with save/load controls and component-prop slots. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as BioTemplatePackWorkspaceView } from './BioTemplatePackWorkspaceView.vue' /** Complete editable biology template preset workspace for WellPlate/DoseCalculator, LC-MS, qPCR, generated controls, preview components, and current-experiment save wiring. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as BioTemplatePresetWorkspaceView } from './BioTemplatePresetWorkspaceView.vue' export { default as WellPlate } from './WellPlate.vue' export { default as PlateEditor } from './PlateEditor.vue' /** Clickable color-swatch legend for plate sample types, supporting selection, count display, add/remove, and custom color assignment. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as SampleLegend } from './SampleLegend.vue' /** Horizontal or vertical timeline of ordered protocol steps with status indicators, drag-to-reorder, and step-type iconography. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as ExperimentTimeline } from './ExperimentTimeline.vue' // Sample management components /** Interactive sample list with drag-and-drop group assignment, color labeling, and smart-group support. */ export { default as SampleSelector } from './SampleSelector.vue' /** Smart Group modal wired to the `useAutoGroup` engine. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as AutoGroupModal } from './AutoGroupModal.vue' /** Drag-and-drop two-zone assigner for splitting sample groups into control and treatment arms. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as GroupAssigner } from './GroupAssigner.vue' /** Smart Group modal with the auto Field Recipe and the manual cohort builder. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as SmartGroupModal } from './SmartGroupModal.vue' /** Smart Group auto mode: groups samples by a field recipe. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as SmartGroupFieldRecipe } from './SmartGroupFieldRecipe.vue' /** Smart Group manual mode: builds cohorts from selected samples. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as SmartGroupManual } from './SmartGroupManual.vue' // Lab/Experiment components export { default as MoleculeInput } from './MoleculeInput.vue' export { default as ConcentrationInput } from './ConcentrationInput.vue' export { default as DoseCalculator } from './DoseCalculator.vue' /** Editor for a single reagent definition with axis orientation, dilution-series generator, and position-count validation for 96/384-well plates. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as ReagentEditor, type ReagentDefinition } from './ReagentEditor.vue' /** Sortable, searchable table of experiment reagents showing lot number, expiry, storage conditions, and stock level with low-stock warnings. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as ReagentList } from './ReagentList.vue' export { default as SampleHierarchyTree } from './SampleHierarchyTree.vue' export { default as ProtocolStepEditor } from './ProtocolStepEditor.vue' // Scientific display components export { default as PlotlyChart } from './PlotlyChart.vue' export { default as ScientificNumber } from './ScientificNumber.vue' export { default as ChemicalFormula } from './ChemicalFormula.vue' /** Displays LC/MS or GC/MS acquisition sequence progress with ETA and remaining-time labels. */ export { default as SequenceProgressBar } from './SequenceProgressBar.vue' /** Status badge for instrument states: a tone dot (or dash / hollow shape for offline, never-reported and inactive) plus a label. */ export { default as InstrumentStateBadge } from './InstrumentStateBadge.vue' // Scientific input components export { default as FormulaInput } from './FormulaInput.vue' export { default as SequenceInput } from './SequenceInput.vue' export { default as UnitInput } from './UnitInput.vue' // Workflow components export { default as StepWizard } from './StepWizard.vue' export { default as AuditTrail } from './AuditTrail.vue' export { default as BatchProgressList } from './BatchProgressList.vue' export { default as JobsStatusTray } from './JobsStatusTray.vue' // Form builder components export { default as FormBuilder } from './FormBuilder.vue' export { default as FormActions } from './FormActions.vue' // Experiment data display components export { default as ExperimentDataViewer } from './ExperimentDataViewer.vue' export { default as ExperimentCodeBadge } from './ExperimentCodeBadge.vue' // Scheduling / booking components export { default as DateTimePicker } from './DateTimePicker.vue' export { default as TimeRangeInput } from './TimeRangeInput.vue' export { default as ScheduleCalendar } from './ScheduleCalendar.vue' export { default as ResourceCard } from './ResourceCard.vue' export { default as SectionCard } from './SectionCard.vue' // Experiment / analysis components export { default as ExperimentSelectorModal } from './ExperimentSelectorModal.vue' export { default as ArtifactSelectorModal } from './ArtifactSelectorModal.vue' /** Modal picker over the read-only server mounts, recording paths rather than copying data. */ export { default as GeneratedPathInput } from './GeneratedPathInput.vue' export { default as ArtifactSaveDialog } from './ArtifactSaveDialog.vue' export { default as ExperimentPopover } from './ExperimentPopover.vue' /** Control panel for running a curve-fit job with progress bar, results table, and error display. @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */ export { /** @deprecated Removed in MINT 1.4. */ default as FitPanel } from './FitPanel.vue' export { default as FilePicker } from './FilePicker.vue'