@morscherlab/mint-sdk 1.2.10 → 1.3.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -137
- package/dist/ResourcePickerListInternal-CFAw4vTZ.js +605 -0
- package/dist/ResourcePickerListInternal-CFAw4vTZ.js.map +1 -0
- package/dist/__stories__/experiment-helpers.d.ts +12 -1
- package/dist/__tests__/components/ScientificNumber.test.d.ts +1 -0
- package/dist/__tests__/components/SequenceInput.test.d.ts +1 -0
- package/dist/__tests__/components/Skeleton.test.d.ts +1 -0
- package/dist/__tests__/components/SmartGroupFieldRecipe.test.d.ts +1 -0
- package/dist/__tests__/components/SmartGroupModal.test.d.ts +1 -0
- package/dist/__tests__/components/StepWizard.test.d.ts +1 -0
- package/dist/__tests__/components/TimeRangeInput.test.d.ts +1 -0
- package/dist/__tests__/components/UnitInput.test.d.ts +1 -0
- package/dist/__tests__/components/WellPlate.keyboard.test.d.ts +1 -0
- package/dist/__tests__/components/WellPlate.sampleTypeIndicator.test.d.ts +1 -0
- package/dist/__tests__/composables/useChemicalFormula.test.d.ts +1 -0
- package/dist/__tests__/composables/useRackEditor.test.d.ts +1 -0
- package/dist/__tests__/composables/useSequenceUtils.test.d.ts +1 -0
- package/dist/__tests__/styles/baseControlsRules.test.d.ts +1 -0
- package/dist/__tests__/styles/controlRefreshRules.test.d.ts +1 -0
- package/dist/__tests__/styles/darkModeRules.test.d.ts +1 -0
- package/dist/__tests__/styles/menusShellRefresh.test.d.ts +1 -0
- package/dist/__tests__/templates/templatesDeprecation.test.d.ts +1 -0
- package/dist/__tests__/utils/plotlyTemplate.test.d.ts +1 -0
- package/dist/__tests__/utils/sampleTypeMarker.test.d.ts +1 -0
- package/dist/{analysisArtifactTypes-DQ0MjwHZ.js → analysisArtifactTypes-Cy3D0Ipg.js} +1 -1
- package/dist/{analysisArtifactTypes-DQ0MjwHZ.js.map → analysisArtifactTypes-Cy3D0Ipg.js.map} +1 -1
- package/dist/components/ActionMenu.vue.d.ts +17 -5
- package/dist/components/AdductText.vue.d.ts +3 -2
- package/dist/components/AlertBox.vue.d.ts +11 -14
- package/dist/components/AppAvatarMenu.vue.d.ts +18 -28
- package/dist/components/AppContainer.vue.d.ts +7 -11
- package/dist/components/AppLayout.vue.d.ts +11 -13
- package/dist/components/AppSidebar.vue.d.ts +30 -28
- package/dist/components/AppToastContainer.vue.d.ts +2 -1
- package/dist/components/AppTopBar.vue.d.ts +45 -44
- package/dist/components/ArtifactSaveDialog.vue.d.ts +3 -2
- package/dist/components/ArtifactSelectorModal.vue.d.ts +5 -6
- package/dist/components/AuditTrail.vue.d.ts +17 -18
- package/dist/components/AutoGroupModal.vue.d.ts +4 -3
- package/dist/components/Avatar.vue.d.ts +2 -1
- package/dist/components/BaseButton.vue.d.ts +11 -13
- package/dist/components/BaseCheckbox.vue.d.ts +7 -1
- package/dist/components/BaseInput.vue.d.ts +15 -2
- package/dist/components/BaseModal.vue.d.ts +20 -23
- package/dist/components/BasePill.vue.d.ts +10 -13
- package/dist/components/BaseRadioGroup.vue.d.ts +2 -1
- package/dist/components/BaseSelect.vue.d.ts +3 -2
- package/dist/components/BaseSlider.vue.d.ts +18 -1
- package/dist/components/BaseTabs.vue.d.ts +2 -1
- package/dist/components/BaseTextarea.vue.d.ts +2 -1
- package/dist/components/BaseToggle.vue.d.ts +2 -1
- package/dist/components/BatchProgressList.vue.d.ts +22 -26
- package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +7 -14
- package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +6 -13
- package/dist/components/BioTemplatePresetWorkspaceView.vue.d.ts +7 -14
- package/dist/components/BioTemplateRenderer.vue.d.ts +2 -1
- package/dist/components/Breadcrumb.vue.d.ts +13 -16
- package/dist/components/Calendar.vue.d.ts +21 -23
- package/dist/components/ChartContainer.vue.d.ts +19 -25
- package/dist/components/ChemicalFormula.vue.d.ts +7 -11
- package/dist/components/CollapsibleCard.vue.d.ts +7 -11
- package/dist/components/ComponentBindingRenderer.vue.d.ts +2 -1
- package/dist/components/ConcentrationInput.vue.d.ts +2 -1
- package/dist/components/ConfirmDialog.vue.d.ts +10 -13
- package/dist/components/ControlWorkspaceView.vue.d.ts +9 -18
- package/dist/components/DataFrame.vue.d.ts +27 -24
- package/dist/components/DatePicker.vue.d.ts +3 -6
- package/dist/components/DateTimePicker.vue.d.ts +3 -6
- package/dist/components/Divider.vue.d.ts +3 -2
- package/dist/components/DoseCalculator.vue.d.ts +2 -1
- package/dist/components/DoseCalculatorVolumeField.vue.d.ts +2 -1
- package/dist/components/DoseDesignWorkspaceView.vue.d.ts +9 -18
- package/dist/components/EmptyState.vue.d.ts +9 -12
- package/dist/components/ExperimentCodeBadge.vue.d.ts +2 -1
- package/dist/components/ExperimentDataViewer.vue.d.ts +13 -15
- package/dist/components/ExperimentPopover.vue.d.ts +3 -5
- package/dist/components/ExperimentSelectorModal.vue.d.ts +3 -4
- package/dist/components/ExperimentTimeline.vue.d.ts +13 -15
- package/dist/components/FilePicker.vue.d.ts +10 -5
- package/dist/components/FileUploader.vue.d.ts +8 -16
- package/dist/components/FitPanel.vue.d.ts +26 -16
- package/dist/components/FormActions.vue.d.ts +2 -1
- package/dist/components/FormBuilder.vue.d.ts +54 -250
- package/dist/components/FormField.vue.d.ts +14 -16
- package/dist/components/FormulaInput.vue.d.ts +2 -1
- package/dist/components/GeneratedPathInput.vue.d.ts +6 -5
- package/dist/components/GeneratedPlotlyResult.vue.d.ts +2 -1
- package/dist/components/GeneratedPluginView.vue.d.ts +2 -1
- package/dist/components/GeneratedResultRenderer.vue.d.ts +2 -1
- package/dist/components/GroupAssigner.vue.d.ts +2 -1
- package/dist/components/IconButton.vue.d.ts +7 -11
- package/dist/components/InstrumentStateBadge.vue.d.ts +4 -3
- package/dist/components/JobsStatusTray.vue.d.ts +13 -29
- package/dist/components/LayoutResizeHandle.vue.d.ts +2 -1
- package/dist/components/LoadingSpinner.vue.d.ts +2 -1
- package/dist/components/MobileSupportGate.vue.d.ts +5 -13
- package/dist/components/MoleculeInput.vue.d.ts +3 -4
- package/dist/components/MultiSelect.vue.d.ts +2 -1
- package/dist/components/NumberInput.vue.d.ts +2 -1
- package/dist/components/PlateEditor.vue.d.ts +147 -0
- package/dist/components/PlotlyChart.vue.d.ts +21 -31
- package/dist/components/PluginIcon.vue.d.ts +2 -1
- package/dist/components/PluginWorkspaceView.props.d.ts +2 -6
- package/dist/components/PluginWorkspaceView.vue.d.ts +23 -51
- package/dist/components/ProgressBar.vue.d.ts +4 -9
- package/dist/components/ProtocolStepEditor.vue.d.ts +7 -5
- package/dist/components/ProtocolStepParameterField.vue.d.ts +2 -1
- package/dist/components/ReagentEditor.vue.d.ts +2 -1
- package/dist/components/ReagentList.presentation.d.ts +2 -1
- package/dist/components/ReagentList.vue.d.ts +15 -17
- package/dist/components/ResourceCard.vue.d.ts +18 -17
- package/dist/components/RuntimeUpdateNotice.vue.d.ts +3 -2
- package/dist/components/SampleHierarchyTree.vue.d.ts +21 -15
- package/dist/components/SampleLegend.vue.d.ts +2 -1
- package/dist/components/SampleSelector.vue.d.ts +15 -21
- package/dist/components/SampleSelectorGroupNode.vue.d.ts +2 -1
- package/dist/components/SampleSelectorSampleRow.vue.d.ts +2 -5
- package/dist/components/ScheduleCalendar.vue.d.ts +34 -36
- package/dist/components/ScientificNumber.vue.d.ts +3 -2
- package/dist/components/SearchableSelect.vue.d.ts +14 -32
- package/dist/components/SecretInput.vue.d.ts +2 -1
- package/dist/components/SectionCard.vue.d.ts +13 -14
- package/dist/components/SegmentedControl.vue.d.ts +2 -1
- package/dist/components/SequenceInput.vue.d.ts +10 -21
- package/dist/components/SequenceProgressBar.vue.d.ts +2 -1
- package/dist/components/SettingsModal.schema.d.ts +1 -1
- package/dist/components/SettingsModal.vue.d.ts +28 -25
- package/dist/components/Skeleton.vue.d.ts +2 -1
- package/dist/components/SmartGroup.types.d.ts +2 -2
- package/dist/components/SmartGroupFieldRecipe.groups.d.ts +2 -0
- package/dist/components/SmartGroupFieldRecipe.vue.d.ts +4 -7
- package/dist/components/SmartGroupManual.vue.d.ts +3 -2
- package/dist/components/SmartGroupModal.vue.d.ts +6 -4
- package/dist/components/StatusIndicator.vue.d.ts +2 -1
- package/dist/components/StepWizard.vue.d.ts +26 -27
- package/dist/components/TagsInput.vue.d.ts +3 -5
- package/dist/components/ThemeToggle.vue.d.ts +2 -1
- package/dist/components/TimePicker.vue.d.ts +6 -6
- package/dist/components/TimeRangeInput.vue.d.ts +9 -2
- package/dist/components/Tooltip.vue.d.ts +8 -18
- package/dist/components/UnitInput.vue.d.ts +2 -1
- package/dist/components/WellPlate.colors.d.ts +2 -4
- package/dist/components/WellPlate.rendering.d.ts +7 -1
- package/dist/components/WellPlate.sampleDrop.d.ts +2 -0
- package/dist/components/WellPlate.vue.d.ts +22 -39
- package/dist/components/index.d.ts +34 -31
- package/dist/components/index.js +5 -8
- package/dist/components/internal/ActionItemInternal.vue.d.ts +11 -13
- package/dist/components/internal/AppTopBarPageSelectorInternal.vue.d.ts +14 -23
- package/dist/components/internal/AppTopBarPillNavInternal.vue.d.ts +2 -1
- package/dist/components/internal/CalendarGridPanelInternal.vue.d.ts +2 -1
- package/dist/components/internal/DataStateInternal.vue.d.ts +7 -11
- package/dist/components/internal/{FilePickerTreeInternal.vue.d.ts → FilePickerListInternal.vue.d.ts} +9 -6
- package/dist/components/internal/FilePickerPreviewInternal.vue.d.ts +4 -3
- package/dist/components/internal/FormFieldRendererInternal.vue.d.ts +16 -18
- package/dist/components/internal/FormSectionRenderer.vue.d.ts +36 -32
- package/dist/components/internal/PlateEditorBindingInternal.vue.d.ts +8 -0
- package/dist/components/internal/ResourcePickerListInternal.vue.d.ts +65 -0
- package/dist/components/internal/SettingsPaneHeadInternal.vue.d.ts +15 -0
- package/dist/components/internal/WellEditPopupInternal.vue.d.ts +12 -4
- package/dist/components/internal/WorkspaceControlsInternal.vue.d.ts +6 -13
- package/dist/components/internal/WorkspaceShellInternal.vue.d.ts +19 -42
- package/dist/components/internal/WorkspaceSidebarInternal.vue.d.ts +9 -19
- package/dist/components/internal/filePickerPresentation.d.ts +8 -0
- package/dist/components/internal/generatedJobsApi.d.ts +9 -0
- package/dist/{components-Bbg_gtzF.js → components-GDDvof8D.js} +7088 -5955
- package/dist/components-GDDvof8D.js.map +1 -0
- package/dist/composables/controlSchemaTypes.d.ts +4 -43
- package/dist/composables/createFilePickerAdapter.d.ts +5 -1
- package/dist/composables/filePicker/usePickerNavigation.d.ts +7 -2
- package/dist/composables/index.d.ts +2 -13
- package/dist/composables/index.js +7 -11
- package/dist/composables/pluginWorkspaceModel.d.ts +1 -3
- package/dist/composables/useAutoGroup.d.ts +10 -0
- package/dist/composables/useBioTemplateComponents.d.ts +15 -3
- package/dist/composables/useBioTemplateControls.d.ts +5 -1
- package/dist/composables/useBioTemplatePackWorkspace.d.ts +2 -0
- package/dist/composables/useBioTemplatePresetWorkspace.d.ts +5 -1
- package/dist/composables/useBioTemplateWorkspace.d.ts +5 -1
- package/dist/composables/useChemicalFormula.d.ts +2 -1
- package/dist/composables/useDropdownState.d.ts +5 -0
- package/dist/composables/useExperimentSave.d.ts +5 -1
- package/dist/composables/useFileBrowser.d.ts +3 -2
- package/dist/composables/useFilePicker.d.ts +25 -13
- package/dist/composables/useFocusTrap.d.ts +2 -1
- package/dist/composables/useGroupAssignment.d.ts +5 -1
- package/dist/composables/useJobsStatusTray.d.ts +5 -5
- package/dist/composables/useMenuKeyboard.d.ts +3 -3
- package/dist/composables/usePlatformContext.d.ts +3 -0
- package/dist/composables/usePluginClient.d.ts +1 -1
- package/dist/composables/useRackEditor.d.ts +36 -1
- package/dist/composables/useSequenceUtils.d.ts +8 -0
- package/dist/composables/useTemplateCollection.d.ts +5 -1
- package/dist/composables/workspaceRecipes.d.ts +1 -0
- package/dist/composables-D6uqp0UF.js +591 -0
- package/dist/composables-D6uqp0UF.js.map +1 -0
- package/dist/{errors-BLuqMee5.js → experiment-DgllIc3I.js} +89 -333
- package/dist/experiment-DgllIc3I.js.map +1 -0
- package/dist/{experiment-utils-CV2Wza3z.js → experiment-utils-DTANyVKV.js} +68 -37
- package/dist/experiment-utils-DTANyVKV.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +122 -17
- package/dist/index.js.map +1 -1
- package/dist/install.js +1 -2
- package/dist/install.js.map +1 -1
- package/dist/instrument.d.ts +6 -0
- package/dist/lcms.d.ts +11 -0
- package/dist/permissions.d.ts +2 -47
- package/dist/permissions.js +2 -26
- package/dist/permissions.js.map +1 -1
- package/dist/settings-BLr8lzw6.js +341 -0
- package/dist/settings-BLr8lzw6.js.map +1 -0
- package/dist/stores/auth.d.ts +2 -150
- package/dist/stores/experiment.d.ts +2 -106
- package/dist/stores/index.js +2 -2
- package/dist/stores/settings.d.ts +2 -44
- package/dist/styles.css +8608 -6950
- package/dist/tailwind.preset.js.map +1 -1
- package/dist/templates/adapters.d.ts +3 -0
- package/dist/templates/assayMatrixAdapters.d.ts +8 -1
- package/dist/templates/assayMatrixBuilder.d.ts +1 -0
- package/dist/templates/builderPresetControls.d.ts +1 -0
- package/dist/templates/calibrationCurveAdapters.d.ts +3 -0
- package/dist/templates/calibrationCurveBuilder.d.ts +1 -0
- package/dist/templates/catalog.d.ts +6 -2
- package/dist/templates/componentBindings.d.ts +31 -5
- package/dist/templates/componentPlateHelpers.d.ts +7 -1
- package/dist/templates/controlSchemas.d.ts +9 -0
- package/dist/templates/defaultBioTemplateBuilder.d.ts +1 -0
- package/dist/templates/doseResponseAdapters.d.ts +2 -0
- package/dist/templates/doseResponseBuilder.d.ts +1 -0
- package/dist/templates/elisaAssayCollectionBuilder.d.ts +1 -0
- package/dist/templates/flowCytometryAssayCollectionBuilder.d.ts +1 -0
- package/dist/templates/flowCytometryPanelBuilder.d.ts +1 -0
- package/dist/templates/flowPanelAdapters.d.ts +3 -0
- package/dist/templates/index.d.ts +1 -1
- package/dist/templates/index.js +2 -3
- package/dist/templates/instrumentRunAdapters.d.ts +13 -2
- package/dist/templates/instrumentRunBuilder.d.ts +1 -0
- package/dist/templates/lcmsBatchCollectionBuilder.d.ts +1 -0
- package/dist/templates/packs.d.ts +4 -0
- package/dist/templates/plateMapAdapters.d.ts +2 -0
- package/dist/templates/plateMapBuilder.d.ts +1 -0
- package/dist/templates/presets.d.ts +6 -2
- package/dist/templates/protocolAdapters.d.ts +4 -0
- package/dist/templates/protocolStepsBuilder.d.ts +1 -0
- package/dist/templates/qpcrAdapters.d.ts +4 -0
- package/dist/templates/qpcrExpressionCollectionBuilder.d.ts +1 -0
- package/dist/templates/qpcrPlateBuilder.d.ts +1 -0
- package/dist/templates/reagentAdapters.d.ts +4 -0
- package/dist/templates/reagentListBuilder.d.ts +1 -0
- package/dist/templates/samplePrepAdapters.d.ts +3 -0
- package/dist/templates/samplePrepBuilder.d.ts +1 -0
- package/dist/templates/sampleSheetAdapters.d.ts +4 -0
- package/dist/templates/sampleSheetBuilder.d.ts +1 -0
- package/dist/templates/targetedMetabolomicsCollectionBuilder.d.ts +1 -0
- package/dist/templates/templateEnvelopes.d.ts +8 -0
- package/dist/templates/templatePackCollectionBuilder.d.ts +1 -0
- package/dist/templates/templatePresetCollectionBuilder.d.ts +2 -0
- package/dist/templates/templateValidators.d.ts +12 -0
- package/dist/templates/timeCourseAdapters.d.ts +4 -0
- package/dist/templates/timeCourseBuilder.d.ts +1 -0
- package/dist/templates/wellPlateScreenCollectionBuilder.d.ts +1 -0
- package/dist/templates/westernBlotAssayCollectionBuilder.d.ts +1 -0
- package/dist/templates-BU1pet28.js +12304 -0
- package/dist/templates-BU1pet28.js.map +1 -0
- package/dist/types/auth.d.ts +0 -27
- package/dist/types/componentLabTypes.d.ts +14 -7
- package/dist/types/componentWorkflowTypes.d.ts +26 -0
- package/dist/types/components.d.ts +40 -17
- package/dist/types/fileBrowserTypes.d.ts +13 -0
- package/dist/types/filePicker.d.ts +19 -1
- package/dist/types/generated-ui.d.ts +13 -0
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.js +1 -1
- package/dist/types/instrument.d.ts +43 -15
- package/dist/types/platform.d.ts +2 -0
- package/dist/utils/color.d.ts +6 -1
- package/dist/utils/formModelSync.d.ts +1 -0
- package/dist/utils/plotlyTemplate.d.ts +3 -0
- package/dist/utils/rack.d.ts +16 -0
- package/dist/utils/sampleTypeMarker.d.ts +23 -0
- package/dist/{validation-ChMyixAf.js → validation-Dmp9Q5W0.js} +3032 -838
- package/dist/validation-Dmp9Q5W0.js.map +1 -0
- package/package.json +17 -23
- package/src/__stories__/experiment-helpers.ts +8 -4
- package/src/__tests__/components/ActionMenu.test.ts +66 -0
- package/src/__tests__/components/AlertBox.test.ts +21 -0
- package/src/__tests__/components/AppAvatarMenu.test.ts +25 -0
- package/src/__tests__/components/AppTopBar.test.ts +79 -0
- package/src/__tests__/components/AppTopBarPageSelector.test.ts +20 -0
- package/src/__tests__/components/AppTopBarPillNav.test.ts +74 -0
- package/src/__tests__/components/ArtifactSelectorModal.test.ts +20 -6
- package/src/__tests__/components/AuditTrail.test.ts +38 -0
- package/src/__tests__/components/BaseCheckbox.test.ts +43 -0
- package/src/__tests__/components/BaseInput.test.ts +43 -0
- package/src/__tests__/components/BaseModal.test.ts +90 -0
- package/src/__tests__/components/BaseRadioGroup.test.ts +8 -0
- package/src/__tests__/components/BaseSlider.test.ts +116 -0
- package/src/__tests__/components/BaseToggle.test.ts +7 -0
- package/src/__tests__/components/BatchProgressList.test.ts +22 -14
- package/src/__tests__/components/BioTemplateExperimentWorkspaceView.test.ts +4 -4
- package/src/__tests__/components/BioTemplatePackWorkspaceView.test.ts +1 -1
- package/src/__tests__/components/BioTemplatePresetWorkspaceView.test.ts +8 -8
- package/src/__tests__/components/BioTemplateRenderer.test.ts +2 -2
- package/src/__tests__/components/Breadcrumb.test.ts +45 -0
- package/src/__tests__/components/CalendarGridPanel.test.ts +14 -0
- package/src/__tests__/components/ChartContainer.test.ts +23 -0
- package/src/__tests__/components/ChemicalFormula.test.ts +15 -0
- package/src/__tests__/components/CollapsibleCard.test.ts +12 -9
- package/src/__tests__/components/ComponentBindingRenderer.test.ts +45 -17
- package/src/__tests__/components/ConcentrationInput.test.ts +17 -2
- package/src/__tests__/components/DataFrame.test.ts +107 -4
- package/src/__tests__/components/DataStates.test.ts +0 -16
- package/src/__tests__/components/DatePicker.test.ts +10 -0
- package/src/__tests__/components/DoseCalculator.test.ts +47 -0
- package/src/__tests__/components/DoseCalculatorVolumeField.test.ts +37 -34
- package/src/__tests__/components/EmptyState.test.ts +16 -1
- package/src/__tests__/components/ExperimentSelectorModal.test.ts +31 -3
- package/src/__tests__/components/ExperimentTimeline.test.ts +45 -0
- package/src/__tests__/components/FilePicker.state.test.ts +2 -2
- package/src/__tests__/components/FilePicker.test.ts +360 -13
- package/src/__tests__/components/FileUploader.test.ts +15 -0
- package/src/__tests__/components/FitPanel.test.ts +96 -0
- package/src/__tests__/components/FormulaInput.test.ts +97 -0
- package/src/__tests__/components/GeneratedPathInput.test.ts +168 -41
- package/src/__tests__/components/GeneratedPlotlyResult.test.ts +1 -1
- package/src/__tests__/components/GeneratedResultRenderer.test.ts +47 -2
- package/src/__tests__/components/InstrumentStateBadge.test.ts +50 -0
- package/src/__tests__/components/JobsStatusTray.test.ts +27 -0
- package/src/__tests__/components/MoleculeInput.test.ts +78 -0
- package/src/__tests__/components/MultiSelect.test.ts +6 -0
- package/src/__tests__/components/PlateEditor.test.ts +1134 -0
- package/src/__tests__/components/PlateEditorBindingInternal.test.ts +64 -0
- package/src/__tests__/components/PlotlyChart.test.ts +147 -1
- package/src/__tests__/components/ProgressBar.test.ts +18 -0
- package/src/__tests__/components/ProtocolStepEditor.test.ts +106 -18
- package/src/__tests__/components/ProtocolStepParameterField.test.ts +74 -29
- package/src/__tests__/components/ReagentList.presentation.test.ts +10 -5
- package/src/__tests__/components/ReagentList.test.ts +23 -0
- package/src/__tests__/components/ResourcePickerListInternal.test.ts +141 -0
- package/src/__tests__/components/RetiredStyles.test.ts +0 -6
- package/src/__tests__/components/SampleHierarchyTree.test.ts +102 -0
- package/src/__tests__/components/SampleLegend.test.ts +18 -0
- package/src/__tests__/components/SampleSelector.test.ts +92 -1
- package/src/__tests__/components/SampleSelectorSampleRow.test.ts +5 -2
- package/src/__tests__/components/ScheduleCalendar.test.ts +32 -0
- package/src/__tests__/components/ScientificNumber.test.ts +113 -0
- package/src/__tests__/components/SearchableSelect.test.ts +21 -0
- package/src/__tests__/components/SecretInput.test.ts +6 -0
- package/src/__tests__/components/SegmentedControl.test.ts +14 -0
- package/src/__tests__/components/SequenceInput.test.ts +81 -0
- package/src/__tests__/components/SettingsModal.schema.test.ts +5 -5
- package/src/__tests__/components/SettingsModal.test.ts +371 -23
- package/src/__tests__/components/Skeleton.test.ts +23 -0
- package/src/__tests__/components/SmartGroupFieldRecipe.test.ts +12 -0
- package/src/__tests__/components/SmartGroupModal.test.ts +69 -0
- package/src/__tests__/components/StepWizard.test.ts +75 -0
- package/src/__tests__/components/TagsInput.test.ts +16 -0
- package/src/__tests__/components/TimePicker.test.ts +66 -0
- package/src/__tests__/components/TimeRangeInput.test.ts +83 -0
- package/src/__tests__/components/UnitInput.test.ts +147 -0
- package/src/__tests__/components/WellEditPopupInternal.test.ts +434 -2
- package/src/__tests__/components/WellPlate.decoration.test.ts +18 -0
- package/src/__tests__/components/WellPlate.geometry.test.ts +13 -0
- package/src/__tests__/components/WellPlate.interaction.test.ts +213 -0
- package/src/__tests__/components/WellPlate.keyboard.test.ts +24 -0
- package/src/__tests__/components/WellPlate.rendering.test.ts +38 -19
- package/src/__tests__/components/WellPlate.sampleDrop.test.ts +19 -0
- package/src/__tests__/components/WellPlate.sampleTypeIndicator.test.ts +58 -0
- package/src/__tests__/composables/createFilePickerAdapter.test.ts +114 -1
- package/src/__tests__/composables/useBioTemplatePackWorkspace.test.ts +1 -1
- package/src/__tests__/composables/useBioTemplateWorkspace.test.ts +1 -1
- package/src/__tests__/composables/useChemicalFormula.test.ts +60 -0
- package/src/__tests__/composables/useControlSchema.test.ts +15 -5
- package/src/__tests__/composables/useDropdownState.test.ts +20 -1
- package/src/__tests__/composables/useGeneratedAnalysis.test.ts +52 -0
- package/src/__tests__/composables/usePickerNavigation.test.ts +61 -1
- package/src/__tests__/composables/usePlatformFilePickerAdapter.test.ts +18 -6
- package/src/__tests__/composables/useRackEditor.test.ts +270 -0
- package/src/__tests__/composables/useSequenceUtils.test.ts +28 -0
- package/src/__tests__/docs/frontendDocsCatalog.test.ts +44 -9
- package/src/__tests__/styles/baseControlsRules.test.ts +115 -0
- package/src/__tests__/styles/controlRefreshRules.test.ts +218 -0
- package/src/__tests__/styles/cssTokens.test.ts +7 -5
- package/src/__tests__/styles/darkModeRules.test.ts +47 -0
- package/src/__tests__/styles/menusShellRefresh.test.ts +75 -0
- package/src/__tests__/templates/templates.test.ts +65 -15
- package/src/__tests__/templates/templatesDeprecation.test.ts +78 -0
- package/src/__tests__/utils/permissions.test.ts +0 -68
- package/src/__tests__/utils/plotlyTemplate.test.ts +69 -0
- package/src/__tests__/utils/sampleTypeMarker.test.ts +54 -0
- package/src/components/ActionMenu.vue +44 -23
- package/src/components/AdductText.story.vue +18 -0
- package/src/components/AdductText.vue +7 -1
- package/src/components/AlertBox.vue +3 -7
- package/src/components/AppAvatarMenu.vue +12 -10
- package/src/components/AppSidebar.vue +1 -1
- package/src/components/AppTopBar.story.vue +47 -4
- package/src/components/AppTopBar.vue +16 -22
- package/src/components/ArtifactSelectorModal.story.vue +1 -1
- package/src/components/ArtifactSelectorModal.vue +48 -160
- package/src/components/AuditTrail.vue +26 -12
- package/src/components/AutoGroupModal.vue +1 -1
- package/src/components/BaseCheckbox.story.vue +58 -2
- package/src/components/BaseCheckbox.vue +21 -3
- package/src/components/BaseInput.story.vue +51 -0
- package/src/components/BaseInput.vue +62 -1
- package/src/components/BaseModal.story.vue +55 -0
- package/src/components/BaseModal.vue +83 -50
- package/src/components/BaseRadioGroup.vue +1 -1
- package/src/components/BaseSlider.story.vue +36 -0
- package/src/components/BaseSlider.vue +56 -8
- package/src/components/BaseToggle.vue +1 -7
- package/src/components/BatchProgressList.vue +50 -52
- package/src/components/BioTemplatePresetWorkspaceView.vue +1 -1
- package/src/components/Breadcrumb.story.vue +1 -1
- package/src/components/Breadcrumb.vue +50 -15
- package/src/components/ChartContainer.story.vue +42 -0
- package/src/components/ChartContainer.vue +22 -1
- package/src/components/ChemicalFormula.story.vue +11 -11
- package/src/components/ChemicalFormula.vue +1 -0
- package/src/components/CollapsibleCard.vue +12 -32
- package/src/components/ComponentBindingRenderer.vue +6 -8
- package/src/components/ConcentrationInput.story.vue +1 -1
- package/src/components/ConcentrationInput.vue +8 -14
- package/src/components/ControlWorkspaceView.vue +1 -1
- package/src/components/DataFrame.story.vue +45 -2
- package/src/components/DataFrame.vue +28 -13
- package/src/components/DatePicker.story.vue +11 -0
- package/src/components/DatePicker.vue +5 -5
- package/src/components/DateTimePicker.story.vue +1 -1
- package/src/components/DateTimePicker.vue +8 -5
- package/src/components/Divider.story.vue +1 -1
- package/src/components/DoseCalculator.vue +44 -51
- package/src/components/DoseCalculatorVolumeField.vue +22 -35
- package/src/components/DoseDesignWorkspaceView.vue +1 -1
- package/src/components/EmptyState.story.vue +4 -4
- package/src/components/EmptyState.vue +4 -2
- package/src/components/ExperimentPopover.story.vue +2 -2
- package/src/components/ExperimentPopover.vue +6 -4
- package/src/components/ExperimentSelectorModal.story.vue +2 -1
- package/src/components/ExperimentSelectorModal.vue +91 -261
- package/src/components/ExperimentTimeline.story.vue +29 -0
- package/src/components/ExperimentTimeline.vue +20 -0
- package/src/components/FilePicker.story.vue +65 -10
- package/src/components/FilePicker.vue +203 -121
- package/src/components/FitPanel.story.vue +72 -6
- package/src/components/FitPanel.vue +70 -18
- package/src/components/FormField.vue +2 -0
- package/src/components/FormulaInput.story.vue +6 -0
- package/src/components/FormulaInput.vue +49 -70
- package/src/components/GeneratedPathInput.story.vue +121 -8
- package/src/components/GeneratedPathInput.vue +155 -86
- package/src/components/GeneratedPlotlyResult.vue +1 -1
- package/src/components/GeneratedPluginView.vue +4 -4
- package/src/components/GeneratedResultRenderer.vue +19 -0
- package/src/components/InstrumentStateBadge.story.vue +41 -0
- package/src/components/InstrumentStateBadge.vue +24 -14
- package/src/components/JobsStatusTray.vue +30 -8
- package/src/components/MoleculeInput.vue +12 -7
- package/src/components/MultiSelect.vue +3 -3
- package/src/components/PlateEditor.story.vue +333 -0
- package/src/components/PlateEditor.vue +793 -0
- package/src/components/PlotlyChart.story.vue +37 -1
- package/src/components/PlotlyChart.vue +86 -16
- package/src/components/PluginWorkspaceView.props.ts +1 -7
- package/src/components/PluginWorkspaceView.vue +0 -4
- package/src/components/ProgressBar.story.vue +0 -30
- package/src/components/ProgressBar.vue +3 -53
- package/src/components/ProtocolStepEditor.story.vue +8 -0
- package/src/components/ProtocolStepEditor.vue +55 -145
- package/src/components/ProtocolStepParameterField.vue +55 -93
- package/src/components/ReagentList.presentation.ts +7 -6
- package/src/components/ReagentList.vue +18 -17
- package/src/components/SampleHierarchyTree.story.vue +19 -0
- package/src/components/SampleHierarchyTree.vue +47 -14
- package/src/components/SampleLegend.vue +12 -4
- package/src/components/SampleSelector.story.vue +5 -1
- package/src/components/SampleSelector.vue +25 -15
- package/src/components/SampleSelectorGroupNode.vue +10 -20
- package/src/components/SampleSelectorSampleRow.vue +7 -18
- package/src/components/ScheduleCalendar.story.vue +14 -0
- package/src/components/ScheduleCalendar.vue +13 -1
- package/src/components/ScientificNumber.story.vue +15 -2
- package/src/components/ScientificNumber.vue +22 -26
- package/src/components/SearchableSelect.vue +14 -9
- package/src/components/SecretInput.vue +1 -1
- package/src/components/SegmentedControl.story.vue +23 -0
- package/src/components/SegmentedControl.vue +6 -1
- package/src/components/SequenceInput.story.vue +27 -5
- package/src/components/SequenceInput.vue +74 -29
- package/src/components/SequenceProgressBar.vue +0 -1
- package/src/components/SettingsModal.schema.ts +4 -2
- package/src/components/SettingsModal.story.vue +83 -22
- package/src/components/SettingsModal.vue +338 -79
- package/src/components/Skeleton.vue +6 -35
- package/src/components/SmartGroup.types.ts +2 -2
- package/src/components/SmartGroupFieldRecipe.groups.ts +4 -1
- package/src/components/SmartGroupFieldRecipe.vue +14 -8
- package/src/components/SmartGroupManual.vue +14 -11
- package/src/components/StepWizard.vue +16 -19
- package/src/components/TagsInput.story.vue +16 -11
- package/src/components/TagsInput.vue +20 -3
- package/src/components/TimePicker.story.vue +38 -3
- package/src/components/TimePicker.vue +26 -11
- package/src/components/TimeRangeInput.story.vue +50 -1
- package/src/components/TimeRangeInput.vue +36 -17
- package/src/components/UnitInput.story.vue +1 -1
- package/src/components/UnitInput.vue +173 -107
- package/src/components/WellPlate.colors.ts +7 -6
- package/src/components/WellPlate.geometry.ts +3 -0
- package/src/components/WellPlate.interaction.ts +39 -5
- package/src/components/WellPlate.rendering.ts +21 -27
- package/src/components/WellPlate.sampleDrop.ts +20 -12
- package/src/components/WellPlate.story.vue +18 -7
- package/src/components/WellPlate.vue +28 -22
- package/src/components/index.ts +34 -31
- package/src/components/internal/AppTopBarPageSelectorInternal.vue +13 -7
- package/src/components/internal/AppTopBarPillNavInternal.vue +12 -7
- package/src/components/internal/CalendarGridPanelInternal.vue +1 -1
- package/src/components/internal/FilePickerListInternal.vue +318 -0
- package/src/components/internal/FilePickerPreviewInternal.vue +54 -52
- package/src/components/internal/PlateEditorBindingInternal.vue +37 -0
- package/src/components/internal/ResourcePickerListInternal.vue +237 -0
- package/src/components/internal/SettingsPaneHeadInternal.vue +41 -0
- package/src/components/internal/WellEditPopupInternal.vue +219 -146
- package/src/components/internal/WorkspaceShellInternal.vue +0 -6
- package/src/components/internal/filePickerPresentation.ts +30 -0
- package/src/components/internal/generatedJobsApi.ts +12 -0
- package/src/composables/autoGroup/index.ts +3 -0
- package/src/composables/controlSchemaAdapters.ts +0 -4
- package/src/composables/controlSchemaFormFields.ts +0 -4
- package/src/composables/controlSchemaTypes.ts +4 -43
- package/src/composables/createFilePickerAdapter.ts +90 -22
- package/src/composables/filePicker/localFiles.ts +1 -0
- package/src/composables/filePicker/usePickerNavigation.ts +29 -2
- package/src/composables/index.ts +2 -71
- package/src/composables/pluginWorkspaceModel.ts +0 -3
- package/src/composables/useAutoGroup.ts +10 -0
- package/src/composables/useBioTemplateComponents.ts +15 -3
- package/src/composables/useBioTemplateControls.ts +5 -1
- package/src/composables/useBioTemplatePackWorkspace.ts +2 -0
- package/src/composables/useBioTemplatePresetWorkspace.ts +5 -1
- package/src/composables/useBioTemplateWorkspace.ts +5 -1
- package/src/composables/useChemicalFormula.ts +39 -13
- package/src/composables/useDropdownState.ts +6 -1
- package/src/composables/useExperimentSave.ts +5 -1
- package/src/composables/useFileBrowser.ts +3 -2
- package/src/composables/useFilePicker.ts +98 -13
- package/src/composables/useFocusTrap.ts +9 -6
- package/src/composables/useGeneratedAnalysis.ts +38 -0
- package/src/composables/useGroupAssignment.ts +5 -1
- package/src/composables/useJobsStatusTray.ts +5 -5
- package/src/composables/useMenuKeyboard.ts +5 -3
- package/src/composables/usePlatformFilePickerAdapter.ts +26 -4
- package/src/composables/usePluginClient.ts +1 -1
- package/src/composables/usePluginWorkspace.ts +0 -1
- package/src/composables/useRackEditor.ts +202 -12
- package/src/composables/useSequenceUtils.ts +20 -2
- package/src/composables/useTemplateCollection.ts +5 -1
- package/src/composables/workspaceRecipes.ts +1 -0
- package/src/index.ts +9 -3
- package/src/instrument.ts +6 -0
- package/src/lcms.ts +11 -0
- package/src/permissions.ts +2 -59
- package/src/styles/components/action-menu.css +9 -38
- package/src/styles/components/adduct-text.css +15 -3
- package/src/styles/components/alert-box.css +19 -70
- package/src/styles/components/app-avatar-menu.css +22 -57
- package/src/styles/components/app-container.css +4 -4
- package/src/styles/components/app-layout.css +18 -18
- package/src/styles/components/app-page-selector.css +50 -105
- package/src/styles/components/app-pill-nav.css +24 -42
- package/src/styles/components/app-sidebar.css +2 -2
- package/src/styles/components/app-top-bar.css +78 -55
- package/src/styles/components/artifact-selector-modal.css +1 -211
- package/src/styles/components/audit-trail.css +45 -38
- package/src/styles/components/avatar.css +1 -1
- package/src/styles/components/batch-progress-list.css +179 -95
- package/src/styles/components/breadcrumb.css +34 -15
- package/src/styles/components/calendar.css +2 -8
- package/src/styles/components/chart-container.css +81 -38
- package/src/styles/components/checkbox.css +8 -6
- package/src/styles/components/chemical-formula.css +8 -6
- package/src/styles/components/collapsible-card.css +6 -46
- package/src/styles/components/concentration-input.css +1 -10
- package/src/styles/components/dataframe.css +48 -67
- package/src/styles/components/date-picker.css +124 -62
- package/src/styles/components/datetime-picker.css +81 -47
- package/src/styles/components/divider.css +2 -4
- package/src/styles/components/dose-calculator.css +9 -135
- package/src/styles/components/empty-state.css +26 -35
- package/src/styles/components/experiment-code-badge.css +1 -1
- package/src/styles/components/experiment-popover.css +16 -83
- package/src/styles/components/experiment-selector-modal.css +9 -226
- package/src/styles/components/experiment-timeline.css +120 -50
- package/src/styles/components/file-picker.css +323 -299
- package/src/styles/components/file-uploader.css +4 -6
- package/src/styles/components/fit-panel.css +108 -22
- package/src/styles/components/form-field.css +6 -4
- package/src/styles/components/formula-input.css +121 -48
- package/src/styles/components/group-assigner.css +1 -3
- package/src/styles/components/icon-button.css +15 -37
- package/src/styles/components/input.css +91 -2
- package/src/styles/components/instrument-monitor.css +37 -447
- package/src/styles/components/jobs-status-tray.css +82 -61
- package/src/styles/components/loading-spinner.css +18 -0
- package/src/styles/components/mobile-support-gate.css +15 -17
- package/src/styles/components/modal.css +44 -33
- package/src/styles/components/molecule-input.css +31 -16
- package/src/styles/components/multi-select.css +33 -29
- package/src/styles/components/number-input.css +1 -1
- package/src/styles/components/plate-editor.css +497 -0
- package/src/styles/components/popover.css +162 -0
- package/src/styles/components/progress-bar.css +1 -70
- package/src/styles/components/protocol-step-editor.css +21 -333
- package/src/styles/components/radio-group.css +9 -18
- package/src/styles/components/reagent-editor.css +3 -7
- package/src/styles/components/reagent-list.css +63 -69
- package/src/styles/components/resource-card.css +4 -6
- package/src/styles/components/resource-picker-list.css +212 -0
- package/src/styles/components/sample-hierarchy-tree.css +83 -65
- package/src/styles/components/sample-legend.css +18 -7
- package/src/styles/components/sample-selector.css +41 -68
- package/src/styles/components/schedule-calendar.css +59 -54
- package/src/styles/components/scientific-number.css +72 -18
- package/src/styles/components/searchable-select.css +17 -26
- package/src/styles/components/secret-input.css +20 -23
- package/src/styles/components/section-card.css +3 -5
- package/src/styles/components/segmented-control.css +14 -1
- package/src/styles/components/select.css +19 -8
- package/src/styles/components/sequence-input.css +85 -37
- package/src/styles/components/sequence-progress-bar.css +18 -37
- package/src/styles/components/settings-modal.css +683 -34
- package/src/styles/components/skeleton.css +24 -23
- package/src/styles/components/slider.css +74 -8
- package/src/styles/components/smart-group.css +27 -39
- package/src/styles/components/status-indicator.css +1 -1
- package/src/styles/components/step-wizard.css +62 -99
- package/src/styles/components/tabs.css +2 -6
- package/src/styles/components/tags-input.css +64 -54
- package/src/styles/components/textarea.css +2 -2
- package/src/styles/components/time-picker.css +67 -38
- package/src/styles/components/time-range-input.css +16 -18
- package/src/styles/components/toast.css +1 -1
- package/src/styles/components/toggle.css +21 -31
- package/src/styles/components/tooltip.css +13 -15
- package/src/styles/components/unit-input.css +86 -36
- package/src/styles/components/well-edit-popup.css +111 -189
- package/src/styles/components/well-plate.css +7 -7
- package/src/styles/index.css +5 -7
- package/src/styles/variables.css +35 -7
- package/src/templates/adapters.ts +4 -0
- package/src/templates/assayMatrixAdapters.ts +8 -1
- package/src/templates/assayMatrixBuilder.ts +1 -0
- package/src/templates/builderPresetControls.ts +1 -0
- package/src/templates/calibrationCurveAdapters.ts +3 -0
- package/src/templates/calibrationCurveBuilder.ts +1 -0
- package/src/templates/catalog.ts +6 -2
- package/src/templates/componentBindingCatalog.ts +1 -1
- package/src/templates/componentBindings.ts +31 -5
- package/src/templates/componentDoseResponseProps.ts +0 -1
- package/src/templates/componentPlateHelpers.ts +22 -1
- package/src/templates/componentPlateMapProps.ts +7 -5
- package/src/templates/componentQpcrPlateProps.ts +0 -1
- package/src/templates/controlSchemas.ts +9 -0
- package/src/templates/defaultBioTemplateBuilder.ts +1 -0
- package/src/templates/doseResponseAdapters.ts +2 -0
- package/src/templates/doseResponseBuilder.ts +1 -0
- package/src/templates/elisaAssayCollectionBuilder.ts +1 -0
- package/src/templates/flowCytometryAssayCollectionBuilder.ts +1 -0
- package/src/templates/flowCytometryPanelBuilder.ts +1 -0
- package/src/templates/flowPanelAdapters.ts +3 -0
- package/src/templates/index.ts +4 -0
- package/src/templates/instrumentRunAdapters.ts +13 -2
- package/src/templates/instrumentRunBuilder.ts +1 -0
- package/src/templates/lcmsBatchCollectionBuilder.ts +1 -0
- package/src/templates/packs.ts +4 -0
- package/src/templates/plateMapAdapters.ts +2 -0
- package/src/templates/plateMapBuilder.ts +1 -0
- package/src/templates/presets.ts +6 -2
- package/src/templates/protocolAdapters.ts +4 -0
- package/src/templates/protocolStepsBuilder.ts +1 -0
- package/src/templates/qpcrAdapters.ts +4 -0
- package/src/templates/qpcrExpressionCollectionBuilder.ts +1 -0
- package/src/templates/qpcrPlateBuilder.ts +1 -0
- package/src/templates/reagentAdapters.ts +4 -0
- package/src/templates/reagentListBuilder.ts +1 -0
- package/src/templates/samplePrepAdapters.ts +3 -0
- package/src/templates/samplePrepBuilder.ts +1 -0
- package/src/templates/sampleSheetAdapters.ts +4 -0
- package/src/templates/sampleSheetBuilder.ts +1 -0
- package/src/templates/targetedMetabolomicsCollectionBuilder.ts +1 -0
- package/src/templates/templateEnvelopes.ts +8 -0
- package/src/templates/templatePackCollectionBuilder.ts +1 -0
- package/src/templates/templatePresetCollectionBuilder.ts +2 -0
- package/src/templates/templateValidators.ts +12 -0
- package/src/templates/timeCourseAdapters.ts +4 -0
- package/src/templates/timeCourseBuilder.ts +1 -0
- package/src/templates/wellPlateScreenCollectionBuilder.ts +1 -0
- package/src/templates/westernBlotAssayCollectionBuilder.ts +1 -0
- package/src/types/auth.ts +0 -37
- package/src/types/componentLabTypes.ts +16 -13
- package/src/types/componentWorkflowTypes.ts +29 -0
- package/src/types/components.ts +43 -20
- package/src/types/fileBrowserTypes.ts +15 -0
- package/src/types/filePicker.ts +19 -1
- package/src/types/generated-ui.ts +15 -0
- package/src/types/index.ts +12 -11
- package/src/types/instrument.ts +47 -15
- package/src/types/platform.ts +2 -0
- package/src/utils/color.ts +16 -1
- package/src/utils/formModelSync.ts +1 -1
- package/src/utils/plotlyTemplate.ts +39 -0
- package/src/utils/rack.ts +16 -0
- package/src/utils/sampleTypeMarker.ts +44 -0
- package/dist/ExperimentPopover-CJdNlCZb.js +0 -451
- package/dist/ExperimentPopover-CJdNlCZb.js.map +0 -1
- package/dist/ExperimentSelectorModal-DHE9k8TP.js +0 -507
- package/dist/ExperimentSelectorModal-DHE9k8TP.js.map +0 -1
- package/dist/SettingsModal-DELMkUFR.js +0 -492
- package/dist/SettingsModal-DELMkUFR.js.map +0 -1
- package/dist/Skeleton-jhF9wUkU.js +0 -485
- package/dist/Skeleton-jhF9wUkU.js.map +0 -1
- package/dist/__tests__/composables/usePluginConfig.test.d.ts +0 -15
- package/dist/chunk-BoAXSpZd.js +0 -33
- package/dist/components/AppPluginSwitcher.vue.d.ts +0 -40
- package/dist/components/ColorSlider.vue.d.ts +0 -34
- package/dist/components/DropdownButton.vue.d.ts +0 -49
- package/dist/components/FileBrowserModal.vue.d.ts +0 -99
- package/dist/components/InstrumentAlertLog.vue.d.ts +0 -22
- package/dist/components/InstrumentStatusCard.vue.d.ts +0 -13
- package/dist/components/LcmsSequenceTable.vue.d.ts +0 -54
- package/dist/components/PlateMapEditor.vue.d.ts +0 -50
- package/dist/components/RackEditor.vue.d.ts +0 -78
- package/dist/components/fileBrowserPresentation.d.ts +0 -10
- package/dist/components/internal/FileBrowserDialogInternal.vue.d.ts +0 -34
- package/dist/components/internal/FileBrowserListingInternal.vue.d.ts +0 -25
- package/dist/components/internal/FileBrowserToolbarInternal.vue.d.ts +0 -26
- package/dist/components/internal/PlateMapEditorToolbarInternal.vue.d.ts +0 -28
- package/dist/components-Bbg_gtzF.js.map +0 -1
- package/dist/composables/useAsync.d.ts +0 -132
- package/dist/composables/useAuth.d.ts +0 -47
- package/dist/composables/useCommandHistory.d.ts +0 -33
- package/dist/composables/useOptimisticMutation.d.ts +0 -32
- package/dist/composables/usePasskey.d.ts +0 -10
- package/dist/composables/usePluginConfig.d.ts +0 -27
- package/dist/composables/useResourceCrud.d.ts +0 -44
- package/dist/composables/useWellPainting.d.ts +0 -39
- package/dist/composables/useWellPlateAdapter.d.ts +0 -40
- package/dist/composables/useWellPlateEditor.d.ts +0 -33
- package/dist/composables/useWellPlateValidation.d.ts +0 -31
- package/dist/composables-BCbYb2lA.js +0 -2356
- package/dist/composables-BCbYb2lA.js.map +0 -1
- package/dist/errors-BLuqMee5.js.map +0 -1
- package/dist/experiment-CVDRAnqp.js +0 -90
- package/dist/experiment-CVDRAnqp.js.map +0 -1
- package/dist/experiment-utils-CV2Wza3z.js.map +0 -1
- package/dist/plotly.min-c2Sez60c.js +0 -180634
- package/dist/plotly.min-c2Sez60c.js.map +0 -1
- package/dist/templates-NuaNHohp.js +0 -5260
- package/dist/templates-NuaNHohp.js.map +0 -1
- package/dist/useControlSchema-vLiRPUmj.js +0 -7301
- package/dist/useControlSchema-vLiRPUmj.js.map +0 -1
- package/dist/useDropdownState-C7hRiVQf.js +0 -63
- package/dist/useDropdownState-C7hRiVQf.js.map +0 -1
- package/dist/useExperimentSelector-G_CAOFTX.js +0 -328
- package/dist/useExperimentSelector-G_CAOFTX.js.map +0 -1
- package/dist/useFormBuilder-D37ajgS8.js +0 -729
- package/dist/useFormBuilder-D37ajgS8.js.map +0 -1
- package/dist/validation-ChMyixAf.js.map +0 -1
- package/src/__tests__/components/AppPluginSwitcher.test.ts +0 -44
- package/src/__tests__/components/DropdownButton.test.ts +0 -628
- package/src/__tests__/components/FileBrowserModal.test.ts +0 -460
- package/src/__tests__/components/InstrumentAlertLog.test.ts +0 -59
- package/src/__tests__/components/LcmsSequenceTable.test.ts +0 -79
- package/src/__tests__/components/PlateMapEditorToolbarInternal.test.ts +0 -54
- package/src/__tests__/components/RackEditor.test.ts +0 -169
- package/src/__tests__/composables/useAuth.test.ts +0 -233
- package/src/__tests__/composables/useCommandHistory.test.ts +0 -43
- package/src/__tests__/composables/useOptimisticMutation.test.ts +0 -40
- package/src/__tests__/composables/usePluginConfig.test.ts +0 -497
- package/src/__tests__/composables/useResourceCrud.test.ts +0 -56
- package/src/__tests__/composables/useWellPainting.test.ts +0 -52
- package/src/__tests__/composables/useWellPlateAdapter.test.ts +0 -50
- package/src/__tests__/composables/useWellPlateValidation.test.ts +0 -42
- package/src/components/AppPluginSwitcher.story.vue +0 -87
- package/src/components/AppPluginSwitcher.vue +0 -134
- package/src/components/ColorSlider.story.vue +0 -120
- package/src/components/ColorSlider.vue +0 -160
- package/src/components/DropdownButton.story.vue +0 -102
- package/src/components/DropdownButton.vue +0 -181
- package/src/components/FileBrowserModal.story.vue +0 -203
- package/src/components/FileBrowserModal.vue +0 -384
- package/src/components/InstrumentAlertLog.vue +0 -187
- package/src/components/InstrumentStatusCard.vue +0 -184
- package/src/components/LcmsSequenceTable.vue +0 -222
- package/src/components/PlateMapEditor.story.vue +0 -92
- package/src/components/PlateMapEditor.vue +0 -423
- package/src/components/RackEditor.story.vue +0 -100
- package/src/components/RackEditor.vue +0 -429
- package/src/components/fileBrowserPresentation.ts +0 -39
- package/src/components/internal/FileBrowserDialogInternal.vue +0 -75
- package/src/components/internal/FileBrowserListingInternal.vue +0 -197
- package/src/components/internal/FileBrowserToolbarInternal.vue +0 -136
- package/src/components/internal/FilePickerTreeInternal.vue +0 -238
- package/src/components/internal/PlateMapEditorToolbarInternal.vue +0 -128
- package/src/composables/useAsync.ts +0 -327
- package/src/composables/useAuth.ts +0 -458
- package/src/composables/useCommandHistory.ts +0 -117
- package/src/composables/useOptimisticMutation.ts +0 -97
- package/src/composables/usePasskey.ts +0 -216
- package/src/composables/usePluginConfig.ts +0 -252
- package/src/composables/useResourceCrud.ts +0 -235
- package/src/composables/useWellPainting.ts +0 -167
- package/src/composables/useWellPlateAdapter.ts +0 -151
- package/src/composables/useWellPlateEditor.ts +0 -415
- package/src/composables/useWellPlateValidation.ts +0 -89
- package/src/plotly-dist.d.ts +0 -3
- package/src/styles/components/app-plugin-switcher.css +0 -196
- package/src/styles/components/color-slider.css +0 -110
- package/src/styles/components/dropdown-button.css +0 -280
- package/src/styles/components/file-browser-modal.css +0 -489
- package/src/styles/components/lcms-sequence-table.css +0 -204
- package/src/styles/components/plate-map-editor.css +0 -464
- package/src/styles/components/rack-editor.css +0 -287
- /package/dist/__tests__/components/{AppPluginSwitcher.test.d.ts → AlertBox.test.d.ts} +0 -0
- /package/dist/__tests__/components/{DropdownButton.test.d.ts → AuditTrail.test.d.ts} +0 -0
- /package/dist/__tests__/components/{FileBrowserModal.test.d.ts → BaseCheckbox.test.d.ts} +0 -0
- /package/dist/__tests__/components/{InstrumentAlertLog.test.d.ts → BaseSlider.test.d.ts} +0 -0
- /package/dist/__tests__/components/{LcmsSequenceTable.test.d.ts → DoseCalculator.test.d.ts} +0 -0
- /package/dist/__tests__/components/{PlateMapEditorToolbarInternal.test.d.ts → FileUploader.test.d.ts} +0 -0
- /package/dist/__tests__/components/{RackEditor.test.d.ts → FitPanel.test.d.ts} +0 -0
- /package/dist/__tests__/{composables/useAuth.test.d.ts → components/FormulaInput.test.d.ts} +0 -0
- /package/dist/__tests__/{composables/useCommandHistory.test.d.ts → components/InstrumentStateBadge.test.d.ts} +0 -0
- /package/dist/__tests__/{composables/useOptimisticMutation.test.d.ts → components/MoleculeInput.test.d.ts} +0 -0
- /package/dist/__tests__/{composables/useResourceCrud.test.d.ts → components/PlateEditor.test.d.ts} +0 -0
- /package/dist/__tests__/{composables/useWellPainting.test.d.ts → components/PlateEditorBindingInternal.test.d.ts} +0 -0
- /package/dist/__tests__/{composables/useWellPlateAdapter.test.d.ts → components/ResourcePickerListInternal.test.d.ts} +0 -0
- /package/dist/__tests__/{composables/useWellPlateValidation.test.d.ts → components/SampleLegend.test.d.ts} +0 -0
package/dist/types/auth.d.ts
CHANGED
|
@@ -16,30 +16,3 @@ export interface UserInfo {
|
|
|
16
16
|
roleObj?: RoleInfo | null;
|
|
17
17
|
isActive: boolean;
|
|
18
18
|
}
|
|
19
|
-
export interface LoginResponse {
|
|
20
|
-
access_token: string;
|
|
21
|
-
token_type: string;
|
|
22
|
-
expires_in: number;
|
|
23
|
-
}
|
|
24
|
-
export interface TokenVerifyResponse {
|
|
25
|
-
valid: boolean;
|
|
26
|
-
username: string | null;
|
|
27
|
-
expires_at: string | null;
|
|
28
|
-
}
|
|
29
|
-
export interface RegisterRequest {
|
|
30
|
-
username: string;
|
|
31
|
-
password: string;
|
|
32
|
-
email?: string;
|
|
33
|
-
shortname?: string;
|
|
34
|
-
}
|
|
35
|
-
export interface UpdateProfileRequest {
|
|
36
|
-
email?: string;
|
|
37
|
-
shortname?: string;
|
|
38
|
-
current_password?: string;
|
|
39
|
-
new_password?: string;
|
|
40
|
-
}
|
|
41
|
-
export interface CredentialInfo {
|
|
42
|
-
credential_id: string;
|
|
43
|
-
device_name: string | null;
|
|
44
|
-
created_at: string;
|
|
45
|
-
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type WellPlateFormat = 6 | 12 | 24 | 48 | 54 | 96 | 384;
|
|
2
2
|
export type WellState = 'empty' | 'filled' | 'selected' | 'disabled';
|
|
3
3
|
export type WellPlateSelectionMode = 'none' | 'single' | 'multiple' | 'rectangle' | 'drag';
|
|
4
|
-
export type WellPlateSize = 'sm' | 'md' | 'lg' | 'xl' | 'fill';
|
|
4
|
+
export type WellPlateSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'fill';
|
|
5
5
|
export type WellShape = 'circle' | 'rounded';
|
|
6
6
|
export interface Well {
|
|
7
7
|
id: string;
|
|
@@ -9,6 +9,8 @@ export interface Well {
|
|
|
9
9
|
col: number;
|
|
10
10
|
state: WellState;
|
|
11
11
|
sampleType?: string;
|
|
12
|
+
/** Group id (PlateEditor `groups`); colors the well, while `sampleType` sets its marker shape. */
|
|
13
|
+
group?: string;
|
|
12
14
|
value?: number;
|
|
13
15
|
metadata?: Record<string, unknown>;
|
|
14
16
|
}
|
|
@@ -81,13 +83,13 @@ export interface Rack {
|
|
|
81
83
|
injectionVolume: number;
|
|
82
84
|
wells: Record<string, Partial<Well>>;
|
|
83
85
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
/** PlateEditor `clearConfirm`: text and variant of the Clear confirmation; unset fields keep the defaults. */
|
|
87
|
+
export interface PlateEditorClearConfirm {
|
|
88
|
+
title?: string;
|
|
89
|
+
message?: string;
|
|
90
|
+
confirmLabel?: string;
|
|
91
|
+
variant?: 'danger' | 'warning' | 'info';
|
|
89
92
|
}
|
|
90
|
-
export type RackSampleDropMapper = (data: WellSampleDropData, context: RackSampleDropContext) => WellEditData | null | undefined;
|
|
91
93
|
export interface SampleType {
|
|
92
94
|
id: string;
|
|
93
95
|
name: string;
|
|
@@ -119,6 +121,11 @@ export interface ProtocolStep {
|
|
|
119
121
|
status: ProtocolStepStatus;
|
|
120
122
|
parameters?: Record<string, unknown>;
|
|
121
123
|
order: number;
|
|
124
|
+
/**
|
|
125
|
+
* Percent complete, 0–100. ExperimentTimeline shows it as a 2px bar and a
|
|
126
|
+
* mono percent on the `in_progress` step only; out-of-range values clamp.
|
|
127
|
+
*/
|
|
128
|
+
progress?: number;
|
|
122
129
|
}
|
|
123
130
|
export interface SampleGroup {
|
|
124
131
|
name: string;
|
|
@@ -42,6 +42,12 @@ export interface BatchSummary {
|
|
|
42
42
|
percent: number;
|
|
43
43
|
}
|
|
44
44
|
export type TimePickerFormat = '12h' | '24h';
|
|
45
|
+
/**
|
|
46
|
+
* Marks a time slot ("HH:mm") unavailable. Return `false`/nothing for an
|
|
47
|
+
* available slot, `true` to disable it, or a string to disable it and show
|
|
48
|
+
* that string inline as the reason (e.g. "Booked · HPLC-02").
|
|
49
|
+
*/
|
|
50
|
+
export type TimeSlotDisabledFn = (time: string) => boolean | string | null | undefined;
|
|
45
51
|
export interface TimeRange {
|
|
46
52
|
start: string;
|
|
47
53
|
end: string;
|
|
@@ -146,5 +152,25 @@ export type FitState = 'idle' | 'running' | 'completed' | 'error';
|
|
|
146
152
|
export interface FitResultSummary {
|
|
147
153
|
label: string;
|
|
148
154
|
value: string | number;
|
|
155
|
+
/** Icon of a verdict row: success = check, warning = triangle, error = filled circle. Values are never colored. */
|
|
149
156
|
variant?: 'default' | 'success' | 'warning' | 'error';
|
|
157
|
+
/** Show the result as a verdict (icon + "label value") below the parameter table instead of as a table row. */
|
|
158
|
+
verdict?: boolean;
|
|
159
|
+
/** Unit shown in mono after the parameter name, never transformed (e.g. `'nM'`). */
|
|
160
|
+
unit?: string;
|
|
161
|
+
/** Preformatted 95% confidence interval (e.g. `'512 – 778'`). The CI column shows when any row has one. */
|
|
162
|
+
ci?: string;
|
|
163
|
+
}
|
|
164
|
+
/** One fitted series in a multi-series FitPanel. */
|
|
165
|
+
export interface FitSeries {
|
|
166
|
+
label: string;
|
|
167
|
+
/** Group color token, `var(--mint-sample-1)` … `var(--mint-sample-8)`. Defaults to the series' position in that palette. */
|
|
168
|
+
color?: string;
|
|
169
|
+
results: FitResultSummary[];
|
|
170
|
+
}
|
|
171
|
+
/** Header labels of the FitPanel parameter table. */
|
|
172
|
+
export interface FitColumnLabels {
|
|
173
|
+
parameter?: string;
|
|
174
|
+
value?: string;
|
|
175
|
+
ci?: string;
|
|
150
176
|
}
|
|
@@ -7,6 +7,8 @@ interface ActionMenuItemBase {
|
|
|
7
7
|
label: string;
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
danger?: boolean;
|
|
10
|
+
/** Set on every item to make the menu a single choice (`menuitemradio`); true marks the current one. */
|
|
11
|
+
checked?: boolean;
|
|
10
12
|
}
|
|
11
13
|
export type ActionMenuItem = (ActionMenuItemBase & {
|
|
12
14
|
href?: never;
|
|
@@ -14,6 +16,8 @@ export type ActionMenuItem = (ActionMenuItemBase & {
|
|
|
14
16
|
}) | (ActionMenuItemBase & {
|
|
15
17
|
href: string;
|
|
16
18
|
target?: '_self' | '_blank' | '_parent' | '_top';
|
|
19
|
+
/** Links navigate; only buttons can be single-choice items. */
|
|
20
|
+
checked?: never;
|
|
17
21
|
});
|
|
18
22
|
export type InputType = 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url';
|
|
19
23
|
export type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
@@ -33,6 +37,12 @@ export interface ModalTab {
|
|
|
33
37
|
icon?: string | string[];
|
|
34
38
|
/** Rail only — second line under the label; also shown as the pane subtitle. */
|
|
35
39
|
description?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Rail only — heading of the section this tab belongs to. A heading (and a
|
|
42
|
+
* divider after the first section) renders wherever the section changes, so
|
|
43
|
+
* keep tabs of one section adjacent.
|
|
44
|
+
*/
|
|
45
|
+
section?: string;
|
|
36
46
|
disabled?: boolean;
|
|
37
47
|
}
|
|
38
48
|
export type AlertType = 'success' | 'error' | 'warning' | 'info';
|
|
@@ -140,6 +150,8 @@ export interface TopBarSettingsConfig {
|
|
|
140
150
|
title?: string;
|
|
141
151
|
tabs?: SettingsTabInput[];
|
|
142
152
|
showAppearance?: boolean;
|
|
153
|
+
/** List Appearance before the other tabs and open on it. */
|
|
154
|
+
appearanceFirst?: boolean;
|
|
143
155
|
size?: 'md' | 'lg' | 'xl';
|
|
144
156
|
layout?: SettingsModalLayout;
|
|
145
157
|
/** Schema-driven config — when set, fields auto-render via SDK form components. */
|
|
@@ -164,6 +176,8 @@ export interface PillNavItem {
|
|
|
164
176
|
to?: string;
|
|
165
177
|
href?: string;
|
|
166
178
|
disabled?: boolean;
|
|
179
|
+
/** Shows a small error-colored dot after the label (e.g. an unacknowledged critical alert). */
|
|
180
|
+
dot?: boolean;
|
|
167
181
|
children?: PillNavOption[];
|
|
168
182
|
}
|
|
169
183
|
export type PillNavItemInput = (Omit<PillNavItem, 'children'> & {
|
|
@@ -179,20 +193,6 @@ export interface PageSelectorItem {
|
|
|
179
193
|
disabled?: boolean;
|
|
180
194
|
}
|
|
181
195
|
export type PageSelectorItemInput = PageSelectorItem | string;
|
|
182
|
-
export interface PluginSwitcherPlugin {
|
|
183
|
-
id: string;
|
|
184
|
-
label: string;
|
|
185
|
-
color?: string;
|
|
186
|
-
version?: string;
|
|
187
|
-
to?: string;
|
|
188
|
-
href?: string;
|
|
189
|
-
}
|
|
190
|
-
export interface PluginSwitcherInfo {
|
|
191
|
-
current: PluginSwitcherPlugin;
|
|
192
|
-
plugins?: PluginSwitcherPlugin[];
|
|
193
|
-
installHref?: string;
|
|
194
|
-
installTo?: string;
|
|
195
|
-
}
|
|
196
196
|
export interface AccountMenuItem {
|
|
197
197
|
id: string;
|
|
198
198
|
label: string;
|
|
@@ -203,14 +203,24 @@ export interface AccountMenuItem {
|
|
|
203
203
|
danger?: boolean;
|
|
204
204
|
divider?: boolean;
|
|
205
205
|
}
|
|
206
|
-
export type { WellPlateFormat, WellState, WellPlateSelectionMode, WellPlateSize, WellShape, Well, WellClassValue, WellClassResolver, WellStyleResolver, HeatmapColorScale, HeatmapConfig, SlotPosition, WellExtendedData, WellEditData, WellEditField, WellSampleDropData, WellSampleDropContext, WellSampleDropParser, WellLegendItem, PlateCondition, ColumnCondition, RowCondition, Rack,
|
|
206
|
+
export type { WellPlateFormat, WellState, WellPlateSelectionMode, WellPlateSize, WellShape, Well, WellClassValue, WellClassResolver, WellStyleResolver, HeatmapColorScale, HeatmapConfig, SlotPosition, WellExtendedData, WellEditData, WellEditField, WellSampleDropData, WellSampleDropContext, WellSampleDropParser, WellLegendItem, PlateCondition, ColumnCondition, RowCondition, Rack, PlateEditorClearConfirm, SampleType, PlateMap, PlateMapEditorState, ProtocolStepType, ProtocolStepStatus, ProtocolStep, SampleGroup, GroupItem, FileUploaderMode, MoleculeData, StorageCondition, ReagentColumn, Reagent, TreeNodeType, BadgeVariant, TreeNode, } from './componentLabTypes';
|
|
207
207
|
export interface SegmentedOption {
|
|
208
208
|
value: string | number;
|
|
209
209
|
label: string;
|
|
210
210
|
description?: string;
|
|
211
211
|
disabled?: boolean;
|
|
212
|
+
/** Color token for a swatch before the label, e.g. a group color `var(--mint-sample-2)`. */
|
|
213
|
+
color?: string;
|
|
212
214
|
}
|
|
213
215
|
export type SegmentedOptionInput = SegmentedOption | OptionPrimitive;
|
|
216
|
+
/** One series in the ChartContainer header legend. */
|
|
217
|
+
export interface ChartLegendItem {
|
|
218
|
+
label: string;
|
|
219
|
+
/** Swatch color, e.g. a group token `var(--mint-sample-1)` or a resolved color. */
|
|
220
|
+
color: string;
|
|
221
|
+
/** Series is toggled off (rendered dimmed, `aria-pressed="false"`). */
|
|
222
|
+
hidden?: boolean;
|
|
223
|
+
}
|
|
214
224
|
export type SegmentedControlVariant = 'simple' | 'card';
|
|
215
225
|
export type SegmentedControlSize = 'sm' | 'md' | 'lg';
|
|
216
226
|
export interface MultiSelectOption {
|
|
@@ -287,6 +297,18 @@ export interface DataFrameColumn<T = Record<string, unknown>> {
|
|
|
287
297
|
ellipsis?: boolean;
|
|
288
298
|
/** Custom formatter for cell values */
|
|
289
299
|
formatter?: (value: unknown, row: T, index: number) => string;
|
|
300
|
+
/**
|
|
301
|
+
* Unit shown after the header label in its own mono element, never case-transformed
|
|
302
|
+
* (`'µM'`, `'mL'`, `'m/z'`). Keep it out of `label`.
|
|
303
|
+
*/
|
|
304
|
+
unit?: string;
|
|
305
|
+
/**
|
|
306
|
+
* `'number'` renders cells right-aligned in mono with tabular figures (an explicit
|
|
307
|
+
* `align` still wins). Default `'text'`.
|
|
308
|
+
*/
|
|
309
|
+
type?: 'text' | 'number';
|
|
310
|
+
/** Decimal places for numeric cell values (`toFixed`). Ignored when `formatter` is set. */
|
|
311
|
+
precision?: number;
|
|
290
312
|
}
|
|
291
313
|
/** Pagination state for table data */
|
|
292
314
|
export interface PaginationState {
|
|
@@ -301,7 +323,6 @@ export type SpinnerSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
|
301
323
|
export type SpinnerVariant = 'primary' | 'cta' | 'muted';
|
|
302
324
|
export type DividerSpacing = 'sm' | 'md' | 'lg';
|
|
303
325
|
export type StatusType = 'success' | 'warning' | 'error' | 'info' | 'muted';
|
|
304
|
-
export type ProgressVariant = 'rail' | 'segmented';
|
|
305
326
|
export type ProgressColor = 'primary' | 'success' | 'warning' | 'error' | 'info';
|
|
306
327
|
export type ProgressSize = 'sm' | 'md' | 'lg';
|
|
307
328
|
export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
@@ -327,6 +348,8 @@ export interface SettingsTab extends AccessControlled {
|
|
|
327
348
|
description?: string;
|
|
328
349
|
/** Optional monospace meta shown right of the tab label — a count, "2 unsaved", etc. */
|
|
329
350
|
meta?: string;
|
|
351
|
+
/** Rail section heading for this tab when Appearance is shown; defaults to "Plugin". */
|
|
352
|
+
section?: string;
|
|
330
353
|
}
|
|
331
354
|
export type SettingsTabInput = SettingsTab | string;
|
|
332
355
|
export type SettingsModalLayout = 'horizontal' | 'vertical';
|
|
@@ -358,4 +381,4 @@ export interface SettingsModalSchema {
|
|
|
358
381
|
export type SettingsUserType = Exclude<AccessAudience, 'all'>;
|
|
359
382
|
export type SettingsAudience = AccessAudience;
|
|
360
383
|
export type SettingsAudienceInput = AccessAudienceInput;
|
|
361
|
-
export type { NumberNotation, UnitOption, WizardStep, WizardStepState, AuditEntryType, AuditEntry, BatchItemStatus, BatchItem, BatchSummary, TimePickerFormat, TimeRange, ScheduleView, ScheduleEventStatus, ScheduleEvent, ScheduleBlockedSlot, ScheduleSlotContext, ScheduleEventCreateContext, ScheduleEventUpdateContext, SummarySectionItem, SummarySection, SummaryData, ResourceStatus, ResourceSpec, ExperimentStatus, DatePreset, ExperimentSortField, ExperimentTypeOption, ExperimentSummary, ExperimentListResponse, ExperimentFilters, FitState, FitResultSummary, } from './componentWorkflowTypes';
|
|
384
|
+
export type { NumberNotation, UnitOption, WizardStep, WizardStepState, AuditEntryType, AuditEntry, BatchItemStatus, BatchItem, BatchSummary, TimePickerFormat, TimeSlotDisabledFn, TimeRange, ScheduleView, ScheduleEventStatus, ScheduleEvent, ScheduleBlockedSlot, ScheduleSlotContext, ScheduleEventCreateContext, ScheduleEventUpdateContext, SummarySectionItem, SummarySection, SummaryData, ResourceStatus, ResourceSpec, ExperimentStatus, DatePreset, ExperimentSortField, ExperimentTypeOption, ExperimentSummary, ExperimentListResponse, ExperimentFilters, FitState, FitResultSummary, FitSeries, FitColumnLabels, } from './componentWorkflowTypes';
|
|
@@ -75,3 +75,16 @@ export interface FileBrowserLocation {
|
|
|
75
75
|
mount_id: string;
|
|
76
76
|
path: string;
|
|
77
77
|
}
|
|
78
|
+
/** Several directory levels in one response, parents before children. */
|
|
79
|
+
export interface FileDirectoryTree {
|
|
80
|
+
listings?: FileDirectoryListing[];
|
|
81
|
+
/** True when the server's entry budget stopped before the requested depth. */
|
|
82
|
+
truncated?: boolean;
|
|
83
|
+
}
|
|
84
|
+
/** Entries whose name contains a query, below one directory. */
|
|
85
|
+
export interface FileSearchResult {
|
|
86
|
+
entries?: FileEntry[];
|
|
87
|
+
searched_directories?: number;
|
|
88
|
+
/** True when a directory, result or time budget ended the search early. */
|
|
89
|
+
truncated?: boolean;
|
|
90
|
+
}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
/** Sources are supplied by the host; the SDK never infers a host filesystem path. */
|
|
2
2
|
export type PickerSource = 'server' | 'localFile';
|
|
3
3
|
export type PickerSelectionMode = 'single-file' | 'multi-file' | 'folder' | 'folder+files';
|
|
4
|
+
/** `list` shows one folder at a time (the default); `tree` adds disclosure triangles. */
|
|
5
|
+
export type PickerView = 'list' | 'tree';
|
|
6
|
+
/** Row order inside each folder; folders always come before files. */
|
|
7
|
+
export type PickerSort = 'newest' | 'oldest' | 'name' | 'name-desc';
|
|
4
8
|
interface PickerNodeBase {
|
|
5
9
|
path: string;
|
|
6
10
|
name: string;
|
|
7
11
|
parentPath?: string | null;
|
|
8
12
|
parentName?: string;
|
|
9
13
|
bytes?: number | null;
|
|
14
|
+
/** ISO timestamp of the last change, shown in the list and the preview. */
|
|
15
|
+
modifiedAt?: string | null;
|
|
10
16
|
/** An explicit adapter failure makes a row inert, including its disclosure. */
|
|
11
17
|
unavailableReason?: string;
|
|
12
18
|
}
|
|
@@ -34,7 +40,19 @@ export interface PickerRequest {
|
|
|
34
40
|
*/
|
|
35
41
|
refresh?: true;
|
|
36
42
|
}
|
|
43
|
+
/** What a search found before a server or walk limit stopped it. */
|
|
44
|
+
export interface PickerSearchResult {
|
|
45
|
+
nodes: PickerNode[];
|
|
46
|
+
truncated: boolean;
|
|
47
|
+
}
|
|
37
48
|
export interface PickerAdapter {
|
|
49
|
+
/**
|
|
50
|
+
* `listRoot()` returns mount points. FilePicker then shows them as header
|
|
51
|
+
* sources and opens the first reachable one instead of listing the root.
|
|
52
|
+
*/
|
|
53
|
+
mounts?: boolean;
|
|
54
|
+
/** The path of the mount holding `path`, so an initial folder inside a mount can name it. */
|
|
55
|
+
mountOf?(path: string): string | undefined;
|
|
38
56
|
/** Discard cached and pending results on close, source changes, or refresh. */
|
|
39
57
|
invalidate?(): void;
|
|
40
58
|
listRoot(request?: PickerRequest): Promise<PickerNode[]>;
|
|
@@ -42,7 +60,7 @@ export interface PickerAdapter {
|
|
|
42
60
|
search(query: string, scope: {
|
|
43
61
|
path: string;
|
|
44
62
|
recursive: boolean;
|
|
45
|
-
}, request?: PickerRequest): Promise<PickerNode[]>;
|
|
63
|
+
}, request?: PickerRequest): Promise<PickerNode[] | PickerSearchResult>;
|
|
46
64
|
}
|
|
47
65
|
export interface PickerCapability {
|
|
48
66
|
/** Case-insensitive suffixes, including compound extensions such as mzML.gz. */
|
|
@@ -41,6 +41,19 @@ export interface PluginJobPathInput {
|
|
|
41
41
|
rootName?: string;
|
|
42
42
|
signal?: AbortSignal;
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* An existing file-backed analysis artifact chosen for a `Path` field. Only
|
|
46
|
+
* the database ids reach the plugin; it resolves, re-authorizes, and copies
|
|
47
|
+
* the file into job staging when the job is submitted.
|
|
48
|
+
*/
|
|
49
|
+
export interface PluginJobArtifactPathInput {
|
|
50
|
+
kind: 'artifact-path';
|
|
51
|
+
experimentId: number;
|
|
52
|
+
artifactId: number;
|
|
53
|
+
name: string;
|
|
54
|
+
signal?: AbortSignal;
|
|
55
|
+
}
|
|
56
|
+
export type PluginJobPathSelection = PluginJobPathInput | PluginJobArtifactPathInput;
|
|
44
57
|
export interface PluginJobPathUpload {
|
|
45
58
|
token: string;
|
|
46
59
|
kind: 'file' | 'directory';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export type { ContainerDirection, ButtonVariant, ButtonSize, ActionMenuItem, InputType, ModalSize, ModalVariant, ModalLayout, ModalTab, AlertType, Toast, ToastAction, ToastOptions, TabItem, TabItemInput, OptionPrimitive, SelectOption, SelectOptionInput, RadioOption, RadioOptionInput, FormFieldProps, SectionCardAccent, SectionCardDivider, SidebarBadgeTone, SidebarToolSection, SidebarToolSectionAction, CollapsibleState, TopBarVariant, TopBarSettingsConfig, PillNavOption, PillNavOptionInput, PillNavItem, PillNavItemInput, PageSelectorItem, PageSelectorItemInput,
|
|
1
|
+
export type { ContainerDirection, ButtonVariant, ButtonSize, ActionMenuItem, InputType, ModalSize, ModalVariant, ModalLayout, ModalTab, AlertType, Toast, ToastAction, ToastOptions, TabItem, TabItemInput, OptionPrimitive, SelectOption, SelectOptionInput, RadioOption, RadioOptionInput, FormFieldProps, SectionCardAccent, SectionCardDivider, SidebarBadgeTone, SidebarToolSection, SidebarToolSectionAction, CollapsibleState, TopBarVariant, TopBarSettingsConfig, PillNavOption, PillNavOptionInput, PillNavItem, PillNavItemInput, PageSelectorItem, PageSelectorItemInput, AccountMenuItem, WellPlateFormat, WellState, WellPlateSelectionMode, WellPlateSize, WellShape, Well, WellClassValue, WellClassResolver, WellStyleResolver, HeatmapColorScale, HeatmapConfig, SlotPosition, WellExtendedData, WellEditData, WellEditField, WellSampleDropData, WellSampleDropContext, WellSampleDropParser, WellLegendItem, PlateCondition, ColumnCondition, RowCondition, Rack, PlateEditorClearConfirm, SampleType, PlateMap, PlateMapEditorState, ProtocolStepType, ProtocolStepStatus, ProtocolStep, SampleGroup, GroupItem, FileUploaderMode, SegmentedOption, SegmentedOptionInput, ChartLegendItem, SegmentedControlVariant, SegmentedControlSize, MultiSelectOption, MultiSelectOptionInput, MultiSelectSize, PillVariant, PillColor, PillSize, CalendarSelectionMode, CalendarMarker, CalendarDayContext, SortDirection, SortState, DataFrameColumn, PaginationState, SpinnerSize, SpinnerVariant, DividerSpacing, StatusType, ProgressSize, AvatarSize, EmptyStateColor, EmptyStateSize, BreadcrumbItem, BreadcrumbItemInput, TooltipPosition, ConfirmVariant, SettingsTab, SettingsTabInput, SettingsModalLayout, SettingsGroup, SettingsModalSchema, SettingsUserType, SettingsAudience, SettingsAudienceInput, NumberNotation, UnitOption, WizardStep, WizardStepState, AuditEntryType, AuditEntry, BatchItemStatus, BatchItem, BatchSummary, TimePickerFormat, TimeSlotDisabledFn, TimeRange, ScheduleView, ScheduleEventStatus, ScheduleEvent, ScheduleBlockedSlot, ScheduleSlotContext, ScheduleEventCreateContext, ScheduleEventUpdateContext, SummarySectionItem, SummarySection, SummaryData, ResourceStatus, ResourceSpec, MoleculeData, ExperimentStatus, DatePreset, ExperimentSortField, ExperimentTypeOption, ExperimentSummary, ExperimentListResponse, ExperimentFilters, FitState, FitResultSummary, FitSeries, FitColumnLabels, StorageCondition, ReagentColumn, Reagent, TreeNodeType, BadgeVariant, TreeNode, } from './components';
|
|
2
2
|
export type * from './generated-ui';
|
|
3
3
|
export type { AnalysisArtifactStatus, AnalysisArtifactStatusFilter, AnalysisArtifactSummary, AnalysisArtifactDetail, AnalysisArtifactListResponse, AnalysisArtifactTarget, AnalysisArtifactMetadataUpdate, ArtifactSaveMode, ArtifactFileSource, JsonArtifactSavePayload, FileArtifactCreatePayload, FileArtifactUpdatePayload, HandlerFileArtifactCreatePayload, HandlerFileArtifactUpdatePayload, ArtifactSavePayload, HandlerArtifactSavePayload, ArtifactSaveDialogPayload, ArtifactSaveResult, ArtifactSaveHandler, HandlerArtifactSaveHandler, ArtifactSaveDialogHandler, } from './analysisArtifactTypes';
|
|
4
4
|
export { ANALYSIS_FILE_ARTIFACT_SCHEMA } from './analysisArtifactTypes';
|
|
5
|
-
export type { FileBrowserLocation, FileBrowserSortKey, FileDirectoryListing, FileEntry, FileEntryKind, FilePathCrumb, FileSelection, ServerMount, } from './fileBrowserTypes';
|
|
5
|
+
export type { FileBrowserLocation, FileBrowserSortKey, FileDirectoryListing, FileDirectoryTree, FileEntry, FileEntryKind, FilePathCrumb, FileSearchResult, FileSelection, ServerMount, } from './fileBrowserTypes';
|
|
6
6
|
export type { JobListPayload, JobProgress, JobSnapshotPayload, JobState, JobStateInput, JobStatus, JobStreamData, } from './jobs';
|
|
7
|
-
export type { InstrumentAlert,
|
|
7
|
+
export type { InstrumentAlert, InstrumentAlertLevel, InstrumentAlertList, InstrumentBadgeState, InstrumentLiveProgress, InstrumentLiveStatus, InstrumentState, InstrumentStatus, InstrumentStatusReporter, SampleInfo, SampleInfo as InstrumentSampleInfo, SequenceProgress, } from './instrument';
|
|
8
8
|
export type { LcmsContainerType, LcmsPolarity, LcmsSequenceItem, LcmsSequenceTableColumn, } from '../lcms';
|
|
9
9
|
export type { AccessAudience, AccessAudienceInput, AccessPolicy, AccessControlled, PermissionUser, RoleInfo, } from '../permissions';
|
|
10
10
|
export type { FormFieldType, FieldCondition, FieldValidation, FormFieldSchema, FormOptionInput, FormSectionSchema, FormStepSchema, FormSchema, FieldEnhancement, FormEnhancements, UseFormBuilderReturn, } from './form-builder';
|
|
11
11
|
export type { OutlierAction, InputMode, OutlierInfo, ColumnInfo, MetadataRow, AutoGroupResult, ParsedCsvData, } from './auto-group';
|
|
12
|
-
export type { AuthConfig, UserInfo,
|
|
12
|
+
export type { AuthConfig, UserInfo, } from './auth';
|
|
13
13
|
export type { PluginInfo, PluginNavItem, PluginSettings, PluginSettingField, PlatformContext, PlatformContextOptions, PlatformEventType, PlatformEvent, ThemeMode, ColorPalette, TableDensity, UserSummary, } from './platform';
|
|
14
14
|
export type * from './filePicker';
|
package/dist/types/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as ANALYSIS_FILE_ARTIFACT_SCHEMA } from "../analysisArtifactTypes-
|
|
1
|
+
import { t as ANALYSIS_FILE_ARTIFACT_SCHEMA } from "../analysisArtifactTypes-Cy3D0Ipg.js";
|
|
2
2
|
export { ANALYSIS_FILE_ARTIFACT_SCHEMA };
|
|
@@ -19,6 +19,7 @@ export interface SequenceProgress {
|
|
|
19
19
|
estimated_finish_time?: string | Date | null;
|
|
20
20
|
sample_durations?: readonly number[];
|
|
21
21
|
}
|
|
22
|
+
/** @deprecated Scheduled for removal in MINT 1.4; instrument monitor types move to the mld-ms plugins. */
|
|
22
23
|
export interface InstrumentStatus {
|
|
23
24
|
instrument_id: string;
|
|
24
25
|
instrument_name?: string | null;
|
|
@@ -35,23 +36,50 @@ export interface InstrumentStatus {
|
|
|
35
36
|
current_raw_file?: string | null;
|
|
36
37
|
method_elapsed_pct?: number | null;
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
/** A state the platform derives for an instrument: its reported state, `never` (no report yet) or `inactive`. */
|
|
40
|
+
export type InstrumentBadgeState = InstrumentState | 'never' | 'inactive';
|
|
41
|
+
/** Sequence progress in a live status report; `sample_durations` covers the current sequence only. */
|
|
42
|
+
export type InstrumentLiveProgress = SequenceProgress & {
|
|
43
|
+
elapsed_seconds: number;
|
|
44
|
+
sample_durations: number[];
|
|
45
|
+
};
|
|
46
|
+
/** The plugin that reported a live status, resolved from the plugin registry at read time. */
|
|
47
|
+
export interface InstrumentStatusReporter {
|
|
48
|
+
name: string;
|
|
49
|
+
display_name: string;
|
|
50
|
+
route_prefix: string;
|
|
51
|
+
serves_instrument_alerts: boolean;
|
|
44
52
|
}
|
|
53
|
+
/** Latest live snapshot the platform holds for one instrument (`InstrumentRecord.live_status`). */
|
|
54
|
+
export interface InstrumentLiveStatus {
|
|
55
|
+
instrument_id: string;
|
|
56
|
+
/** `disconnected` once `last_seen` is older than 60 s. */
|
|
57
|
+
state: InstrumentState;
|
|
58
|
+
active_method?: string | null;
|
|
59
|
+
current_sample?: SampleInfo | null;
|
|
60
|
+
sequence_progress?: InstrumentLiveProgress | null;
|
|
61
|
+
has_unacknowledged_alerts: boolean;
|
|
62
|
+
has_unacknowledged_critical: boolean;
|
|
63
|
+
/** Server receive time of the latest report (ISO 8601). */
|
|
64
|
+
last_seen: string;
|
|
65
|
+
/** When the state last changed (ISO 8601). */
|
|
66
|
+
state_since: string;
|
|
67
|
+
reported_by: string;
|
|
68
|
+
/** Null when the reporting plugin is not loaded. */
|
|
69
|
+
reporter: InstrumentStatusReporter | null;
|
|
70
|
+
}
|
|
71
|
+
/** An alert served by the reporting plugin at `{route_prefix}/api/instruments/{id}/alerts`. */
|
|
45
72
|
export interface InstrumentAlert {
|
|
46
|
-
id
|
|
47
|
-
event_key: string;
|
|
73
|
+
id: string;
|
|
48
74
|
instrument_id: string;
|
|
49
|
-
instrument_name?: string | null;
|
|
50
75
|
level: InstrumentAlertLevel;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
76
|
+
message: string;
|
|
77
|
+
timestamp: string;
|
|
78
|
+
acknowledged: boolean;
|
|
79
|
+
acknowledged_by?: string | null;
|
|
80
|
+
acknowledged_at?: string | null;
|
|
81
|
+
}
|
|
82
|
+
export interface InstrumentAlertList {
|
|
83
|
+
alerts: InstrumentAlert[];
|
|
84
|
+
total: number;
|
|
57
85
|
}
|
package/dist/types/platform.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { RoleInfo } from '../permissions';
|
|
|
2
2
|
export interface PluginInfo {
|
|
3
3
|
id: string;
|
|
4
4
|
name: string;
|
|
5
|
+
/** Name to show in the UI; the platform falls back to the plugin ID. Absent before MINT 1.3. */
|
|
6
|
+
display_name?: string;
|
|
5
7
|
version: string;
|
|
6
8
|
plugin_type?: string;
|
|
7
9
|
description?: string;
|
package/dist/utils/color.d.ts
CHANGED
|
@@ -5,7 +5,12 @@ import { SlotPosition } from '../types/componentLabTypes';
|
|
|
5
5
|
*/
|
|
6
6
|
export declare const SAMPLE_COLOR_SCALE: readonly string[];
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Group palette as CSS tokens (3a): groups always take `--mint-sample-1` …
|
|
9
|
+
* `--mint-sample-8`; the 9th (gray) stays out of the group cycle.
|
|
10
|
+
*/
|
|
11
|
+
export declare const SAMPLE_GROUP_TOKENS: readonly string[];
|
|
12
|
+
/**
|
|
13
|
+
* Slot-position colors (R/G/B/Y rack positions).
|
|
9
14
|
* Mirrors `--mint-slot-r`, `--mint-slot-g`, `--mint-slot-b`, `--mint-slot-y`.
|
|
10
15
|
*/
|
|
11
16
|
export declare const SLOT_COLORS: Record<SlotPosition, string>;
|
|
@@ -3,3 +3,4 @@ export declare function recordValuesEqualForKeys(left: Record<string, unknown>,
|
|
|
3
3
|
export declare function pickRecordKeys(source: Record<string, unknown>, keys: readonly string[]): Record<string, unknown>;
|
|
4
4
|
export declare function pickExistingRecordKeys(source: Record<string, unknown>, keys: readonly string[]): Record<string, unknown>;
|
|
5
5
|
export declare function formSchemaFieldNames(schema: FormSchema): string[];
|
|
6
|
+
export declare function valuesEqual(left: unknown, right: unknown): boolean;
|
package/dist/utils/rack.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Rack, SlotPosition, WellEditData, WellPlateFormat } from '../types';
|
|
2
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
2
3
|
export type LcmsPlateType = '96well' | '54vial';
|
|
4
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
3
5
|
export type LcmsControlSampleType = 'blank' | 'qc' | 'iqc';
|
|
6
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
4
7
|
export interface LcmsPlateCell {
|
|
5
8
|
row: string;
|
|
6
9
|
column: number;
|
|
@@ -11,6 +14,7 @@ export interface LcmsPlateCell {
|
|
|
11
14
|
custom_method?: string | null;
|
|
12
15
|
slot?: SlotPosition | null;
|
|
13
16
|
}
|
|
17
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
14
18
|
export interface LcmsPlateCellsToRackOptions {
|
|
15
19
|
rackId?: string;
|
|
16
20
|
rackName?: string;
|
|
@@ -19,27 +23,39 @@ export interface LcmsPlateCellsToRackOptions {
|
|
|
19
23
|
slot?: SlotPosition;
|
|
20
24
|
injectionVolume?: number;
|
|
21
25
|
}
|
|
26
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
22
27
|
export interface LcmsPlateCellsToRacksOptions extends Omit<LcmsPlateCellsToRackOptions, 'rackId' | 'rackName' | 'slot'> {
|
|
23
28
|
defaultSlot?: SlotPosition;
|
|
24
29
|
rackId?: (slot: SlotPosition, index: number) => string;
|
|
25
30
|
rackName?: (slot: SlotPosition, index: number) => string;
|
|
26
31
|
}
|
|
32
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
27
33
|
export declare const LCMS_DEFAULT_CONTROL_POSITIONS: Record<LcmsPlateType, Record<LcmsControlSampleType, {
|
|
28
34
|
row: string;
|
|
29
35
|
column: number;
|
|
30
36
|
}>>;
|
|
37
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
31
38
|
export declare function lcmsPlateTypeToRackFormat(plateType: LcmsPlateType): WellPlateFormat;
|
|
39
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
32
40
|
export declare function rackFormatToLcmsPlateType(format: WellPlateFormat): LcmsPlateType;
|
|
41
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
33
42
|
export declare function lcmsWellId(row: string, column: number): string;
|
|
43
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
34
44
|
export declare function parseLcmsWellId(wellId: string): {
|
|
35
45
|
row: string;
|
|
36
46
|
column: number;
|
|
37
47
|
};
|
|
48
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
38
49
|
export declare function lcmsPlateCellsToRack(cells: LcmsPlateCell[], options?: LcmsPlateCellsToRackOptions): Rack;
|
|
50
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
39
51
|
export declare function lcmsPlateCellsToRacks(cells: LcmsPlateCell[], options?: LcmsPlateCellsToRacksOptions): Rack[];
|
|
52
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
40
53
|
export declare function rackToLcmsPlateCells(rack: Rack): LcmsPlateCell[];
|
|
54
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
41
55
|
export declare function racksToLcmsPlateCells(racks: Rack[]): LcmsPlateCell[];
|
|
56
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
42
57
|
export declare function getLcmsDefaultControlWellId(plateType: LcmsPlateType, sampleType: LcmsControlSampleType): string;
|
|
58
|
+
/** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
|
|
43
59
|
export declare function createLcmsControlWellEditData(sampleType: LcmsControlSampleType, options?: {
|
|
44
60
|
wellId?: string;
|
|
45
61
|
plateType?: LcmsPlateType;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sample-type marker (SDK control refresh 3a): color encodes the group, shape
|
|
3
|
+
* encodes the type.
|
|
4
|
+
*
|
|
5
|
+
* - sample: group fill (28% tint) + 1px group outline
|
|
6
|
+
* - blank: dashed hollow ring, no group color
|
|
7
|
+
* - qc: neutral solid ring + "Q"
|
|
8
|
+
* - iqc: group fill + "i"
|
|
9
|
+
*
|
|
10
|
+
* `groupColor` must be a group token, `var(--mint-sample-1)` … `var(--mint-sample-8)`.
|
|
11
|
+
* The caller owns geometry (size, radius, glyph font); this returns colors only.
|
|
12
|
+
*/
|
|
13
|
+
export type SampleMarkerType = 'sample' | 'blank' | 'qc' | 'iqc';
|
|
14
|
+
export interface SampleTypeMarker {
|
|
15
|
+
style: {
|
|
16
|
+
background: string;
|
|
17
|
+
border: string;
|
|
18
|
+
color: string;
|
|
19
|
+
};
|
|
20
|
+
glyph: 'Q' | 'i' | null;
|
|
21
|
+
}
|
|
22
|
+
/** `type` is matched case-insensitively; anything unrecognised renders as a sample. */
|
|
23
|
+
export declare function sampleTypeMarker(type: SampleMarkerType | (string & {}), groupColor: string): SampleTypeMarker;
|