@morscherlab/mint-sdk 1.3.9 → 1.4.0-beta.1
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 +152 -177
- package/dist/ActionMenu-CScINahU.js +445 -0
- package/dist/ActionMenu-CScINahU.js.map +1 -0
- package/dist/AppSidebar-BmiiPfz9.js +3514 -0
- package/dist/AppSidebar-BmiiPfz9.js.map +1 -0
- package/dist/{experiment-utils-DTANyVKV.js → BaseModal-DfRIuVoj.js} +74 -149
- package/dist/BaseModal-DfRIuVoj.js.map +1 -0
- package/dist/ConfirmDialog-CJ7hqYUP.js +102 -0
- package/dist/ConfirmDialog-CJ7hqYUP.js.map +1 -0
- package/dist/ExperimentPopover-C4sGw-is.js +359 -0
- package/dist/ExperimentPopover-C4sGw-is.js.map +1 -0
- package/dist/ExperimentSelectorModal-D-9z7cNx.js +527 -0
- package/dist/ExperimentSelectorModal-D-9z7cNx.js.map +1 -0
- package/dist/SegmentedControl-DERBN-Xd.js +129 -0
- package/dist/SegmentedControl-DERBN-Xd.js.map +1 -0
- package/dist/SettingsModal-CSLE31yg.js +666 -0
- package/dist/SettingsModal-CSLE31yg.js.map +1 -0
- package/dist/analysisArtifactTypes-Cy3D0Ipg.js.map +1 -1
- package/dist/auth-SliLnFre.js +65 -0
- package/dist/auth-SliLnFre.js.map +1 -0
- package/dist/components/ActionMenu.vue.d.ts +1 -1
- package/dist/components/AdductText.vue.d.ts +1 -1
- package/dist/components/AlertBox.vue.d.ts +3 -3
- package/dist/components/AppContainer.vue.d.ts +1 -1
- package/dist/components/AppSidebar.vue.d.ts +14 -94
- package/dist/components/AppTopBar.vue.d.ts +16 -70
- package/dist/components/ArtifactSaveDialog.vue.d.ts +4 -4
- package/dist/components/ArtifactSelectorModal.vue.d.ts +4 -4
- package/dist/components/AuditTrail.vue.d.ts +2 -2
- package/dist/components/BaseButton.vue.d.ts +11 -4
- package/dist/components/BaseCheckbox.vue.d.ts +9 -3
- package/dist/components/BaseInput.vue.d.ts +13 -9
- package/dist/components/BaseModal.vue.d.ts +4 -4
- package/dist/components/BasePill.vue.d.ts +15 -8
- package/dist/components/BaseRadioGroup.vue.d.ts +2 -2
- package/dist/components/BaseSelect.vue.d.ts +51 -19
- package/dist/components/BaseTabs.vue.d.ts +6 -5
- package/dist/components/BatchProgressList.vue.d.ts +2 -2
- package/dist/components/ChartContainer.vue.d.ts +2 -2
- package/dist/components/ChemicalFormula.vue.d.ts +2 -2
- package/dist/components/CollapsibleCard.vue.d.ts +3 -3
- package/dist/components/ComponentBindingRenderer.vue.d.ts +2 -3
- package/dist/components/ConcentrationInput.vue.d.ts +2 -2
- package/dist/components/ConfirmDialog.vue.d.ts +8 -7
- package/dist/components/DataFrame.vue.d.ts +32 -74
- package/dist/components/DatePicker.vue.d.ts +24 -2
- package/dist/components/DoseCalculator.vue.d.ts +1 -1
- package/dist/components/DoseCalculatorVolumeField.vue.d.ts +1 -1
- package/dist/components/EmptyState.vue.d.ts +3 -2
- package/dist/components/ExperimentSelectorModal.vue.d.ts +3 -3
- package/dist/components/FormBuilder.vue.d.ts +17 -74
- package/dist/components/FormulaInput.vue.d.ts +2 -2
- package/dist/components/GeneratedPluginView.vue.d.ts +1 -1
- package/dist/components/GeneratedResultRenderer.vue.d.ts +5 -1
- package/dist/components/{StatusIndicator.vue.d.ts → InstrumentStatusPanels.vue.d.ts} +8 -9
- package/dist/components/JobsStatusTray.vue.d.ts +2 -9
- package/dist/components/LoadingSpinner.vue.d.ts +3 -3
- package/dist/components/MoleculeInput.vue.d.ts +2 -2
- package/dist/components/NumberInput.vue.d.ts +19 -5
- package/dist/components/PlateEditor.vue.d.ts +11 -61
- package/dist/components/PlotlyChart.vue.d.ts +2 -2
- package/dist/components/PluginIcon.vue.d.ts +5 -1
- package/dist/components/PluginWorkspaceView.controls.d.ts +2 -9
- package/dist/components/PluginWorkspaceView.navigation.d.ts +1 -7
- package/dist/components/PluginWorkspaceView.props.d.ts +18 -137
- package/dist/components/PluginWorkspaceView.shell.d.ts +2 -10
- package/dist/components/PluginWorkspaceView.vue.d.ts +14 -84
- package/dist/components/PresenceAvatars.vue.d.ts +31 -0
- package/dist/components/ProgressBar.vue.d.ts +3 -2
- package/dist/components/ProtocolStep.presentation.d.ts +0 -1
- package/dist/components/SampleHierarchyTree.vue.d.ts +3 -3
- package/dist/components/SampleSelector.vue.d.ts +3 -3
- package/dist/components/ScheduleCalendar.vue.d.ts +1 -1
- package/dist/components/ScientificNumber.vue.d.ts +1 -1
- package/dist/components/SecretInput.vue.d.ts +2 -2
- package/dist/components/SegmentedControl.vue.d.ts +2 -2
- package/dist/components/SequenceInput.vue.d.ts +2 -2
- package/dist/components/SettingsModal.vue.d.ts +12 -20
- package/dist/components/SmartGroup.types.d.ts +0 -1
- package/dist/components/SmartGroupFieldRecipe.vue.d.ts +1 -1
- package/dist/components/StaleFormBanner.vue.d.ts +20 -0
- package/dist/components/TagsInput.vue.d.ts +4 -3
- package/dist/components/TimeRangeInput.vue.d.ts +2 -2
- package/dist/components/VersionConflictDialog.vue.d.ts +24 -0
- package/dist/components/WellPlate.geometry.d.ts +0 -6
- package/dist/components/WellPlate.rendering.d.ts +0 -2
- package/dist/components/WellPlate.vue.d.ts +7 -52
- package/dist/components/index.d.ts +0 -90
- package/dist/components/{AutoGroupModal.adapter.d.ts → internal/AutoGroupModalInternal.adapter.d.ts} +6 -6
- package/dist/components/{AutoGroupModal.vue.d.ts → internal/AutoGroupModalInternal.vue.d.ts} +6 -6
- package/dist/components/{BaseToggle.vue.d.ts → internal/CheckboxSwitchInternal.vue.d.ts} +2 -2
- package/dist/components/internal/DatePickerDateInternal.vue.d.ts +22 -0
- package/dist/components/{DateTimePicker.vue.d.ts → internal/DatePickerDateTimeInternal.vue.d.ts} +2 -2
- package/dist/components/{TimePicker.vue.d.ts → internal/DatePickerTimeInternal.vue.d.ts} +3 -3
- package/dist/components/internal/FilePickerListInternal.vue.d.ts +2 -2
- package/dist/components/internal/FormSchemaInternal.vue.d.ts +95 -0
- package/dist/components/{UnitInput.vue.d.ts → internal/NumberUnitInputInternal.vue.d.ts} +6 -14
- package/dist/components/internal/PlateEditorBindingInternal.vue.d.ts +3 -2
- package/dist/components/internal/ResourcePickerListInternal.vue.d.ts +3 -3
- package/dist/components/{MultiSelect.vue.d.ts → internal/SelectMultipleInternal.vue.d.ts} +11 -8
- package/dist/components/{SearchableSelect.vue.d.ts → internal/SelectSearchableInternal.vue.d.ts} +5 -2
- package/dist/components/internal/WorkspaceShellInternal.vue.d.ts +1 -15
- package/dist/components/internal/WorkspaceSidebarInternal.vue.d.ts +4 -4
- package/dist/{composables → components/internal}/autoGroup/classKey.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/classify.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/columns.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/compose.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/cooccurrence.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/csv-shim.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/fingerprint.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/template.d.ts +1 -1
- package/dist/{composables → components/internal}/autoGroup/tokenLength.d.ts +1 -1
- package/dist/components/internal/generatedJobsApi.d.ts +1 -1
- package/dist/{composables → components/internal}/useAutoGroup.d.ts +9 -18
- package/dist/composables/componentSpecs.d.ts +41 -0
- package/dist/composables/controlComponentBindings.d.ts +6 -0
- package/dist/composables/controlSchemaAdapters.d.ts +28 -2
- package/dist/composables/controlSchemaDoseDesign.d.ts +1 -1
- package/dist/composables/controlSchemaModel.d.ts +1 -1
- package/dist/composables/controlSchemaTypes.d.ts +35 -23
- package/dist/composables/{usePluginClient.d.ts → createClient.d.ts} +20 -49
- package/dist/composables/{useEventStream.d.ts → eventStream.d.ts} +2 -2
- package/dist/composables/experiment-utils.d.ts +1 -6
- package/dist/composables/index.d.ts +6 -59
- package/dist/composables/platformContextHelpers.d.ts +0 -11
- package/dist/composables/pluginEndpointBuilder.d.ts +2 -2
- package/dist/composables/pluginWorkspaceModel.d.ts +14 -97
- package/dist/composables/useApi.d.ts +1 -3
- package/dist/composables/useAppExperiment.d.ts +1 -1
- package/dist/composables/{useAnalysisArtifacts.d.ts → useArtifacts.d.ts} +6 -6
- package/dist/composables/useExperiment.d.ts +30 -0
- package/dist/composables/useFilePicker.d.ts +2 -2
- package/dist/composables/useJobCenter.d.ts +63 -0
- package/dist/composables/{useGeneratedAnalysis.d.ts → useJobsEndpoint.d.ts} +22 -23
- package/dist/composables/useMenuKeyboard.d.ts +1 -1
- package/dist/composables/usePlatform.d.ts +63 -0
- package/dist/composables/usePluginWorkspace.d.ts +6 -11
- package/dist/composables/usePresence.d.ts +41 -0
- package/dist/composables/useRackEditor.d.ts +2 -2
- package/dist/composables/useRealtime.d.ts +71 -0
- package/dist/composables/{useRequestSyncState.d.ts → useRequest.d.ts} +12 -17
- package/dist/composables/useToast.d.ts +7 -5
- package/dist/composables/useVersionedSave.d.ts +76 -0
- package/dist/controlSchemaModel-CP5-_nAj.js +95 -0
- package/dist/controlSchemaModel-CP5-_nAj.js.map +1 -0
- package/dist/data-C2PwI_dn.js +3811 -0
- package/dist/data-C2PwI_dn.js.map +1 -0
- package/dist/data.d.ts +32 -0
- package/dist/data.js +10 -0
- package/dist/deprecatedRootExports.d.ts +191 -0
- package/dist/experiment-43OJtH7R.js +673 -0
- package/dist/experiment-43OJtH7R.js.map +1 -0
- package/dist/experimentStatus-BZmU4czV.js +60 -0
- package/dist/experimentStatus-BZmU4czV.js.map +1 -0
- package/dist/host.d.ts +10 -0
- package/dist/host.js +26 -0
- package/dist/host.js.map +1 -0
- package/dist/index.d.ts +1 -12
- package/dist/index.js +65 -277
- package/dist/index.js.map +1 -1
- package/dist/install-DAID6c2-.js +668 -0
- package/dist/install-DAID6c2-.js.map +1 -0
- package/dist/install.d.ts +2 -1
- package/dist/install.js +1 -21
- package/dist/instrument.d.ts +0 -6
- package/dist/lab-DLwRl_Ql.js +7513 -0
- package/dist/lab-DLwRl_Ql.js.map +1 -0
- package/dist/lab.d.ts +42 -0
- package/dist/lab.js +4 -0
- package/dist/permissions.d.ts +0 -4
- package/dist/permissions.js +1 -20
- package/dist/permissions.js.map +1 -1
- package/dist/records-BzTcxekG.js +3070 -0
- package/dist/records-BzTcxekG.js.map +1 -0
- package/dist/runtime-D6gVat6r.js +1495 -0
- package/dist/runtime-D6gVat6r.js.map +1 -0
- package/dist/runtime.d.ts +25 -0
- package/dist/runtime.js +8 -0
- package/dist/shell-5ju97nOS.js +197 -0
- package/dist/shell-5ju97nOS.js.map +1 -0
- package/dist/shell.d.ts +16 -0
- package/dist/shell.js +8 -0
- package/dist/stores/auth.d.ts +13 -35
- package/dist/stores/experiment.d.ts +4 -0
- package/dist/stores/index.js +2 -2
- package/dist/styles.css +12030 -14845
- package/dist/types/analysisArtifactTypes.d.ts +1 -1
- package/dist/types/auth.d.ts +0 -8
- package/dist/types/componentLabTypes.d.ts +98 -34
- package/dist/types/componentWorkflowTypes.d.ts +0 -27
- package/dist/types/components.d.ts +145 -74
- package/dist/types/form-builder.d.ts +4 -0
- package/dist/types/generated/platformContext.d.ts +52 -0
- package/dist/types/generated-ui.d.ts +2 -2
- package/dist/types/index.d.ts +4 -5
- package/dist/types/instrument.d.ts +41 -0
- package/dist/types/platform.d.ts +20 -58
- package/dist/useDebouncedWatch-BPwyl6eS.js +73 -0
- package/dist/useDebouncedWatch-BPwyl6eS.js.map +1 -0
- package/dist/useExpansionSet-CvoNMZJi.js +68 -0
- package/dist/useExpansionSet-CvoNMZJi.js.map +1 -0
- package/dist/useExperimentSamples-CxcnxZ8h.js +366 -0
- package/dist/useExperimentSamples-CxcnxZ8h.js.map +1 -0
- package/dist/useListReorder-CcbEYxX-.js +5462 -0
- package/dist/useListReorder-CcbEYxX-.js.map +1 -0
- package/dist/useRackEditor-BD5NIo5s.js +5916 -0
- package/dist/useRackEditor-BD5NIo5s.js.map +1 -0
- package/dist/useRealtime-PalKue84.js +696 -0
- package/dist/useRealtime-PalKue84.js.map +1 -0
- package/dist/useRequest-D5JDfsgZ.js +76 -0
- package/dist/useRequest-D5JDfsgZ.js.map +1 -0
- package/dist/utils/color.d.ts +0 -5
- package/dist/{composables/useDoseCalculator.d.ts → utils/dose.d.ts} +10 -13
- package/dist/utils/experimentStatus.d.ts +9 -0
- package/dist/{composables/useChemicalFormula.d.ts → utils/formula.d.ts} +3 -6
- package/dist/utils/integrationHost.d.ts +18 -0
- package/dist/utils/plotlyTemplate.d.ts +2 -0
- package/dist/utils/pluginSecrets.d.ts +12 -12
- package/dist/utils/presenceAvatars.d.ts +30 -0
- package/dist/utils/records.d.ts +0 -2
- package/dist/{composables/useTimeUtils.d.ts → utils/time.d.ts} +0 -18
- package/package.json +20 -17
- package/src/__tests__/components/ActionMenu.test.ts +0 -13
- package/src/__tests__/components/AlertBox.test.ts +1 -1
- package/src/__tests__/components/AppSidebar.test.ts +119 -167
- package/src/__tests__/components/AppToastContainer.test.ts +2 -2
- package/src/__tests__/components/AppTopBar.test.ts +181 -176
- package/src/__tests__/components/ArtifactSaveDialog.test.ts +5 -3
- package/src/__tests__/components/ArtifactSelectorModal.test.ts +6 -4
- package/src/__tests__/components/AuditTrail.test.ts +1 -1
- package/src/__tests__/components/AutoGroupModal.adapter.test.ts +1 -1
- package/src/__tests__/components/AutoGroupModal.anatomy.test.ts +2 -2
- package/src/__tests__/components/AutoGroupModal.wiring.test.ts +2 -2
- package/src/__tests__/components/BaseButton.test.ts +51 -0
- package/src/__tests__/components/{BaseToggle.test.ts → BaseCheckbox.switch.test.ts} +8 -6
- package/src/__tests__/components/BaseInput.test.ts +13 -34
- package/src/__tests__/components/BaseModal.test.ts +6 -6
- package/src/__tests__/components/BasePill.test.ts +33 -39
- package/src/__tests__/components/{MultiSelect.test.ts → BaseSelect.multiple.test.ts} +16 -7
- package/src/__tests__/components/{SearchableSelect.test.ts → BaseSelect.searchable.test.ts} +19 -9
- package/src/__tests__/components/BaseSelect.test.ts +10 -0
- package/src/__tests__/components/BaseTabs.test.ts +13 -13
- package/src/__tests__/components/CollapsibleCard.test.ts +1 -1
- package/src/__tests__/components/ComponentBindingRenderer.test.ts +25 -73
- package/src/__tests__/components/ConcentrationInput.test.ts +3 -3
- package/src/__tests__/components/ConfirmDialog.test.ts +23 -0
- package/src/__tests__/components/DataFrame.test.ts +140 -142
- package/src/__tests__/components/DataStates.test.ts +6 -22
- package/src/__tests__/components/{DateTimePicker.test.ts → DatePicker.datetime.test.ts} +9 -7
- package/src/__tests__/components/{TimePicker.test.ts → DatePicker.time.test.ts} +18 -17
- package/src/__tests__/components/DoseCalculator.test.ts +12 -7
- package/src/__tests__/components/DoseCalculatorVolumeField.test.ts +6 -6
- package/src/__tests__/components/ExperimentSelectorModal.test.ts +15 -15
- package/src/__tests__/components/FormBuilder.test.ts +49 -167
- package/src/__tests__/components/FormSchemaInternal.test.ts +91 -0
- package/src/__tests__/components/GeneratedPathInput.test.ts +18 -13
- package/src/__tests__/components/GeneratedPluginView.test.ts +38 -24
- package/src/__tests__/components/GeneratedResultRenderer.test.ts +6 -4
- package/src/__tests__/components/InstrumentStatusPanels.test.ts +79 -0
- package/src/__tests__/components/JobsStatusTray.test.ts +4 -4
- package/src/__tests__/components/NumberInput.test.ts +28 -0
- package/src/__tests__/components/{UnitInput.test.ts → NumberInput.units.test.ts} +6 -6
- package/src/__tests__/components/PlateEditor.test.ts +108 -108
- package/src/__tests__/components/PlateEditorBindingInternal.test.ts +13 -13
- package/src/__tests__/components/PlotlyChart.test.ts +1 -1
- package/src/__tests__/components/PluginIcon.test.ts +9 -4
- package/src/__tests__/components/PluginWorkspaceView.controls.test.ts +16 -29
- package/src/__tests__/components/PluginWorkspaceView.internal.test.ts +28 -34
- package/src/__tests__/components/PluginWorkspaceView.navigation.test.ts +4 -19
- package/src/__tests__/components/PluginWorkspaceView.shell.test.ts +1 -6
- package/src/__tests__/components/PluginWorkspaceView.test.ts +176 -155
- package/src/__tests__/components/PresenceAvatars.test.ts +90 -0
- package/src/__tests__/components/ProtocolStep.presentation.test.ts +1 -3
- package/src/__tests__/components/ProtocolStepEditor.test.ts +10 -11
- package/src/__tests__/components/ProtocolStepParameterField.test.ts +8 -7
- package/src/__tests__/components/ResourcePickerListInternal.test.ts +2 -2
- package/src/__tests__/components/RetiredStyles.test.ts +0 -18
- package/src/__tests__/components/SampleSelector.test.ts +17 -17
- package/src/__tests__/components/SecretInput.test.ts +14 -19
- package/src/__tests__/components/SettingsModal.test.ts +76 -84
- package/src/__tests__/components/StaleFormBanner.test.ts +48 -0
- package/src/__tests__/components/ThemeToggle.test.ts +1 -1
- package/src/__tests__/components/WellPlate.decoration.test.ts +10 -8
- package/src/__tests__/components/WellPlate.interaction.test.ts +6 -7
- package/src/__tests__/components/WellPlate.keyboard.test.ts +2 -2
- package/src/__tests__/components/deprecationTags.test.ts +90 -0
- package/src/__tests__/composables/analysisArtifactTarget.test.ts +1 -12
- package/src/__tests__/composables/autoGroup/classKey.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/classify.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/columns.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/compose.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/cooccurrence.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/fieldEdits.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/fingerprint.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/golden.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/groupByOrder.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/groupTree.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/integration.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/template.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/tokenLength.test.ts +1 -1
- package/src/__tests__/composables/autoGroup/tokenize.test.ts +1 -1
- package/src/__tests__/composables/{usePluginClient.test.ts → createClient.test.ts} +84 -222
- package/src/__tests__/composables/{useEventStream.test.ts → eventStream.test.ts} +6 -6
- package/src/__tests__/composables/experiment-utils.test.ts +13 -14
- package/src/__tests__/composables/useApi.test.ts +32 -21
- package/src/__tests__/composables/useAppExperiment.test.ts +19 -2
- package/src/__tests__/composables/{useAnalysisArtifacts.test.ts → useArtifacts.test.ts} +19 -27
- package/src/__tests__/composables/useAutoGroup.test.ts +3 -13
- package/src/__tests__/composables/useControlSchema.test.ts +41 -99
- package/src/__tests__/composables/useExperiment.test.ts +63 -0
- package/src/__tests__/composables/useFileBrowser.test.ts +4 -6
- package/src/__tests__/composables/{useJobsStatusTray.test.ts → useJobCenter.test.ts} +31 -31
- package/src/__tests__/composables/{useGeneratedAnalysis.test.ts → useJobsEndpoint.test.ts} +213 -139
- package/src/__tests__/composables/usePlatform.test.ts +102 -0
- package/src/__tests__/composables/usePresence.test.ts +164 -0
- package/src/__tests__/composables/useRackEditor.test.ts +2 -2
- package/src/__tests__/composables/useRealtime.test.ts +196 -0
- package/src/__tests__/composables/{useRequestSyncState.test.ts → useRequest.test.ts} +32 -47
- package/src/__tests__/composables/useVersionedSave.test.ts +194 -0
- package/src/__tests__/docs/extractDocsComponents.test.ts +36 -0
- package/src/__tests__/docs/extractDocsParsing.test.ts +2 -2
- package/src/__tests__/docs/extractDocsTheme.test.ts +1 -46
- package/src/__tests__/docs/frontendDocsCatalog.test.ts +164 -84
- package/src/__tests__/styles/baseControlsRules.test.ts +1 -1
- package/src/__tests__/styles/darkModeRules.test.ts +0 -6
- package/src/__tests__/{composables/useChemicalFormula.test.ts → utils/formula.test.ts} +3 -5
- package/src/__tests__/utils/permissions.test.ts +1 -36
- package/src/__tests__/utils/plotlyTemplate.test.ts +16 -1
- package/src/__tests__/{composables/useTimeUtils.test.ts → utils/time.test.ts} +2 -9
- package/src/components/ActionMenu.vue +7 -13
- package/src/components/AlertBox.story.vue +25 -25
- package/src/components/AlertBox.vue +8 -8
- package/src/components/AppLayout.story.vue +33 -44
- package/src/components/AppLayout.vue +1 -1
- package/src/components/AppSidebar.story.vue +40 -73
- package/src/components/AppSidebar.vue +66 -147
- package/src/components/AppToastContainer.story.vue +1 -1
- package/src/components/AppTopBar.story.vue +51 -100
- package/src/components/AppTopBar.vue +74 -198
- package/src/components/ArtifactSaveDialog.story.vue +9 -9
- package/src/components/ArtifactSaveDialog.vue +23 -26
- package/src/components/ArtifactSelectorModal.story.vue +4 -4
- package/src/components/ArtifactSelectorModal.vue +10 -10
- package/src/components/AuditTrail.story.vue +4 -4
- package/src/components/AuditTrail.vue +3 -3
- package/src/components/Avatar.story.vue +2 -3
- package/src/components/Avatar.vue +1 -2
- package/src/components/BaseButton.story.vue +25 -0
- package/src/components/BaseButton.vue +39 -10
- package/src/components/BaseCheckbox.story.vue +2 -2
- package/src/components/{BaseToggle.story.vue → BaseCheckbox.switch.story.vue} +22 -19
- package/src/components/BaseCheckbox.vue +39 -7
- package/src/components/BaseInput.story.vue +3 -15
- package/src/components/{BaseTextarea.story.vue → BaseInput.textarea.story.vue} +14 -10
- package/src/components/BaseInput.vue +53 -26
- package/src/components/BaseModal.story.vue +11 -11
- package/src/components/BaseModal.vue +8 -8
- package/src/components/BasePill.story.vue +48 -28
- package/src/components/BasePill.vue +22 -11
- package/src/components/BaseRadioGroup.story.vue +4 -4
- package/src/components/BaseRadioGroup.vue +3 -3
- package/src/components/{MultiSelect.story.vue → BaseSelect.multiple.story.vue} +20 -14
- package/src/components/{SearchableSelect.story.vue → BaseSelect.searchable.story.vue} +4 -4
- package/src/components/BaseSelect.story.vue +2 -2
- package/src/components/BaseSelect.vue +117 -22
- package/src/components/BaseTabs.story.vue +20 -20
- package/src/components/BaseTabs.vue +17 -9
- package/src/components/BatchProgressList.vue +3 -3
- package/src/components/ChartContainer.story.vue +8 -13
- package/src/components/ChartContainer.vue +3 -3
- package/src/components/ChemicalFormula.vue +1 -2
- package/src/components/CollapsibleCard.vue +5 -4
- package/src/components/ComponentBindingRenderer.story.vue +0 -29
- package/src/components/ComponentBindingRenderer.vue +15 -39
- package/src/components/ConcentrationInput.story.vue +2 -2
- package/src/components/ConcentrationInput.vue +9 -9
- package/src/components/ConfirmDialog.story.vue +21 -21
- package/src/components/ConfirmDialog.vue +15 -14
- package/src/components/DataFrame.story.vue +28 -40
- package/src/components/DataFrame.vue +112 -128
- package/src/components/{DateTimePicker.story.vue → DatePicker.datetime.story.vue} +19 -14
- package/src/components/DatePicker.story.vue +2 -2
- package/src/components/{TimePicker.story.vue → DatePicker.time.story.vue} +15 -12
- package/src/components/DatePicker.vue +82 -220
- package/src/components/DoseCalculator.vue +13 -19
- package/src/components/DoseCalculatorVolumeField.vue +6 -6
- package/src/components/EmptyState.story.vue +17 -17
- package/src/components/EmptyState.vue +5 -4
- package/src/components/ExperimentPopover.story.vue +1 -1
- package/src/components/ExperimentPopover.vue +4 -4
- package/src/components/ExperimentSelectorModal.story.vue +5 -5
- package/src/components/ExperimentSelectorModal.vue +11 -13
- package/src/components/FilePicker.vue +1 -1
- package/src/components/FormBuilder.story.vue +9 -4
- package/src/components/FormBuilder.vue +46 -253
- package/src/components/FormField.story.vue +1 -2
- package/src/components/FormulaInput.story.vue +2 -2
- package/src/components/FormulaInput.vue +5 -6
- package/src/components/GeneratedPathInput.vue +8 -9
- package/src/components/GeneratedPluginView.story.vue +1 -1
- package/src/components/GeneratedPluginView.vue +23 -22
- package/src/components/GeneratedResultRenderer.vue +16 -17
- package/src/components/InstrumentStatusPanels.story.vue +64 -0
- package/src/components/InstrumentStatusPanels.vue +133 -0
- package/src/components/JobsStatusTray.story.vue +2 -2
- package/src/components/JobsStatusTray.vue +4 -19
- package/src/components/LoadingSpinner.story.vue +11 -11
- package/src/components/LoadingSpinner.vue +6 -4
- package/src/components/MoleculeInput.story.vue +2 -2
- package/src/components/MoleculeInput.vue +3 -3
- package/src/components/NumberInput.story.vue +55 -15
- package/src/components/NumberInput.vue +80 -18
- package/src/components/PlateEditor.story.vue +51 -43
- package/src/components/PlateEditor.vue +97 -128
- package/src/components/PlotlyChart.story.vue +1 -1
- package/src/components/PlotlyChart.vue +6 -4
- package/src/components/PluginIcon.story.vue +9 -6
- package/src/components/PluginIcon.vue +7 -2
- package/src/components/PluginWorkspaceView.controls.ts +9 -29
- package/src/components/PluginWorkspaceView.navigation.ts +2 -23
- package/src/components/PluginWorkspaceView.props.ts +17 -151
- package/src/components/PluginWorkspaceView.shell.ts +13 -24
- package/src/components/PluginWorkspaceView.story.vue +64 -62
- package/src/components/PluginWorkspaceView.vue +21 -78
- package/src/components/PresenceAvatars.story.vue +75 -0
- package/src/components/PresenceAvatars.vue +114 -0
- package/src/components/ProgressBar.story.vue +7 -7
- package/src/components/ProgressBar.vue +4 -3
- package/src/components/ProtocolStep.presentation.ts +0 -11
- package/src/components/ProtocolStepEditor.vue +6 -5
- package/src/components/ProtocolStepParameterField.vue +15 -12
- package/src/components/SampleSelector.colors.ts +1 -1
- package/src/components/SampleSelector.vue +6 -6
- package/src/components/ScheduleCalendar.vue +4 -4
- package/src/components/SecretInput.story.vue +1 -1
- package/src/components/SecretInput.vue +16 -25
- package/src/components/SegmentedControl.story.vue +7 -7
- package/src/components/SegmentedControl.vue +5 -3
- package/src/components/SequenceInput.story.vue +2 -2
- package/src/components/SequenceInput.vue +3 -3
- package/src/components/SettingsModal.story.vue +13 -14
- package/src/components/SettingsModal.vue +29 -47
- package/src/components/SmartGroup.types.ts +4 -6
- package/src/components/SmartGroupFieldRecipe.vue +7 -5
- package/src/components/StaleFormBanner.story.vue +90 -0
- package/src/components/StaleFormBanner.vue +83 -0
- package/src/components/TagsInput.story.vue +7 -7
- package/src/components/TagsInput.vue +7 -6
- package/src/components/ThemeToggle.vue +5 -30
- package/src/components/TimeRangeInput.story.vue +1 -1
- package/src/components/TimeRangeInput.vue +10 -8
- package/src/components/VersionConflictDialog.story.vue +60 -0
- package/src/components/VersionConflictDialog.vue +79 -0
- package/src/components/WellPlate.geometry.ts +0 -38
- package/src/components/WellPlate.rendering.ts +0 -13
- package/src/components/WellPlate.story.vue +61 -50
- package/src/components/WellPlate.vue +61 -87
- package/src/components/index.ts +3 -105
- package/src/components/{AutoGroupModal.adapter.ts → internal/AutoGroupModalInternal.adapter.ts} +8 -8
- package/src/components/{AutoGroupModal.vue → internal/AutoGroupModalInternal.vue} +23 -23
- package/src/components/{BaseToggle.vue → internal/CheckboxSwitchInternal.vue} +8 -8
- package/src/components/internal/DataStateInternal.vue +1 -1
- package/src/components/internal/DatePickerDateInternal.vue +243 -0
- package/src/components/{DateTimePicker.vue → internal/DatePickerDateTimeInternal.vue} +9 -9
- package/src/components/{TimePicker.vue → internal/DatePickerTimeInternal.vue} +7 -7
- package/src/components/internal/FilePickerListInternal.vue +8 -14
- package/src/components/{FormActions.vue → internal/FormActionsInternal.vue} +2 -2
- package/src/components/internal/FormFieldRendererInternal.vue +1 -1
- package/src/components/internal/FormSchemaInternal.vue +253 -0
- package/src/components/{UnitInput.vue → internal/NumberUnitInputInternal.vue} +28 -28
- package/src/components/internal/PlateEditorBindingInternal.vue +8 -7
- package/src/components/internal/ResourcePickerListInternal.vue +4 -4
- package/src/components/{MultiSelect.vue → internal/SelectMultipleInternal.vue} +21 -15
- package/src/components/{SearchableSelect.vue → internal/SelectSearchableInternal.vue} +24 -8
- package/src/components/internal/WellEditPopupInternal.vue +4 -9
- package/src/components/internal/WorkspaceShellInternal.vue +3 -36
- package/src/components/internal/WorkspaceSidebarInternal.vue +4 -25
- package/src/{composables → components/internal}/autoGroup/classKey.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/classify.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/columns.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/compose.ts +3 -3
- package/src/{composables → components/internal}/autoGroup/cooccurrence.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/csv-shim.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/fingerprint.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/index.ts +1 -2
- package/src/{composables → components/internal}/autoGroup/template.ts +1 -1
- package/src/{composables → components/internal}/autoGroup/tokenLength.ts +1 -1
- package/src/components/internal/generatedJobsApi.ts +1 -1
- package/src/{composables → components/internal}/useAutoGroup.ts +3 -57
- package/src/composables/componentSpecs.ts +62 -0
- package/src/composables/controlComponentBindings.ts +7 -0
- package/src/composables/controlSchemaAdapters.ts +45 -7
- package/src/composables/controlSchemaDoseDesign.ts +16 -5
- package/src/composables/controlSchemaModel.ts +1 -1
- package/src/composables/controlSchemaTypes.ts +31 -22
- package/src/composables/{usePluginClient.ts → createClient.ts} +52 -190
- package/src/composables/{useEventStream.ts → eventStream.ts} +3 -3
- package/src/composables/experiment-utils.ts +1 -39
- package/src/composables/formBuilderRegistry.ts +6 -12
- package/src/composables/index.ts +16 -480
- package/src/composables/platformContextHelpers.ts +0 -57
- package/src/composables/pluginEndpointBuilder.ts +8 -10
- package/src/composables/pluginWorkspaceModel.ts +14 -105
- package/src/composables/useApi.ts +18 -30
- package/src/composables/useAppExperiment.ts +6 -5
- package/src/composables/{useAnalysisArtifacts.ts → useArtifacts.ts} +18 -19
- package/src/composables/useControlSchema.ts +5 -9
- package/src/composables/useControlWorkspace.ts +4 -7
- package/src/composables/useExperiment.ts +49 -0
- package/src/composables/useExperimentData.ts +4 -4
- package/src/composables/useExperimentSelector.ts +5 -5
- package/src/composables/useFileBrowser.ts +5 -13
- package/src/composables/useFilePicker.ts +2 -2
- package/src/composables/useFormBuilder.ts +3 -4
- package/src/composables/useJobCenter.ts +324 -0
- package/src/composables/{useGeneratedAnalysis.ts → useJobsEndpoint.ts} +53 -67
- package/src/composables/useMenuKeyboard.ts +1 -1
- package/src/composables/usePlatform.ts +95 -0
- package/src/composables/usePlatformFilePickerAdapter.ts +2 -1
- package/src/composables/usePluginWorkspace.ts +62 -107
- package/src/composables/usePresence.ts +110 -0
- package/src/composables/useRackEditor.ts +3 -3
- package/src/composables/useRealtime.ts +194 -0
- package/src/composables/{useRequestSyncState.ts → useRequest.ts} +25 -48
- package/src/composables/useScheduleCalendarLayout.ts +1 -1
- package/src/composables/useToast.ts +14 -11
- package/src/composables/useVersionedSave.ts +165 -0
- package/src/data.ts +130 -0
- package/src/deprecatedRootExports.ts +226 -0
- package/src/generated/schema.ts +1 -0
- package/src/host.ts +27 -0
- package/src/index.ts +2 -71
- package/src/install.ts +15 -2
- package/src/instrument.ts +1 -6
- package/src/lab.ts +128 -0
- package/src/permissions.ts +0 -27
- package/src/runtime.ts +145 -0
- package/src/shell.ts +103 -0
- package/src/stores/auth.ts +26 -162
- package/src/stores/experiment.ts +27 -1
- package/src/styles/components/action-menu.css +0 -5
- package/src/styles/components/alert-box.css +18 -0
- package/src/styles/components/app-top-bar.css +7 -48
- package/src/styles/components/button.css +12 -0
- package/src/styles/components/checkbox.css +1 -1
- package/src/styles/components/collapsible-card.css +1 -1
- package/src/styles/components/confirm-dialog.css +18 -2
- package/src/styles/components/empty-state.css +4 -2
- package/src/styles/components/file-picker.css +1 -1
- package/src/styles/components/icon-button.css +1 -1
- package/src/styles/components/loading-spinner.css +9 -12
- package/src/styles/components/multi-select.css +6 -1
- package/src/styles/components/pill.css +40 -35
- package/src/styles/components/plugin-icon.css +9 -0
- package/src/styles/components/presence-avatars.css +194 -0
- package/src/styles/components/progress-bar.css +2 -0
- package/src/styles/components/searchable-select.css +3 -0
- package/src/styles/components/smart-group.css +1 -6
- package/src/styles/components/textarea.css +1 -1
- package/src/styles/components/toggle.css +2 -2
- package/src/styles/components/version-conflict.css +122 -0
- package/src/styles/components/well-plate.css +0 -7
- package/src/styles/index.css +2 -11
- package/src/styles/variables.css +1 -527
- package/src/types/analysisArtifactTypes.ts +1 -1
- package/src/types/auth.ts +0 -10
- package/src/types/componentLabTypes.ts +103 -53
- package/src/types/componentWorkflowTypes.ts +2 -33
- package/src/types/components.ts +148 -114
- package/src/types/form-builder.ts +4 -0
- package/src/types/generated/platformContext.ts +59 -0
- package/src/types/generated-ui.ts +2 -2
- package/src/types/index.ts +15 -53
- package/src/types/instrument.ts +27 -0
- package/src/types/platform.ts +25 -89
- package/src/utils/color.ts +1 -12
- package/src/utils/dose.ts +335 -0
- package/src/utils/experimentStatus.ts +43 -0
- package/src/utils/formula.ts +292 -0
- package/src/utils/integrationHost.ts +27 -0
- package/src/utils/plotlyTemplate.ts +6 -0
- package/src/utils/pluginSecrets.ts +23 -23
- package/src/utils/presenceAvatars.ts +53 -0
- package/src/utils/records.ts +0 -5
- package/src/{composables/useTimeUtils.ts → utils/time.ts} +0 -21
- package/dist/ResourcePickerListInternal-CFAw4vTZ.js +0 -605
- package/dist/ResourcePickerListInternal-CFAw4vTZ.js.map +0 -1
- package/dist/__tests__/composables/useBioTemplatePackWorkspace.test.d.ts +0 -1
- package/dist/__tests__/composables/useBioTemplatePresetWorkspace.test.d.ts +0 -1
- package/dist/__tests__/composables/useBioTemplateWorkspace.test.d.ts +0 -1
- package/dist/__tests__/composables/useChemicalFormula.test.d.ts +0 -1
- package/dist/__tests__/composables/useEventStream.test.d.ts +0 -1
- package/dist/__tests__/composables/useExperimentSave.test.d.ts +0 -1
- package/dist/__tests__/composables/useGeneratedAnalysis.test.d.ts +0 -1
- package/dist/__tests__/composables/useGroupAssignment.test.d.ts +0 -1
- package/dist/__tests__/composables/useJobsStatusTray.test.d.ts +0 -1
- package/dist/__tests__/composables/useMobileSupportGate.test.d.ts +0 -1
- package/dist/__tests__/composables/usePlatformContext.test.d.ts +0 -1
- package/dist/__tests__/composables/usePluginClient.test.d.ts +0 -1
- package/dist/__tests__/composables/usePresenceHeartbeat.test.d.ts +0 -1
- package/dist/__tests__/composables/useRequestSyncState.test.d.ts +0 -1
- package/dist/__tests__/composables/useRuntimeAlignment.test.d.ts +0 -1
- package/dist/__tests__/composables/useTemplateCollection.test.d.ts +0 -1
- package/dist/__tests__/composables/useTimeUtils.test.d.ts +0 -1
- package/dist/__tests__/docs/extractDocsTemplates.test.d.ts +0 -1
- package/dist/__tests__/templates/templates.test.d.ts +0 -1
- package/dist/__tests__/templates/templatesDeprecation.test.d.ts +0 -1
- package/dist/__tests__/utils/lcms.test.d.ts +0 -1
- package/dist/__tests__/utils/rack.test.d.ts +0 -1
- package/dist/components/AppAvatarMenu.vue.d.ts +0 -47
- package/dist/components/AppTopBar.navigation.d.ts +0 -10
- package/dist/components/BaseTextarea.vue.d.ts +0 -31
- package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +0 -112
- package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +0 -86
- package/dist/components/BioTemplatePresetWorkspaceView.vue.d.ts +0 -80
- package/dist/components/BioTemplateRenderer.vue.d.ts +0 -30
- package/dist/components/ControlWorkspaceView.vue.d.ts +0 -138
- package/dist/components/DoseDesignWorkspaceView.vue.d.ts +0 -140
- package/dist/components/ExperimentDataViewer.vue.d.ts +0 -54
- package/dist/components/ExperimentTimeline.vue.d.ts +0 -70
- package/dist/components/FitPanel.vue.d.ts +0 -56
- package/dist/components/GroupAssigner.vue.d.ts +0 -26
- package/dist/components/IconButton.vue.d.ts +0 -30
- package/dist/components/MobileSupportGate.vue.d.ts +0 -32
- package/dist/components/ReagentEditor.vue.d.ts +0 -31
- package/dist/components/ReagentList.presentation.d.ts +0 -17
- package/dist/components/ReagentList.vue.d.ts +0 -58
- package/dist/components/SampleLegend.vue.d.ts +0 -33
- package/dist/components/SmartGroupModal.vue.d.ts +0 -29
- package/dist/components/index.js +0 -5
- package/dist/components-BOA5e7kb.js +0 -23137
- package/dist/components-BOA5e7kb.js.map +0 -1
- package/dist/composables/flattenWorkspaceBindings.d.ts +0 -61
- package/dist/composables/index.js +0 -7
- package/dist/composables/useBioTemplateComponents.d.ts +0 -34
- package/dist/composables/useBioTemplateControls.d.ts +0 -10
- package/dist/composables/useBioTemplatePackWorkspace.d.ts +0 -56
- package/dist/composables/useBioTemplatePresetWorkspace.d.ts +0 -79
- package/dist/composables/useBioTemplateWorkspace.d.ts +0 -39
- package/dist/composables/useExperimentSave.d.ts +0 -69
- package/dist/composables/useGroupAssignment.d.ts +0 -35
- package/dist/composables/useJobsStatusTray.d.ts +0 -87
- package/dist/composables/useMobileSupportGate.d.ts +0 -14
- package/dist/composables/usePlatformContext.d.ts +0 -218
- package/dist/composables/usePresenceHeartbeat.d.ts +0 -49
- package/dist/composables/useRuntimeAlignment.d.ts +0 -44
- package/dist/composables/useTemplateCollection.d.ts +0 -62
- package/dist/composables/workspaceRecipes.d.ts +0 -189
- package/dist/composables-izSQH8Ky.js +0 -591
- package/dist/composables-izSQH8Ky.js.map +0 -1
- package/dist/experiment-D49y_Kro.js +0 -459
- package/dist/experiment-D49y_Kro.js.map +0 -1
- package/dist/experiment-utils-DTANyVKV.js.map +0 -1
- package/dist/install.js.map +0 -1
- package/dist/lcms.d.ts +0 -38
- package/dist/settings-BG6v13Zq.js +0 -341
- package/dist/settings-BG6v13Zq.js.map +0 -1
- package/dist/tailwind.preset.d.ts +0 -63
- package/dist/tailwind.preset.js +0 -71
- package/dist/tailwind.preset.js.map +0 -1
- package/dist/templates/adapters.d.ts +0 -19
- package/dist/templates/assayLookups.d.ts +0 -3
- package/dist/templates/assayMatrixAdapters.d.ts +0 -13
- package/dist/templates/assayMatrixBuilder.d.ts +0 -3
- package/dist/templates/assayNormalizers.d.ts +0 -4
- package/dist/templates/builderIdUtils.d.ts +0 -4
- package/dist/templates/builderPresetControls.d.ts +0 -11
- package/dist/templates/builderReadUtils.d.ts +0 -8
- package/dist/templates/builders.d.ts +0 -26
- package/dist/templates/calibrationCurveAdapters.d.ts +0 -7
- package/dist/templates/calibrationCurveBuilder.d.ts +0 -3
- package/dist/templates/calibrationNormalizers.d.ts +0 -5
- package/dist/templates/catalog.d.ts +0 -192
- package/dist/templates/componentBindingCatalog.d.ts +0 -25
- package/dist/templates/componentBindingHelpers.d.ts +0 -17
- package/dist/templates/componentBindings.d.ts +0 -97
- package/dist/templates/componentDoseResponseProps.d.ts +0 -3
- package/dist/templates/componentGenericProps.d.ts +0 -8
- package/dist/templates/componentPlateHelpers.d.ts +0 -11
- package/dist/templates/componentPlateMapProps.d.ts +0 -3
- package/dist/templates/componentPropsFactory.d.ts +0 -3
- package/dist/templates/componentQpcrPlateProps.d.ts +0 -3
- package/dist/templates/componentTargetResolvers.d.ts +0 -5
- package/dist/templates/componentTemplateProps.d.ts +0 -3
- package/dist/templates/controlSchemaClone.d.ts +0 -4
- package/dist/templates/controlSchemaConstants.d.ts +0 -10
- package/dist/templates/controlSchemaMerge.d.ts +0 -3
- package/dist/templates/controlSchemaTargets.d.ts +0 -17
- package/dist/templates/controlSchemaTypes.d.ts +0 -4
- package/dist/templates/controlSchemas.d.ts +0 -34
- package/dist/templates/defaultBioTemplateBuilder.d.ts +0 -3
- package/dist/templates/doseResponseAdapters.d.ts +0 -6
- package/dist/templates/doseResponseBuilder.d.ts +0 -3
- package/dist/templates/elisaAssayCollectionBuilder.d.ts +0 -3
- package/dist/templates/flowCytometryAssayCollectionBuilder.d.ts +0 -3
- package/dist/templates/flowCytometryPanelBuilder.d.ts +0 -3
- package/dist/templates/flowNormalizers.d.ts +0 -8
- package/dist/templates/flowPanelAdapters.d.ts +0 -7
- package/dist/templates/index.d.ts +0 -15
- package/dist/templates/index.js +0 -2
- package/dist/templates/instrumentRunAdapterHelpers.d.ts +0 -8
- package/dist/templates/instrumentRunAdapters.d.ts +0 -19
- package/dist/templates/instrumentRunBuilder.d.ts +0 -3
- package/dist/templates/lcmsBatchCollectionBuilder.d.ts +0 -3
- package/dist/templates/lookup.d.ts +0 -4
- package/dist/templates/packs.d.ts +0 -21
- package/dist/templates/plateMapAdapters.d.ts +0 -5
- package/dist/templates/plateMapBuilder.d.ts +0 -3
- package/dist/templates/presetControlSchemas.d.ts +0 -534
- package/dist/templates/presets.d.ts +0 -106
- package/dist/templates/protocolAdapters.d.ts +0 -9
- package/dist/templates/protocolNormalizers.d.ts +0 -6
- package/dist/templates/protocolStepsBuilder.d.ts +0 -3
- package/dist/templates/qpcrAdapters.d.ts +0 -9
- package/dist/templates/qpcrExpressionCollectionBuilder.d.ts +0 -3
- package/dist/templates/qpcrPlateBuilder.d.ts +0 -3
- package/dist/templates/reagentAdapters.d.ts +0 -9
- package/dist/templates/reagentListBuilder.d.ts +0 -3
- package/dist/templates/runNormalizers.d.ts +0 -10
- package/dist/templates/sampleNormalizers.d.ts +0 -4
- package/dist/templates/samplePrepAdapters.d.ts +0 -7
- package/dist/templates/samplePrepBuilder.d.ts +0 -3
- package/dist/templates/sampleSheetAdapters.d.ts +0 -9
- package/dist/templates/sampleSheetBuilder.d.ts +0 -3
- package/dist/templates/targetedMetabolomicsCollectionBuilder.d.ts +0 -3
- package/dist/templates/targetedMetabolomicsHelpers.d.ts +0 -5
- package/dist/templates/templateAdapterTypes.d.ts +0 -48
- package/dist/templates/templateControlSchemas.d.ts +0 -400
- package/dist/templates/templateCreateOptions.d.ts +0 -165
- package/dist/templates/templateEnvelopes.d.ts +0 -17
- package/dist/templates/templatePackCollectionBuilder.d.ts +0 -3
- package/dist/templates/templatePresetCollectionBuilder.d.ts +0 -20
- package/dist/templates/templateQpcrTypes.d.ts +0 -42
- package/dist/templates/templateValidators.d.ts +0 -25
- package/dist/templates/timeCourseAdapters.d.ts +0 -9
- package/dist/templates/timeCourseBuilder.d.ts +0 -3
- package/dist/templates/types.d.ts +0 -304
- package/dist/templates/wellPlateScreenCollectionBuilder.d.ts +0 -3
- package/dist/templates/westernBlotAssayCollectionBuilder.d.ts +0 -3
- package/dist/templates-B2DB0MCM.js +0 -12304
- package/dist/templates-B2DB0MCM.js.map +0 -1
- package/dist/utils/rack.d.ts +0 -63
- package/dist/validation-C_eH_vIg.js +0 -7999
- package/dist/validation-C_eH_vIg.js.map +0 -1
- package/src/__tests__/components/AppAvatarMenu.test.ts +0 -186
- package/src/__tests__/components/AppTopBar.navigation.test.ts +0 -68
- package/src/__tests__/components/AppTopBarPresence.test.ts +0 -47
- package/src/__tests__/components/BioTemplateExperimentWorkspaceView.test.ts +0 -159
- package/src/__tests__/components/BioTemplatePackWorkspaceView.test.ts +0 -192
- package/src/__tests__/components/BioTemplatePresetWorkspaceView.test.ts +0 -307
- package/src/__tests__/components/BioTemplateRenderer.test.ts +0 -96
- package/src/__tests__/components/ControlWorkspaceView.test.ts +0 -1100
- package/src/__tests__/components/DoseDesignWorkspaceView.test.ts +0 -183
- package/src/__tests__/components/ExperimentTimeline.test.ts +0 -108
- package/src/__tests__/components/FitPanel.test.ts +0 -96
- package/src/__tests__/components/GroupAssigner.test.ts +0 -101
- package/src/__tests__/components/MobileSupportGate.test.ts +0 -120
- package/src/__tests__/components/ReagentList.presentation.test.ts +0 -73
- package/src/__tests__/components/ReagentList.test.ts +0 -167
- package/src/__tests__/components/SampleLegend.test.ts +0 -18
- package/src/__tests__/components/SmartGroupModal.test.ts +0 -69
- package/src/__tests__/components/WellPlate.sampleTypeIndicator.test.ts +0 -58
- package/src/__tests__/components/iconButtonIconSizing.test.ts +0 -18
- package/src/__tests__/composables/useBioTemplatePackWorkspace.test.ts +0 -125
- package/src/__tests__/composables/useBioTemplatePresetWorkspace.test.ts +0 -199
- package/src/__tests__/composables/useBioTemplateWorkspace.test.ts +0 -104
- package/src/__tests__/composables/useExperimentSave.test.ts +0 -542
- package/src/__tests__/composables/useGroupAssignment.test.ts +0 -73
- package/src/__tests__/composables/useMobileSupportGate.test.ts +0 -74
- package/src/__tests__/composables/usePlatformContext.test.ts +0 -148
- package/src/__tests__/composables/usePresenceHeartbeat.test.ts +0 -164
- package/src/__tests__/composables/useRuntimeAlignment.test.ts +0 -145
- package/src/__tests__/composables/useTemplateCollection.test.ts +0 -147
- package/src/__tests__/docs/extractDocsTemplates.test.ts +0 -53
- package/src/__tests__/fixtures/templates/dose-response.json +0 -81
- package/src/__tests__/fixtures/templates/plate-map.json +0 -54
- package/src/__tests__/fixtures/templates/qpcr-plate.json +0 -96
- package/src/__tests__/fixtures/templates/sample-sheet.json +0 -71
- package/src/__tests__/templates/templates.test.ts +0 -1235
- package/src/__tests__/templates/templatesDeprecation.test.ts +0 -78
- package/src/__tests__/utils/lcms.test.ts +0 -73
- package/src/__tests__/utils/rack.test.ts +0 -120
- package/src/components/AppAvatarMenu.story.vue +0 -155
- package/src/components/AppAvatarMenu.vue +0 -154
- package/src/components/AppTopBar.navigation.ts +0 -60
- package/src/components/AutoGroupModal.story.vue +0 -458
- package/src/components/BaseTextarea.vue +0 -58
- package/src/components/BioTemplateExperimentWorkspaceView.story.vue +0 -123
- package/src/components/BioTemplateExperimentWorkspaceView.vue +0 -339
- package/src/components/BioTemplatePackWorkspaceView.story.vue +0 -107
- package/src/components/BioTemplatePackWorkspaceView.vue +0 -180
- package/src/components/BioTemplatePresetWorkspaceView.story.vue +0 -163
- package/src/components/BioTemplatePresetWorkspaceView.vue +0 -403
- package/src/components/BioTemplateRenderer.story.vue +0 -57
- package/src/components/BioTemplateRenderer.vue +0 -64
- package/src/components/ControlWorkspaceView.story.vue +0 -347
- package/src/components/ControlWorkspaceView.vue +0 -370
- package/src/components/DoseDesignWorkspaceView.story.vue +0 -77
- package/src/components/DoseDesignWorkspaceView.vue +0 -243
- package/src/components/ExperimentDataViewer.story.vue +0 -177
- package/src/components/ExperimentDataViewer.vue +0 -313
- package/src/components/ExperimentTimeline.story.vue +0 -208
- package/src/components/ExperimentTimeline.vue +0 -383
- package/src/components/FitPanel.story.vue +0 -191
- package/src/components/FitPanel.vue +0 -168
- package/src/components/FormActions.story.vue +0 -96
- package/src/components/GroupAssigner.story.vue +0 -83
- package/src/components/GroupAssigner.vue +0 -319
- package/src/components/IconButton.story.vue +0 -140
- package/src/components/IconButton.vue +0 -69
- package/src/components/MobileSupportGate.story.vue +0 -52
- package/src/components/MobileSupportGate.vue +0 -111
- package/src/components/ReagentEditor.story.vue +0 -153
- package/src/components/ReagentEditor.vue +0 -414
- package/src/components/ReagentList.presentation.ts +0 -106
- package/src/components/ReagentList.story.vue +0 -155
- package/src/components/ReagentList.vue +0 -438
- package/src/components/SampleLegend.story.vue +0 -91
- package/src/components/SampleLegend.vue +0 -121
- package/src/components/SmartGroupModal.story.vue +0 -61
- package/src/components/SmartGroupModal.vue +0 -61
- package/src/components/StatusIndicator.story.vue +0 -99
- package/src/components/StatusIndicator.vue +0 -36
- package/src/components/UnitInput.story.vue +0 -194
- package/src/composables/flattenWorkspaceBindings.ts +0 -104
- package/src/composables/useBioTemplateComponents.ts +0 -117
- package/src/composables/useBioTemplateControls.ts +0 -45
- package/src/composables/useBioTemplatePackWorkspace.ts +0 -201
- package/src/composables/useBioTemplatePresetWorkspace.ts +0 -329
- package/src/composables/useBioTemplateWorkspace.ts +0 -120
- package/src/composables/useChemicalFormula.ts +0 -301
- package/src/composables/useDoseCalculator.ts +0 -370
- package/src/composables/useExperimentSave.ts +0 -348
- package/src/composables/useGroupAssignment.ts +0 -152
- package/src/composables/useJobsStatusTray.ts +0 -493
- package/src/composables/useMobileSupportGate.ts +0 -80
- package/src/composables/usePlatformContext.ts +0 -299
- package/src/composables/usePresenceHeartbeat.ts +0 -201
- package/src/composables/useRuntimeAlignment.ts +0 -184
- package/src/composables/useTemplateCollection.ts +0 -233
- package/src/composables/workspaceRecipes.ts +0 -268
- package/src/lcms.ts +0 -119
- package/src/styles/components/app-avatar-menu.css +0 -121
- package/src/styles/components/experiment-data-viewer.css +0 -138
- package/src/styles/components/experiment-timeline.css +0 -572
- package/src/styles/components/fit-panel.css +0 -153
- package/src/styles/components/group-assigner.css +0 -198
- package/src/styles/components/mobile-support-gate.css +0 -117
- package/src/styles/components/reagent-editor.css +0 -501
- package/src/styles/components/reagent-list.css +0 -408
- package/src/styles/components/sample-legend.css +0 -212
- package/src/styles/components/status-indicator.css +0 -66
- package/src/styles/components/theme-toggle.css +0 -6
- package/src/tailwind.preset.ts +0 -66
- package/src/templates/adapters.ts +0 -141
- package/src/templates/assayLookups.ts +0 -33
- package/src/templates/assayMatrixAdapters.ts +0 -85
- package/src/templates/assayMatrixBuilder.ts +0 -60
- package/src/templates/assayNormalizers.ts +0 -34
- package/src/templates/builderIdUtils.ts +0 -20
- package/src/templates/builderPresetControls.ts +0 -166
- package/src/templates/builderReadUtils.ts +0 -55
- package/src/templates/builders.ts +0 -122
- package/src/templates/calibrationCurveAdapters.ts +0 -62
- package/src/templates/calibrationCurveBuilder.ts +0 -100
- package/src/templates/calibrationNormalizers.ts +0 -60
- package/src/templates/catalog.ts +0 -249
- package/src/templates/componentBindingCatalog.ts +0 -90
- package/src/templates/componentBindingHelpers.ts +0 -93
- package/src/templates/componentBindings.ts +0 -279
- package/src/templates/componentDoseResponseProps.ts +0 -41
- package/src/templates/componentGenericProps.ts +0 -77
- package/src/templates/componentPlateHelpers.ts +0 -52
- package/src/templates/componentPlateMapProps.ts +0 -34
- package/src/templates/componentPropsFactory.ts +0 -21
- package/src/templates/componentQpcrPlateProps.ts +0 -27
- package/src/templates/componentTargetResolvers.ts +0 -67
- package/src/templates/componentTemplateProps.ts +0 -78
- package/src/templates/controlSchemaClone.ts +0 -32
- package/src/templates/controlSchemaConstants.ts +0 -11
- package/src/templates/controlSchemaMerge.ts +0 -40
- package/src/templates/controlSchemaTargets.ts +0 -85
- package/src/templates/controlSchemaTypes.ts +0 -20
- package/src/templates/controlSchemas.ts +0 -113
- package/src/templates/defaultBioTemplateBuilder.ts +0 -125
- package/src/templates/doseResponseAdapters.ts +0 -36
- package/src/templates/doseResponseBuilder.ts +0 -45
- package/src/templates/elisaAssayCollectionBuilder.ts +0 -63
- package/src/templates/flowCytometryAssayCollectionBuilder.ts +0 -42
- package/src/templates/flowCytometryPanelBuilder.ts +0 -54
- package/src/templates/flowNormalizers.ts +0 -58
- package/src/templates/flowPanelAdapters.ts +0 -61
- package/src/templates/index.ts +0 -330
- package/src/templates/instrumentRunAdapterHelpers.ts +0 -94
- package/src/templates/instrumentRunAdapters.ts +0 -174
- package/src/templates/instrumentRunBuilder.ts +0 -98
- package/src/templates/lcmsBatchCollectionBuilder.ts +0 -39
- package/src/templates/lookup.ts +0 -18
- package/src/templates/packs.ts +0 -166
- package/src/templates/plateMapAdapters.ts +0 -38
- package/src/templates/plateMapBuilder.ts +0 -44
- package/src/templates/presetControlSchemas.ts +0 -258
- package/src/templates/presets.ts +0 -183
- package/src/templates/protocolAdapters.ts +0 -73
- package/src/templates/protocolNormalizers.ts +0 -37
- package/src/templates/protocolStepsBuilder.ts +0 -37
- package/src/templates/qpcrAdapters.ts +0 -108
- package/src/templates/qpcrExpressionCollectionBuilder.ts +0 -34
- package/src/templates/qpcrPlateBuilder.ts +0 -97
- package/src/templates/reagentAdapters.ts +0 -81
- package/src/templates/reagentListBuilder.ts +0 -31
- package/src/templates/runNormalizers.ts +0 -63
- package/src/templates/sampleNormalizers.ts +0 -58
- package/src/templates/samplePrepAdapters.ts +0 -66
- package/src/templates/samplePrepBuilder.ts +0 -52
- package/src/templates/sampleSheetAdapters.ts +0 -79
- package/src/templates/sampleSheetBuilder.ts +0 -24
- package/src/templates/targetedMetabolomicsCollectionBuilder.ts +0 -80
- package/src/templates/targetedMetabolomicsHelpers.ts +0 -102
- package/src/templates/templateAdapterTypes.ts +0 -58
- package/src/templates/templateControlSchemas.ts +0 -320
- package/src/templates/templateCreateOptions.ts +0 -208
- package/src/templates/templateEnvelopes.ts +0 -145
- package/src/templates/templatePackCollectionBuilder.ts +0 -24
- package/src/templates/templatePresetCollectionBuilder.ts +0 -141
- package/src/templates/templateQpcrTypes.ts +0 -48
- package/src/templates/templateValidators.ts +0 -426
- package/src/templates/timeCourseAdapters.ts +0 -77
- package/src/templates/timeCourseBuilder.ts +0 -65
- package/src/templates/types.ts +0 -493
- package/src/templates/wellPlateScreenCollectionBuilder.ts +0 -37
- package/src/templates/westernBlotAssayCollectionBuilder.ts +0 -69
- package/src/utils/rack.ts +0 -225
- /package/dist/__tests__/components/{AppAvatarMenu.test.d.ts → BaseButton.test.d.ts} +0 -0
- /package/dist/__tests__/components/{AppTopBar.navigation.test.d.ts → BaseCheckbox.switch.test.d.ts} +0 -0
- /package/dist/__tests__/components/{AppTopBarPresence.test.d.ts → BaseSelect.multiple.test.d.ts} +0 -0
- /package/dist/__tests__/components/{BaseToggle.test.d.ts → BaseSelect.searchable.test.d.ts} +0 -0
- /package/dist/__tests__/components/{BioTemplateExperimentWorkspaceView.test.d.ts → ConfirmDialog.test.d.ts} +0 -0
- /package/dist/__tests__/components/{BioTemplatePackWorkspaceView.test.d.ts → DatePicker.datetime.test.d.ts} +0 -0
- /package/dist/__tests__/components/{BioTemplatePresetWorkspaceView.test.d.ts → DatePicker.time.test.d.ts} +0 -0
- /package/dist/__tests__/components/{BioTemplateRenderer.test.d.ts → FormSchemaInternal.test.d.ts} +0 -0
- /package/dist/__tests__/components/{ControlWorkspaceView.test.d.ts → InstrumentStatusPanels.test.d.ts} +0 -0
- /package/dist/__tests__/components/{DateTimePicker.test.d.ts → NumberInput.units.test.d.ts} +0 -0
- /package/dist/__tests__/components/{DoseDesignWorkspaceView.test.d.ts → PresenceAvatars.test.d.ts} +0 -0
- /package/dist/__tests__/components/{ExperimentTimeline.test.d.ts → StaleFormBanner.test.d.ts} +0 -0
- /package/dist/__tests__/components/{FitPanel.test.d.ts → deprecationTags.test.d.ts} +0 -0
- /package/dist/__tests__/{components/GroupAssigner.test.d.ts → composables/createClient.test.d.ts} +0 -0
- /package/dist/__tests__/{components/MobileSupportGate.test.d.ts → composables/eventStream.test.d.ts} +0 -0
- /package/dist/__tests__/{components/MultiSelect.test.d.ts → composables/useArtifacts.test.d.ts} +0 -0
- /package/dist/__tests__/{components/ReagentList.presentation.test.d.ts → composables/useExperiment.test.d.ts} +0 -0
- /package/dist/__tests__/{components/ReagentList.test.d.ts → composables/useJobCenter.test.d.ts} +0 -0
- /package/dist/__tests__/{components/SampleLegend.test.d.ts → composables/useJobsEndpoint.test.d.ts} +0 -0
- /package/dist/__tests__/{components/SearchableSelect.test.d.ts → composables/usePlatform.test.d.ts} +0 -0
- /package/dist/__tests__/{components/SmartGroupModal.test.d.ts → composables/usePresence.test.d.ts} +0 -0
- /package/dist/__tests__/{components/TimePicker.test.d.ts → composables/useRealtime.test.d.ts} +0 -0
- /package/dist/__tests__/{components/UnitInput.test.d.ts → composables/useRequest.test.d.ts} +0 -0
- /package/dist/__tests__/{components/WellPlate.sampleTypeIndicator.test.d.ts → composables/useVersionedSave.test.d.ts} +0 -0
- /package/dist/__tests__/{components/iconButtonIconSizing.test.d.ts → utils/formula.test.d.ts} +0 -0
- /package/dist/__tests__/{composables/useAnalysisArtifacts.test.d.ts → utils/time.test.d.ts} +0 -0
- /package/dist/components/{FormActions.vue.d.ts → internal/FormActionsInternal.vue.d.ts} +0 -0
- /package/dist/{composables → components/internal}/autoGroup/colors.d.ts +0 -0
- /package/dist/{composables → components/internal}/autoGroup/index.d.ts +0 -0
- /package/dist/{composables → components/internal}/autoGroup/tokenize.d.ts +0 -0
- /package/src/{composables → components/internal}/autoGroup/colors.ts +0 -0
- /package/src/{composables → components/internal}/autoGroup/tokenize.ts +0 -0
- /package/src/{composables → components/internal}/autoGroup/vocab.json +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ComputedRef, Ref } from 'vue';
|
|
2
|
-
import { PillNavItem,
|
|
2
|
+
import { PillNavItem, SidebarToolSection, SidebarToolSectionAction, SelectOption, SettingsModalSchema, TopBarSettingsConfig, Tone } from '../types';
|
|
3
3
|
import { AccessPolicy } from '../permissions';
|
|
4
|
-
import { FieldCondition, FieldValidation, FormFieldSchema, FormFieldType, FormSchema, FormSectionSchema } from '../types/form-builder';
|
|
5
|
-
import { WellConcentration } from '
|
|
4
|
+
import { FieldCondition, FieldValidation, FormEnhancements, FormFieldSchema, FormFieldType, FormSchema, FormSectionSchema } from '../types/form-builder';
|
|
5
|
+
import { WellConcentration } from '../utils/dose';
|
|
6
6
|
export type ControlOptionValue = string | number | boolean;
|
|
7
7
|
export type ControlOption = ControlOptionValue | SelectOption<unknown>;
|
|
8
8
|
export type ControlPrimitive = string | number | boolean;
|
|
@@ -18,7 +18,7 @@ export interface ControlSectionConfig {
|
|
|
18
18
|
iconColor?: string;
|
|
19
19
|
iconBg?: string;
|
|
20
20
|
badge?: string | number;
|
|
21
|
-
badgeTone?:
|
|
21
|
+
badgeTone?: Tone;
|
|
22
22
|
actions?: SidebarToolSectionAction[];
|
|
23
23
|
columns?: 1 | 2 | 3;
|
|
24
24
|
condition?: FieldCondition;
|
|
@@ -99,13 +99,20 @@ export interface ControlSchemaOptions {
|
|
|
99
99
|
sectionLabel?: string;
|
|
100
100
|
sections?: Record<string, ControlSectionConfig>;
|
|
101
101
|
columns?: 1 | 2 | 3;
|
|
102
|
+
/** Submit / cancel bar of the generated form; unset or `false` hides it. */
|
|
103
|
+
actions?: boolean | ControlFormActions;
|
|
104
|
+
}
|
|
105
|
+
/** Labels of the generated form's submit / cancel bar. */
|
|
106
|
+
export interface ControlFormActions {
|
|
102
107
|
submitLabel?: string;
|
|
103
108
|
cancelLabel?: string;
|
|
104
109
|
showCancel?: boolean;
|
|
105
110
|
}
|
|
106
111
|
export interface ControlWorkspaceOptions extends ControlSchemaOptions {
|
|
107
112
|
initialValues?: Record<string, unknown>;
|
|
108
|
-
|
|
113
|
+
/** Validators, dynamic options, a submit handler and field callbacks that JSON cannot express. */
|
|
114
|
+
enhancements?: FormEnhancements<Record<string, unknown>>;
|
|
115
|
+
topBarSettings?: Omit<TopBarSettingsConfig, 'spec' | 'values'>;
|
|
109
116
|
}
|
|
110
117
|
export interface ControlModelSectionConfig extends ControlSectionConfig {
|
|
111
118
|
controls: ControlSchema;
|
|
@@ -126,7 +133,7 @@ export interface ControlModel extends Omit<ControlWorkspaceOptions, 'sections' |
|
|
|
126
133
|
componentBindings?: ControlComponentBindingsConfig;
|
|
127
134
|
/** Alias for componentBindings in raw control models. */
|
|
128
135
|
components?: ControlComponentBindingsConfig;
|
|
129
|
-
/** Optional
|
|
136
|
+
/** Optional componentProps mapping returned with the generated controls/options. */
|
|
130
137
|
componentProps?: ControlComponentPropsMap;
|
|
131
138
|
/** Optional named componentProps mappings returned for multiple SDK components. */
|
|
132
139
|
componentPropsById?: ControlComponentPropsByIdMap;
|
|
@@ -138,31 +145,33 @@ export interface ControlModelBinding {
|
|
|
138
145
|
componentProps?: ControlComponentPropsMap;
|
|
139
146
|
componentPropsById?: ControlComponentPropsByIdMap;
|
|
140
147
|
}
|
|
148
|
+
/** AppSidebar props (`v-bind`) for the generated sections and forms. */
|
|
141
149
|
export interface ControlSidebarBinding {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
150
|
+
spec: {
|
|
151
|
+
panels: Record<string, SidebarToolSection[]>;
|
|
152
|
+
forms: Record<string, ControlFormSchema>;
|
|
153
|
+
};
|
|
154
|
+
activeView: string;
|
|
147
155
|
}
|
|
156
|
+
/** FormBuilder props (`v-bind`) for the generated form. */
|
|
148
157
|
export interface ControlFormBinding {
|
|
149
|
-
|
|
158
|
+
spec: ControlModelBinding;
|
|
150
159
|
}
|
|
160
|
+
/** SettingsModal props (`v-bind`) for the generated settings. */
|
|
151
161
|
export interface ControlSettingsBinding {
|
|
152
|
-
|
|
162
|
+
spec: SettingsModalSchema;
|
|
153
163
|
}
|
|
164
|
+
/** AppTopBar props (`v-bind`) for the generated settings button. */
|
|
154
165
|
export interface ControlTopBarSettingsBinding {
|
|
155
|
-
|
|
156
|
-
|
|
166
|
+
spec: {
|
|
167
|
+
settings: TopBarSettingsConfig;
|
|
168
|
+
};
|
|
157
169
|
}
|
|
158
170
|
export interface ControlWorkspaceFormBinding extends ControlFormBinding {
|
|
159
171
|
modelValue: Record<string, unknown>;
|
|
160
172
|
'onUpdate:modelValue': (values: Record<string, unknown>) => void;
|
|
161
173
|
}
|
|
162
174
|
export interface ControlWorkspaceSidebarBinding extends ControlSidebarBinding {
|
|
163
|
-
activeView: string;
|
|
164
|
-
modelValue: Record<string, unknown>;
|
|
165
|
-
'onUpdate:modelValue': (values: Record<string, unknown>) => void;
|
|
166
175
|
values: Record<string, unknown>;
|
|
167
176
|
'onUpdate:values': (values: Record<string, unknown>) => void;
|
|
168
177
|
}
|
|
@@ -174,10 +183,15 @@ export interface ControlWorkspacePillNavBinding {
|
|
|
174
183
|
currentItemId: string;
|
|
175
184
|
onSelect: (item: PillNavItem) => void;
|
|
176
185
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
186
|
+
/** AppTopBar props (`v-bind`) for the generated view pills and settings button. */
|
|
187
|
+
export interface ControlWorkspaceTopBarBinding {
|
|
188
|
+
spec: {
|
|
189
|
+
pills: PillNavItem[];
|
|
190
|
+
settings: TopBarSettingsConfig;
|
|
191
|
+
};
|
|
192
|
+
pill: string;
|
|
180
193
|
onPillSelect: (item: PillNavItem) => void;
|
|
194
|
+
onSettingsValuesChange: (values: Record<string, unknown>) => void;
|
|
181
195
|
}
|
|
182
196
|
export type ControlWorkspaceAppTopBarPillBinding = ControlWorkspaceTopBarBinding;
|
|
183
197
|
export interface ControlWorkspaceComponentBindings {
|
|
@@ -217,8 +231,6 @@ export interface WellPlateControlPropsOptions<TValues extends Record<string, unk
|
|
|
217
231
|
disabled?: ControlComponentPropSource<TValues>;
|
|
218
232
|
readonly?: ControlComponentPropSource<TValues>;
|
|
219
233
|
showLegend?: ControlComponentPropSource<TValues>;
|
|
220
|
-
/** @deprecated WellPlate `showSampleTypeIndicator` is a no-op since MINT 1.3; removed in MINT 1.4. */
|
|
221
|
-
showSampleTypeIndicator?: ControlComponentPropSource<TValues>;
|
|
222
234
|
/** Listener for WellPlate v-model updates. Set false to keep generated props one-way. */
|
|
223
235
|
onUpdateModelValue?: ((values: TValues) => (wellIds: string[]) => void) | false;
|
|
224
236
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ComputedRef, Ref } from 'vue';
|
|
2
|
-
import { EventStreamMessage, UseEventStreamReturn } from './
|
|
3
|
-
import {
|
|
4
|
-
export {
|
|
2
|
+
import { EventStreamMessage, UseEventStreamReturn } from './eventStream';
|
|
3
|
+
import { GeneratedJobDefinition, SettingsModalSchema, TopBarSettingsConfig } from '../types';
|
|
4
|
+
export { buildEndpointUrl, resolvePluginBaseUrl, } from './pluginEndpointBuilder';
|
|
5
5
|
export type PluginHttpMethod = 'get' | 'post' | 'put' | 'patch' | 'delete';
|
|
6
6
|
export interface PluginEndpointContract {
|
|
7
7
|
name: string;
|
|
@@ -30,7 +30,7 @@ export interface PluginNavItemContract {
|
|
|
30
30
|
icon?: string;
|
|
31
31
|
description?: string;
|
|
32
32
|
requiresAuth?: boolean;
|
|
33
|
-
|
|
33
|
+
access?: 'use' | 'configure' | 'admin';
|
|
34
34
|
requiresFeature?: string;
|
|
35
35
|
}
|
|
36
36
|
export interface PluginContractSettings {
|
|
@@ -82,11 +82,11 @@ export type PluginEndpointParamDefinition = string | {
|
|
|
82
82
|
type?: string;
|
|
83
83
|
required?: boolean;
|
|
84
84
|
};
|
|
85
|
-
export interface
|
|
85
|
+
export interface CreateClientOptions {
|
|
86
86
|
endpoints: Record<string, PluginEndpointDefinition>;
|
|
87
87
|
baseUrl?: string;
|
|
88
88
|
}
|
|
89
|
-
export interface
|
|
89
|
+
export interface BuildEndpointUrlOptions {
|
|
90
90
|
/** Override the generated or platform-injected API base URL. */
|
|
91
91
|
baseUrl?: string;
|
|
92
92
|
/** Return only the endpoint path and query string instead of base URL + path. */
|
|
@@ -102,9 +102,11 @@ export interface PluginClientRequestOptions {
|
|
|
102
102
|
/** Cancel the generated endpoint request. */
|
|
103
103
|
signal?: AbortSignal;
|
|
104
104
|
}
|
|
105
|
-
export interface
|
|
105
|
+
export interface DownloadEndpointOptions extends PluginEndpointRequestOptions {
|
|
106
106
|
/** Browser download filename. When omitted, the blob is returned without triggering a download. */
|
|
107
107
|
filename?: string;
|
|
108
|
+
/** Save the blob as `filename` in the browser. Default true; `false` only returns the blob. */
|
|
109
|
+
save?: boolean;
|
|
108
110
|
/** Delay before revoking the object URL after a browser download is triggered. */
|
|
109
111
|
revokeObjectUrlDelayMs?: number;
|
|
110
112
|
}
|
|
@@ -113,7 +115,7 @@ export interface DownloadBlobOptions {
|
|
|
113
115
|
revokeObjectUrlDelayMs?: number;
|
|
114
116
|
}
|
|
115
117
|
export type PluginSettingsValues<TSettings> = Partial<TSettings> & Record<string, unknown>;
|
|
116
|
-
export interface
|
|
118
|
+
export interface UseSettingsEndpointOptions {
|
|
117
119
|
/** Plugin name for platform persistence. Defaults to the integrated platform plugin name. */
|
|
118
120
|
pluginName?: string;
|
|
119
121
|
/** Plugin API base URL for standalone/local settings routes. Generated clients pass pluginApiPrefix. */
|
|
@@ -129,7 +131,7 @@ export interface UsePluginSettingsOptions {
|
|
|
129
131
|
/** Load persisted values on component mount. */
|
|
130
132
|
loadOnMount?: boolean;
|
|
131
133
|
}
|
|
132
|
-
export interface
|
|
134
|
+
export interface UseSettingsEndpointReturn<TSettings = Record<string, unknown>> {
|
|
133
135
|
/** Current typed settings values. */
|
|
134
136
|
settings: ComputedRef<PluginSettingsValues<TSettings>>;
|
|
135
137
|
/** Editable settings values for SettingsModal. */
|
|
@@ -149,8 +151,8 @@ export interface UsePluginSettingsReturn<TSettings = Record<string, unknown>> {
|
|
|
149
151
|
save: (values?: Record<string, unknown>) => Promise<boolean>;
|
|
150
152
|
reset: () => void;
|
|
151
153
|
}
|
|
152
|
-
export type
|
|
153
|
-
export interface
|
|
154
|
+
export type { EventStreamMessage, UseEventStreamReturn } from './eventStream';
|
|
155
|
+
export interface StreamOptions<TData = string> {
|
|
154
156
|
/** Override the generated or platform-injected API base URL. */
|
|
155
157
|
baseUrl?: string;
|
|
156
158
|
/** Start the stream immediately. Defaults to true. */
|
|
@@ -166,56 +168,25 @@ export interface PluginEventStreamOptions<TData = string> {
|
|
|
166
168
|
/** Extra request headers. Authorization is injected unless already supplied. */
|
|
167
169
|
headers?: Record<string, string>;
|
|
168
170
|
onOpen?: () => void;
|
|
169
|
-
onMessage?: (message:
|
|
171
|
+
onMessage?: (message: EventStreamMessage<TData>) => void;
|
|
170
172
|
onError?: (error: unknown) => void;
|
|
171
173
|
}
|
|
172
|
-
export type UsePluginEventStreamReturn<TData = string> = UseEventStreamReturn<TData>;
|
|
173
174
|
export type PluginFormDataValue = string | number | boolean | Blob | null | undefined | Record<string, unknown>;
|
|
174
175
|
export type PluginFormDataPayload = Record<string, PluginFormDataValue | PluginFormDataValue[]>;
|
|
175
|
-
export interface UseCurrentExperimentOptions {
|
|
176
|
-
apiBaseUrl?: string;
|
|
177
|
-
immediate?: boolean;
|
|
178
|
-
}
|
|
179
|
-
export interface UseCurrentExperimentReturn<TExperiment = ExperimentSummary> {
|
|
180
|
-
/** Current experiment id resolved from platform injection or URL conventions. */
|
|
181
|
-
experimentId: ComputedRef<number | undefined>;
|
|
182
|
-
/** Whether a current experiment id is available. */
|
|
183
|
-
hasExperiment: ComputedRef<boolean>;
|
|
184
|
-
/** Current experiment payload, if injected or successfully fetched. */
|
|
185
|
-
experiment: Ref<TExperiment | undefined>;
|
|
186
|
-
/** Whether the current experiment is currently loading. */
|
|
187
|
-
isLoading: Ref<boolean>;
|
|
188
|
-
/** Error message from the last failed current-experiment fetch, or null. */
|
|
189
|
-
error: Ref<string | null>;
|
|
190
|
-
/** Timestamp of the last successful current-experiment fetch, or null. */
|
|
191
|
-
lastLoadedAt: Ref<Date | null>;
|
|
192
|
-
/** Return the current experiment id or throw a clear SDK error when absent. */
|
|
193
|
-
requireExperimentId: () => number;
|
|
194
|
-
/** Fetch a specific experiment id, defaulting to the current experiment id. */
|
|
195
|
-
fetch: (experimentId?: number) => Promise<TExperiment | undefined>;
|
|
196
|
-
/** Refetch the currently resolved experiment id. */
|
|
197
|
-
refresh: () => Promise<TExperiment | undefined>;
|
|
198
|
-
}
|
|
199
176
|
export type PluginEndpointCaller = (payloadOrOptions?: unknown, options?: PluginClientRequestOptions) => Promise<unknown>;
|
|
200
177
|
export type GeneratedPluginClient = Record<string, (...args: any[]) => Promise<any>>;
|
|
201
178
|
/** Convert plain upload payloads into FormData using the same encoding across generated plugin clients. */
|
|
202
179
|
export declare function pluginFormDataFromPayload(payload: unknown): FormData;
|
|
203
180
|
/** Trigger a browser download for an already-created Blob. */
|
|
204
181
|
export declare function downloadBlob(blob: Blob, filename: string, options?: DownloadBlobOptions): void;
|
|
205
|
-
/** Convert resolved @mint_plugin nav_items into page selectors for the topbar and homepage PluginCards. */
|
|
206
|
-
export declare function getPluginPageSelectorItems(contract: PluginContract): PageSelectorItem[];
|
|
207
182
|
/** Create a typed plugin API client from a generated MINT plugin contract. */
|
|
208
|
-
export declare function
|
|
183
|
+
export declare function createClient<TClient extends object = GeneratedPluginClient>(contract: PluginContract, options: CreateClientOptions): TClient;
|
|
209
184
|
/** Send multipart or raw binary data to a generated endpoint with contract URL, cancellation, and auth handling. */
|
|
210
|
-
export declare function
|
|
185
|
+
export declare function uploadEndpoint<TResponse = unknown>(contract: PluginContract, endpoint: PluginEndpointDefinition, payload?: unknown, options?: PluginEndpointRequestOptions): Promise<TResponse>;
|
|
211
186
|
/** Fetch a generated plugin endpoint as a Blob and optionally trigger a browser download. */
|
|
212
|
-
export declare function
|
|
213
|
-
/** @deprecated Removed in MINT 1.4; use `useGeneratedPluginClient()` for generated clients. */
|
|
214
|
-
export declare function usePluginClient<TClient>(client: TClient): TClient;
|
|
187
|
+
export declare function downloadEndpoint(contract: PluginContract, endpoint: PluginEndpointDefinition, payload?: unknown, options?: DownloadEndpointOptions): Promise<Blob>;
|
|
215
188
|
/** Load, edit, and persist plugin settings from platform config or the plugin-local settings router. */
|
|
216
|
-
export declare function
|
|
189
|
+
export declare function useSettingsEndpoint<TSettings = Record<string, unknown>>(options?: UseSettingsEndpointOptions | string): UseSettingsEndpointReturn<TSettings>;
|
|
217
190
|
/** Consume a generated plugin SSE endpoint with auth headers, reconnect, and teardown. */
|
|
218
|
-
export declare function
|
|
219
|
-
export declare function
|
|
220
|
-
/** Read and optionally load the current platform experiment for integrated plugin views. */
|
|
221
|
-
export declare function useCurrentExperiment<TExperiment = ExperimentSummary>(options?: UseCurrentExperimentOptions): UseCurrentExperimentReturn<TExperiment>;
|
|
191
|
+
export declare function useEventStream<TData = string>(contract: PluginContract, endpoint: PluginEndpointDefinition, options?: StreamOptions<TData>): UseEventStreamReturn<TData>;
|
|
192
|
+
export declare function useEventStream<TData = string>(contract: PluginContract, endpoint: PluginEndpointDefinition, payload?: unknown, options?: StreamOptions<TData>): UseEventStreamReturn<TData>;
|
|
@@ -7,7 +7,7 @@ export interface EventStreamMessage<TData = string> {
|
|
|
7
7
|
retry?: number;
|
|
8
8
|
raw: string;
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
10
|
+
export interface CreateEventStreamOptions<TData = string> {
|
|
11
11
|
transport?: EventStreamTransport;
|
|
12
12
|
headers?: HeadersInit;
|
|
13
13
|
credentials?: RequestCredentials;
|
|
@@ -48,5 +48,5 @@ interface ParsedEventStreamBlock<TData> {
|
|
|
48
48
|
/** Parse one complete SSE block without owning connection policy. */
|
|
49
49
|
export declare function parseEventStreamBlock<TData>(block: string, parseJson: boolean): ParsedEventStreamBlock<TData> | null;
|
|
50
50
|
/** Shared fetch-based SSE lifecycle with cancellation and reconnect safety. */
|
|
51
|
-
export declare function
|
|
51
|
+
export declare function createEventStream<TData = string>(url: string | (() => string), options?: CreateEventStreamOptions<TData>): UseEventStreamReturn<TData>;
|
|
52
52
|
export {};
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { DatePreset,
|
|
1
|
+
import { DatePreset, SelectOption } from '../types';
|
|
2
2
|
interface ExperimentCodeSource {
|
|
3
3
|
id?: number | null;
|
|
4
4
|
experiment_code?: string | null;
|
|
5
5
|
}
|
|
6
6
|
export declare function formatExperimentDate(dateStr: string): string;
|
|
7
7
|
export declare function datePresetToISO(preset: DatePreset): string;
|
|
8
|
-
export declare const EXPERIMENT_STATUS_OPTIONS: SelectOption<string>[];
|
|
9
|
-
export declare const EXPERIMENT_STATUS_VARIANT_MAP: Record<ExperimentStatus, PillVariant>;
|
|
10
|
-
export declare const EXPERIMENT_STATUS_LABELS: Record<ExperimentStatus, string>;
|
|
11
|
-
export declare function formatExperimentStatus(status?: ExperimentStatus | string | null): string;
|
|
12
|
-
export declare function getExperimentStatusVariant(status?: ExperimentStatus | string | null): PillVariant;
|
|
13
8
|
export declare function resolveExperimentCode(experiment: ExperimentCodeSource): string | undefined;
|
|
14
9
|
type RouteQueryValue = string | null | undefined | readonly (string | null | undefined)[];
|
|
15
10
|
type RouteQueryLike = Record<string, RouteQueryValue>;
|
|
@@ -1,63 +1,10 @@
|
|
|
1
|
-
export { AuthenticationRequiredError, useApi, type ApiClientOptions, type UseApiReturn, } from './useApi';
|
|
2
1
|
export { useTheme } from './useTheme';
|
|
3
2
|
export { useToast } from './useToast';
|
|
4
|
-
export {
|
|
3
|
+
export { usePlatform } from './usePlatform';
|
|
4
|
+
export { useExperiment, type ExperimentLoadStatus, type UseExperimentReturn } from './useExperiment';
|
|
5
5
|
export { resolvePluginFrontendBase } from './pluginFrontendBase';
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export { useDoseCalculator, type VolumeUnit, type VolumeValue, type DilutionParams, type DilutionResult, type SerialDilutionParams, type SerialDilutionStep, type SerialDilutionResult, type ConversionResult, type WellConcentration, type UseDoseCalculatorReturn, } from './useDoseCalculator';
|
|
11
|
-
export { useProtocolTemplates, type ParameterDefinition, type StepTemplate, type ValidationResult, type UseProtocolTemplatesReturn, } from './useProtocolTemplates';
|
|
12
|
-
export { useRackEditor, type UseRackEditorOptions, type UseRackEditorReturn, type PlateEditorListeners, } from './useRackEditor';
|
|
13
|
-
export { useChemicalFormula, ATOMIC_WEIGHTS, type ParsedElement, type FormulaParseResult, type FormulaPart, type FormulaPartType, } from './useChemicalFormula';
|
|
14
|
-
export { useSequenceUtils, type SequenceType, type SequenceStats, type SequenceProblems, } from './useSequenceUtils';
|
|
15
|
-
export { useTimeUtils, parseTime, formatTime, formatTimeSlot, generateTimeSlots, rangesOverlap, durationMinutes, formatDuration, isTimeInRange, findAvailableSlots, snapToSlot, addMinutes, compareTime, findNearestTimeSlotIndex, toMinutes, fromMinutes, } from './useTimeUtils';
|
|
16
|
-
export { useScheduleDrag } from './useScheduleDrag';
|
|
17
|
-
export { useEventListener, type EventListenerEnabled, type EventFor, type EventListenerStop, type EventMapFor, type EventTargetGetter, type EventTargetLike, type UseEventListenerObjectOptions, type UseEventListenerOptions, } from './useEventListener';
|
|
18
|
-
export { DEFAULT_MOBILE_VIEWPORT_QUERY, useMobileSupportGate, type MobileSupportSource, type MobileViewportQuerySource, type UseMobileSupportGateOptions, type UseMobileSupportGateReturn, } from './useMobileSupportGate';
|
|
19
|
-
export { useDebouncedWatch, type DebouncedWatchCallback, type DebouncedWatchCleanup, type DebouncedWatchSource, type UseDebouncedWatchOptions, type UseDebouncedWatchReturn, } from './useDebouncedWatch';
|
|
20
|
-
export { resizedLeadingPanelWidth, resizedTrailingPanelWidth, resizedVerticalSplitPercent, useManualLayoutResize, type ManualLayoutResizeContext, type ManualLayoutResizeTarget, type ResizePanelWidthConstraints, type ResizePercentConstraints, } from './useManualLayoutResize';
|
|
21
|
-
export { useFormBuilder, evaluateCondition } from './useFormBuilder';
|
|
22
|
-
export { createGeneratedAnalysisTransport, useGeneratedAnalysis, usePluginJobs, type GeneratedAnalysisTransport, type GeneratedAnalysisOptions, type PluginJobRequestOptions, type PluginJobWaitOptions, type UsePluginJobsOptions, type UsePluginJobsReturn, type UseGeneratedAnalysisReturn, } from './useGeneratedAnalysis';
|
|
23
|
-
export { useAutoGroup, DEFAULT_COLORS, extractSamplesFromDesignData } from './useAutoGroup';
|
|
24
|
-
export { useReagentSeries, generateDilutionSeries, DEFAULT_PRESETS, DEFAULT_UNITS, type LevelEntry, type DilutionPreset, type UseReagentSeriesReturn, } from './useReagentSeries';
|
|
25
|
-
export { useExperimentSelector, type UseExperimentSelectorOptions, type UseExperimentSelectorReturn, } from './useExperimentSelector';
|
|
26
|
-
export { useAnalysisArtifacts, ANALYSIS_FILE_ARTIFACT_SCHEMA, type UseAnalysisArtifactsOptions, type UseAnalysisArtifactsReturn, } from './useAnalysisArtifacts';
|
|
27
|
-
export { useFileBrowser, type UseFileBrowserOptions, type UseFileBrowserReturn, } from './useFileBrowser';
|
|
28
|
-
export { buildAnalysisArtifactTargetQuery, parseAnalysisArtifactTarget, } from './analysisArtifactTarget';
|
|
29
|
-
export { resolveCurrentPluginId } from './platformContextHelpers';
|
|
30
|
-
export { formatExperimentDate, formatExperimentStatus, getExperimentStatusVariant, resolveExperimentCode, experimentIdFromRoute, datePresetToISO, EXPERIMENT_STATUS_OPTIONS, EXPERIMENT_STATUS_VARIANT_MAP, EXPERIMENT_STATUS_LABELS, DATE_PRESET_OPTIONS, SORT_OPTIONS, } from './experiment-utils';
|
|
31
|
-
export { useExperimentData, type UseExperimentDataOptions, type UseExperimentDataReturn, } from './useExperimentData';
|
|
32
|
-
export { extractSampleNamesFromDesignData, extractSampleOptionsFromDesignData, unwrapExperimentDesignData, type ExperimentDesignDataResponse, type ExtractExperimentSamplesOptions, } from './experimentDesignData';
|
|
33
|
-
export { useExperimentSamples, type ExperimentDesignDataSource, type ExperimentIdSource, type UseExperimentSamplesOptions, type UseExperimentSamplesReturn, } from './useExperimentSamples';
|
|
34
|
-
export { getFieldRegistryEntry, getTypeDefault, type RegistryEntry, } from './formBuilderRegistry';
|
|
35
|
-
export { useAppExperiment, APP_EXPERIMENT_KEY, type UseAppExperimentOptions, type UseAppExperimentReturn, type AppExperimentState, type AppExperimentPopoverBinding, type AppExperimentSelectorModalBinding, } from './useAppExperiment';
|
|
36
|
-
export { useExperimentSave, type UseExperimentSaveOptions, type UseExperimentSaveReturn, } from './useExperimentSave';
|
|
37
|
-
export { useTemplateCollection, type TemplateCollectionInput, type UseTemplateCollectionOptions, type UseTemplateCollectionReturn, } from './useTemplateCollection';
|
|
38
|
-
export { useRequestSyncState, type RequestSyncRunOptions, type RequestSyncSuccessKind, type UseRequestSyncStateReturn, } from './useRequestSyncState';
|
|
39
|
-
export { detectDelimiter, parseDelimitedText, readFileAsText, useFileImport, validateImportFile, type DelimitedTable, type FileImportOptions, type FileImportValidationOptions, type ParseDelimitedTextOptions, type UseFileImportReturn, } from './useFileImport';
|
|
40
|
-
export { useSelectionLimit, type SelectionLimitSource, type UseSelectionLimitOptions, type UseSelectionLimitReturn, } from './useSelectionLimit';
|
|
41
|
-
export { useListSelection, type ListSelectionSource, type ListSelectionValue, type UseListSelectionOptions, type UseListSelectionReturn, type WidenListSelectionValue, } from './useListSelection';
|
|
42
|
-
export { useGroupAssignment, type GroupAssignmentSource, type GroupAssignmentState, type GroupAssignmentZone, type UseGroupAssignmentOptions, type UseGroupAssignmentReturn, } from './useGroupAssignment';
|
|
43
|
-
export { useSampleGroups, type DisplaySampleSubGroup, type SampleGroupNode, type SampleGroupSource, type SampleMajorGroup, type UseSampleGroupsOptions, type UseSampleGroupsReturn, } from './useSampleGroups';
|
|
44
|
-
export { useExpansionSet, type ExpansionSetSource, type UseExpansionSetOptions, type UseExpansionSetReturn, } from './useExpansionSet';
|
|
45
|
-
export { compareSortValues, useSortedItems, type CompareSortValuesOptions, type SortComparator, type SortComparatorContext, type SortDescriptor, type SortedItemsSource, type SortOrder, type UseSortedItemsOptions, type UseSortedItemsReturn, } from './useSortedItems';
|
|
46
|
-
export { candidateMatchesSearch, normalizeSearchQuery, useTextSearch, type TextSearchCandidate, type TextSearchSource, type UseTextSearchOptions, type UseTextSearchReturn, } from './useTextSearch';
|
|
47
|
-
export { controlsToFormSchema, controlsToSectionFormSchema, controlsToSectionFormSchemas, controlsToSidebarPanels, controlsToSettingsSchema, controlsToTopBarSettingsConfig, controlsToViewIds, controlsToViewItems, controlValuesToComponentBindings, controlValuesToComponentBindingsById, controlValuesToComponentProps, defineControlComponentBindings, defineControlModel, defineDoseDesignControlModel, defineDoseCalculatorControlProps, defineControls, defineWellPlateControlProps, defineWellPlateDoseComponentBindings, defineWellPlateDoseControlProps, getDefaultControlView, getControlDefaults, useControlSchema, useControlWorkspace, type ControlDefinition, type ControlComponentBinding, type ControlComponentBindingConfig, type ControlComponentBindingRecordConfig, type ControlComponentBindingsById, type ControlComponentBindingsConfig, type ControlComponentPropSource, type ControlComponentPropsByIdMap, type ControlComponentPropsMap, type DoseDesignControlModelOptions, type DoseCalculatorControlPropsOptions, type ControlFormSchema, type ControlInput, type ControlModel, type ControlModelBinding, type ControlModelSectionConfig, type ControlModelViewConfig, type ControlOption, type ControlOptionValue, type ControlPrimitive, type ControlSchema, type ControlSchemaOptions, type ControlShorthand, type ControlWorkspaceOptions, type ControlFormBinding, type ControlSettingsBinding, type ControlSidebarBinding, type ControlSectionConfig, type ControlSidebarConfig, type ControlTopBarSettingsBinding, type ControlViewConfig, type ControlValues, type UseControlSchemaReturn, type ControlWorkspaceAppTopBarPillBinding, type ControlWorkspaceComponentBindings, type ControlWorkspaceFormBinding, type ControlWorkspacePillNavBinding, type ControlWorkspaceSidebarBinding, type ControlWorkspaceTopBarBinding, type ControlWorkspaceTopBarSettingsBinding, type UseControlWorkspaceReturn, type WellPlateControlPropsOptions, type WellPlateDoseControlPropsOptions, } from './useControlSchema';
|
|
48
|
-
export { getBioTemplateControlSchema, requireBioTemplateControlSchema, useBioTemplateControls, type BioTemplateControlSchema, type BioTemplateControlTarget, } from './useBioTemplateControls';
|
|
49
|
-
export { getBioTemplateComponentProps, getBioTemplateComponentBindings, toBioTemplateComponentBindings, toBioTemplateComponentBindingsById, toBioTemplateComponentProps, toBioTemplateComponentPropsByComponent, toBioTemplateComponentPropsById, useBioTemplateComponents, type BioTemplateComponentBinding, type BioTemplateComponentBindingsById, type BioTemplateComponentPropsByComponent, type BioTemplateComponentPropsBinding, type BioTemplateComponentPropsById, type BioTemplateComponentPropsLookupOptions, type BioTemplateResolvedComponentBinding, type BioTemplateComponentTarget, type UseBioTemplateComponentsReturn, } from './useBioTemplateComponents';
|
|
50
|
-
export { useBioTemplateWorkspace, type BioTemplateRendererBinding, type BioTemplateWorkspaceBindings, type BioTemplateWorkspaceTarget, type UseBioTemplateWorkspaceReturn, } from './useBioTemplateWorkspace';
|
|
51
|
-
export { useBioTemplatePresetWorkspace, type BioTemplatePresetWorkspaceBindings, type UseBioTemplatePresetWorkspaceOptions, type UseBioTemplatePresetWorkspaceReturn, } from './useBioTemplatePresetWorkspace';
|
|
52
|
-
export { useBioTemplatePackWorkspace, type UseBioTemplatePackWorkspaceOptions, type UseBioTemplatePackWorkspaceReturn, } from './useBioTemplatePackWorkspace';
|
|
53
|
-
export { buildPluginEndpointUrl, createPluginClient, downloadBlob, downloadPluginEndpoint, getPluginPageSelectorItems, pluginFormDataFromPayload, resolvePluginBaseUrl, uploadPluginEndpoint, usePluginClient, usePluginEventStream, usePluginSettings, useCurrentExperiment, type BuildPluginEndpointUrlOptions, type DownloadBlobOptions, type DownloadPluginEndpointOptions, type PluginContract, type PluginContractSettings, type PluginClientRequestOptions, type PluginEndpointContract, type PluginEndpointDefinition, type PluginHttpMethod, type PluginNavItemContract, type PluginEndpointRequestOptions, type PluginEventStreamMessage, type PluginEventStreamOptions, type PluginFormDataPayload, type PluginFormDataValue, type CreatePluginClientOptions, type UseCurrentExperimentOptions, type UseCurrentExperimentReturn, type UsePluginEventStreamReturn, type UsePluginSettingsOptions, type UsePluginSettingsReturn, } from './usePluginClient';
|
|
54
|
-
export { combinePluginJobSources, usePluginJobCenter, useJobsStatusTray, type CombinedPluginJobCenterSource, type JobsStatusTrayAdapter, type JobStreamMessage, type PluginJobCenterSource, type JobsStatusTrayTab, type UseJobsStatusTrayOptions, type UseJobsStatusTrayReturn, type UsePluginJobCenterOptions, type UsePluginJobCenterReturn, } from './useJobsStatusTray';
|
|
55
|
-
export { usePluginWorkspace, type PluginWorkspaceSlotsLike, type UsePluginWorkspaceOptions, type UsePluginWorkspaceReturn, } from './usePluginWorkspace';
|
|
6
|
+
export { useRequest, type RequestKind, type RequestOperation, type RequestRunOptions, type UseRequestReturn, } from './useRequest';
|
|
7
|
+
export { downloadBlob, type DownloadBlobOptions } from './createClient';
|
|
8
|
+
export { defineControlModel, type ControlDefinition, type ControlComponentBinding, type ControlComponentBindingConfig, type ControlComponentBindingRecordConfig, type ControlComponentBindingsById, type ControlComponentBindingsConfig, type ControlComponentPropSource, type ControlComponentPropsByIdMap, type ControlComponentPropsMap, type ControlInput, type ControlModel, type ControlModelBinding, type ControlModelSectionConfig, type ControlModelViewConfig, type ControlOption, type ControlOptionValue, type ControlPrimitive, type ControlSchema, type ControlSchemaOptions, type ControlShorthand, type ControlWorkspaceOptions, type ControlFormActions, type ControlSectionConfig, type ControlSidebarConfig, type ControlViewConfig, } from './useControlSchema';
|
|
9
|
+
export { defineDataFrame, definePluginWorkspaceView } from './componentSpecs';
|
|
56
10
|
export { type PluginWorkspaceControlsModel, type PluginWorkspaceShellModel, type PluginWorkspaceSidebarModel, } from './pluginWorkspaceModel';
|
|
57
|
-
export { useFocusTrap, type UseFocusTrapOptions, type UseFocusTrapReturn, } from './useFocusTrap';
|
|
58
|
-
export { useRovingFocus, type UseRovingFocusOptions, type UseRovingFocusReturn, } from './useRovingFocus';
|
|
59
|
-
export { reorderList, useListReorder, useReorderAnnouncer, REORDER_ANNOUNCER_STYLE, type ListReorderMove, type UseListReorderOptions, type UseListReorderReturn, type UseReorderAnnouncerReturn, } from './useListReorder';
|
|
60
|
-
export { useMenuKeyboard, type UseMenuKeyboardOptions, type UseMenuKeyboardReturn, } from './useMenuKeyboard';
|
|
61
|
-
export { usePlatformFilePickerAdapter, encodePlatformPickerPath, decodePlatformPickerPath } from './usePlatformFilePickerAdapter';
|
|
62
|
-
export { createFilePickerAdapter } from './createFilePickerAdapter';
|
|
63
|
-
export type { FilePickerTransport, FilePickerAdapterOptions } from './createFilePickerAdapter';
|
|
@@ -1,16 +1,5 @@
|
|
|
1
1
|
import { PlatformContext } from '../types';
|
|
2
|
-
export type ExperimentAwarePlatformContext = PlatformContext & {
|
|
3
|
-
currentExperiment?: unknown;
|
|
4
|
-
currentExperimentId?: unknown;
|
|
5
|
-
experiment?: unknown;
|
|
6
|
-
experimentId?: unknown;
|
|
7
|
-
};
|
|
8
2
|
export declare function getInjectedPlatformContext(): PlatformContext | undefined;
|
|
9
3
|
/** Return the platform's canonical plugin identity for the mounted frontend. */
|
|
10
4
|
export declare function resolveCurrentPluginId(): string | undefined;
|
|
11
|
-
export declare function getInjectedExperimentContext(): ExperimentAwarePlatformContext | undefined;
|
|
12
|
-
export declare function currentExperimentFromContext<TExperiment>(context?: ExperimentAwarePlatformContext | undefined): TExperiment | undefined;
|
|
13
|
-
export declare function currentExperimentIdFromContext(context?: ExperimentAwarePlatformContext | undefined): number | undefined;
|
|
14
|
-
export declare function currentExperimentIdFromUrl(): number | undefined;
|
|
15
|
-
export declare function resolveCurrentExperimentId(context?: ExperimentAwarePlatformContext | undefined): number | undefined;
|
|
16
5
|
export declare function parseExperimentId(value: unknown): number | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BuildEndpointUrlOptions, PluginContract, PluginEndpointDefinition } from './createClient';
|
|
2
2
|
/** Resolve the runtime plugin API base URL from env, explicit options, platform injection, or contract metadata. */
|
|
3
3
|
export declare function resolvePluginBaseUrl(contract: PluginContract, explicitBaseUrl?: string): string;
|
|
4
4
|
export declare function hasKeys(value: Record<string, unknown>): boolean;
|
|
@@ -10,4 +10,4 @@ export declare function pluginEndpointRequestParts(contract: PluginContract, end
|
|
|
10
10
|
requestPayload: Record<string, unknown>;
|
|
11
11
|
};
|
|
12
12
|
/** Build the concrete URL for a generated plugin endpoint without making a request. */
|
|
13
|
-
export declare function
|
|
13
|
+
export declare function buildEndpointUrl(contract: PluginContract, endpoint: PluginEndpointDefinition, payload?: unknown, options?: BuildEndpointUrlOptions): string;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { ControlComponentBinding, ControlComponentBindingsById, ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from './useControlSchema';
|
|
1
|
+
import { PluginWorkspaceSidebarSpec, PluginWorkspaceTopBarSpec } from '../types';
|
|
2
|
+
import { ControlComponentBinding, ControlComponentBindingsById } from './useControlSchema';
|
|
4
3
|
/**
|
|
5
4
|
* Scoped-slot payload shared by PluginWorkspaceView's `default`, `topbar`, and `sidebar`
|
|
6
5
|
* slots: the resolved active view plus the values and component bindings/props derived
|
|
7
|
-
* from the
|
|
6
|
+
* from the sidebar control model. WorkspaceControlsInternal renders a component's default
|
|
8
7
|
* slot bound to exactly this shape.
|
|
9
8
|
*/
|
|
10
9
|
export interface PluginWorkspaceControlsModel {
|
|
11
10
|
/** Currently resolved workspace view id. */
|
|
12
11
|
activeView: string;
|
|
13
|
-
/** Sets the active view, updating any uncontrolled state and emitting `update:
|
|
12
|
+
/** Sets the active view, updating any uncontrolled state and emitting `update:view`. */
|
|
14
13
|
setActiveView: (viewId: string) => void;
|
|
15
14
|
/** Current control values, shared between the auto-rendered sidebar form and the default slot. */
|
|
16
15
|
values: Record<string, unknown>;
|
|
@@ -25,8 +24,8 @@ export interface PluginWorkspaceControlsModel {
|
|
|
25
24
|
}
|
|
26
25
|
/**
|
|
27
26
|
* Resolved AppLayout + AppTopBar configuration consumed by WorkspaceShellInternal: top bar
|
|
28
|
-
*
|
|
29
|
-
*
|
|
27
|
+
* spec and active pill, plus the AppLayout layout props that own the responsive mobile
|
|
28
|
+
* sidebar toggle.
|
|
30
29
|
*/
|
|
31
30
|
export interface PluginWorkspaceShellModel {
|
|
32
31
|
/** AppLayout sidebar position. */
|
|
@@ -47,113 +46,31 @@ export interface PluginWorkspaceShellModel {
|
|
|
47
46
|
title: string;
|
|
48
47
|
/** Secondary copy shown under the title. */
|
|
49
48
|
subtitle?: string;
|
|
50
|
-
/**
|
|
51
|
-
|
|
52
|
-
/** Home link used by the top bar brand icon. */
|
|
53
|
-
homePath: string;
|
|
54
|
-
/** Show the default MINT logo when no icon/logo slot is provided. */
|
|
55
|
-
showLogo: boolean;
|
|
56
|
-
/** Preferred route-level page selector entries. */
|
|
57
|
-
pageSelector?: PageSelectorItemInput[];
|
|
58
|
-
/** Resolved active page selector id. */
|
|
59
|
-
currentPageSelectorId: string;
|
|
60
|
-
/** Resolved centered pill navigation, generated from the control schema when omitted. */
|
|
61
|
-
pillNav?: PillNavItemInput[];
|
|
49
|
+
/** AppTopBar spec with the workspace defaults applied and the generated pills filled in; `false` removes the top bar. */
|
|
50
|
+
topBar: false | PluginWorkspaceTopBarSpec;
|
|
62
51
|
/** Resolved active centered pill id. */
|
|
63
|
-
|
|
64
|
-
/** Show the theme toggle button. */
|
|
65
|
-
showThemeToggle: boolean;
|
|
66
|
-
/** Show the settings button and modal. */
|
|
67
|
-
showSettings: boolean;
|
|
68
|
-
/** Built-in settings modal configuration. */
|
|
69
|
-
settingsConfig?: TopBarSettingsConfig;
|
|
70
|
-
/** Show the standalone badge when not integrated into the platform. */
|
|
71
|
-
showStandaloneLabel: boolean;
|
|
72
|
-
/** Custom standalone badge label. */
|
|
73
|
-
standaloneLabel: string;
|
|
74
|
-
/** Account dropdown entries. */
|
|
75
|
-
accountMenu?: AccountMenuItem[];
|
|
76
|
-
/** Show the notifications icon button. */
|
|
77
|
-
showNotifications: boolean;
|
|
78
|
-
/** Draw a notification dot on the notifications icon. */
|
|
79
|
-
hasNotificationDot: boolean;
|
|
80
|
-
/** Show the admin shortcut. */
|
|
81
|
-
showAdmin: boolean;
|
|
82
|
-
/** Route used by the admin shortcut. */
|
|
83
|
-
adminPath: string;
|
|
84
|
-
/** Account display name. */
|
|
85
|
-
userName?: string;
|
|
86
|
-
/** Explicit account avatar initial. */
|
|
87
|
-
userInitial?: string;
|
|
88
|
-
/** Account email shown in the avatar menu. */
|
|
89
|
-
userEmail?: string;
|
|
52
|
+
pill: string;
|
|
90
53
|
/** Names of AppTopBar passthrough slots the caller actually provided. */
|
|
91
54
|
topBarSlotNames: string[];
|
|
92
55
|
/** Scoped-slot payload exposed to the `topbar` override slot. */
|
|
93
56
|
controls: PluginWorkspaceControlsModel;
|
|
94
57
|
}
|
|
95
|
-
/**
|
|
96
|
-
* Resolved AppSidebar configuration consumed by WorkspaceSidebarInternal: sidebar chrome,
|
|
97
|
-
* panels/forms, collapse behavior, and the compact control-schema props that drive
|
|
98
|
-
* AppSidebar's auto-generated form.
|
|
99
|
-
*/
|
|
58
|
+
/** Resolved AppSidebar configuration consumed by WorkspaceSidebarInternal. */
|
|
100
59
|
export interface PluginWorkspaceSidebarModel {
|
|
101
|
-
/**
|
|
102
|
-
|
|
103
|
-
/** Sidebar chrome subtitle. */
|
|
104
|
-
subtitle?: string;
|
|
105
|
-
/** Optional compact badge/count rendered in the sidebar header. */
|
|
106
|
-
badge?: string | number;
|
|
107
|
-
/** Map of view IDs to sidebar tool sections. */
|
|
108
|
-
panels: Record<string, SidebarToolSection[]>;
|
|
60
|
+
/** AppSidebar spec with the workspace defaults applied. */
|
|
61
|
+
spec: PluginWorkspaceSidebarSpec;
|
|
109
62
|
/** Resolved active view, used to pick which panels/forms render. */
|
|
110
63
|
activeView: string;
|
|
111
|
-
/** AppSidebar floating style (always false: PluginWorkspaceView docks the sidebar inside AppLayout). */
|
|
112
|
-
floating: boolean;
|
|
113
|
-
/** Compact AppSidebar density. */
|
|
114
|
-
dense: boolean;
|
|
115
|
-
/** Sidebar CSS width. */
|
|
116
|
-
width?: string;
|
|
117
|
-
/** Sidebar position, mirrors the shell's `sidebarPosition`. */
|
|
118
|
-
side: 'left' | 'right';
|
|
119
|
-
/** Optional FormBuilder schemas keyed by section ID. */
|
|
120
|
-
forms: Record<string, FormSchema>;
|
|
121
|
-
/** DOM id for the AppSidebar scrollable content area. */
|
|
122
|
-
contentId?: string;
|
|
123
|
-
/** Render the sidebar shell even when no panel matches the active view. */
|
|
124
|
-
showWhenEmpty: boolean;
|
|
125
|
-
/** Optional compact control model for the generated sidebar form. */
|
|
126
|
-
model?: ControlModel | ControlModelBinding;
|
|
127
|
-
/** Compact control schema for the generated sidebar form. */
|
|
128
|
-
controlSchema?: ControlSchema;
|
|
129
|
-
/** Options passed to compact control schema generation. */
|
|
130
|
-
controlOptions: ControlWorkspaceOptions;
|
|
131
64
|
/** Shared values for the auto-rendered sidebar form. */
|
|
132
65
|
values: Record<string, unknown>;
|
|
133
|
-
/**
|
|
134
|
-
|
|
135
|
-
/** Show submit/cancel actions inside the auto-rendered sidebar form. */
|
|
136
|
-
showFormActions: boolean;
|
|
66
|
+
/** Controlled sidebar collapsed state. */
|
|
67
|
+
collapsed?: boolean;
|
|
137
68
|
/** Loading/saving state for the auto-rendered sidebar form. */
|
|
138
69
|
formLoading: boolean;
|
|
139
70
|
/** Disabled state for the auto-rendered sidebar form. */
|
|
140
71
|
formDisabled: boolean;
|
|
141
72
|
/** Readonly state for the auto-rendered sidebar form. */
|
|
142
73
|
formReadonly: boolean;
|
|
143
|
-
/** Size passed to the auto-rendered sidebar form. */
|
|
144
|
-
formSize: 'sm' | 'md' | 'lg';
|
|
145
|
-
/** Show a built-in collapse/expand button in the sidebar chrome. */
|
|
146
|
-
collapsible?: boolean;
|
|
147
|
-
/** Controlled sidebar collapsed state. */
|
|
148
|
-
collapsed?: boolean;
|
|
149
|
-
/** Initial sidebar collapsed state when uncontrolled. */
|
|
150
|
-
defaultCollapsed: boolean;
|
|
151
|
-
/** Sidebar width when collapsed. */
|
|
152
|
-
collapsedWidth: string;
|
|
153
|
-
/** Accessible label for the sidebar collapse action. */
|
|
154
|
-
collapseButtonLabel: string;
|
|
155
|
-
/** Accessible label for the sidebar expand action. */
|
|
156
|
-
expandButtonLabel: string;
|
|
157
74
|
/** Names of AppSidebar passthrough slots the caller actually provided. */
|
|
158
75
|
slotNames: string[];
|
|
159
76
|
}
|
|
@@ -17,8 +17,6 @@ export interface ApiClientOptions {
|
|
|
17
17
|
baseUrl?: string;
|
|
18
18
|
timeout?: number;
|
|
19
19
|
withAuth?: boolean;
|
|
20
|
-
/** Normalize failed responses into MintApiError. Generated clients enable this by default. */
|
|
21
|
-
typedErrors?: boolean;
|
|
22
20
|
}
|
|
23
21
|
export interface UseApiReturn {
|
|
24
22
|
client: AxiosInstance;
|
|
@@ -32,5 +30,5 @@ export interface UseApiReturn {
|
|
|
32
30
|
buildUrl: (path: string) => string;
|
|
33
31
|
buildWsUrl: (path: string) => string;
|
|
34
32
|
}
|
|
35
|
-
/** Axios-based API client that injects the plugin base URL and JWT auth header on every request. */
|
|
33
|
+
/** Axios-based API client that injects the plugin base URL and JWT auth header on every request. A failed response rejects with a `MintApiError`. */
|
|
36
34
|
export declare function useApi(options?: ApiClientOptions): UseApiReturn;
|
|
@@ -27,7 +27,7 @@ export interface AppExperimentPopoverBinding {
|
|
|
27
27
|
saveSuccessMessage?: string;
|
|
28
28
|
}
|
|
29
29
|
export interface AppExperimentSelectorModalBinding {
|
|
30
|
-
|
|
30
|
+
open: boolean;
|
|
31
31
|
currentExperimentId: number | null;
|
|
32
32
|
}
|
|
33
33
|
export interface UseAppExperimentReturn {
|