@morscherlab/mint-sdk 1.1.25 → 1.2.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 +44 -12
- package/dist/{ExperimentPopover-tLwJ7XF4.js → ExperimentPopover-oL0fg_A0.js} +6 -4
- package/dist/ExperimentPopover-oL0fg_A0.js.map +1 -0
- package/dist/{ExperimentSelectorModal-B6P2msT4.js → ExperimentSelectorModal-BeEOomw_.js} +5 -5
- package/dist/ExperimentSelectorModal-BeEOomw_.js.map +1 -0
- package/dist/{SettingsModal-BW3Ar-uy.js → SettingsModal-Dphh3RrI.js} +5 -8
- package/dist/SettingsModal-Dphh3RrI.js.map +1 -0
- package/dist/{EmptyState-p90quq8Z.js → Skeleton-DxtwJ5gt.js} +111 -93
- package/dist/Skeleton-DxtwJ5gt.js.map +1 -0
- package/dist/__tests__/components/ExperimentTimeline.test.d.ts +1 -0
- package/dist/__tests__/components/PluginWorkspaceView.internal.test.d.ts +1 -0
- package/dist/__tests__/components/SecretInput.test.d.ts +1 -0
- package/dist/__tests__/components/WellEditPopupInternal.test.d.ts +1 -0
- package/dist/__tests__/composables/useEventStream.test.d.ts +1 -0
- package/dist/__tests__/composables/useListReorder.test.d.ts +1 -0
- package/dist/__tests__/styles/cssTokens.test.d.ts +1 -0
- package/dist/components/ActionMenu.vue.d.ts +1 -1
- package/dist/components/AppAvatarMenu.vue.d.ts +4 -0
- package/dist/components/AppPluginSwitcher.vue.d.ts +2 -0
- package/dist/components/AppSidebar.vue.d.ts +1 -1
- package/dist/components/AuditTrail.vue.d.ts +13 -0
- package/dist/components/BatchProgressList.vue.d.ts +17 -0
- package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +1 -1
- package/dist/components/DataFrame.vue.d.ts +14 -2
- package/dist/components/DatePicker.vue.d.ts +1 -1
- package/dist/components/DateTimePicker.vue.d.ts +2 -0
- package/dist/components/DropdownButton.vue.d.ts +2 -0
- package/dist/components/ExperimentDataViewer.vue.d.ts +26 -1
- package/dist/components/ExperimentPopover.vue.d.ts +1 -0
- package/dist/components/ExperimentTimeline.vue.d.ts +29 -1
- package/dist/components/FitPanel.vue.d.ts +1 -1
- package/dist/components/LcmsSequenceTable.vue.d.ts +29 -1
- package/dist/components/PluginWorkspaceView.props.d.ts +29 -1
- package/dist/components/PluginWorkspaceView.vue.d.ts +5 -5
- package/dist/components/ProgressBar.vue.d.ts +1 -1
- package/dist/components/ProtocolStepEditor.vue.d.ts +1 -0
- package/dist/components/ReagentList.vue.d.ts +29 -1
- package/dist/components/SampleHierarchyTree.vue.d.ts +29 -1
- package/dist/components/SampleSelector.drag.d.ts +13 -0
- package/dist/components/SampleSelector.tree.d.ts +2 -0
- package/dist/components/SampleSelector.vue.d.ts +34 -1
- package/dist/components/ScheduleCalendar.vue.d.ts +20 -0
- package/dist/components/SecretInput.vue.d.ts +28 -0
- package/dist/components/SmartGroupFieldRecipe.vue.d.ts +2 -1
- package/dist/components/TimePicker.vue.d.ts +1 -0
- package/dist/components/WellPlate.geometry.d.ts +15 -0
- package/dist/components/WellPlate.interaction.d.ts +13 -0
- package/dist/components/WellPlate.vue.d.ts +29 -0
- package/dist/components/index.d.ts +9 -0
- package/dist/components/index.js +8 -8
- package/dist/components/internal/AppTopBarPageSelectorInternal.vue.d.ts +2 -0
- package/dist/components/internal/DataStateInternal.vue.d.ts +43 -0
- package/dist/components/internal/WellEditPopupInternal.vue.d.ts +3 -1
- package/dist/components/internal/WorkspaceControlsInternal.vue.d.ts +23 -0
- package/dist/components/internal/WorkspaceShellInternal.vue.d.ts +70 -0
- package/dist/components/internal/WorkspaceSidebarInternal.vue.d.ts +43 -0
- package/dist/{components-DQt0tcpY.js → components-CgAUzF8F.js} +2491 -2235
- package/dist/components-CgAUzF8F.js.map +1 -0
- package/dist/composables/controlSchemaTypes.d.ts +34 -0
- package/dist/composables/flattenWorkspaceBindings.d.ts +61 -0
- package/dist/composables/index.d.ts +8 -2
- package/dist/composables/index.js +10 -10
- package/dist/composables/pluginWorkspaceModel.d.ts +164 -0
- package/dist/composables/useAsync.d.ts +5 -1
- package/dist/composables/useBioTemplateWorkspace.d.ts +4 -20
- package/dist/composables/useCommandHistory.d.ts +5 -1
- package/dist/composables/useDropdownState.d.ts +18 -2
- package/dist/composables/useEventStream.d.ts +52 -0
- package/dist/composables/useFocusTrap.d.ts +21 -0
- package/dist/composables/useJobsStatusTray.d.ts +1 -1
- package/dist/composables/useListReorder.d.ts +90 -0
- package/dist/composables/useMenuKeyboard.d.ts +29 -0
- package/dist/composables/useOptimisticMutation.d.ts +5 -1
- package/dist/composables/usePluginClient.d.ts +4 -17
- package/dist/composables/usePluginConfig.d.ts +3 -1
- package/dist/composables/usePluginWorkspace.d.ts +51 -0
- package/dist/composables/useRequestSyncState.d.ts +42 -2
- package/dist/composables/useResourceCrud.d.ts +5 -1
- package/dist/composables/useRovingFocus.d.ts +24 -0
- package/dist/composables/useScheduleDrag.d.ts +1 -0
- package/dist/composables/useWellPainting.d.ts +5 -1
- package/dist/composables/useWellPlateAdapter.d.ts +5 -1
- package/dist/composables/useWellPlateValidation.d.ts +5 -1
- package/dist/composables/workspaceRecipes.d.ts +188 -0
- package/dist/{composables-CkXDe7nm.js → composables-B_pia3hO.js} +105 -254
- package/dist/composables-B_pia3hO.js.map +1 -0
- package/dist/{useApi-CDBq6z23.js → errors-_W0-LbA6.js} +102 -3
- package/dist/errors-_W0-LbA6.js.map +1 -0
- package/dist/{experiment-Y9Iz7KYi.js → experiment-Cwl9AYxw.js} +3 -8
- package/dist/experiment-Cwl9AYxw.js.map +1 -0
- package/dist/{experiment-utils-CLnzPPq5.js → experiment-utils-DV3DrvE_.js} +70 -51
- package/dist/experiment-utils-DV3DrvE_.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +15 -15
- package/dist/install.js +2 -7
- package/dist/install.js.map +1 -1
- package/dist/permissions.d.ts +42 -1
- package/dist/permissions.js +20 -10
- package/dist/permissions.js.map +1 -1
- package/dist/stores/index.d.ts +1 -1
- package/dist/stores/index.js +3 -3
- package/dist/stores/settings.d.ts +31 -1
- package/dist/styles.css +11247 -29501
- package/dist/templates/builderReadUtils.d.ts +1 -1
- package/dist/templates/index.js +2 -4
- package/dist/{templates-CovvRZ-9.js → templates-Qq113pyZ.js} +303 -106
- package/dist/templates-Qq113pyZ.js.map +1 -0
- package/dist/types/form-builder.d.ts +1 -1
- package/dist/{useControlSchema-BhoJzWzx.js → useControlSchema-aMZlb4Sc.js} +684 -1216
- package/dist/useControlSchema-aMZlb4Sc.js.map +1 -0
- package/dist/{useDropdownState-DSb3BC3N.js → useDropdownState-DitCtrTT.js} +22 -6
- package/dist/useDropdownState-DitCtrTT.js.map +1 -0
- package/dist/{useExperimentSelector-D0pjj9WH.js → useExperimentSelector-I8HC8hUu.js} +4 -4
- package/dist/{useExperimentSelector-D0pjj9WH.js.map → useExperimentSelector-I8HC8hUu.js.map} +1 -1
- package/dist/{useFormBuilder-DiEcDis2.js → useFormBuilder-TCxNnqeb.js} +2 -2
- package/dist/{useFormBuilder-DiEcDis2.js.map → useFormBuilder-TCxNnqeb.js.map} +1 -1
- package/dist/{useProtocolTemplates-DHwSveE6.js → useProtocolTemplates-BmX_iVBR.js} +660 -197
- package/dist/useProtocolTemplates-BmX_iVBR.js.map +1 -0
- package/dist/utils/color.d.ts +13 -0
- package/dist/utils/errors.d.ts +9 -0
- package/dist/utils/pluginSecrets.d.ts +53 -0
- package/dist/utils/records.d.ts +4 -0
- package/package.json +1 -1
- package/src/__tests__/components/ActionMenu.test.ts +94 -0
- package/src/__tests__/components/AppAvatarMenu.test.ts +123 -0
- package/src/__tests__/components/BaseTabs.test.ts +67 -0
- package/src/__tests__/components/DataFrame.test.ts +183 -11
- package/src/__tests__/components/DataStates.test.ts +176 -0
- package/src/__tests__/components/DatePicker.test.ts +76 -0
- package/src/__tests__/components/DateTimePicker.test.ts +36 -0
- package/src/__tests__/components/DropdownButton.test.ts +134 -0
- package/src/__tests__/components/ExperimentTimeline.test.ts +63 -0
- package/src/__tests__/components/GeneratedPluginView.test.ts +0 -5
- package/src/__tests__/components/GroupAssigner.test.ts +53 -0
- package/src/__tests__/components/JobsStatusTray.test.ts +20 -18
- package/src/__tests__/components/LcmsSequenceTable.test.ts +22 -0
- package/src/__tests__/components/PluginWorkspaceView.internal.test.ts +230 -0
- package/src/__tests__/components/RackEditor.test.ts +35 -0
- package/src/__tests__/components/ReagentList.test.ts +64 -2
- package/src/__tests__/components/RetiredStyles.test.ts +31 -0
- package/src/__tests__/components/SampleSelector.drag.test.ts +51 -1
- package/src/__tests__/components/ScheduleCalendar.test.ts +63 -0
- package/src/__tests__/components/SecretInput.test.ts +87 -0
- package/src/__tests__/components/SegmentedControl.test.ts +88 -0
- package/src/__tests__/components/TimePicker.test.ts +61 -0
- package/src/__tests__/components/WellEditPopupInternal.test.ts +108 -0
- package/src/__tests__/components/WellPlate.interaction.test.ts +59 -0
- package/src/__tests__/composables/useAuth.test.ts +25 -0
- package/src/__tests__/composables/useDropdownState.test.ts +58 -1
- package/src/__tests__/composables/useEventStream.test.ts +140 -0
- package/src/__tests__/composables/useGeneratedAnalysis.test.ts +103 -0
- package/src/__tests__/composables/useJobsStatusTray.test.ts +25 -161
- package/src/__tests__/composables/useListReorder.test.ts +145 -0
- package/src/__tests__/composables/usePluginClient.test.ts +148 -13
- package/src/__tests__/composables/useRequestSyncState.test.ts +140 -0
- package/src/__tests__/docs/frontendDocsCatalog.test.ts +55 -2
- package/src/__tests__/stores/settings.test.ts +71 -1
- package/src/__tests__/styles/cssTokens.test.ts +131 -0
- package/src/__tests__/utils/permissions.test.ts +68 -0
- package/src/components/ActionMenu.vue +45 -88
- package/src/components/AlertBox.vue +0 -4
- package/src/components/AppAvatarMenu.vue +26 -7
- package/src/components/AppLayout.vue +0 -4
- package/src/components/AppPluginSwitcher.story.vue +87 -0
- package/src/components/AppPluginSwitcher.vue +2 -5
- package/src/components/AppSidebar.vue +0 -4
- package/src/components/AppToastContainer.vue +6 -8
- package/src/components/AppTopBar.vue +0 -4
- package/src/components/ArtifactSaveDialog.vue +0 -4
- package/src/components/ArtifactSelectorModal.vue +0 -4
- package/src/components/AuditTrail.story.vue +18 -0
- package/src/components/AuditTrail.vue +27 -7
- package/src/components/AutoGroupModal.vue +0 -4
- package/src/components/Avatar.vue +0 -4
- package/src/components/BaseButton.vue +0 -4
- package/src/components/BaseCheckbox.vue +0 -4
- package/src/components/BaseInput.vue +0 -4
- package/src/components/BaseModal.vue +8 -60
- package/src/components/BasePill.vue +0 -4
- package/src/components/BaseRadioGroup.vue +0 -4
- package/src/components/BaseSelect.vue +0 -4
- package/src/components/BaseSlider.vue +0 -4
- package/src/components/BaseTabs.vue +26 -5
- package/src/components/BaseTextarea.vue +0 -4
- package/src/components/BaseToggle.vue +0 -4
- package/src/components/BatchProgressList.story.vue +18 -0
- package/src/components/BatchProgressList.vue +32 -4
- package/src/components/BioTemplateExperimentWorkspaceView.vue +10 -21
- package/src/components/BioTemplatePackWorkspaceView.vue +11 -15
- package/src/components/BioTemplatePresetWorkspaceView.vue +8 -13
- package/src/components/Breadcrumb.vue +0 -4
- package/src/components/Calendar.vue +0 -4
- package/src/components/ChartContainer.story.vue +1 -1
- package/src/components/ChartContainer.vue +0 -4
- package/src/components/ChemicalFormula.vue +0 -4
- package/src/components/CollapsibleCard.vue +0 -4
- package/src/components/ColorSlider.vue +0 -4
- package/src/components/ComponentBindingRenderer.vue +1 -3
- package/src/components/ConcentrationInput.vue +0 -4
- package/src/components/ConfirmDialog.vue +0 -4
- package/src/components/ControlWorkspaceView.vue +11 -22
- package/src/components/DataFrame.story.vue +14 -0
- package/src/components/DataFrame.vue +97 -23
- package/src/components/DatePicker.vue +73 -27
- package/src/components/DateTimePicker.vue +45 -17
- package/src/components/Divider.vue +0 -4
- package/src/components/DoseCalculator.vue +0 -4
- package/src/components/DoseDesignWorkspaceView.vue +6 -25
- package/src/components/DropdownButton.vue +24 -6
- package/src/components/EmptyState.vue +0 -4
- package/src/components/ExperimentCodeBadge.vue +0 -4
- package/src/components/ExperimentDataViewer.story.vue +3 -0
- package/src/components/ExperimentDataViewer.vue +33 -13
- package/src/components/ExperimentPopover.vue +2 -5
- package/src/components/ExperimentSelectorModal.vue +0 -4
- package/src/components/ExperimentTimeline.story.vue +18 -0
- package/src/components/ExperimentTimeline.vue +81 -75
- package/src/components/FileUploader.vue +0 -4
- package/src/components/FitPanel.vue +0 -4
- package/src/components/FormActions.story.vue +96 -0
- package/src/components/FormActions.vue +0 -4
- package/src/components/FormBuilder.vue +0 -4
- package/src/components/FormField.vue +0 -4
- package/src/components/FormulaInput.vue +0 -4
- package/src/components/GeneratedPathInput.story.vue +68 -0
- package/src/components/GeneratedPlotlyResult.story.vue +96 -0
- package/src/components/GeneratedPlotlyResult.vue +3 -3
- package/src/components/GeneratedPluginView.story.vue +145 -0
- package/src/components/GeneratedPluginView.vue +10 -10
- package/src/components/GeneratedResultRenderer.story.vue +117 -0
- package/src/components/GeneratedResultRenderer.vue +4 -4
- package/src/components/GroupAssigner.vue +67 -5
- package/src/components/IconButton.vue +0 -4
- package/src/components/InstrumentAlertLog.vue +0 -4
- package/src/components/InstrumentStateBadge.vue +0 -4
- package/src/components/InstrumentStatusCard.vue +0 -4
- package/src/components/JobsStatusTray.story.vue +6 -10
- package/src/components/JobsStatusTray.vue +0 -4
- package/src/components/LcmsSequenceTable.vue +81 -50
- package/src/components/LoadingSpinner.vue +0 -4
- package/src/components/MobileSupportGate.vue +0 -4
- package/src/components/MoleculeInput.vue +0 -4
- package/src/components/MultiSelect.vue +0 -4
- package/src/components/NumberInput.vue +0 -4
- package/src/components/PlateMapEditor.vue +3 -14
- package/src/components/PluginIcon.vue +0 -4
- package/src/components/PluginWorkspaceView.props.ts +38 -0
- package/src/components/PluginWorkspaceView.vue +53 -224
- package/src/components/ProgressBar.vue +0 -4
- package/src/components/ProtocolStepEditor.vue +2 -4
- package/src/components/RackEditor.vue +51 -70
- package/src/components/ReagentEditor.vue +0 -4
- package/src/components/ReagentList.story.vue +18 -0
- package/src/components/ReagentList.vue +127 -82
- package/src/components/ResourceCard.vue +0 -4
- package/src/components/RuntimeUpdateNotice.story.vue +49 -0
- package/src/components/RuntimeUpdateNotice.vue +4 -4
- package/src/components/SampleHierarchyTree.story.vue +18 -0
- package/src/components/SampleHierarchyTree.vue +32 -9
- package/src/components/SampleLegend.vue +2 -8
- package/src/components/SampleSelector.drag.ts +51 -0
- package/src/components/SampleSelector.story.vue +6 -0
- package/src/components/SampleSelector.tree.ts +2 -0
- package/src/components/SampleSelector.vue +49 -10
- package/src/components/SampleSelectorGroupNode.vue +19 -0
- package/src/components/ScheduleCalendar.story.vue +6 -0
- package/src/components/ScheduleCalendar.vue +82 -7
- package/src/components/ScientificNumber.vue +0 -4
- package/src/components/SecretInput.story.vue +79 -0
- package/src/components/SecretInput.vue +150 -0
- package/src/components/SectionCard.vue +0 -4
- package/src/components/SegmentedControl.vue +48 -5
- package/src/components/SequenceInput.vue +0 -4
- package/src/components/SequenceProgressBar.story.vue +110 -0
- package/src/components/SequenceProgressBar.vue +0 -4
- package/src/components/SettingsModal.vue +0 -4
- package/src/components/Skeleton.vue +0 -4
- package/src/components/SmartGroupFieldRecipe.vue +8 -6
- package/src/components/SmartGroupManual.vue +0 -4
- package/src/components/StatusIndicator.vue +0 -4
- package/src/components/StepWizard.vue +0 -4
- package/src/components/TagsInput.vue +4 -6
- package/src/components/ThemeToggle.vue +0 -4
- package/src/components/TimePicker.vue +36 -7
- package/src/components/TimeRangeInput.vue +0 -4
- package/src/components/Tooltip.story.vue +3 -3
- package/src/components/Tooltip.vue +0 -4
- package/src/components/UnitInput.vue +0 -4
- package/src/components/WellPlate.geometry.ts +60 -1
- package/src/components/WellPlate.interaction.ts +44 -0
- package/src/components/WellPlate.story.vue +8 -0
- package/src/components/WellPlate.vue +53 -7
- package/src/components/index.ts +9 -0
- package/src/components/internal/AppTopBarPageSelectorInternal.vue +2 -5
- package/src/components/internal/AppTopBarPillNavInternal.vue +0 -4
- package/src/components/internal/DataStateInternal.vue +74 -0
- package/src/components/internal/FormSectionRenderer.vue +0 -4
- package/src/components/internal/WellEditPopupInternal.vue +20 -5
- package/src/components/internal/WorkspaceControlsInternal.vue +20 -0
- package/src/components/internal/WorkspaceShellInternal.vue +125 -0
- package/src/components/internal/WorkspaceSidebarInternal.vue +82 -0
- package/src/composables/controlSchemaTypes.ts +34 -0
- package/src/composables/experimentDesignData.ts +1 -3
- package/src/composables/flattenWorkspaceBindings.ts +104 -0
- package/src/composables/formBuilderRegistry.ts +5 -0
- package/src/composables/index.ts +41 -5
- package/src/composables/pluginWorkspaceModel.ts +182 -0
- package/src/composables/useAsync.ts +5 -1
- package/src/composables/useBioTemplatePackWorkspace.ts +15 -9
- package/src/composables/useBioTemplatePresetWorkspace.ts +14 -15
- package/src/composables/useBioTemplateWorkspace.ts +18 -43
- package/src/composables/useCommandHistory.ts +5 -1
- package/src/composables/useDropdownState.ts +35 -5
- package/src/composables/useEventStream.ts +326 -0
- package/src/composables/useFileImport.ts +2 -7
- package/src/composables/useFocusTrap.ts +91 -0
- package/src/composables/useGeneratedAnalysis.ts +46 -103
- package/src/composables/useJobsStatusTray.ts +1 -1
- package/src/composables/useListReorder.story.vue +143 -0
- package/src/composables/useListReorder.ts +242 -0
- package/src/composables/useMenuKeyboard.ts +90 -0
- package/src/composables/useOptimisticMutation.ts +6 -16
- package/src/composables/usePluginClient.ts +91 -252
- package/src/composables/usePluginConfig.ts +3 -1
- package/src/composables/usePluginWorkspace.ts +208 -0
- package/src/composables/useRackEditor.ts +2 -11
- package/src/composables/useRequestSyncState.ts +98 -28
- package/src/composables/useResourceCrud.ts +6 -16
- package/src/composables/useRovingFocus.ts +66 -0
- package/src/composables/useScheduleDrag.ts +37 -0
- package/src/composables/useWellPainting.ts +10 -30
- package/src/composables/useWellPlateAdapter.ts +5 -1
- package/src/composables/useWellPlateEditor.ts +1 -11
- package/src/composables/useWellPlateValidation.ts +5 -1
- package/src/composables/workspaceRecipes.ts +267 -0
- package/src/index.ts +16 -0
- package/src/permissions.ts +48 -9
- package/src/stores/experiment.ts +2 -7
- package/src/stores/index.ts +9 -1
- package/src/stores/settings.ts +93 -1
- package/src/styles/components/audit-trail.css +5 -5
- package/src/styles/components/batch-progress-list.css +7 -0
- package/src/styles/components/color-slider.css +2 -2
- package/src/styles/components/data-state.css +30 -0
- package/src/styles/components/dataframe.css +29 -35
- package/src/styles/components/experiment-data-viewer.css +4 -4
- package/src/styles/components/experiment-timeline.css +3 -30
- package/src/styles/components/form-builder.css +5 -5
- package/src/styles/components/lcms-sequence-table.css +16 -1
- package/src/styles/components/multi-select.css +1 -1
- package/src/styles/components/reagent-list.css +38 -31
- package/src/styles/components/sample-hierarchy-tree.css +5 -19
- package/src/styles/components/sample-selector.css +9 -2
- package/src/styles/components/schedule-calendar.css +8 -0
- package/src/styles/components/scientific-number.css +1 -1
- package/src/styles/components/secret-input.css +60 -0
- package/src/styles/components/well-plate.css +8 -0
- package/src/styles/index.css +9 -0
- package/src/styles/variables.css +29 -0
- package/src/templates/builderPresetControls.ts +1 -1
- package/src/templates/builderReadUtils.ts +1 -3
- package/src/templates/componentPlateHelpers.ts +3 -1
- package/src/templates/componentTargetResolvers.ts +1 -3
- package/src/templates/controlSchemaTargets.ts +1 -3
- package/src/templates/doseResponseAdapters.ts +2 -13
- package/src/templates/elisaAssayCollectionBuilder.ts +2 -2
- package/src/templates/plateMapBuilder.ts +2 -2
- package/src/templates/qpcrPlateBuilder.ts +1 -1
- package/src/templates/templateValidators.ts +1 -1
- package/src/templates/timeCourseBuilder.ts +2 -2
- package/src/templates/wellPlateScreenCollectionBuilder.ts +2 -2
- package/src/types/form-builder.ts +1 -0
- package/src/utils/color.ts +51 -0
- package/src/utils/errors.ts +29 -0
- package/src/utils/formModelSync.ts +1 -3
- package/src/utils/pluginIcon.ts +1 -3
- package/src/utils/pluginSecrets.ts +102 -0
- package/src/utils/records.ts +9 -0
- package/dist/EmptyState-p90quq8Z.js.map +0 -1
- package/dist/ExperimentPopover-tLwJ7XF4.js.map +0 -1
- package/dist/ExperimentSelectorModal-B6P2msT4.js.map +0 -1
- package/dist/SettingsModal-BW3Ar-uy.js.map +0 -1
- package/dist/components-DQt0tcpY.js.map +0 -1
- package/dist/composables/autoGroupConstants.d.ts +0 -1
- package/dist/composables/autoGroupGrouping.d.ts +0 -3
- package/dist/composables/useAutoGroupInputSources.d.ts +0 -32
- package/dist/composables-CkXDe7nm.js.map +0 -1
- package/dist/experiment-Y9Iz7KYi.js.map +0 -1
- package/dist/experiment-utils-CLnzPPq5.js.map +0 -1
- package/dist/templates/builderDefaults.d.ts +0 -1
- package/dist/templates/plateGeometry.d.ts +0 -4
- package/dist/templates-CovvRZ-9.js.map +0 -1
- package/dist/useApi-CDBq6z23.js.map +0 -1
- package/dist/useControlSchema-BhoJzWzx.js.map +0 -1
- package/dist/useDropdownState-DSb3BC3N.js.map +0 -1
- package/dist/useProtocolTemplates-DHwSveE6.js.map +0 -1
- package/src/__tests__/composables/useAutoGroupInputSources.test.ts +0 -127
- package/src/composables/autoGroupConstants.ts +0 -4
- package/src/composables/autoGroupGrouping.ts +0 -148
- package/src/composables/useAutoGroupInputSources.ts +0 -147
- package/src/templates/builderDefaults.ts +0 -11
- package/src/templates/plateGeometry.ts +0 -62
- /package/dist/__tests__/{composables/useAutoGroupInputSources.test.d.ts → components/DataStates.test.d.ts} +0 -0
|
@@ -10,8 +10,28 @@ interface Props {
|
|
|
10
10
|
size?: 'sm' | 'md' | 'lg';
|
|
11
11
|
colorByStatus?: boolean;
|
|
12
12
|
colorByType?: boolean;
|
|
13
|
+
/** Replace the timeline with a loading placeholder. */
|
|
14
|
+
loading?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Error message. When set, the timeline is replaced by an error state.
|
|
17
|
+
* `null`/`undefined` renders normally.
|
|
18
|
+
*/
|
|
19
|
+
error?: string | null;
|
|
13
20
|
}
|
|
14
|
-
declare
|
|
21
|
+
declare function __VLS_template(): {
|
|
22
|
+
attrs: Partial<{}>;
|
|
23
|
+
slots: {
|
|
24
|
+
error?(_: {
|
|
25
|
+
error: string;
|
|
26
|
+
}): any;
|
|
27
|
+
loading?(_: {}): any;
|
|
28
|
+
empty?(_: {}): any;
|
|
29
|
+
};
|
|
30
|
+
refs: {};
|
|
31
|
+
rootEl: HTMLDivElement;
|
|
32
|
+
};
|
|
33
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
34
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
15
35
|
"update:modelValue": (steps: ProtocolStep[]) => any;
|
|
16
36
|
"step-click": (step: ProtocolStep) => any;
|
|
17
37
|
"step-expand": (stepId: string | undefined) => any;
|
|
@@ -30,8 +50,10 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
30
50
|
"onStep-reorder"?: ((stepId: string, newOrder: number) => any) | undefined;
|
|
31
51
|
"onStep-status-change"?: ((stepId: string, status: ProtocolStepStatus) => any) | undefined;
|
|
32
52
|
}>, {
|
|
53
|
+
error: string | null;
|
|
33
54
|
size: "sm" | "md" | "lg";
|
|
34
55
|
modelValue: ProtocolStep[];
|
|
56
|
+
loading: boolean;
|
|
35
57
|
orientation: "horizontal" | "vertical";
|
|
36
58
|
collapsible: boolean;
|
|
37
59
|
editable: boolean;
|
|
@@ -41,4 +63,10 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
41
63
|
colorByStatus: boolean;
|
|
42
64
|
colorByType: boolean;
|
|
43
65
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
66
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
44
67
|
export default _default;
|
|
68
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
69
|
+
new (): {
|
|
70
|
+
$slots: S;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
@@ -30,9 +30,9 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
|
|
|
30
30
|
}>, {
|
|
31
31
|
disabled: boolean;
|
|
32
32
|
progress: number;
|
|
33
|
+
state: FitState;
|
|
33
34
|
results: FitResultSummary[];
|
|
34
35
|
indeterminate: boolean;
|
|
35
|
-
state: FitState;
|
|
36
36
|
cancelLabel: string;
|
|
37
37
|
progressLabel: string;
|
|
38
38
|
runLabel: string;
|
|
@@ -6,8 +6,28 @@ interface Props {
|
|
|
6
6
|
maxRows?: number;
|
|
7
7
|
showMoreLabel?: boolean;
|
|
8
8
|
emptyMessage?: string;
|
|
9
|
+
/** Replace the table with a loading placeholder. */
|
|
10
|
+
loading?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Error message. When set, the table is replaced by an error state.
|
|
13
|
+
* `null`/`undefined` renders normally.
|
|
14
|
+
*/
|
|
15
|
+
error?: string | null;
|
|
9
16
|
}
|
|
10
|
-
declare
|
|
17
|
+
declare function __VLS_template(): {
|
|
18
|
+
attrs: Partial<{}>;
|
|
19
|
+
slots: {
|
|
20
|
+
error?(_: {
|
|
21
|
+
error: string;
|
|
22
|
+
}): any;
|
|
23
|
+
loading?(_: {}): any;
|
|
24
|
+
empty?(_: {}): any;
|
|
25
|
+
};
|
|
26
|
+
refs: {};
|
|
27
|
+
rootEl: HTMLDivElement;
|
|
28
|
+
};
|
|
29
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
30
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
31
|
remove: (index: number) => any;
|
|
12
32
|
reorder: (fromIndex: number, toIndex: number) => any;
|
|
13
33
|
duplicate: (index: number) => any;
|
|
@@ -16,6 +36,8 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
16
36
|
onReorder?: ((fromIndex: number, toIndex: number) => any) | undefined;
|
|
17
37
|
onDuplicate?: ((index: number) => any) | undefined;
|
|
18
38
|
}>, {
|
|
39
|
+
error: string | null;
|
|
40
|
+
loading: boolean;
|
|
19
41
|
items: LcmsSequenceItem[];
|
|
20
42
|
columns: LcmsSequenceTableColumn[];
|
|
21
43
|
emptyMessage: string;
|
|
@@ -23,4 +45,10 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
23
45
|
maxRows: number;
|
|
24
46
|
showMoreLabel: boolean;
|
|
25
47
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
48
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
26
49
|
export default _default;
|
|
50
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
51
|
+
new (): {
|
|
52
|
+
$slots: S;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccountMenuItem, PageSelectorItemInput, PillNavItemInput, PluginSwitcherInfo, SidebarToolSection, TopBarSettingsConfig, TopBarVariant } from '../types';
|
|
1
|
+
import { AccountMenuItem, ExperimentSummary, PageSelectorItem, PageSelectorItemInput, PillNavItem, PillNavItemInput, PillNavOption, PluginSwitcherInfo, PluginSwitcherPlugin, SidebarToolSection, TopBarSettingsConfig, TopBarVariant } from '../types';
|
|
2
2
|
import { FormEnhancements, FormSchema } from '../types/form-builder';
|
|
3
3
|
import { ControlComponentBinding, ControlComponentBindingsById, ControlComponentBindingsConfig, ControlComponentPropsByIdMap, ControlComponentPropsMap, ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from '../composables/useControlSchema';
|
|
4
4
|
export type PluginWorkspaceSidebarVariant = 'default' | 'analysis';
|
|
@@ -134,6 +134,34 @@ export interface PluginWorkspaceViewProps {
|
|
|
134
134
|
/** Accessible label used when the mobile sidebar is open. */
|
|
135
135
|
sidebarCloseLabel?: string;
|
|
136
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Event map for PluginWorkspaceView, shared with the {@link usePluginWorkspace} composable
|
|
139
|
+
* so its internal pieces can emit through the exact same typed contract as the public component.
|
|
140
|
+
*/
|
|
141
|
+
export interface PluginWorkspaceViewEmits {
|
|
142
|
+
'update:activeView': [value: string];
|
|
143
|
+
'page-selector-select': [page: PageSelectorItem];
|
|
144
|
+
'pill-select': [item: PillNavItem];
|
|
145
|
+
'pill-option-select': [option: PillNavOption, item: PillNavItem];
|
|
146
|
+
'plugin-switcher-select': [plugin: PluginSwitcherPlugin];
|
|
147
|
+
'plugin-switcher-install': [];
|
|
148
|
+
'account-menu-select': [item: AccountMenuItem];
|
|
149
|
+
'sign-out': [];
|
|
150
|
+
'notifications-click': [];
|
|
151
|
+
'settings-values-change': [data: Record<string, unknown>];
|
|
152
|
+
'admin-click': [];
|
|
153
|
+
'experiment-select': [experiment: ExperimentSummary];
|
|
154
|
+
'experiment-detach': [];
|
|
155
|
+
'update:modelValue': [values: Record<string, unknown>];
|
|
156
|
+
'update:values': [values: Record<string, unknown>];
|
|
157
|
+
'update:sidebarCollapsed': [value: boolean];
|
|
158
|
+
'update:toggle': [sectionId: string, value: boolean];
|
|
159
|
+
'section-action': [sectionId: string, actionId: string];
|
|
160
|
+
'form-submit': [sectionId: string, values: Record<string, unknown>];
|
|
161
|
+
'form-cancel': [sectionId: string];
|
|
162
|
+
}
|
|
163
|
+
/** Typed `emit` function shape produced by `defineEmits<PluginWorkspaceViewEmits>()`. */
|
|
164
|
+
export type PluginWorkspaceViewEmit = <K extends keyof PluginWorkspaceViewEmits>(event: K, ...args: PluginWorkspaceViewEmits[K]) => void;
|
|
137
165
|
export interface PluginWorkspaceSlotProps {
|
|
138
166
|
activeView: string;
|
|
139
167
|
setActiveView: (viewId: string) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccountMenuItem,
|
|
1
|
+
import { AccountMenuItem, PillNavItem, PluginSwitcherPlugin, PillNavOption } from '../types';
|
|
2
2
|
import { PluginWorkspaceForwardedSlotProps, PluginWorkspaceSlotProps, PluginWorkspaceViewProps } from './PluginWorkspaceView.props';
|
|
3
3
|
declare function __VLS_template(): {
|
|
4
4
|
attrs: Partial<{}>;
|
|
@@ -48,7 +48,7 @@ declare const __VLS_component: import('vue').DefineComponent<PluginWorkspaceView
|
|
|
48
48
|
"sign-out": () => any;
|
|
49
49
|
"update:values": (values: Record<string, unknown>) => any;
|
|
50
50
|
"admin-click": () => any;
|
|
51
|
-
"page-selector-select": (page: PageSelectorItem) => any;
|
|
51
|
+
"page-selector-select": (page: import('..').PageSelectorItem) => any;
|
|
52
52
|
"pill-select": (item: PillNavItem) => any;
|
|
53
53
|
"pill-option-select": (option: PillNavOption, item: PillNavItem) => any;
|
|
54
54
|
"plugin-switcher-select": (plugin: PluginSwitcherPlugin) => any;
|
|
@@ -61,7 +61,7 @@ declare const __VLS_component: import('vue').DefineComponent<PluginWorkspaceView
|
|
|
61
61
|
"form-submit": (sectionId: string, values: Record<string, unknown>) => any;
|
|
62
62
|
"form-cancel": (sectionId: string) => any;
|
|
63
63
|
"update:activeView": (value: string) => any;
|
|
64
|
-
"experiment-select": (experiment: ExperimentSummary) => any;
|
|
64
|
+
"experiment-select": (experiment: import('..').ExperimentSummary) => any;
|
|
65
65
|
"experiment-detach": () => any;
|
|
66
66
|
"update:sidebarCollapsed": (value: boolean) => any;
|
|
67
67
|
}, string, import('vue').PublicProps, Readonly<PluginWorkspaceViewProps> & Readonly<{
|
|
@@ -69,7 +69,7 @@ declare const __VLS_component: import('vue').DefineComponent<PluginWorkspaceView
|
|
|
69
69
|
"onSign-out"?: (() => any) | undefined;
|
|
70
70
|
"onUpdate:values"?: ((values: Record<string, unknown>) => any) | undefined;
|
|
71
71
|
"onAdmin-click"?: (() => any) | undefined;
|
|
72
|
-
"onPage-selector-select"?: ((page: PageSelectorItem) => any) | undefined;
|
|
72
|
+
"onPage-selector-select"?: ((page: import('..').PageSelectorItem) => any) | undefined;
|
|
73
73
|
"onPill-select"?: ((item: PillNavItem) => any) | undefined;
|
|
74
74
|
"onPill-option-select"?: ((option: PillNavOption, item: PillNavItem) => any) | undefined;
|
|
75
75
|
"onPlugin-switcher-select"?: ((plugin: PluginSwitcherPlugin) => any) | undefined;
|
|
@@ -82,7 +82,7 @@ declare const __VLS_component: import('vue').DefineComponent<PluginWorkspaceView
|
|
|
82
82
|
"onForm-submit"?: ((sectionId: string, values: Record<string, unknown>) => any) | undefined;
|
|
83
83
|
"onForm-cancel"?: ((sectionId: string) => any) | undefined;
|
|
84
84
|
"onUpdate:activeView"?: ((value: string) => any) | undefined;
|
|
85
|
-
"onExperiment-select"?: ((experiment: ExperimentSummary) => any) | undefined;
|
|
85
|
+
"onExperiment-select"?: ((experiment: import('..').ExperimentSummary) => any) | undefined;
|
|
86
86
|
"onExperiment-detach"?: (() => any) | undefined;
|
|
87
87
|
"onUpdate:sidebarCollapsed"?: ((value: boolean) => any) | undefined;
|
|
88
88
|
}>, {
|
|
@@ -11,10 +11,10 @@ interface Props {
|
|
|
11
11
|
ariaLabel?: string;
|
|
12
12
|
}
|
|
13
13
|
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
14
|
+
value: number;
|
|
14
15
|
label: string;
|
|
15
16
|
size: "sm" | "md" | "lg";
|
|
16
17
|
color: "primary" | "success" | "warning" | "error" | "info";
|
|
17
|
-
value: number;
|
|
18
18
|
variant: "rail" | "segmented";
|
|
19
19
|
showValue: boolean;
|
|
20
20
|
indeterminate: boolean;
|
|
@@ -22,5 +22,6 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
22
22
|
showPreview: boolean;
|
|
23
23
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
24
24
|
templateDropdownRef: HTMLDivElement;
|
|
25
|
+
templateTriggerRef: HTMLButtonElement;
|
|
25
26
|
}, HTMLDivElement>;
|
|
26
27
|
export default _default;
|
|
@@ -7,8 +7,28 @@ interface Props {
|
|
|
7
7
|
columns?: ReagentColumn[];
|
|
8
8
|
sortable?: boolean;
|
|
9
9
|
searchable?: boolean;
|
|
10
|
+
/** Replace the table with a loading placeholder. */
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Error message. When set, the table is replaced by an error state.
|
|
14
|
+
* `null`/`undefined` renders normally.
|
|
15
|
+
*/
|
|
16
|
+
error?: string | null;
|
|
10
17
|
}
|
|
11
|
-
declare
|
|
18
|
+
declare function __VLS_template(): {
|
|
19
|
+
attrs: Partial<{}>;
|
|
20
|
+
slots: {
|
|
21
|
+
error?(_: {
|
|
22
|
+
error: string;
|
|
23
|
+
}): any;
|
|
24
|
+
loading?(_: {}): any;
|
|
25
|
+
empty?(_: {}): any;
|
|
26
|
+
};
|
|
27
|
+
refs: {};
|
|
28
|
+
rootEl: HTMLDivElement;
|
|
29
|
+
};
|
|
30
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
31
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
12
32
|
add: () => any;
|
|
13
33
|
"update:modelValue": (reagents: Reagent[]) => any;
|
|
14
34
|
remove: (reagentId: string) => any;
|
|
@@ -21,12 +41,20 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
21
41
|
onEdit?: ((reagent: Reagent) => any) | undefined;
|
|
22
42
|
onReorder?: ((reagentId: string, fromIndex: number, toIndex: number) => any) | undefined;
|
|
23
43
|
}>, {
|
|
44
|
+
error: string | null;
|
|
24
45
|
readonly: boolean;
|
|
25
46
|
modelValue: Reagent[];
|
|
47
|
+
loading: boolean;
|
|
26
48
|
columns: ReagentColumn[];
|
|
27
49
|
sortable: boolean;
|
|
28
50
|
searchable: boolean;
|
|
29
51
|
showStockLevel: boolean;
|
|
30
52
|
lowStockThreshold: number;
|
|
31
53
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
54
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
32
55
|
export default _default;
|
|
56
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
57
|
+
new (): {
|
|
58
|
+
$slots: S;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
@@ -7,8 +7,28 @@ interface Props {
|
|
|
7
7
|
showCounts?: boolean;
|
|
8
8
|
maxDepth?: number;
|
|
9
9
|
size?: 'sm' | 'md' | 'lg';
|
|
10
|
+
/** Replace the tree with a loading placeholder. */
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Error message. When set, the tree is replaced by an error state.
|
|
14
|
+
* `null`/`undefined` renders normally.
|
|
15
|
+
*/
|
|
16
|
+
error?: string | null;
|
|
10
17
|
}
|
|
11
|
-
declare
|
|
18
|
+
declare function __VLS_template(): {
|
|
19
|
+
attrs: Partial<{}>;
|
|
20
|
+
slots: {
|
|
21
|
+
error?(_: {
|
|
22
|
+
error: string;
|
|
23
|
+
}): any;
|
|
24
|
+
loading?(_: {}): any;
|
|
25
|
+
empty?(_: {}): any;
|
|
26
|
+
};
|
|
27
|
+
refs: {};
|
|
28
|
+
rootEl: HTMLDivElement;
|
|
29
|
+
};
|
|
30
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
31
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
12
32
|
collapse: (nodeId: string) => any;
|
|
13
33
|
"node-click": (node: TreeNode) => any;
|
|
14
34
|
expand: (nodeId: string) => any;
|
|
@@ -17,10 +37,18 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
17
37
|
"onNode-click"?: ((node: TreeNode) => any) | undefined;
|
|
18
38
|
onExpand?: ((nodeId: string) => any) | undefined;
|
|
19
39
|
}>, {
|
|
40
|
+
error: string | null;
|
|
20
41
|
size: "sm" | "md" | "lg";
|
|
42
|
+
loading: boolean;
|
|
21
43
|
showCounts: boolean;
|
|
22
44
|
defaultExpandedIds: string[];
|
|
23
45
|
expandAll: boolean;
|
|
24
46
|
showIcons: boolean;
|
|
25
47
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
48
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
26
49
|
export default _default;
|
|
50
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
51
|
+
new (): {
|
|
52
|
+
$slots: S;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
@@ -4,6 +4,19 @@ interface MutableSampleGroups {
|
|
|
4
4
|
value: SampleGroup[];
|
|
5
5
|
}
|
|
6
6
|
export declare function useSampleSelectorDrag(groups: MutableSampleGroups): {
|
|
7
|
+
announcement: import('vue').Ref<string, string>;
|
|
8
|
+
announcerStyle: Readonly<{
|
|
9
|
+
position: "absolute";
|
|
10
|
+
width: "1px";
|
|
11
|
+
height: "1px";
|
|
12
|
+
padding: "0";
|
|
13
|
+
margin: "-1px";
|
|
14
|
+
overflow: "hidden";
|
|
15
|
+
clip: "rect(0, 0, 0, 0)";
|
|
16
|
+
whiteSpace: "nowrap";
|
|
17
|
+
border: "0";
|
|
18
|
+
}>;
|
|
19
|
+
handleGroupReorderKeydown: (name: string, kind: GroupDragKind, event: KeyboardEvent) => void;
|
|
7
20
|
draggingSample: import('vue').Ref<string | null, string | null>;
|
|
8
21
|
dragOverGroup: import('vue').Ref<string | null, string | null>;
|
|
9
22
|
draggingGroup: import('vue').Ref<string | null, string | null>;
|
|
@@ -32,6 +32,8 @@ export interface SampleGroupTreeContext {
|
|
|
32
32
|
onGroupDragOver: (name: string, kind: GroupDragKind, event: DragEvent) => void;
|
|
33
33
|
onGroupDragLeave: (event: DragEvent) => void;
|
|
34
34
|
onGroupDrop: (name: string, kind: GroupDragKind, event: DragEvent) => void;
|
|
35
|
+
/** Alt+ArrowUp / Alt+ArrowDown reorder a group among its siblings. */
|
|
36
|
+
onGroupReorderKeydown: (name: string, kind: GroupDragKind, event: KeyboardEvent) => void;
|
|
35
37
|
}
|
|
36
38
|
/** Every concrete group name beneath a node, in tree order. */
|
|
37
39
|
export declare function collectLeafGroupNames(node: SampleGroupNode): string[];
|
|
@@ -9,9 +9,33 @@ interface Props {
|
|
|
9
9
|
experimentId?: number;
|
|
10
10
|
designData?: Record<string, unknown>;
|
|
11
11
|
autoloadExperimentData?: boolean;
|
|
12
|
+
/** Replace the selector body with a loading placeholder. */
|
|
13
|
+
loading?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Error message. When set, the selector body is replaced by an error state.
|
|
16
|
+
* `null`/`undefined` renders normally.
|
|
17
|
+
*/
|
|
18
|
+
error?: string | null;
|
|
19
|
+
/** Empty-state headline shown when there are no samples to select from. */
|
|
20
|
+
emptyMessage?: string;
|
|
12
21
|
}
|
|
13
22
|
declare function handleSmartGroupApply(result: AutoGroupResult): void;
|
|
14
|
-
declare
|
|
23
|
+
declare function __VLS_template(): {
|
|
24
|
+
attrs: Partial<{}>;
|
|
25
|
+
slots: {
|
|
26
|
+
error?(_: {
|
|
27
|
+
error: string;
|
|
28
|
+
}): any;
|
|
29
|
+
loading?(_: {}): any;
|
|
30
|
+
empty?(_: {}): any;
|
|
31
|
+
};
|
|
32
|
+
refs: {
|
|
33
|
+
colorPickerInput: HTMLInputElement;
|
|
34
|
+
};
|
|
35
|
+
rootEl: HTMLDivElement;
|
|
36
|
+
};
|
|
37
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
38
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {
|
|
15
39
|
handleSmartGroupApply: typeof handleSmartGroupApply;
|
|
16
40
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
17
41
|
"update:modelValue": (samples: string[]) => any;
|
|
@@ -22,9 +46,12 @@ declare const _default: import('vue').DefineComponent<Props, {
|
|
|
22
46
|
"onUpdate:groups"?: ((groups: SampleGroup[]) => any) | undefined;
|
|
23
47
|
onSmartGroup?: ((result: AutoGroupResult) => any) | undefined;
|
|
24
48
|
}>, {
|
|
49
|
+
error: string | null;
|
|
50
|
+
loading: boolean;
|
|
25
51
|
samples: string[];
|
|
26
52
|
experimentId: number;
|
|
27
53
|
groups: SampleGroup[];
|
|
54
|
+
emptyMessage: string;
|
|
28
55
|
designData: Record<string, unknown>;
|
|
29
56
|
enableGrouping: boolean;
|
|
30
57
|
enableSmartGroup: boolean;
|
|
@@ -32,4 +59,10 @@ declare const _default: import('vue').DefineComponent<Props, {
|
|
|
32
59
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
33
60
|
colorPickerInput: HTMLInputElement;
|
|
34
61
|
}, HTMLDivElement>;
|
|
62
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
35
63
|
export default _default;
|
|
64
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
65
|
+
new (): {
|
|
66
|
+
$slots: S;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
@@ -14,10 +14,28 @@ interface Props {
|
|
|
14
14
|
showNavigation?: boolean;
|
|
15
15
|
statusColors?: Record<string, string>;
|
|
16
16
|
locale?: string;
|
|
17
|
+
/** Replace the calendar grid with a loading placeholder. */
|
|
18
|
+
loading?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Error message. When set, the calendar grid is replaced by an error state.
|
|
21
|
+
* `null`/`undefined` renders normally.
|
|
22
|
+
*/
|
|
23
|
+
error?: string | null;
|
|
24
|
+
/**
|
|
25
|
+
* Opt-in empty-state headline. An empty grid is meaningful on a calendar, so
|
|
26
|
+
* the empty state only replaces it when this message is supplied and there
|
|
27
|
+
* are no events.
|
|
28
|
+
*/
|
|
29
|
+
emptyMessage?: string;
|
|
17
30
|
}
|
|
18
31
|
declare function __VLS_template(): {
|
|
19
32
|
attrs: Partial<{}>;
|
|
20
33
|
slots: {
|
|
34
|
+
error?(_: {
|
|
35
|
+
error: string;
|
|
36
|
+
}): any;
|
|
37
|
+
loading?(_: {}): any;
|
|
38
|
+
empty?(_: {}): any;
|
|
21
39
|
'day-header'?(_: {
|
|
22
40
|
date: Date;
|
|
23
41
|
isToday: boolean;
|
|
@@ -86,8 +104,10 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
|
|
|
86
104
|
minute: number;
|
|
87
105
|
}) => any) | undefined;
|
|
88
106
|
}>, {
|
|
107
|
+
error: string | null;
|
|
89
108
|
readonly: boolean;
|
|
90
109
|
view: ScheduleView;
|
|
110
|
+
loading: boolean;
|
|
91
111
|
locale: string;
|
|
92
112
|
weekStartsOn: 0 | 1;
|
|
93
113
|
showNavigation: boolean;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { PluginSecretRef } from '../utils/pluginSecrets';
|
|
2
|
+
type SecretValue = PluginSecretRef | string | null;
|
|
3
|
+
interface Props {
|
|
4
|
+
/** The `$secret` marker from the settings response, a typed string, or `null`. */
|
|
5
|
+
modelValue?: SecretValue;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
error?: boolean;
|
|
9
|
+
size?: 'sm' | 'md' | 'lg';
|
|
10
|
+
/** Label on the control that starts entering a replacement value. */
|
|
11
|
+
changeLabel?: string;
|
|
12
|
+
/** Label on the control that clears a stored secret. */
|
|
13
|
+
clearLabel?: string;
|
|
14
|
+
}
|
|
15
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
16
|
+
"update:modelValue": (value: SecretValue) => any;
|
|
17
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
18
|
+
"onUpdate:modelValue"?: ((value: SecretValue) => any) | undefined;
|
|
19
|
+
}>, {
|
|
20
|
+
disabled: boolean;
|
|
21
|
+
error: boolean;
|
|
22
|
+
size: "sm" | "md" | "lg";
|
|
23
|
+
placeholder: string;
|
|
24
|
+
modelValue: SecretValue;
|
|
25
|
+
changeLabel: string;
|
|
26
|
+
clearLabel: string;
|
|
27
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
28
|
+
export default _default;
|
|
@@ -23,8 +23,8 @@ declare const _default: import('vue').DefineComponent<SmartGroupFieldRecipeProps
|
|
|
23
23
|
"onDownload-template"?: (() => any) | undefined;
|
|
24
24
|
"onDownload-prefilled"?: (() => any) | undefined;
|
|
25
25
|
}>, {
|
|
26
|
-
samples: SmartGroupSampleRecord[];
|
|
27
26
|
loading: boolean;
|
|
27
|
+
samples: SmartGroupSampleRecord[];
|
|
28
28
|
fields: SmartGroupField[];
|
|
29
29
|
palette: string[];
|
|
30
30
|
experimentLabel: string;
|
|
@@ -34,6 +34,7 @@ declare const _default: import('vue').DefineComponent<SmartGroupFieldRecipeProps
|
|
|
34
34
|
canDownloadTemplate: boolean;
|
|
35
35
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
36
36
|
csvMenuRoot: HTMLDivElement;
|
|
37
|
+
csvMenuTrigger: HTMLButtonElement;
|
|
37
38
|
fileInput: HTMLInputElement;
|
|
38
39
|
}, HTMLDivElement>;
|
|
39
40
|
export default _default;
|
|
@@ -24,6 +24,7 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
24
24
|
format: "12h" | "24h";
|
|
25
25
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
26
26
|
rootRef: HTMLDivElement;
|
|
27
|
+
triggerRef: HTMLInputElement;
|
|
27
28
|
listRef: HTMLUListElement;
|
|
28
29
|
}, HTMLDivElement>;
|
|
29
30
|
export default _default;
|
|
@@ -17,7 +17,22 @@ export interface WellPlateSizeConfig {
|
|
|
17
17
|
}
|
|
18
18
|
export declare const PLATE_CONFIGS: Record<WellPlateFormat, WellPlateConfig>;
|
|
19
19
|
export declare const WELL_PLATE_SIZE_CONFIGS: Record<WellPlateSize, WellPlateSizeConfig>;
|
|
20
|
+
/**
|
|
21
|
+
* Spreadsheet-style row label for a zero-based row index: A…Z, then AA, AB, …
|
|
22
|
+
*
|
|
23
|
+
* This is the single row-label generator for the SDK — plate grids, rack
|
|
24
|
+
* grids, well-id parsing and the template builders all go through it.
|
|
25
|
+
*/
|
|
26
|
+
export declare function rowLabel(index: number): string;
|
|
27
|
+
/** Inverse of {@link rowLabel}: 'A' → 0, 'Z' → 25, 'AA' → 26. */
|
|
28
|
+
export declare function rowIndex(label: string): number;
|
|
20
29
|
export declare function createPlateRowLabels(config: WellPlateConfig): string[];
|
|
30
|
+
/** Every well id of a plate, row-major (A1, A2, … B1, …). */
|
|
31
|
+
export declare function wellIdsForFormat(format: number): string[];
|
|
32
|
+
/** Throw unless `wellId` names a well that exists on a `format`-well plate. */
|
|
33
|
+
export declare function assertWellInFormat(wellId: string, format: number): void;
|
|
34
|
+
/** Coerce an unknown value to a supported plate format, else `fallback`. */
|
|
35
|
+
export declare function readPlateFormat(value: unknown, fallback: WellPlateFormat): WellPlateFormat;
|
|
21
36
|
export declare function createPlateColumnLabels(config: WellPlateConfig): number[];
|
|
22
37
|
export declare function createWellGrid(config: WellPlateConfig, rowLabels: string[], wells: Record<string, Partial<Well>>): Well[][];
|
|
23
38
|
export declare function getRectangleWellIds(start: WellPlateCoordinate, end: WellPlateCoordinate, rowLabels: string[]): Set<string>;
|
|
@@ -67,5 +67,18 @@ export declare function useWellPlateInteraction(options: WellPlateInteractionOpt
|
|
|
67
67
|
handleDragLeave: () => void;
|
|
68
68
|
handleDrop: (well: Well, event: DragEvent) => void;
|
|
69
69
|
handleDragEnd: () => void;
|
|
70
|
+
handleWellMoveKeydown: (well: Well, event: KeyboardEvent) => void;
|
|
70
71
|
handleKeyDown: (event: KeyboardEvent) => void;
|
|
72
|
+
moveAnnouncement: import('vue').Ref<string, string>;
|
|
73
|
+
moveAnnouncerStyle: Readonly<{
|
|
74
|
+
position: "absolute";
|
|
75
|
+
width: "1px";
|
|
76
|
+
height: "1px";
|
|
77
|
+
padding: "0";
|
|
78
|
+
margin: "-1px";
|
|
79
|
+
overflow: "hidden";
|
|
80
|
+
clip: "rect(0, 0, 0, 0)";
|
|
81
|
+
whiteSpace: "nowrap";
|
|
82
|
+
border: "0";
|
|
83
|
+
}>;
|
|
71
84
|
};
|
|
@@ -25,6 +25,19 @@ interface Props {
|
|
|
25
25
|
rowConditions?: RowCondition[];
|
|
26
26
|
allowSampleDrop?: boolean;
|
|
27
27
|
sampleDropParser?: WellSampleDropParser;
|
|
28
|
+
/** Replace the plate grid with a loading placeholder. */
|
|
29
|
+
loading?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Error message. When set, the plate grid is replaced by an error state.
|
|
32
|
+
* `null`/`undefined` renders normally.
|
|
33
|
+
*/
|
|
34
|
+
error?: string | null;
|
|
35
|
+
/**
|
|
36
|
+
* Opt-in empty-state headline. A blank plate is meaningful, so the empty
|
|
37
|
+
* state only replaces the grid when this message is supplied and no wells
|
|
38
|
+
* carry data.
|
|
39
|
+
*/
|
|
40
|
+
emptyMessage?: string;
|
|
28
41
|
}
|
|
29
42
|
interface WellEditorSlotProps {
|
|
30
43
|
wellId: string;
|
|
@@ -43,8 +56,24 @@ declare function __VLS_template(): {
|
|
|
43
56
|
attrs: Partial<{}>;
|
|
44
57
|
slots: Readonly<{
|
|
45
58
|
'well-editor'?: (props: WellEditorSlotProps) => unknown;
|
|
59
|
+
/** Replaces the default loading placeholder. */
|
|
60
|
+
loading?: () => unknown;
|
|
61
|
+
/** Replaces the default error placeholder. */
|
|
62
|
+
error?: (props: {
|
|
63
|
+
error: string;
|
|
64
|
+
}) => unknown;
|
|
65
|
+
/** Replaces the default empty placeholder. */
|
|
66
|
+
empty?: () => unknown;
|
|
46
67
|
}> & {
|
|
47
68
|
'well-editor'?: (props: WellEditorSlotProps) => unknown;
|
|
69
|
+
/** Replaces the default loading placeholder. */
|
|
70
|
+
loading?: () => unknown;
|
|
71
|
+
/** Replaces the default error placeholder. */
|
|
72
|
+
error?: (props: {
|
|
73
|
+
error: string;
|
|
74
|
+
}) => unknown;
|
|
75
|
+
/** Replaces the default empty placeholder. */
|
|
76
|
+
empty?: () => unknown;
|
|
48
77
|
};
|
|
49
78
|
refs: {
|
|
50
79
|
plateRef: HTMLDivElement;
|
|
@@ -6,12 +6,14 @@ export { default as BaseCheckbox } from './BaseCheckbox.vue';
|
|
|
6
6
|
export { default as BaseToggle } from './BaseToggle.vue';
|
|
7
7
|
export { default as BaseRadioGroup } from './BaseRadioGroup.vue';
|
|
8
8
|
export { default as BaseSlider } from './BaseSlider.vue';
|
|
9
|
+
/** Range slider with a gradient color track and color-coded value badge for threshold visualization. @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; use `BaseSlider` instead. */
|
|
9
10
|
export { default as ColorSlider } from './ColorSlider.vue';
|
|
10
11
|
export { default as BaseTabs } from './BaseTabs.vue';
|
|
11
12
|
export { default as BaseModal } from './BaseModal.vue';
|
|
12
13
|
export { default as SegmentedControl } from './SegmentedControl.vue';
|
|
13
14
|
export { default as MultiSelect } from './MultiSelect.vue';
|
|
14
15
|
export { default as BasePill } from './BasePill.vue';
|
|
16
|
+
/** Button that opens a dropdown menu for selecting one option from a list. @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; use `ActionMenu` instead. */
|
|
15
17
|
export { default as DropdownButton } from './DropdownButton.vue';
|
|
16
18
|
export { default as Calendar } from './Calendar.vue';
|
|
17
19
|
export { default as DataFrame } from './DataFrame.vue';
|
|
@@ -19,6 +21,7 @@ export { default as FormField } from './FormField.vue';
|
|
|
19
21
|
export { default as DatePicker } from './DatePicker.vue';
|
|
20
22
|
export { default as TimePicker } from './TimePicker.vue';
|
|
21
23
|
export { default as TagsInput } from './TagsInput.vue';
|
|
24
|
+
export { default as SecretInput } from './SecretInput.vue';
|
|
22
25
|
export { default as NumberInput } from './NumberInput.vue';
|
|
23
26
|
export { default as FileUploader } from './FileUploader.vue';
|
|
24
27
|
export { default as AlertBox } from './AlertBox.vue';
|
|
@@ -78,11 +81,15 @@ export { default as ReagentList } from './ReagentList.vue';
|
|
|
78
81
|
export { default as SampleHierarchyTree } from './SampleHierarchyTree.vue';
|
|
79
82
|
export { default as ProtocolStepEditor } from './ProtocolStepEditor.vue';
|
|
80
83
|
export { default as ScientificNumber } from './ScientificNumber.vue';
|
|
84
|
+
/** Renders a chemical formula string (H₂O, C₆H₁₂O₆, Ca(OH)₂) with typographically correct subscripts and superscripts for charges. @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; no platform replacement is planned. */
|
|
81
85
|
export { default as ChemicalFormula } from './ChemicalFormula.vue';
|
|
82
86
|
export { default as SequenceProgressBar } from './SequenceProgressBar.vue';
|
|
87
|
+
/** Filterable instrument alert/event list keyed by each alert's required stable event_key. @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; instrument UI moves to the mld-ms plugins. */
|
|
83
88
|
export { default as InstrumentAlertLog } from './InstrumentAlertLog.vue';
|
|
84
89
|
export { default as InstrumentStateBadge } from './InstrumentStateBadge.vue';
|
|
90
|
+
/** Compact card for live instrument monitor status, sample, method, sequence progress, and ETA. @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; instrument UI moves to the mld-ms plugins. */
|
|
85
91
|
export { default as InstrumentStatusCard } from './InstrumentStatusCard.vue';
|
|
92
|
+
/** Table for Xcalibur-compatible LCMS sequence rows with optional reorder/remove/duplicate controls. @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; instrument UI moves to the mld-ms plugins. */
|
|
86
93
|
export { default as LcmsSequenceTable } from './LcmsSequenceTable.vue';
|
|
87
94
|
export { default as FormulaInput } from './FormulaInput.vue';
|
|
88
95
|
export { default as SequenceInput } from './SequenceInput.vue';
|
|
@@ -96,8 +103,10 @@ export { default as FormActions } from './FormActions.vue';
|
|
|
96
103
|
export { default as ExperimentDataViewer } from './ExperimentDataViewer.vue';
|
|
97
104
|
export { default as ExperimentCodeBadge } from './ExperimentCodeBadge.vue';
|
|
98
105
|
export { default as DateTimePicker } from './DateTimePicker.vue';
|
|
106
|
+
/** Paired start/end time pickers that validate range order and display computed duration. @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; use `TimePicker` instead. */
|
|
99
107
|
export { default as TimeRangeInput } from './TimeRangeInput.vue';
|
|
100
108
|
export { default as ScheduleCalendar } from './ScheduleCalendar.vue';
|
|
109
|
+
/** Card displaying a lab resource with availability status, specs, tags, and a book action. @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; no platform replacement is planned. */
|
|
101
110
|
export { default as ResourceCard } from './ResourceCard.vue';
|
|
102
111
|
export { default as SectionCard } from './SectionCard.vue';
|
|
103
112
|
export { default as ExperimentSelectorModal } from './ExperimentSelectorModal.vue';
|