@morscherlab/mint-sdk 1.2.0-beta.3 → 1.2.0-beta.4
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 +8 -2
- package/dist/EmptyState-p90quq8Z.js +2 -0
- package/dist/EmptyState-p90quq8Z.js.map +1 -0
- package/dist/{ExperimentPopover-Bn6PIGHE.js → ExperimentPopover-tLwJ7XF4.js} +10 -5
- package/dist/ExperimentPopover-tLwJ7XF4.js.map +1 -0
- package/dist/{ExperimentSelectorModal-DGhrJSSV.js → ExperimentSelectorModal-B6P2msT4.js} +11 -6
- package/dist/ExperimentSelectorModal-B6P2msT4.js.map +1 -0
- package/dist/{SettingsModal-wF2btHu6.js → SettingsModal-CkNM8qAI.js} +12 -7
- package/dist/SettingsModal-CkNM8qAI.js.map +1 -0
- package/dist/__stories__/experiment-helpers.d.ts +28 -0
- package/dist/__tests__/components/ActionItem.test.d.ts +1 -0
- package/dist/__tests__/components/ActionMenu.test.d.ts +1 -0
- package/dist/__tests__/components/AppAvatarMenu.test.d.ts +1 -0
- package/dist/__tests__/components/AppLayout.test.d.ts +1 -0
- package/dist/__tests__/components/AppPluginSwitcher.test.d.ts +1 -0
- package/dist/__tests__/components/AppSidebar.test.d.ts +1 -0
- package/dist/__tests__/components/AppToastContainer.test.d.ts +1 -0
- package/dist/__tests__/components/AppTopBar.navigation.test.d.ts +1 -0
- package/dist/__tests__/components/AppTopBar.test.d.ts +1 -0
- package/dist/__tests__/components/AppTopBarPageSelector.test.d.ts +1 -0
- package/dist/__tests__/components/AppTopBarPillNav.test.d.ts +1 -0
- package/dist/__tests__/components/AppTopBarPresence.test.d.ts +1 -0
- package/dist/__tests__/components/ArtifactSaveDialog.test.d.ts +1 -0
- package/dist/__tests__/components/ArtifactSelectorModal.test.d.ts +1 -0
- package/dist/__tests__/components/AutoGroupModal.adapter.test.d.ts +1 -0
- package/dist/__tests__/components/BaseInput.test.d.ts +1 -0
- package/dist/__tests__/components/BaseModal.test.d.ts +1 -0
- package/dist/__tests__/components/BasePill.test.d.ts +1 -0
- package/dist/__tests__/components/BaseRadioGroup.test.d.ts +1 -0
- package/dist/__tests__/components/BaseSelect.test.d.ts +1 -0
- package/dist/__tests__/components/BaseTabs.test.d.ts +1 -0
- package/dist/__tests__/components/BaseToggle.test.d.ts +1 -0
- package/dist/__tests__/components/BatchProgressList.test.d.ts +1 -0
- package/dist/__tests__/components/BioTemplateExperimentWorkspaceView.test.d.ts +1 -0
- package/dist/__tests__/components/BioTemplatePackWorkspaceView.test.d.ts +1 -0
- package/dist/__tests__/components/BioTemplatePresetWorkspaceView.test.d.ts +1 -0
- package/dist/__tests__/components/BioTemplateRenderer.test.d.ts +1 -0
- package/dist/__tests__/components/Breadcrumb.test.d.ts +1 -0
- package/dist/__tests__/components/Calendar.test.d.ts +1 -0
- package/dist/__tests__/components/CalendarGridPanel.test.d.ts +1 -0
- package/dist/__tests__/components/CollapsibleCard.test.d.ts +1 -0
- package/dist/__tests__/components/ComponentBindingRenderer.test.d.ts +1 -0
- package/dist/__tests__/components/ConcentrationInput.test.d.ts +1 -0
- package/dist/__tests__/components/ControlWorkspaceView.test.d.ts +1 -0
- package/dist/__tests__/components/DataFrame.test.d.ts +1 -0
- package/dist/__tests__/components/DatePicker.test.d.ts +1 -0
- package/dist/__tests__/components/DateTimePicker.test.d.ts +1 -0
- package/dist/__tests__/components/DoseCalculatorVolumeField.test.d.ts +1 -0
- package/dist/__tests__/components/DoseDesignWorkspaceView.test.d.ts +1 -0
- package/dist/__tests__/components/DropdownButton.test.d.ts +1 -0
- package/dist/__tests__/components/EmptyState.test.d.ts +1 -0
- package/dist/__tests__/components/ExperimentPopover.test.d.ts +1 -0
- package/dist/__tests__/components/ExperimentSelectorModal.test.d.ts +1 -0
- package/dist/__tests__/components/FormBuilder.test.d.ts +1 -0
- package/dist/__tests__/components/GeneratedPathInput.test.d.ts +1 -0
- package/dist/__tests__/components/GeneratedPlotlyResult.test.d.ts +1 -0
- package/dist/__tests__/components/GeneratedPluginView.test.d.ts +1 -0
- package/dist/__tests__/components/GeneratedResultRenderer.test.d.ts +1 -0
- package/dist/__tests__/components/GroupAssigner.test.d.ts +1 -0
- package/dist/__tests__/components/InstrumentAlertLog.test.d.ts +1 -0
- package/dist/__tests__/components/JobsStatusTray.test.d.ts +1 -0
- package/dist/__tests__/components/LcmsSequenceTable.test.d.ts +1 -0
- package/dist/__tests__/components/MobileSupportGate.test.d.ts +1 -0
- package/dist/__tests__/components/MultiSelect.test.d.ts +1 -0
- package/dist/__tests__/components/PlateMapEditorToolbarInternal.test.d.ts +1 -0
- package/dist/__tests__/components/PluginIcon.test.d.ts +1 -0
- package/dist/__tests__/components/PluginWorkspaceView.controls.test.d.ts +1 -0
- package/dist/__tests__/components/PluginWorkspaceView.navigation.test.d.ts +1 -0
- package/dist/__tests__/components/PluginWorkspaceView.shell.test.d.ts +1 -0
- package/dist/__tests__/components/PluginWorkspaceView.test.d.ts +1 -0
- package/dist/__tests__/components/ProgressBar.test.d.ts +1 -0
- package/dist/__tests__/components/ProtocolStep.presentation.test.d.ts +1 -0
- package/dist/__tests__/components/ProtocolStepEditor.state.test.d.ts +1 -0
- package/dist/__tests__/components/ProtocolStepEditor.test.d.ts +1 -0
- package/dist/__tests__/components/ProtocolStepParameterField.test.d.ts +1 -0
- package/dist/__tests__/components/RackEditor.test.d.ts +1 -0
- package/dist/__tests__/components/ReagentList.presentation.test.d.ts +1 -0
- package/dist/__tests__/components/ReagentList.test.d.ts +1 -0
- package/dist/__tests__/components/RetiredStyles.test.d.ts +1 -0
- package/dist/__tests__/components/RuntimeUpdateNotice.test.d.ts +1 -0
- package/dist/__tests__/components/SampleHierarchyTree.test.d.ts +1 -0
- package/dist/__tests__/components/SampleSelector.colors.test.d.ts +1 -0
- package/dist/__tests__/components/SampleSelector.drag.test.d.ts +1 -0
- package/dist/__tests__/components/SampleSelector.groups.test.d.ts +1 -0
- package/dist/__tests__/components/SampleSelector.selection.test.d.ts +1 -0
- package/dist/__tests__/components/SampleSelector.test.d.ts +1 -0
- package/dist/__tests__/components/SampleSelectorSampleRow.test.d.ts +1 -0
- package/dist/__tests__/components/ScheduleCalendar.test.d.ts +1 -0
- package/dist/__tests__/components/SectionCard.test.d.ts +1 -0
- package/dist/__tests__/components/SegmentedControl.test.d.ts +1 -0
- package/dist/__tests__/components/SequenceProgressBar.test.d.ts +1 -0
- package/dist/__tests__/components/SettingsModal.schema.test.d.ts +1 -0
- package/dist/__tests__/components/SettingsModal.test.d.ts +1 -0
- package/dist/__tests__/components/SmartGroupFieldRecipe.groups.test.d.ts +1 -0
- package/dist/__tests__/components/SmartGroupManual.cohorts.test.d.ts +1 -0
- package/dist/__tests__/components/TagsInput.test.d.ts +1 -0
- package/dist/__tests__/components/ThemeToggle.test.d.ts +1 -0
- package/dist/__tests__/components/TimePicker.test.d.ts +1 -0
- package/dist/__tests__/components/WellPlate.colors.test.d.ts +1 -0
- package/dist/__tests__/components/WellPlate.conditions.test.d.ts +1 -0
- package/dist/__tests__/components/WellPlate.geometry.test.d.ts +1 -0
- package/dist/__tests__/components/WellPlate.interaction.test.d.ts +1 -0
- package/dist/__tests__/components/WellPlate.legend.test.d.ts +1 -0
- package/dist/__tests__/components/WellPlate.rendering.test.d.ts +1 -0
- package/dist/__tests__/components/WellPlate.sampleDrop.test.d.ts +1 -0
- package/dist/__tests__/composables/analysisArtifactTarget.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/classKey.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/classify.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/columns.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/compose.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/cooccurrence.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/fingerprint.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/groupByOrder.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/groupTree.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/integration.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/template.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/tokenLength.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/tokenize.test.d.ts +1 -0
- package/dist/__tests__/composables/experiment-utils.test.d.ts +1 -0
- package/dist/__tests__/composables/formBuilderRegistry.test.d.ts +1 -0
- package/dist/__tests__/composables/resolvePluginFrontendBase.test.d.ts +1 -0
- package/dist/__tests__/composables/useAnalysisArtifacts.test.d.ts +1 -0
- package/dist/__tests__/composables/useApi.test.d.ts +1 -0
- package/dist/__tests__/composables/useAppExperiment.test.d.ts +1 -0
- package/dist/__tests__/composables/useAuth.test.d.ts +1 -0
- package/dist/__tests__/composables/useAutoGroup.test.d.ts +1 -0
- package/dist/__tests__/composables/useAutoGroupInputSources.test.d.ts +1 -0
- package/dist/__tests__/composables/useBioTemplatePackWorkspace.test.d.ts +1 -0
- package/dist/__tests__/composables/useBioTemplatePresetWorkspace.test.d.ts +1 -0
- package/dist/__tests__/composables/useBioTemplateWorkspace.test.d.ts +1 -0
- package/dist/__tests__/composables/useCalendarGrid.test.d.ts +1 -0
- package/dist/__tests__/composables/useCommandHistory.test.d.ts +1 -0
- package/dist/__tests__/composables/useControlSchema.test.d.ts +1 -0
- package/dist/__tests__/composables/useDebouncedWatch.test.d.ts +1 -0
- package/dist/__tests__/composables/useDropdownState.test.d.ts +1 -0
- package/dist/__tests__/composables/useEventListener.test.d.ts +1 -0
- package/dist/__tests__/composables/useEventStream.test.d.ts +1 -0
- package/dist/__tests__/composables/useExpansionSet.test.d.ts +1 -0
- package/dist/__tests__/composables/useExperimentData.test.d.ts +14 -0
- package/dist/__tests__/composables/useExperimentSamples.test.d.ts +1 -0
- package/dist/__tests__/composables/useExperimentSave.test.d.ts +1 -0
- package/dist/__tests__/composables/useExperimentSelector.test.d.ts +1 -0
- package/dist/__tests__/composables/useFileImport.test.d.ts +1 -0
- package/dist/__tests__/composables/useForm.test.d.ts +1 -0
- package/dist/__tests__/composables/useFormBuilder.test.d.ts +1 -0
- package/dist/__tests__/composables/useGeneratedAnalysis.test.d.ts +1 -0
- package/dist/__tests__/composables/useGroupAssignment.test.d.ts +1 -0
- package/dist/__tests__/composables/useJobsStatusTray.test.d.ts +1 -0
- package/dist/__tests__/composables/useListSelection.test.d.ts +1 -0
- package/dist/__tests__/composables/useMobileSupportGate.test.d.ts +1 -0
- package/dist/__tests__/composables/useOptimisticMutation.test.d.ts +1 -0
- package/dist/__tests__/composables/usePlatformContext.test.d.ts +1 -0
- package/dist/__tests__/composables/usePluginClient.test.d.ts +1 -0
- package/dist/__tests__/composables/usePluginConfig.test.d.ts +15 -0
- package/dist/__tests__/composables/usePresenceHeartbeat.test.d.ts +1 -0
- package/dist/__tests__/composables/useProtocolTemplates.test.d.ts +1 -0
- package/dist/__tests__/composables/useRequestSyncState.test.d.ts +1 -0
- package/dist/__tests__/composables/useResourceCrud.test.d.ts +1 -0
- package/dist/__tests__/composables/useRuntimeAlignment.test.d.ts +1 -0
- package/dist/__tests__/composables/useSampleGroups.test.d.ts +1 -0
- package/dist/__tests__/composables/useSampleGroups.tree.test.d.ts +1 -0
- package/dist/__tests__/composables/useScheduleCalendarLayout.test.d.ts +1 -0
- package/dist/__tests__/composables/useSelectionLimit.test.d.ts +1 -0
- package/dist/__tests__/composables/useSortedItems.test.d.ts +1 -0
- package/dist/__tests__/composables/useTemplateCollection.test.d.ts +1 -0
- package/dist/__tests__/composables/useTextSearch.test.d.ts +1 -0
- package/dist/__tests__/composables/useTheme.test.d.ts +1 -0
- package/dist/__tests__/composables/useTimeUtils.test.d.ts +1 -0
- package/dist/__tests__/composables/useWellPainting.test.d.ts +1 -0
- package/dist/__tests__/composables/useWellPlateAdapter.test.d.ts +1 -0
- package/dist/__tests__/composables/useWellPlateValidation.test.d.ts +1 -0
- package/dist/__tests__/docs/extractDocsComponents.test.d.ts +1 -0
- package/dist/__tests__/docs/extractDocsExports.test.d.ts +1 -0
- package/dist/__tests__/docs/extractDocsParsing.test.d.ts +1 -0
- package/dist/__tests__/docs/extractDocsTemplates.test.d.ts +1 -0
- package/dist/__tests__/docs/extractDocsTheme.test.d.ts +1 -0
- package/dist/__tests__/docs/frontendDocsCatalog.test.d.ts +1 -0
- package/dist/__tests__/generatedUi.test.d.ts +1 -0
- package/dist/__tests__/stores/experiment.test.d.ts +1 -0
- package/dist/__tests__/stores/settings.test.d.ts +1 -0
- package/dist/__tests__/templates/templates.test.d.ts +1 -0
- package/dist/__tests__/types/GeneratedJsonSchema.test.d.ts +1 -0
- package/dist/__tests__/utils/color.test.d.ts +1 -0
- package/dist/__tests__/utils/instrument.test.d.ts +1 -0
- package/dist/__tests__/utils/jobs.test.d.ts +1 -0
- package/dist/__tests__/utils/lcms.test.d.ts +1 -0
- package/dist/__tests__/utils/permissions.test.d.ts +1 -0
- package/dist/__tests__/utils/rack.test.d.ts +1 -0
- package/dist/{analysisArtifactTypes-ejqR8MX3.js → analysisArtifactTypes-DQ0MjwHZ.js} +2 -0
- package/dist/analysisArtifactTypes-DQ0MjwHZ.js.map +1 -0
- package/dist/chunk-BoAXSpZd.js +33 -0
- package/dist/components/AuditTrail.vue.d.ts +38 -0
- package/dist/components/AutoGroupModal.vue.d.ts +1 -1
- package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +1 -1
- package/dist/components/ColorSlider.vue.d.ts +34 -0
- package/dist/components/DoseDesignWorkspaceView.vue.d.ts +149 -0
- package/dist/components/FitPanel.vue.d.ts +46 -0
- package/dist/components/GroupAssigner.vue.d.ts +25 -0
- package/dist/components/JobsStatusTray.vue.d.ts +11 -2
- package/dist/components/RackEditor.vue.d.ts +78 -0
- package/dist/components/ReagentEditor.vue.d.ts +30 -0
- package/dist/components/ResourceCard.vue.d.ts +50 -0
- package/dist/components/SampleLegend.vue.d.ts +1 -1
- package/dist/components/SampleSelector.vue.d.ts +1 -1
- package/dist/components/ScientificNumber.vue.d.ts +14 -0
- package/dist/components/SettingsModal.vue.d.ts +1 -1
- package/dist/components/SmartGroupFieldRecipe.vue.d.ts +3 -3
- package/dist/components/SmartGroupManual.vue.d.ts +2 -2
- package/dist/components/WellPlate.vue.d.ts +1 -1
- package/dist/components/index.d.ts +9 -0
- package/dist/components/index.js +6 -6
- package/dist/{components-DpyzaeIc.js → components-MGNL6tRn.js} +3268 -1353
- package/dist/components-MGNL6tRn.js.map +1 -0
- package/dist/composables/autoGroupConstants.d.ts +1 -0
- package/dist/composables/autoGroupGrouping.d.ts +3 -0
- package/dist/composables/index.d.ts +10 -2
- package/dist/composables/index.js +9 -9
- package/dist/composables/useAnalysisArtifacts.d.ts +2 -0
- package/dist/composables/useAsync.d.ts +128 -0
- package/dist/composables/useAuth.d.ts +2 -0
- package/dist/composables/useAutoGroup.d.ts +30 -1
- package/dist/composables/useAutoGroupInputSources.d.ts +32 -0
- package/dist/composables/useCommandHistory.d.ts +29 -0
- package/dist/composables/useGeneratedAnalysis.d.ts +5 -1
- package/dist/composables/useGroupAssignment.d.ts +31 -0
- package/dist/composables/useJobsStatusTray.d.ts +41 -4
- package/dist/composables/usePluginClient.d.ts +4 -0
- package/dist/composables/usePluginConfig.d.ts +25 -0
- package/dist/composables/useRackEditor.d.ts +31 -0
- package/dist/composables/useResourceCrud.d.ts +40 -0
- package/dist/composables/useWellPainting.d.ts +35 -0
- package/dist/composables/useWellPlateAdapter.d.ts +36 -0
- package/dist/{composables-yz8bTkEV.js → composables-CKxOcvgh.js} +764 -59
- package/dist/composables-CKxOcvgh.js.map +1 -0
- package/dist/{experiment-D08H_TIH.js → experiment-Y9Iz7KYi.js} +3 -1
- package/dist/experiment-Y9Iz7KYi.js.map +1 -0
- package/dist/experiment-utils-CLnzPPq5.js +2 -0
- package/dist/experiment-utils-CLnzPPq5.js.map +1 -0
- package/dist/histoire.setup.d.ts +1 -0
- package/dist/index.js +18 -33
- package/dist/index.js.map +1 -0
- package/dist/install.js +28 -0
- package/dist/install.js.map +1 -0
- package/dist/jobs.d.ts +15 -1
- package/dist/permissions.d.ts +5 -0
- package/dist/permissions.js +4 -2
- package/dist/permissions.js.map +1 -0
- package/dist/plotly.min-c2Sez60c.js +180634 -0
- package/dist/plotly.min-c2Sez60c.js.map +1 -0
- package/dist/stores/auth.d.ts +6 -0
- package/dist/stores/index.js +2 -2
- package/dist/styles.css +2836 -270
- package/dist/tailwind.preset.js +2 -0
- package/dist/tailwind.preset.js.map +1 -0
- package/dist/templates/catalog.d.ts +4 -4
- package/dist/templates/index.js +2 -2
- package/dist/templates/presets.d.ts +2 -2
- package/dist/{templates-Pbxjdqlh.js → templates-BTJ9C9Kb.js} +22 -5
- package/dist/templates-BTJ9C9Kb.js.map +1 -0
- package/dist/types/auth.d.ts +1 -0
- package/dist/types/auto-group.d.ts +7 -0
- package/dist/types/componentWorkflowTypes.d.ts +22 -0
- package/dist/types/components.d.ts +1 -1
- package/dist/types/generated-ui.d.ts +11 -2
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.js +1 -1
- package/dist/types/jobs.d.ts +11 -3
- package/dist/{useApi-yE0re8k-.js → useApi-CDBq6z23.js} +15 -0
- package/dist/useApi-CDBq6z23.js.map +1 -0
- package/dist/{useControlSchema-Ds4VeFxt.js → useControlSchema-CXhxTul7.js} +104 -9
- package/dist/useControlSchema-CXhxTul7.js.map +1 -0
- package/dist/{useDropdownState-WIGW6Rr-.js → useDropdownState-DSb3BC3N.js} +2 -0
- package/dist/useDropdownState-DSb3BC3N.js.map +1 -0
- package/dist/{useExperimentSelector-DXqsZuSk.js → useExperimentSelector-D0pjj9WH.js} +3 -1
- package/dist/useExperimentSelector-D0pjj9WH.js.map +1 -0
- package/dist/{useFormBuilder-1so6QSQL.js → useFormBuilder-CuOFB3aP.js} +3 -1
- package/dist/useFormBuilder-CuOFB3aP.js.map +1 -0
- package/dist/{useProtocolTemplates-Cv0ca1AM.js → useProtocolTemplates-BWhQIWV5.js} +584 -47
- package/dist/useProtocolTemplates-BWhQIWV5.js.map +1 -0
- package/package.json +8 -2
- package/src/__stories__/experiment-helpers.ts +86 -0
- package/src/__tests__/components/ActionItem.test.ts +99 -0
- package/src/__tests__/components/ActionMenu.test.ts +120 -0
- package/src/__tests__/components/AppAvatarMenu.test.ts +38 -0
- package/src/__tests__/components/AppLayout.test.ts +207 -0
- package/src/__tests__/components/AppPluginSwitcher.test.ts +44 -0
- package/src/__tests__/components/AppSidebar.test.ts +857 -0
- package/src/__tests__/components/AppToastContainer.test.ts +37 -0
- package/src/__tests__/components/AppTopBar.navigation.test.ts +68 -0
- package/src/__tests__/components/AppTopBar.test.ts +1256 -0
- package/src/__tests__/components/AppTopBarPageSelector.test.ts +156 -0
- package/src/__tests__/components/AppTopBarPillNav.test.ts +125 -0
- package/src/__tests__/components/AppTopBarPresence.test.ts +47 -0
- package/src/__tests__/components/ArtifactSaveDialog.test.ts +566 -0
- package/src/__tests__/components/ArtifactSelectorModal.test.ts +178 -0
- package/src/__tests__/components/AutoGroupModal.adapter.test.ts +204 -0
- package/src/__tests__/components/BaseInput.test.ts +99 -0
- package/src/__tests__/components/BaseModal.test.ts +133 -0
- package/src/__tests__/components/BasePill.test.ts +291 -0
- package/src/__tests__/components/BaseRadioGroup.test.ts +25 -0
- package/src/__tests__/components/BaseSelect.test.ts +73 -0
- package/src/__tests__/components/BaseTabs.test.ts +40 -0
- package/src/__tests__/components/BaseToggle.test.ts +40 -0
- package/src/__tests__/components/BatchProgressList.test.ts +52 -0
- package/src/__tests__/components/BioTemplateExperimentWorkspaceView.test.ts +159 -0
- package/src/__tests__/components/BioTemplatePackWorkspaceView.test.ts +192 -0
- package/src/__tests__/components/BioTemplatePresetWorkspaceView.test.ts +328 -0
- package/src/__tests__/components/BioTemplateRenderer.test.ts +96 -0
- package/src/__tests__/components/Breadcrumb.test.ts +23 -0
- package/src/__tests__/components/Calendar.test.ts +566 -0
- package/src/__tests__/components/CalendarGridPanel.test.ts +36 -0
- package/src/__tests__/components/CollapsibleCard.test.ts +571 -0
- package/src/__tests__/components/ComponentBindingRenderer.test.ts +278 -0
- package/src/__tests__/components/ConcentrationInput.test.ts +45 -0
- package/src/__tests__/components/ControlWorkspaceView.test.ts +1102 -0
- package/src/__tests__/components/DataFrame.test.ts +915 -0
- package/src/__tests__/components/DatePicker.test.ts +45 -0
- package/src/__tests__/components/DateTimePicker.test.ts +48 -0
- package/src/__tests__/components/DoseCalculatorVolumeField.test.ts +53 -0
- package/src/__tests__/components/DoseDesignWorkspaceView.test.ts +185 -0
- package/src/__tests__/components/DropdownButton.test.ts +494 -0
- package/src/__tests__/components/EmptyState.test.ts +23 -0
- package/src/__tests__/components/ExperimentPopover.test.ts +143 -0
- package/src/__tests__/components/ExperimentSelectorModal.test.ts +143 -0
- package/src/__tests__/components/FormBuilder.test.ts +353 -0
- package/src/__tests__/components/GeneratedPathInput.test.ts +132 -0
- package/src/__tests__/components/GeneratedPlotlyResult.test.ts +117 -0
- package/src/__tests__/components/GeneratedPluginView.test.ts +235 -0
- package/src/__tests__/components/GeneratedResultRenderer.test.ts +93 -0
- package/src/__tests__/components/GroupAssigner.test.ts +48 -0
- package/src/__tests__/components/InstrumentAlertLog.test.ts +59 -0
- package/src/__tests__/components/JobsStatusTray.test.ts +165 -0
- package/src/__tests__/components/LcmsSequenceTable.test.ts +57 -0
- package/src/__tests__/components/MobileSupportGate.test.ts +120 -0
- package/src/__tests__/components/MultiSelect.test.ts +48 -0
- package/src/__tests__/components/PlateMapEditorToolbarInternal.test.ts +54 -0
- package/src/__tests__/components/PluginIcon.test.ts +215 -0
- package/src/__tests__/components/PluginWorkspaceView.controls.test.ts +156 -0
- package/src/__tests__/components/PluginWorkspaceView.navigation.test.ts +102 -0
- package/src/__tests__/components/PluginWorkspaceView.shell.test.ts +43 -0
- package/src/__tests__/components/PluginWorkspaceView.test.ts +719 -0
- package/src/__tests__/components/ProgressBar.test.ts +18 -0
- package/src/__tests__/components/ProtocolStep.presentation.test.ts +31 -0
- package/src/__tests__/components/ProtocolStepEditor.state.test.ts +165 -0
- package/src/__tests__/components/ProtocolStepEditor.test.ts +33 -0
- package/src/__tests__/components/ProtocolStepParameterField.test.ts +44 -0
- package/src/__tests__/components/RackEditor.test.ts +125 -0
- package/src/__tests__/components/ReagentList.presentation.test.ts +68 -0
- package/src/__tests__/components/ReagentList.test.ts +82 -0
- package/src/__tests__/components/RetiredStyles.test.ts +82 -0
- package/src/__tests__/components/RuntimeUpdateNotice.test.ts +14 -0
- package/src/__tests__/components/SampleHierarchyTree.test.ts +53 -0
- package/src/__tests__/components/SampleSelector.colors.test.ts +49 -0
- package/src/__tests__/components/SampleSelector.drag.test.ts +126 -0
- package/src/__tests__/components/SampleSelector.groups.test.ts +94 -0
- package/src/__tests__/components/SampleSelector.selection.test.ts +56 -0
- package/src/__tests__/components/SampleSelector.test.ts +466 -0
- package/src/__tests__/components/SampleSelectorSampleRow.test.ts +40 -0
- package/src/__tests__/components/ScheduleCalendar.test.ts +44 -0
- package/src/__tests__/components/SectionCard.test.ts +181 -0
- package/src/__tests__/components/SegmentedControl.test.ts +69 -0
- package/src/__tests__/components/SequenceProgressBar.test.ts +39 -0
- package/src/__tests__/components/SettingsModal.schema.test.ts +97 -0
- package/src/__tests__/components/SettingsModal.test.ts +407 -0
- package/src/__tests__/components/SmartGroupFieldRecipe.groups.test.ts +101 -0
- package/src/__tests__/components/SmartGroupManual.cohorts.test.ts +97 -0
- package/src/__tests__/components/TagsInput.test.ts +75 -0
- package/src/__tests__/components/ThemeToggle.test.ts +47 -0
- package/src/__tests__/components/TimePicker.test.ts +38 -0
- package/src/__tests__/components/WellPlate.colors.test.ts +28 -0
- package/src/__tests__/components/WellPlate.conditions.test.ts +68 -0
- package/src/__tests__/components/WellPlate.geometry.test.ts +54 -0
- package/src/__tests__/components/WellPlate.interaction.test.ts +171 -0
- package/src/__tests__/components/WellPlate.legend.test.ts +13 -0
- package/src/__tests__/components/WellPlate.rendering.test.ts +122 -0
- package/src/__tests__/components/WellPlate.sampleDrop.test.ts +70 -0
- package/src/__tests__/composables/analysisArtifactTarget.test.ts +77 -0
- package/src/__tests__/composables/autoGroup/classKey.test.ts +25 -0
- package/src/__tests__/composables/autoGroup/classify.test.ts +107 -0
- package/src/__tests__/composables/autoGroup/columns.test.ts +135 -0
- package/src/__tests__/composables/autoGroup/compose.test.ts +226 -0
- package/src/__tests__/composables/autoGroup/cooccurrence.test.ts +91 -0
- package/src/__tests__/composables/autoGroup/fingerprint.test.ts +122 -0
- package/src/__tests__/composables/autoGroup/groupByOrder.test.ts +278 -0
- package/src/__tests__/composables/autoGroup/groupTree.test.ts +99 -0
- package/src/__tests__/composables/autoGroup/integration.test.ts +75 -0
- package/src/__tests__/composables/autoGroup/template.test.ts +70 -0
- package/src/__tests__/composables/autoGroup/tokenLength.test.ts +85 -0
- package/src/__tests__/composables/autoGroup/tokenize.test.ts +33 -0
- package/src/__tests__/composables/experiment-utils.test.ts +63 -0
- package/src/__tests__/composables/formBuilderRegistry.test.ts +191 -0
- package/src/__tests__/composables/resolvePluginFrontendBase.test.ts +65 -0
- package/src/__tests__/composables/useAnalysisArtifacts.test.ts +740 -0
- package/src/__tests__/composables/useApi.test.ts +157 -0
- package/src/__tests__/composables/useAppExperiment.test.ts +899 -0
- package/src/__tests__/composables/useAuth.test.ts +233 -0
- package/src/__tests__/composables/useAutoGroup.test.ts +524 -0
- package/src/__tests__/composables/useAutoGroupInputSources.test.ts +127 -0
- package/src/__tests__/composables/useBioTemplatePackWorkspace.test.ts +125 -0
- package/src/__tests__/composables/useBioTemplatePresetWorkspace.test.ts +199 -0
- package/src/__tests__/composables/useBioTemplateWorkspace.test.ts +104 -0
- package/src/__tests__/composables/useCalendarGrid.test.ts +38 -0
- package/src/__tests__/composables/useCommandHistory.test.ts +43 -0
- package/src/__tests__/composables/useControlSchema.test.ts +1060 -0
- package/src/__tests__/composables/useDebouncedWatch.test.ts +93 -0
- package/src/__tests__/composables/useDropdownState.test.ts +95 -0
- package/src/__tests__/composables/useEventListener.test.ts +116 -0
- package/src/__tests__/composables/useEventStream.test.ts +140 -0
- package/src/__tests__/composables/useExpansionSet.test.ts +62 -0
- package/src/__tests__/composables/useExperimentData.test.ts +154 -0
- package/src/__tests__/composables/useExperimentSamples.test.ts +91 -0
- package/src/__tests__/composables/useExperimentSave.test.ts +542 -0
- package/src/__tests__/composables/useExperimentSelector.test.ts +338 -0
- package/src/__tests__/composables/useFileImport.test.ts +44 -0
- package/src/__tests__/composables/useForm.test.ts +263 -0
- package/src/__tests__/composables/useFormBuilder.test.ts +994 -0
- package/src/__tests__/composables/useGeneratedAnalysis.test.ts +1903 -0
- package/src/__tests__/composables/useGroupAssignment.test.ts +73 -0
- package/src/__tests__/composables/useJobsStatusTray.test.ts +283 -0
- package/src/__tests__/composables/useListSelection.test.ts +66 -0
- package/src/__tests__/composables/useMobileSupportGate.test.ts +74 -0
- package/src/__tests__/composables/useOptimisticMutation.test.ts +40 -0
- package/src/__tests__/composables/usePlatformContext.test.ts +148 -0
- package/src/__tests__/composables/usePluginClient.test.ts +1772 -0
- package/src/__tests__/composables/usePluginConfig.test.ts +497 -0
- package/src/__tests__/composables/usePresenceHeartbeat.test.ts +164 -0
- package/src/__tests__/composables/useProtocolTemplates.test.ts +64 -0
- package/src/__tests__/composables/useRequestSyncState.test.ts +92 -0
- package/src/__tests__/composables/useResourceCrud.test.ts +56 -0
- package/src/__tests__/composables/useRuntimeAlignment.test.ts +145 -0
- package/src/__tests__/composables/useSampleGroups.test.ts +66 -0
- package/src/__tests__/composables/useSampleGroups.tree.test.ts +145 -0
- package/src/__tests__/composables/useScheduleCalendarLayout.test.ts +89 -0
- package/src/__tests__/composables/useSelectionLimit.test.ts +41 -0
- package/src/__tests__/composables/useSortedItems.test.ts +87 -0
- package/src/__tests__/composables/useTemplateCollection.test.ts +147 -0
- package/src/__tests__/composables/useTextSearch.test.ts +55 -0
- package/src/__tests__/composables/useTheme.test.ts +91 -0
- package/src/__tests__/composables/useTimeUtils.test.ts +35 -0
- package/src/__tests__/composables/useWellPainting.test.ts +52 -0
- package/src/__tests__/composables/useWellPlateAdapter.test.ts +50 -0
- package/src/__tests__/composables/useWellPlateValidation.test.ts +42 -0
- package/src/__tests__/docs/extractDocsComponents.test.ts +156 -0
- package/src/__tests__/docs/extractDocsExports.test.ts +92 -0
- package/src/__tests__/docs/extractDocsParsing.test.ts +91 -0
- package/src/__tests__/docs/extractDocsTemplates.test.ts +53 -0
- package/src/__tests__/docs/extractDocsTheme.test.ts +89 -0
- package/src/__tests__/docs/frontendDocsCatalog.test.ts +436 -0
- package/src/__tests__/fixtures/auto-group/mixed-lc-ms-batch.txt +187 -0
- package/src/__tests__/fixtures/templates/dose-response.json +81 -0
- package/src/__tests__/fixtures/templates/plate-map.json +54 -0
- package/src/__tests__/fixtures/templates/qpcr-plate.json +96 -0
- package/src/__tests__/fixtures/templates/sample-sheet.json +71 -0
- package/src/__tests__/generatedUi.test.ts +119 -0
- package/src/__tests__/stores/experiment.test.ts +300 -0
- package/src/__tests__/stores/settings.test.ts +78 -0
- package/src/__tests__/templates/templates.test.ts +1185 -0
- package/src/__tests__/types/GeneratedJsonSchema.test.ts +62 -0
- package/src/__tests__/utils/color.test.ts +96 -0
- package/src/__tests__/utils/instrument.test.ts +47 -0
- package/src/__tests__/utils/jobs.test.ts +95 -0
- package/src/__tests__/utils/lcms.test.ts +73 -0
- package/src/__tests__/utils/permissions.test.ts +62 -0
- package/src/__tests__/utils/rack.test.ts +120 -0
- package/src/components/ActionMenu.story.vue +26 -0
- package/src/components/ActionMenu.vue +209 -0
- package/src/components/AlertBox.story.vue +204 -0
- package/src/components/AlertBox.vue +88 -0
- package/src/components/AppAvatarMenu.story.vue +155 -0
- package/src/components/AppAvatarMenu.vue +133 -0
- package/src/components/AppContainer.story.vue +104 -0
- package/src/components/AppContainer.vue +34 -0
- package/src/components/AppLayout.story.vue +331 -0
- package/src/components/AppLayout.vue +156 -0
- package/src/components/AppPluginSwitcher.vue +137 -0
- package/src/components/AppSidebar.story.vue +584 -0
- package/src/components/AppSidebar.vue +471 -0
- package/src/components/AppToastContainer.story.vue +157 -0
- package/src/components/AppToastContainer.vue +62 -0
- package/src/components/AppTopBar.navigation.ts +60 -0
- package/src/components/AppTopBar.story.vue +280 -0
- package/src/components/AppTopBar.vue +474 -0
- package/src/components/ArtifactSaveDialog.story.vue +319 -0
- package/src/components/ArtifactSaveDialog.vue +434 -0
- package/src/components/ArtifactSelectorModal.story.vue +295 -0
- package/src/components/ArtifactSelectorModal.vue +333 -0
- package/src/components/AuditTrail.story.vue +163 -0
- package/src/components/AuditTrail.vue +151 -0
- package/src/components/AutoGroupModal.adapter.ts +203 -0
- package/src/components/AutoGroupModal.story.vue +458 -0
- package/src/components/AutoGroupModal.vue +294 -0
- package/src/components/Avatar.story.vue +115 -0
- package/src/components/Avatar.vue +79 -0
- package/src/components/BaseButton.story.vue +96 -0
- package/src/components/BaseButton.vue +75 -0
- package/src/components/BaseCheckbox.story.vue +100 -0
- package/src/components/BaseCheckbox.vue +131 -0
- package/src/components/BaseInput.story.vue +98 -0
- package/src/components/BaseInput.vue +76 -0
- package/src/components/BaseModal.story.vue +335 -0
- package/src/components/BaseModal.vue +328 -0
- package/src/components/BasePill.story.vue +142 -0
- package/src/components/BasePill.vue +89 -0
- package/src/components/BaseRadioGroup.story.vue +145 -0
- package/src/components/BaseRadioGroup.vue +128 -0
- package/src/components/BaseSelect.story.vue +120 -0
- package/src/components/BaseSelect.vue +89 -0
- package/src/components/BaseSlider.story.vue +122 -0
- package/src/components/BaseSlider.vue +126 -0
- package/src/components/BaseTabs.story.vue +127 -0
- package/src/components/BaseTabs.vue +82 -0
- package/src/components/BaseTextarea.story.vue +91 -0
- package/src/components/BaseTextarea.vue +62 -0
- package/src/components/BaseToggle.story.vue +108 -0
- package/src/components/BaseToggle.vue +143 -0
- package/src/components/BatchProgressList.story.vue +92 -0
- package/src/components/BatchProgressList.vue +181 -0
- package/src/components/BioTemplateExperimentWorkspaceView.story.vue +123 -0
- package/src/components/BioTemplateExperimentWorkspaceView.vue +350 -0
- package/src/components/BioTemplatePackWorkspaceView.story.vue +107 -0
- package/src/components/BioTemplatePackWorkspaceView.vue +184 -0
- package/src/components/BioTemplatePresetWorkspaceView.story.vue +163 -0
- package/src/components/BioTemplatePresetWorkspaceView.vue +408 -0
- package/src/components/BioTemplateRenderer.story.vue +57 -0
- package/src/components/BioTemplateRenderer.vue +64 -0
- package/src/components/Breadcrumb.story.vue +106 -0
- package/src/components/Breadcrumb.vue +81 -0
- package/src/components/Calendar.story.vue +106 -0
- package/src/components/Calendar.vue +367 -0
- package/src/components/ChartContainer.story.vue +113 -0
- package/src/components/ChartContainer.vue +64 -0
- package/src/components/ChemicalFormula.story.vue +102 -0
- package/src/components/ChemicalFormula.vue +39 -0
- package/src/components/CollapsibleCard.story.vue +135 -0
- package/src/components/CollapsibleCard.vue +245 -0
- package/src/components/ColorSlider.story.vue +120 -0
- package/src/components/ColorSlider.vue +164 -0
- package/src/components/ComponentBindingRenderer.story.vue +87 -0
- package/src/components/ComponentBindingRenderer.vue +324 -0
- package/src/components/ConcentrationInput.story.vue +77 -0
- package/src/components/ConcentrationInput.vue +149 -0
- package/src/components/ConfirmDialog.story.vue +248 -0
- package/src/components/ConfirmDialog.vue +100 -0
- package/src/components/ControlWorkspaceView.story.vue +347 -0
- package/src/components/ControlWorkspaceView.vue +381 -0
- package/src/components/DataFrame.story.vue +148 -0
- package/src/components/DataFrame.vue +520 -0
- package/src/components/DatePicker.story.vue +119 -0
- package/src/components/DatePicker.vue +197 -0
- package/src/components/DateTimePicker.story.vue +112 -0
- package/src/components/DateTimePicker.vue +271 -0
- package/src/components/Divider.story.vue +80 -0
- package/src/components/Divider.vue +49 -0
- package/src/components/DoseCalculator.story.vue +68 -0
- package/src/components/DoseCalculator.vue +416 -0
- package/src/components/DoseCalculatorVolumeField.vue +61 -0
- package/src/components/DoseDesignWorkspaceView.story.vue +77 -0
- package/src/components/DoseDesignWorkspaceView.vue +262 -0
- package/src/components/DropdownButton.story.vue +102 -0
- package/src/components/DropdownButton.vue +163 -0
- package/src/components/EmptyState.story.vue +135 -0
- package/src/components/EmptyState.vue +71 -0
- package/src/components/ExperimentCodeBadge.story.vue +77 -0
- package/src/components/ExperimentCodeBadge.vue +64 -0
- package/src/components/ExperimentDataViewer.story.vue +174 -0
- package/src/components/ExperimentDataViewer.vue +293 -0
- package/src/components/ExperimentPopover.story.vue +442 -0
- package/src/components/ExperimentPopover.vue +312 -0
- package/src/components/ExperimentSelectorModal.story.vue +381 -0
- package/src/components/ExperimentSelectorModal.vue +432 -0
- package/src/components/ExperimentTimeline.story.vue +161 -0
- package/src/components/ExperimentTimeline.vue +357 -0
- package/src/components/FileUploader.story.vue +107 -0
- package/src/components/FileUploader.vue +424 -0
- package/src/components/FitPanel.story.vue +125 -0
- package/src/components/FitPanel.vue +120 -0
- package/src/components/FormActions.vue +92 -0
- package/src/components/FormBuilder.story.vue +203 -0
- package/src/components/FormBuilder.vue +311 -0
- package/src/components/FormField.story.vue +132 -0
- package/src/components/FormField.vue +59 -0
- package/src/components/FormulaInput.story.vue +96 -0
- package/src/components/FormulaInput.vue +125 -0
- package/src/components/GeneratedPathInput.vue +218 -0
- package/src/components/GeneratedPlotlyResult.vue +87 -0
- package/src/components/GeneratedPluginView.vue +289 -0
- package/src/components/GeneratedResultRenderer.vue +147 -0
- package/src/components/GroupAssigner.story.vue +83 -0
- package/src/components/GroupAssigner.vue +257 -0
- package/src/components/IconButton.story.vue +140 -0
- package/src/components/IconButton.vue +73 -0
- package/src/components/InstrumentAlertLog.vue +191 -0
- package/src/components/InstrumentStateBadge.vue +50 -0
- package/src/components/InstrumentStatusCard.vue +188 -0
- package/src/components/JobsStatusTray.story.vue +126 -0
- package/src/components/JobsStatusTray.vue +407 -0
- package/src/components/LcmsSequenceTable.vue +191 -0
- package/src/components/LoadingSpinner.story.vue +70 -0
- package/src/components/LoadingSpinner.vue +50 -0
- package/src/components/MobileSupportGate.story.vue +52 -0
- package/src/components/MobileSupportGate.vue +115 -0
- package/src/components/MoleculeInput.story.vue +66 -0
- package/src/components/MoleculeInput.vue +426 -0
- package/src/components/MultiSelect.story.vue +132 -0
- package/src/components/MultiSelect.vue +123 -0
- package/src/components/NumberInput.story.vue +122 -0
- package/src/components/NumberInput.vue +162 -0
- package/src/components/PlateMapEditor.story.vue +92 -0
- package/src/components/PlateMapEditor.vue +434 -0
- package/src/components/PluginIcon.story.vue +103 -0
- package/src/components/PluginIcon.vue +158 -0
- package/src/components/PluginWorkspaceView.controls.ts +182 -0
- package/src/components/PluginWorkspaceView.navigation.ts +106 -0
- package/src/components/PluginWorkspaceView.props.ts +169 -0
- package/src/components/PluginWorkspaceView.shell.ts +67 -0
- package/src/components/PluginWorkspaceView.story.vue +341 -0
- package/src/components/PluginWorkspaceView.vue +395 -0
- package/src/components/ProgressBar.story.vue +148 -0
- package/src/components/ProgressBar.vue +117 -0
- package/src/components/ProtocolStep.presentation.ts +31 -0
- package/src/components/ProtocolStepEditor.state.ts +104 -0
- package/src/components/ProtocolStepEditor.story.vue +69 -0
- package/src/components/ProtocolStepEditor.vue +382 -0
- package/src/components/ProtocolStepParameterField.vue +134 -0
- package/src/components/RackEditor.story.vue +100 -0
- package/src/components/RackEditor.vue +442 -0
- package/src/components/ReagentEditor.story.vue +153 -0
- package/src/components/ReagentEditor.vue +418 -0
- package/src/components/ReagentList.presentation.ts +105 -0
- package/src/components/ReagentList.story.vue +137 -0
- package/src/components/ReagentList.vue +392 -0
- package/src/components/ResourceCard.story.vue +150 -0
- package/src/components/ResourceCard.vue +161 -0
- package/src/components/RuntimeUpdateNotice.vue +51 -0
- package/src/components/SampleHierarchyTree.story.vue +161 -0
- package/src/components/SampleHierarchyTree.vue +246 -0
- package/src/components/SampleLegend.story.vue +91 -0
- package/src/components/SampleLegend.vue +119 -0
- package/src/components/SampleSelector.colors.ts +48 -0
- package/src/components/SampleSelector.drag.ts +164 -0
- package/src/components/SampleSelector.groups.ts +109 -0
- package/src/components/SampleSelector.selection.ts +64 -0
- package/src/components/SampleSelector.story.vue +192 -0
- package/src/components/SampleSelector.tree.ts +48 -0
- package/src/components/SampleSelector.vue +451 -0
- package/src/components/SampleSelectorGroupNode.vue +197 -0
- package/src/components/SampleSelectorSampleRow.vue +68 -0
- package/src/components/ScheduleCalendar.story.vue +195 -0
- package/src/components/ScheduleCalendar.vue +414 -0
- package/src/components/ScientificNumber.story.vue +127 -0
- package/src/components/ScientificNumber.vue +197 -0
- package/src/components/SectionCard.story.vue +163 -0
- package/src/components/SectionCard.vue +98 -0
- package/src/components/SegmentedControl.story.vue +149 -0
- package/src/components/SegmentedControl.vue +94 -0
- package/src/components/SequenceInput.story.vue +119 -0
- package/src/components/SequenceInput.vue +209 -0
- package/src/components/SequenceProgressBar.vue +71 -0
- package/src/components/SettingsModal.schema.ts +74 -0
- package/src/components/SettingsModal.story.vue +524 -0
- package/src/components/SettingsModal.vue +399 -0
- package/src/components/Skeleton.story.vue +141 -0
- package/src/components/Skeleton.vue +74 -0
- package/src/components/SmartGroup.types.ts +98 -0
- package/src/components/SmartGroupFieldRecipe.groups.ts +109 -0
- package/src/components/SmartGroupFieldRecipe.story.vue +58 -0
- package/src/components/SmartGroupFieldRecipe.vue +499 -0
- package/src/components/SmartGroupManual.cohorts.ts +112 -0
- package/src/components/SmartGroupManual.story.vue +55 -0
- package/src/components/SmartGroupManual.vue +398 -0
- package/src/components/SmartGroupModal.story.vue +61 -0
- package/src/components/SmartGroupModal.vue +61 -0
- package/src/components/StatusIndicator.story.vue +99 -0
- package/src/components/StatusIndicator.vue +40 -0
- package/src/components/StepWizard.story.vue +155 -0
- package/src/components/StepWizard.vue +223 -0
- package/src/components/TagsInput.story.vue +155 -0
- package/src/components/TagsInput.vue +280 -0
- package/src/components/ThemeToggle.story.vue +36 -0
- package/src/components/ThemeToggle.vue +56 -0
- package/src/components/TimePicker.story.vue +96 -0
- package/src/components/TimePicker.vue +251 -0
- package/src/components/TimeRangeInput.story.vue +104 -0
- package/src/components/TimeRangeInput.vue +122 -0
- package/src/components/Tooltip.story.vue +138 -0
- package/src/components/Tooltip.vue +114 -0
- package/src/components/UnitInput.story.vue +194 -0
- package/src/components/UnitInput.vue +217 -0
- package/src/components/WellPlate.colors.ts +56 -0
- package/src/components/WellPlate.conditions.ts +100 -0
- package/src/components/WellPlate.geometry.ts +91 -0
- package/src/components/WellPlate.interaction.ts +272 -0
- package/src/components/WellPlate.legend.ts +8 -0
- package/src/components/WellPlate.rendering.ts +105 -0
- package/src/components/WellPlate.sampleDrop.ts +73 -0
- package/src/components/WellPlate.story.vue +282 -0
- package/src/components/WellPlate.vue +497 -0
- package/src/components/index.ts +139 -0
- package/src/components/internal/ActionItemInternal.vue +82 -0
- package/src/components/internal/AppTopBarPageSelectorInternal.vue +127 -0
- package/src/components/internal/AppTopBarPillNavInternal.vue +194 -0
- package/src/components/internal/CalendarGridPanelInternal.vue +120 -0
- package/src/components/internal/FormFieldRendererInternal.vue +68 -0
- package/src/components/internal/FormSectionRenderer.vue +78 -0
- package/src/components/internal/PlateMapEditorToolbarInternal.vue +128 -0
- package/src/components/internal/WellEditPopupInternal.vue +230 -0
- package/src/composables/analysisArtifactTarget.ts +53 -0
- package/src/composables/autoGroup/classKey.ts +8 -0
- package/src/composables/autoGroup/classify.ts +205 -0
- package/src/composables/autoGroup/colors.ts +6 -0
- package/src/composables/autoGroup/columns.ts +226 -0
- package/src/composables/autoGroup/compose.ts +244 -0
- package/src/composables/autoGroup/cooccurrence.ts +46 -0
- package/src/composables/autoGroup/csv-shim.ts +44 -0
- package/src/composables/autoGroup/fingerprint.ts +63 -0
- package/src/composables/autoGroup/index.ts +22 -0
- package/src/composables/autoGroup/replicatePreGroup.ts +124 -0
- package/src/composables/autoGroup/template.ts +126 -0
- package/src/composables/autoGroup/tokenLength.ts +53 -0
- package/src/composables/autoGroup/tokenize.ts +41 -0
- package/src/composables/autoGroup/vocab.json +66 -0
- package/src/composables/autoGroupConstants.ts +4 -0
- package/src/composables/autoGroupGrouping.ts +148 -0
- package/src/composables/controlComponentBindings.ts +80 -0
- package/src/composables/controlSchemaAdapters.ts +199 -0
- package/src/composables/controlSchemaDoseDesign.ts +222 -0
- package/src/composables/controlSchemaFormFields.ts +64 -0
- package/src/composables/controlSchemaLayout.ts +59 -0
- package/src/composables/controlSchemaModel.ts +172 -0
- package/src/composables/controlSchemaNormalize.ts +101 -0
- package/src/composables/controlSchemaTypes.ts +372 -0
- package/src/composables/controlSchemaUtils.ts +36 -0
- package/src/composables/controlWorkspaceOptions.ts +21 -0
- package/src/composables/experiment-utils.ts +105 -0
- package/src/composables/experimentDesignData.ts +182 -0
- package/src/composables/formBuilderRegistry.ts +81 -0
- package/src/composables/formBuilderSchema.ts +153 -0
- package/src/composables/index.ts +530 -0
- package/src/composables/platformContextHelpers.ts +81 -0
- package/src/composables/pluginEndpointBuilder.ts +267 -0
- package/src/composables/pluginFrontendBase.ts +22 -0
- package/src/composables/protocolTemplateCatalog.ts +325 -0
- package/src/composables/useAnalysisArtifacts.ts +361 -0
- package/src/composables/useApi.ts +319 -0
- package/src/composables/useAppExperiment.ts +228 -0
- package/src/composables/useAsync.ts +323 -0
- package/src/composables/useAuth.ts +458 -0
- package/src/composables/useAutoGroup.ts +682 -0
- package/src/composables/useAutoGroupInputSources.ts +147 -0
- package/src/composables/useBioTemplateComponents.ts +105 -0
- package/src/composables/useBioTemplateControls.ts +41 -0
- package/src/composables/useBioTemplatePackWorkspace.ts +193 -0
- package/src/composables/useBioTemplatePresetWorkspace.ts +326 -0
- package/src/composables/useBioTemplateWorkspace.ts +141 -0
- package/src/composables/useCalendarGrid.ts +140 -0
- package/src/composables/useChemicalFormula.ts +275 -0
- package/src/composables/useCommandHistory.ts +113 -0
- package/src/composables/useConcentrationUnits.ts +246 -0
- package/src/composables/useControlSchema.ts +135 -0
- package/src/composables/useControlWorkspace.ts +209 -0
- package/src/composables/useDebouncedWatch.ts +119 -0
- package/src/composables/useDoseCalculator.ts +370 -0
- package/src/composables/useDropdownState.ts +83 -0
- package/src/composables/useEventListener.ts +111 -0
- package/src/composables/useEventStream.ts +314 -0
- package/src/composables/useExpansionSet.ts +117 -0
- package/src/composables/useExperimentData.ts +136 -0
- package/src/composables/useExperimentSamples.ts +142 -0
- package/src/composables/useExperimentSave.ts +344 -0
- package/src/composables/useExperimentSelector.ts +408 -0
- package/src/composables/useFileImport.ts +231 -0
- package/src/composables/useForm.ts +279 -0
- package/src/composables/useFormBuilder.ts +292 -0
- package/src/composables/useFormValidation.ts +154 -0
- package/src/composables/useGeneratedAnalysis.ts +1227 -0
- package/src/composables/useGroupAssignment.ts +148 -0
- package/src/composables/useJobsStatusTray.ts +493 -0
- package/src/composables/useListSelection.ts +158 -0
- package/src/composables/useMobileSupportGate.ts +80 -0
- package/src/composables/useOptimisticMutation.ts +107 -0
- package/src/composables/usePasskey.ts +216 -0
- package/src/composables/usePlatformContext.ts +299 -0
- package/src/composables/usePluginClient.ts +968 -0
- package/src/composables/usePluginConfig.ts +250 -0
- package/src/composables/usePresenceHeartbeat.ts +201 -0
- package/src/composables/useProtocolTemplates.ts +212 -0
- package/src/composables/useRackEditor.ts +223 -0
- package/src/composables/useReagentSeries.ts +91 -0
- package/src/composables/useRequestSyncState.ts +126 -0
- package/src/composables/useResourceCrud.ts +245 -0
- package/src/composables/useRuntimeAlignment.ts +184 -0
- package/src/composables/useSampleGroups.ts +211 -0
- package/src/composables/useScheduleCalendarLayout.ts +287 -0
- package/src/composables/useScheduleDrag.ts +245 -0
- package/src/composables/useSelectionLimit.ts +57 -0
- package/src/composables/useSequenceUtils.ts +105 -0
- package/src/composables/useSortedItems.ts +118 -0
- package/src/composables/useTemplateCollection.ts +229 -0
- package/src/composables/useTextSearch.ts +60 -0
- package/src/composables/useTheme.ts +32 -0
- package/src/composables/useTimeUtils.ts +155 -0
- package/src/composables/useToast.ts +40 -0
- package/src/composables/useWellPainting.ts +187 -0
- package/src/composables/useWellPlateAdapter.ts +147 -0
- package/src/composables/useWellPlateEditor.ts +425 -0
- package/src/composables/useWellPlateValidation.ts +85 -0
- package/src/generated/schema.ts +130 -0
- package/src/generated-ui/main.ts +21 -0
- package/src/histoire.setup.ts +17 -0
- package/src/index.ts +67 -0
- package/src/install.ts +39 -0
- package/src/instrument.ts +90 -0
- package/src/jobs.ts +80 -0
- package/src/lcms.ts +108 -0
- package/src/permissions.ts +144 -0
- package/src/plotly-dist.d.ts +3 -0
- package/src/stores/auth.ts +206 -0
- package/src/stores/experiment.ts +120 -0
- package/src/stores/index.ts +3 -0
- package/src/stores/settings.ts +232 -0
- package/src/styles/components/action-menu.css +59 -0
- package/src/styles/components/alert-box.css +150 -0
- package/src/styles/components/app-avatar-menu.css +156 -0
- package/src/styles/components/app-container.css +33 -0
- package/src/styles/components/app-layout.css +180 -0
- package/src/styles/components/app-page-selector.css +212 -0
- package/src/styles/components/app-pill-nav.css +133 -0
- package/src/styles/components/app-plugin-switcher.css +196 -0
- package/src/styles/components/app-sidebar.css +392 -0
- package/src/styles/components/app-top-bar.css +249 -0
- package/src/styles/components/artifact-save-dialog.css +17 -0
- package/src/styles/components/artifact-selector-modal.css +216 -0
- package/src/styles/components/audit-trail.css +143 -0
- package/src/styles/components/avatar.css +73 -0
- package/src/styles/components/batch-progress-list.css +196 -0
- package/src/styles/components/breadcrumb.css +64 -0
- package/src/styles/components/button.css +192 -0
- package/src/styles/components/calendar.css +192 -0
- package/src/styles/components/chart-container.css +69 -0
- package/src/styles/components/checkbox.css +210 -0
- package/src/styles/components/chemical-formula.css +46 -0
- package/src/styles/components/collapsible-card.css +393 -0
- package/src/styles/components/color-slider.css +110 -0
- package/src/styles/components/concentration-input.css +17 -0
- package/src/styles/components/confirm-dialog.css +59 -0
- package/src/styles/components/dataframe.css +554 -0
- package/src/styles/components/date-picker.css +243 -0
- package/src/styles/components/datetime-picker.css +229 -0
- package/src/styles/components/divider.css +63 -0
- package/src/styles/components/dose-calculator.css +297 -0
- package/src/styles/components/dropdown-button.css +280 -0
- package/src/styles/components/empty-state.css +135 -0
- package/src/styles/components/experiment-code-badge.css +33 -0
- package/src/styles/components/experiment-data-viewer.css +138 -0
- package/src/styles/components/experiment-popover.css +563 -0
- package/src/styles/components/experiment-selector-modal.css +341 -0
- package/src/styles/components/experiment-timeline.css +529 -0
- package/src/styles/components/file-uploader.css +310 -0
- package/src/styles/components/fit-panel.css +67 -0
- package/src/styles/components/form-builder.css +69 -0
- package/src/styles/components/form-field.css +48 -0
- package/src/styles/components/formula-input.css +103 -0
- package/src/styles/components/group-assigner.css +200 -0
- package/src/styles/components/icon-button.css +196 -0
- package/src/styles/components/input.css +65 -0
- package/src/styles/components/instrument-monitor.css +478 -0
- package/src/styles/components/jobs-status-tray.css +420 -0
- package/src/styles/components/lcms-sequence-table.css +189 -0
- package/src/styles/components/loading-spinner.css +67 -0
- package/src/styles/components/mobile-support-gate.css +119 -0
- package/src/styles/components/modal.css +646 -0
- package/src/styles/components/molecule-input.css +186 -0
- package/src/styles/components/multi-select.css +131 -0
- package/src/styles/components/number-input.css +199 -0
- package/src/styles/components/pill.css +188 -0
- package/src/styles/components/plate-map-editor.css +464 -0
- package/src/styles/components/plugin-icon.css +46 -0
- package/src/styles/components/progress-bar.css +133 -0
- package/src/styles/components/protocol-step-editor.css +443 -0
- package/src/styles/components/rack-editor.css +265 -0
- package/src/styles/components/radio-group.css +240 -0
- package/src/styles/components/reagent-editor.css +505 -0
- package/src/styles/components/reagent-list.css +407 -0
- package/src/styles/components/resource-card.css +360 -0
- package/src/styles/components/sample-hierarchy-tree.css +310 -0
- package/src/styles/components/sample-legend.css +201 -0
- package/src/styles/components/sample-selector.css +682 -0
- package/src/styles/components/schedule-calendar.css +472 -0
- package/src/styles/components/scientific-number.css +63 -0
- package/src/styles/components/section-card.css +161 -0
- package/src/styles/components/segmented-control.css +194 -0
- package/src/styles/components/select.css +77 -0
- package/src/styles/components/sequence-input.css +184 -0
- package/src/styles/components/sequence-progress-bar.css +63 -0
- package/src/styles/components/settings-modal.css +76 -0
- package/src/styles/components/skeleton.css +49 -0
- package/src/styles/components/slider.css +74 -0
- package/src/styles/components/smart-group.css +734 -0
- package/src/styles/components/status-indicator.css +66 -0
- package/src/styles/components/step-wizard.css +192 -0
- package/src/styles/components/tabs.css +103 -0
- package/src/styles/components/tags-input.css +195 -0
- package/src/styles/components/textarea.css +81 -0
- package/src/styles/components/theme-toggle.css +6 -0
- package/src/styles/components/time-picker.css +171 -0
- package/src/styles/components/time-range-input.css +42 -0
- package/src/styles/components/toast.css +91 -0
- package/src/styles/components/toggle.css +226 -0
- package/src/styles/components/tooltip.css +91 -0
- package/src/styles/components/unit-input.css +123 -0
- package/src/styles/components/well-edit-popup.css +258 -0
- package/src/styles/components/well-plate.css +286 -0
- package/src/styles/index.css +93 -0
- package/src/styles/variables.css +1150 -0
- package/src/tailwind.preset.ts +66 -0
- package/src/templates/adapters.ts +137 -0
- package/src/templates/assayLookups.ts +33 -0
- package/src/templates/assayMatrixAdapters.ts +78 -0
- package/src/templates/assayMatrixBuilder.ts +59 -0
- package/src/templates/assayNormalizers.ts +34 -0
- package/src/templates/builderDefaults.ts +11 -0
- package/src/templates/builderIdUtils.ts +20 -0
- package/src/templates/builderPresetControls.ts +165 -0
- package/src/templates/builderReadUtils.ts +57 -0
- package/src/templates/builders.ts +122 -0
- package/src/templates/calibrationCurveAdapters.ts +59 -0
- package/src/templates/calibrationCurveBuilder.ts +99 -0
- package/src/templates/calibrationNormalizers.ts +60 -0
- package/src/templates/catalog.ts +245 -0
- package/src/templates/componentBindingCatalog.ts +90 -0
- package/src/templates/componentBindingHelpers.ts +93 -0
- package/src/templates/componentBindings.ts +253 -0
- package/src/templates/componentDoseResponseProps.ts +42 -0
- package/src/templates/componentGenericProps.ts +77 -0
- package/src/templates/componentPlateHelpers.ts +29 -0
- package/src/templates/componentPlateMapProps.ts +32 -0
- package/src/templates/componentPropsFactory.ts +21 -0
- package/src/templates/componentQpcrPlateProps.ts +28 -0
- package/src/templates/componentTargetResolvers.ts +69 -0
- package/src/templates/componentTemplateProps.ts +78 -0
- package/src/templates/controlSchemaClone.ts +32 -0
- package/src/templates/controlSchemaConstants.ts +11 -0
- package/src/templates/controlSchemaMerge.ts +40 -0
- package/src/templates/controlSchemaTargets.ts +87 -0
- package/src/templates/controlSchemaTypes.ts +20 -0
- package/src/templates/controlSchemas.ts +104 -0
- package/src/templates/defaultBioTemplateBuilder.ts +124 -0
- package/src/templates/doseResponseAdapters.ts +45 -0
- package/src/templates/doseResponseBuilder.ts +44 -0
- package/src/templates/elisaAssayCollectionBuilder.ts +62 -0
- package/src/templates/flowCytometryAssayCollectionBuilder.ts +41 -0
- package/src/templates/flowCytometryPanelBuilder.ts +53 -0
- package/src/templates/flowNormalizers.ts +58 -0
- package/src/templates/flowPanelAdapters.ts +58 -0
- package/src/templates/index.ts +326 -0
- package/src/templates/instrumentRunAdapterHelpers.ts +94 -0
- package/src/templates/instrumentRunAdapters.ts +163 -0
- package/src/templates/instrumentRunBuilder.ts +97 -0
- package/src/templates/lcmsBatchCollectionBuilder.ts +38 -0
- package/src/templates/lookup.ts +18 -0
- package/src/templates/packs.ts +162 -0
- package/src/templates/plateGeometry.ts +62 -0
- package/src/templates/plateMapAdapters.ts +36 -0
- package/src/templates/plateMapBuilder.ts +43 -0
- package/src/templates/presetControlSchemas.ts +258 -0
- package/src/templates/presets.ts +179 -0
- package/src/templates/protocolAdapters.ts +69 -0
- package/src/templates/protocolNormalizers.ts +37 -0
- package/src/templates/protocolStepsBuilder.ts +36 -0
- package/src/templates/qpcrAdapters.ts +104 -0
- package/src/templates/qpcrExpressionCollectionBuilder.ts +33 -0
- package/src/templates/qpcrPlateBuilder.ts +96 -0
- package/src/templates/reagentAdapters.ts +77 -0
- package/src/templates/reagentListBuilder.ts +30 -0
- package/src/templates/runNormalizers.ts +63 -0
- package/src/templates/sampleNormalizers.ts +58 -0
- package/src/templates/samplePrepAdapters.ts +63 -0
- package/src/templates/samplePrepBuilder.ts +51 -0
- package/src/templates/sampleSheetAdapters.ts +75 -0
- package/src/templates/sampleSheetBuilder.ts +23 -0
- package/src/templates/targetedMetabolomicsCollectionBuilder.ts +79 -0
- package/src/templates/targetedMetabolomicsHelpers.ts +102 -0
- package/src/templates/templateAdapterTypes.ts +58 -0
- package/src/templates/templateControlSchemas.ts +320 -0
- package/src/templates/templateCreateOptions.ts +208 -0
- package/src/templates/templateEnvelopes.ts +137 -0
- package/src/templates/templatePackCollectionBuilder.ts +23 -0
- package/src/templates/templatePresetCollectionBuilder.ts +139 -0
- package/src/templates/templateQpcrTypes.ts +48 -0
- package/src/templates/templateValidators.ts +414 -0
- package/src/templates/timeCourseAdapters.ts +73 -0
- package/src/templates/timeCourseBuilder.ts +64 -0
- package/src/templates/types.ts +493 -0
- package/src/templates/wellPlateScreenCollectionBuilder.ts +36 -0
- package/src/templates/westernBlotAssayCollectionBuilder.ts +68 -0
- package/src/types/analysisArtifactTypes.ts +176 -0
- package/src/types/auth.ts +59 -0
- package/src/types/auto-group.ts +157 -0
- package/src/types/componentLabTypes.ts +235 -0
- package/src/types/componentWorkflowTypes.ts +190 -0
- package/src/types/components.ts +527 -0
- package/src/types/form-builder.ts +207 -0
- package/src/types/generated-ui.ts +189 -0
- package/src/types/index.ts +299 -0
- package/src/types/instrument.ts +62 -0
- package/src/types/jobs.ts +70 -0
- package/src/types/platform.ts +132 -0
- package/src/utils/color.ts +96 -0
- package/src/utils/formModelSync.ts +52 -0
- package/src/utils/items.ts +28 -0
- package/src/utils/options.ts +23 -0
- package/src/utils/pluginIcon.ts +190 -0
- package/src/utils/rack.ts +209 -0
- package/src/utils/sampleGroupPath.ts +19 -0
- package/dist/ExperimentPopover-C1e0cd94.js +0 -3
- package/dist/ExperimentSelectorModal-DCWTFyos.js +0 -4
- package/dist/SettingsModal-Bpybht86.js +0 -5
|
@@ -0,0 +1,530 @@
|
|
|
1
|
+
export {
|
|
2
|
+
AuthenticationRequiredError,
|
|
3
|
+
useApi,
|
|
4
|
+
type ApiClientOptions,
|
|
5
|
+
type UseApiReturn,
|
|
6
|
+
} from './useApi'
|
|
7
|
+
export { useAuth } from './useAuth'
|
|
8
|
+
export { usePasskey } from './usePasskey'
|
|
9
|
+
export { useTheme } from './useTheme'
|
|
10
|
+
export { useToast } from './useToast'
|
|
11
|
+
export { usePlatformContext } from './usePlatformContext'
|
|
12
|
+
export { resolvePluginFrontendBase } from './pluginFrontendBase'
|
|
13
|
+
export {
|
|
14
|
+
getPresenceClientId,
|
|
15
|
+
usePresenceHeartbeat,
|
|
16
|
+
type PresenceHeartbeatOptions,
|
|
17
|
+
type PresenceHeartbeatPayload,
|
|
18
|
+
type PresenceHeartbeatResponse,
|
|
19
|
+
type UsePresenceHeartbeatReturn,
|
|
20
|
+
} from './usePresenceHeartbeat'
|
|
21
|
+
export {
|
|
22
|
+
getInjectedFrontendRevision,
|
|
23
|
+
useRuntimeAlignment,
|
|
24
|
+
type RuntimeAlignmentOptions,
|
|
25
|
+
type RuntimeRevisionResponse,
|
|
26
|
+
type UseRuntimeAlignmentReturn,
|
|
27
|
+
} from './useRuntimeAlignment'
|
|
28
|
+
export {
|
|
29
|
+
useForm,
|
|
30
|
+
type ValidationRule,
|
|
31
|
+
type FieldRules,
|
|
32
|
+
type FieldState,
|
|
33
|
+
type UseFormReturn,
|
|
34
|
+
} from './useForm'
|
|
35
|
+
export {
|
|
36
|
+
useAsync,
|
|
37
|
+
useAsyncBatch,
|
|
38
|
+
type AsyncError,
|
|
39
|
+
type AsyncState,
|
|
40
|
+
type UseAsyncReturn,
|
|
41
|
+
type UseAsyncOptions,
|
|
42
|
+
} from './useAsync'
|
|
43
|
+
export {
|
|
44
|
+
useWellPlateEditor,
|
|
45
|
+
type UseWellPlateEditorOptions,
|
|
46
|
+
type UseWellPlateEditorReturn,
|
|
47
|
+
} from './useWellPlateEditor'
|
|
48
|
+
export {
|
|
49
|
+
useConcentrationUnits,
|
|
50
|
+
type ConcentrationValue,
|
|
51
|
+
type ConcentrationUnit,
|
|
52
|
+
type MolarityUnit,
|
|
53
|
+
type MassVolumeUnit,
|
|
54
|
+
type PercentageUnit,
|
|
55
|
+
type UnitCategory,
|
|
56
|
+
type UseConcentrationUnitsReturn,
|
|
57
|
+
} from './useConcentrationUnits'
|
|
58
|
+
export {
|
|
59
|
+
useDoseCalculator,
|
|
60
|
+
type VolumeUnit,
|
|
61
|
+
type VolumeValue,
|
|
62
|
+
type DilutionParams,
|
|
63
|
+
type DilutionResult,
|
|
64
|
+
type SerialDilutionParams,
|
|
65
|
+
type SerialDilutionStep,
|
|
66
|
+
type SerialDilutionResult,
|
|
67
|
+
type ConversionResult,
|
|
68
|
+
type WellConcentration,
|
|
69
|
+
type UseDoseCalculatorReturn,
|
|
70
|
+
} from './useDoseCalculator'
|
|
71
|
+
export {
|
|
72
|
+
useProtocolTemplates,
|
|
73
|
+
type ParameterDefinition,
|
|
74
|
+
type StepTemplate,
|
|
75
|
+
type ValidationResult,
|
|
76
|
+
type UseProtocolTemplatesReturn,
|
|
77
|
+
} from './useProtocolTemplates'
|
|
78
|
+
export {
|
|
79
|
+
useRackEditor,
|
|
80
|
+
type UseRackEditorOptions,
|
|
81
|
+
type UseRackEditorReturn,
|
|
82
|
+
} from './useRackEditor'
|
|
83
|
+
export {
|
|
84
|
+
useChemicalFormula,
|
|
85
|
+
ATOMIC_WEIGHTS,
|
|
86
|
+
type ParsedElement,
|
|
87
|
+
type FormulaParseResult,
|
|
88
|
+
type FormulaPart,
|
|
89
|
+
type FormulaPartType,
|
|
90
|
+
} from './useChemicalFormula'
|
|
91
|
+
export {
|
|
92
|
+
useSequenceUtils,
|
|
93
|
+
type SequenceType,
|
|
94
|
+
type SequenceStats,
|
|
95
|
+
} from './useSequenceUtils'
|
|
96
|
+
export {
|
|
97
|
+
useTimeUtils,
|
|
98
|
+
parseTime,
|
|
99
|
+
formatTime,
|
|
100
|
+
formatTimeSlot,
|
|
101
|
+
generateTimeSlots,
|
|
102
|
+
rangesOverlap,
|
|
103
|
+
durationMinutes,
|
|
104
|
+
formatDuration,
|
|
105
|
+
isTimeInRange,
|
|
106
|
+
findAvailableSlots,
|
|
107
|
+
snapToSlot,
|
|
108
|
+
addMinutes,
|
|
109
|
+
compareTime,
|
|
110
|
+
findNearestTimeSlotIndex,
|
|
111
|
+
toMinutes,
|
|
112
|
+
fromMinutes,
|
|
113
|
+
} from './useTimeUtils'
|
|
114
|
+
export { useScheduleDrag } from './useScheduleDrag'
|
|
115
|
+
export {
|
|
116
|
+
useEventListener,
|
|
117
|
+
type EventListenerEnabled,
|
|
118
|
+
type EventFor,
|
|
119
|
+
type EventListenerStop,
|
|
120
|
+
type EventMapFor,
|
|
121
|
+
type EventTargetGetter,
|
|
122
|
+
type EventTargetLike,
|
|
123
|
+
type UseEventListenerObjectOptions,
|
|
124
|
+
type UseEventListenerOptions,
|
|
125
|
+
} from './useEventListener'
|
|
126
|
+
export {
|
|
127
|
+
DEFAULT_MOBILE_VIEWPORT_QUERY,
|
|
128
|
+
useMobileSupportGate,
|
|
129
|
+
type MobileSupportSource,
|
|
130
|
+
type MobileViewportQuerySource,
|
|
131
|
+
type UseMobileSupportGateOptions,
|
|
132
|
+
type UseMobileSupportGateReturn,
|
|
133
|
+
} from './useMobileSupportGate'
|
|
134
|
+
export {
|
|
135
|
+
useDebouncedWatch,
|
|
136
|
+
type DebouncedWatchCallback,
|
|
137
|
+
type DebouncedWatchCleanup,
|
|
138
|
+
type DebouncedWatchSource,
|
|
139
|
+
type UseDebouncedWatchOptions,
|
|
140
|
+
type UseDebouncedWatchReturn,
|
|
141
|
+
} from './useDebouncedWatch'
|
|
142
|
+
export { useFormBuilder, evaluateCondition } from './useFormBuilder'
|
|
143
|
+
export {
|
|
144
|
+
createGeneratedAnalysisTransport,
|
|
145
|
+
useGeneratedAnalysis,
|
|
146
|
+
usePluginJobs,
|
|
147
|
+
type GeneratedAnalysisTransport,
|
|
148
|
+
type GeneratedAnalysisOptions,
|
|
149
|
+
type PluginJobRequestOptions,
|
|
150
|
+
type PluginJobWaitOptions,
|
|
151
|
+
type UsePluginJobsOptions,
|
|
152
|
+
type UsePluginJobsReturn,
|
|
153
|
+
type UseGeneratedAnalysisReturn,
|
|
154
|
+
} from './useGeneratedAnalysis'
|
|
155
|
+
export { useAutoGroup, DEFAULT_COLORS, extractSamplesFromDesignData } from './useAutoGroup'
|
|
156
|
+
export { usePluginConfig, type UsePluginConfigReturn } from './usePluginConfig'
|
|
157
|
+
export {
|
|
158
|
+
useReagentSeries,
|
|
159
|
+
generateDilutionSeries,
|
|
160
|
+
DEFAULT_PRESETS,
|
|
161
|
+
DEFAULT_UNITS,
|
|
162
|
+
type LevelEntry,
|
|
163
|
+
type DilutionPreset,
|
|
164
|
+
type UseReagentSeriesReturn,
|
|
165
|
+
} from './useReagentSeries'
|
|
166
|
+
export {
|
|
167
|
+
useExperimentSelector,
|
|
168
|
+
type UseExperimentSelectorOptions,
|
|
169
|
+
type UseExperimentSelectorReturn,
|
|
170
|
+
} from './useExperimentSelector'
|
|
171
|
+
export {
|
|
172
|
+
useAnalysisArtifacts,
|
|
173
|
+
ANALYSIS_FILE_ARTIFACT_SCHEMA,
|
|
174
|
+
type UseAnalysisArtifactsOptions,
|
|
175
|
+
type UseAnalysisArtifactsReturn,
|
|
176
|
+
} from './useAnalysisArtifacts'
|
|
177
|
+
export {
|
|
178
|
+
buildAnalysisArtifactTargetQuery,
|
|
179
|
+
parseAnalysisArtifactTarget,
|
|
180
|
+
} from './analysisArtifactTarget'
|
|
181
|
+
export { resolveCurrentPluginId } from './platformContextHelpers'
|
|
182
|
+
export {
|
|
183
|
+
formatExperimentDate,
|
|
184
|
+
formatExperimentStatus,
|
|
185
|
+
getExperimentStatusVariant,
|
|
186
|
+
resolveExperimentCode,
|
|
187
|
+
experimentIdFromRoute,
|
|
188
|
+
datePresetToISO,
|
|
189
|
+
EXPERIMENT_STATUS_OPTIONS,
|
|
190
|
+
EXPERIMENT_STATUS_VARIANT_MAP,
|
|
191
|
+
EXPERIMENT_STATUS_LABELS,
|
|
192
|
+
DATE_PRESET_OPTIONS,
|
|
193
|
+
SORT_OPTIONS,
|
|
194
|
+
} from './experiment-utils'
|
|
195
|
+
export {
|
|
196
|
+
useExperimentData,
|
|
197
|
+
type UseExperimentDataOptions,
|
|
198
|
+
type UseExperimentDataReturn,
|
|
199
|
+
} from './useExperimentData'
|
|
200
|
+
export {
|
|
201
|
+
extractSampleNamesFromDesignData,
|
|
202
|
+
extractSampleOptionsFromDesignData,
|
|
203
|
+
unwrapExperimentDesignData,
|
|
204
|
+
type ExperimentDesignDataResponse,
|
|
205
|
+
type ExtractExperimentSamplesOptions,
|
|
206
|
+
} from './experimentDesignData'
|
|
207
|
+
export {
|
|
208
|
+
useExperimentSamples,
|
|
209
|
+
type ExperimentDesignDataSource,
|
|
210
|
+
type ExperimentIdSource,
|
|
211
|
+
type UseExperimentSamplesOptions,
|
|
212
|
+
type UseExperimentSamplesReturn,
|
|
213
|
+
} from './useExperimentSamples'
|
|
214
|
+
export {
|
|
215
|
+
getFieldRegistryEntry,
|
|
216
|
+
getTypeDefault,
|
|
217
|
+
type RegistryEntry,
|
|
218
|
+
} from './formBuilderRegistry'
|
|
219
|
+
export {
|
|
220
|
+
useAppExperiment,
|
|
221
|
+
APP_EXPERIMENT_KEY,
|
|
222
|
+
type UseAppExperimentOptions,
|
|
223
|
+
type UseAppExperimentReturn,
|
|
224
|
+
type AppExperimentState,
|
|
225
|
+
type AppExperimentPopoverBinding,
|
|
226
|
+
type AppExperimentSelectorModalBinding,
|
|
227
|
+
} from './useAppExperiment'
|
|
228
|
+
export {
|
|
229
|
+
useExperimentSave,
|
|
230
|
+
type UseExperimentSaveOptions,
|
|
231
|
+
type UseExperimentSaveReturn,
|
|
232
|
+
} from './useExperimentSave'
|
|
233
|
+
export {
|
|
234
|
+
useTemplateCollection,
|
|
235
|
+
type TemplateCollectionInput,
|
|
236
|
+
type UseTemplateCollectionOptions,
|
|
237
|
+
type UseTemplateCollectionReturn,
|
|
238
|
+
} from './useTemplateCollection'
|
|
239
|
+
export {
|
|
240
|
+
useRequestSyncState,
|
|
241
|
+
type RequestSyncRunOptions,
|
|
242
|
+
type RequestSyncSuccessKind,
|
|
243
|
+
type UseRequestSyncStateReturn,
|
|
244
|
+
} from './useRequestSyncState'
|
|
245
|
+
export {
|
|
246
|
+
useCommandHistory,
|
|
247
|
+
type CommandHistoryCommand,
|
|
248
|
+
type CommandHistoryExecuteOptions,
|
|
249
|
+
type CommandHistoryResult,
|
|
250
|
+
type UseCommandHistoryOptions,
|
|
251
|
+
type UseCommandHistoryReturn,
|
|
252
|
+
} from './useCommandHistory'
|
|
253
|
+
export {
|
|
254
|
+
useOptimisticMutation,
|
|
255
|
+
type OptimisticMutationContext,
|
|
256
|
+
type UseOptimisticMutationOptions,
|
|
257
|
+
type UseOptimisticMutationReturn,
|
|
258
|
+
} from './useOptimisticMutation'
|
|
259
|
+
export {
|
|
260
|
+
createPluginResourceClient,
|
|
261
|
+
useResourceCrud,
|
|
262
|
+
type PluginResourceClientOptions,
|
|
263
|
+
type ResourceCrudAdapter,
|
|
264
|
+
type ResourceKey,
|
|
265
|
+
type UseResourceCrudOptions,
|
|
266
|
+
type UseResourceCrudReturn,
|
|
267
|
+
} from './useResourceCrud'
|
|
268
|
+
export {
|
|
269
|
+
detectDelimiter,
|
|
270
|
+
parseDelimitedText,
|
|
271
|
+
readFileAsText,
|
|
272
|
+
useFileImport,
|
|
273
|
+
validateImportFile,
|
|
274
|
+
type DelimitedTable,
|
|
275
|
+
type FileImportOptions,
|
|
276
|
+
type FileImportValidationOptions,
|
|
277
|
+
type ParseDelimitedTextOptions,
|
|
278
|
+
type UseFileImportReturn,
|
|
279
|
+
} from './useFileImport'
|
|
280
|
+
export {
|
|
281
|
+
useSelectionLimit,
|
|
282
|
+
type SelectionLimitSource,
|
|
283
|
+
type UseSelectionLimitOptions,
|
|
284
|
+
type UseSelectionLimitReturn,
|
|
285
|
+
} from './useSelectionLimit'
|
|
286
|
+
export {
|
|
287
|
+
useListSelection,
|
|
288
|
+
type ListSelectionSource,
|
|
289
|
+
type ListSelectionValue,
|
|
290
|
+
type UseListSelectionOptions,
|
|
291
|
+
type UseListSelectionReturn,
|
|
292
|
+
type WidenListSelectionValue,
|
|
293
|
+
} from './useListSelection'
|
|
294
|
+
export {
|
|
295
|
+
useGroupAssignment,
|
|
296
|
+
type GroupAssignmentSource,
|
|
297
|
+
type GroupAssignmentState,
|
|
298
|
+
type GroupAssignmentZone,
|
|
299
|
+
type UseGroupAssignmentOptions,
|
|
300
|
+
type UseGroupAssignmentReturn,
|
|
301
|
+
} from './useGroupAssignment'
|
|
302
|
+
export {
|
|
303
|
+
useSampleGroups,
|
|
304
|
+
type DisplaySampleSubGroup,
|
|
305
|
+
type SampleGroupNode,
|
|
306
|
+
type SampleGroupSource,
|
|
307
|
+
type SampleMajorGroup,
|
|
308
|
+
type UseSampleGroupsOptions,
|
|
309
|
+
type UseSampleGroupsReturn,
|
|
310
|
+
} from './useSampleGroups'
|
|
311
|
+
export {
|
|
312
|
+
useExpansionSet,
|
|
313
|
+
type ExpansionSetSource,
|
|
314
|
+
type UseExpansionSetOptions,
|
|
315
|
+
type UseExpansionSetReturn,
|
|
316
|
+
} from './useExpansionSet'
|
|
317
|
+
export {
|
|
318
|
+
compareSortValues,
|
|
319
|
+
useSortedItems,
|
|
320
|
+
type CompareSortValuesOptions,
|
|
321
|
+
type SortComparator,
|
|
322
|
+
type SortComparatorContext,
|
|
323
|
+
type SortDescriptor,
|
|
324
|
+
type SortedItemsSource,
|
|
325
|
+
type SortOrder,
|
|
326
|
+
type UseSortedItemsOptions,
|
|
327
|
+
type UseSortedItemsReturn,
|
|
328
|
+
} from './useSortedItems'
|
|
329
|
+
export {
|
|
330
|
+
candidateMatchesSearch,
|
|
331
|
+
normalizeSearchQuery,
|
|
332
|
+
useTextSearch,
|
|
333
|
+
type TextSearchCandidate,
|
|
334
|
+
type TextSearchSource,
|
|
335
|
+
type UseTextSearchOptions,
|
|
336
|
+
type UseTextSearchReturn,
|
|
337
|
+
} from './useTextSearch'
|
|
338
|
+
export {
|
|
339
|
+
coordinateToWellId,
|
|
340
|
+
useWellPainting,
|
|
341
|
+
wellIdToCoordinate,
|
|
342
|
+
wellIdsInRectangle,
|
|
343
|
+
type UseWellPaintingOptions,
|
|
344
|
+
type UseWellPaintingReturn,
|
|
345
|
+
type WellCoordinate,
|
|
346
|
+
type WellPaintResult,
|
|
347
|
+
type WellPlateSource,
|
|
348
|
+
} from './useWellPainting'
|
|
349
|
+
export {
|
|
350
|
+
createColumnConditions,
|
|
351
|
+
createRowConditions,
|
|
352
|
+
createWellPlateWells,
|
|
353
|
+
useWellPlateAdapter,
|
|
354
|
+
type AxisConditionEntry,
|
|
355
|
+
type UseWellPlateAdapterReturn,
|
|
356
|
+
type WellPlateAdapterOptions,
|
|
357
|
+
type WellPlateAdapterSource,
|
|
358
|
+
type WellPlateEntry,
|
|
359
|
+
} from './useWellPlateAdapter'
|
|
360
|
+
export {
|
|
361
|
+
runWellPlateValidation,
|
|
362
|
+
useWellPlateValidation,
|
|
363
|
+
type UseWellPlateValidationOptions,
|
|
364
|
+
type UseWellPlateValidationReturn,
|
|
365
|
+
type WellPlateValidationRule,
|
|
366
|
+
type WellPlateValidationSeverity,
|
|
367
|
+
type WellPlateValidationSource,
|
|
368
|
+
type WellPlateValidationWarning,
|
|
369
|
+
} from './useWellPlateValidation'
|
|
370
|
+
export {
|
|
371
|
+
controlsToFormSchema,
|
|
372
|
+
controlsToSectionFormSchema,
|
|
373
|
+
controlsToSectionFormSchemas,
|
|
374
|
+
controlsToSidebarPanels,
|
|
375
|
+
controlsToSettingsSchema,
|
|
376
|
+
controlsToTopBarSettingsConfig,
|
|
377
|
+
controlsToViewIds,
|
|
378
|
+
controlsToViewItems,
|
|
379
|
+
controlValuesToComponentBindings,
|
|
380
|
+
controlValuesToComponentBindingsById,
|
|
381
|
+
controlValuesToComponentProps,
|
|
382
|
+
defineControlComponentBindings,
|
|
383
|
+
defineControlModel,
|
|
384
|
+
defineDoseDesignControlModel,
|
|
385
|
+
defineDoseCalculatorControlProps,
|
|
386
|
+
defineControls,
|
|
387
|
+
defineWellPlateControlProps,
|
|
388
|
+
defineWellPlateDoseComponentBindings,
|
|
389
|
+
defineWellPlateDoseControlProps,
|
|
390
|
+
getDefaultControlView,
|
|
391
|
+
getControlDefaults,
|
|
392
|
+
useControlSchema,
|
|
393
|
+
useControlWorkspace,
|
|
394
|
+
type ControlDefinition,
|
|
395
|
+
type ControlComponentBinding,
|
|
396
|
+
type ControlComponentBindingConfig,
|
|
397
|
+
type ControlComponentBindingRecordConfig,
|
|
398
|
+
type ControlComponentBindingsById,
|
|
399
|
+
type ControlComponentBindingsConfig,
|
|
400
|
+
type ControlComponentPropSource,
|
|
401
|
+
type ControlComponentPropsByIdMap,
|
|
402
|
+
type ControlComponentPropsMap,
|
|
403
|
+
type DoseDesignControlModelOptions,
|
|
404
|
+
type DoseCalculatorControlPropsOptions,
|
|
405
|
+
type ControlFormSchema,
|
|
406
|
+
type ControlInput,
|
|
407
|
+
type ControlModel,
|
|
408
|
+
type ControlModelBinding,
|
|
409
|
+
type ControlModelSectionConfig,
|
|
410
|
+
type ControlModelViewConfig,
|
|
411
|
+
type ControlOption,
|
|
412
|
+
type ControlOptionValue,
|
|
413
|
+
type ControlPrimitive,
|
|
414
|
+
type ControlSchema,
|
|
415
|
+
type ControlSchemaOptions,
|
|
416
|
+
type ControlShorthand,
|
|
417
|
+
type ControlWorkspaceOptions,
|
|
418
|
+
type ControlFormBinding,
|
|
419
|
+
type ControlSettingsBinding,
|
|
420
|
+
type ControlSidebarBinding,
|
|
421
|
+
type ControlSectionConfig,
|
|
422
|
+
type ControlSidebarConfig,
|
|
423
|
+
type ControlTopBarSettingsBinding,
|
|
424
|
+
type ControlViewConfig,
|
|
425
|
+
type ControlValues,
|
|
426
|
+
type UseControlSchemaReturn,
|
|
427
|
+
type ControlWorkspaceAppTopBarPillBinding,
|
|
428
|
+
type ControlWorkspaceComponentBindings,
|
|
429
|
+
type ControlWorkspaceFormBinding,
|
|
430
|
+
type ControlWorkspacePillNavBinding,
|
|
431
|
+
type ControlWorkspaceSidebarBinding,
|
|
432
|
+
type ControlWorkspaceTopBarBinding,
|
|
433
|
+
type ControlWorkspaceTopBarSettingsBinding,
|
|
434
|
+
type UseControlWorkspaceReturn,
|
|
435
|
+
type WellPlateControlPropsOptions,
|
|
436
|
+
type WellPlateDoseControlPropsOptions,
|
|
437
|
+
} from './useControlSchema'
|
|
438
|
+
export {
|
|
439
|
+
getBioTemplateControlSchema,
|
|
440
|
+
requireBioTemplateControlSchema,
|
|
441
|
+
useBioTemplateControls,
|
|
442
|
+
type BioTemplateControlSchema,
|
|
443
|
+
type BioTemplateControlTarget,
|
|
444
|
+
} from './useBioTemplateControls'
|
|
445
|
+
export {
|
|
446
|
+
getBioTemplateComponentProps,
|
|
447
|
+
getBioTemplateComponentBindings,
|
|
448
|
+
toBioTemplateComponentBindings,
|
|
449
|
+
toBioTemplateComponentBindingsById,
|
|
450
|
+
toBioTemplateComponentProps,
|
|
451
|
+
toBioTemplateComponentPropsByComponent,
|
|
452
|
+
toBioTemplateComponentPropsById,
|
|
453
|
+
useBioTemplateComponents,
|
|
454
|
+
type BioTemplateComponentBinding,
|
|
455
|
+
type BioTemplateComponentBindingsById,
|
|
456
|
+
type BioTemplateComponentPropsByComponent,
|
|
457
|
+
type BioTemplateComponentPropsBinding,
|
|
458
|
+
type BioTemplateComponentPropsById,
|
|
459
|
+
type BioTemplateComponentPropsLookupOptions,
|
|
460
|
+
type BioTemplateResolvedComponentBinding,
|
|
461
|
+
type BioTemplateComponentTarget,
|
|
462
|
+
type UseBioTemplateComponentsReturn,
|
|
463
|
+
} from './useBioTemplateComponents'
|
|
464
|
+
export {
|
|
465
|
+
useBioTemplateWorkspace,
|
|
466
|
+
type BioTemplateRendererBinding,
|
|
467
|
+
type BioTemplateWorkspaceBindings,
|
|
468
|
+
type BioTemplateWorkspaceTarget,
|
|
469
|
+
type UseBioTemplateWorkspaceReturn,
|
|
470
|
+
} from './useBioTemplateWorkspace'
|
|
471
|
+
export {
|
|
472
|
+
useBioTemplatePresetWorkspace,
|
|
473
|
+
type BioTemplatePresetWorkspaceBindings,
|
|
474
|
+
type UseBioTemplatePresetWorkspaceOptions,
|
|
475
|
+
type UseBioTemplatePresetWorkspaceReturn,
|
|
476
|
+
} from './useBioTemplatePresetWorkspace'
|
|
477
|
+
export {
|
|
478
|
+
useBioTemplatePackWorkspace,
|
|
479
|
+
type UseBioTemplatePackWorkspaceOptions,
|
|
480
|
+
type UseBioTemplatePackWorkspaceReturn,
|
|
481
|
+
} from './useBioTemplatePackWorkspace'
|
|
482
|
+
export {
|
|
483
|
+
buildPluginEndpointUrl,
|
|
484
|
+
createPluginClient,
|
|
485
|
+
downloadBlob,
|
|
486
|
+
downloadPluginEndpoint,
|
|
487
|
+
getPluginPageSelectorItems,
|
|
488
|
+
pluginFormDataFromPayload,
|
|
489
|
+
resolvePluginBaseUrl,
|
|
490
|
+
uploadPluginEndpoint,
|
|
491
|
+
usePluginClient,
|
|
492
|
+
usePluginEventStream,
|
|
493
|
+
usePluginSettings,
|
|
494
|
+
useCurrentExperiment,
|
|
495
|
+
type BuildPluginEndpointUrlOptions,
|
|
496
|
+
type DownloadBlobOptions,
|
|
497
|
+
type DownloadPluginEndpointOptions,
|
|
498
|
+
type PluginContract,
|
|
499
|
+
type PluginContractSettings,
|
|
500
|
+
type PluginClientRequestOptions,
|
|
501
|
+
type PluginEndpointContract,
|
|
502
|
+
type PluginEndpointDefinition,
|
|
503
|
+
type PluginHttpMethod,
|
|
504
|
+
type PluginNavItemContract,
|
|
505
|
+
type PluginEndpointRequestOptions,
|
|
506
|
+
type PluginEventStreamMessage,
|
|
507
|
+
type PluginEventStreamOptions,
|
|
508
|
+
type PluginFormDataPayload,
|
|
509
|
+
type PluginFormDataValue,
|
|
510
|
+
type CreatePluginClientOptions,
|
|
511
|
+
type UseCurrentExperimentOptions,
|
|
512
|
+
type UseCurrentExperimentReturn,
|
|
513
|
+
type UsePluginEventStreamReturn,
|
|
514
|
+
type UsePluginSettingsOptions,
|
|
515
|
+
type UsePluginSettingsReturn,
|
|
516
|
+
} from './usePluginClient'
|
|
517
|
+
export {
|
|
518
|
+
combinePluginJobSources,
|
|
519
|
+
usePluginJobCenter,
|
|
520
|
+
useJobsStatusTray,
|
|
521
|
+
type CombinedPluginJobCenterSource,
|
|
522
|
+
type JobsStatusTrayAdapter,
|
|
523
|
+
type JobStreamMessage,
|
|
524
|
+
type PluginJobCenterSource,
|
|
525
|
+
type JobsStatusTrayTab,
|
|
526
|
+
type UseJobsStatusTrayOptions,
|
|
527
|
+
type UseJobsStatusTrayReturn,
|
|
528
|
+
type UsePluginJobCenterOptions,
|
|
529
|
+
type UsePluginJobCenterReturn,
|
|
530
|
+
} from './useJobsStatusTray'
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { PlatformContext } from '../types'
|
|
2
|
+
|
|
3
|
+
export type ExperimentAwarePlatformContext = PlatformContext & {
|
|
4
|
+
currentExperiment?: unknown
|
|
5
|
+
currentExperimentId?: unknown
|
|
6
|
+
experiment?: unknown
|
|
7
|
+
experimentId?: unknown
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function getInjectedPlatformContext(): PlatformContext | undefined {
|
|
11
|
+
if (typeof window === 'undefined') return undefined
|
|
12
|
+
return (window as unknown as { __MINT_PLATFORM__?: PlatformContext }).__MINT_PLATFORM__
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Return the platform's canonical plugin identity for the mounted frontend. */
|
|
16
|
+
export function resolveCurrentPluginId(): string | undefined {
|
|
17
|
+
const pluginId = getInjectedPlatformContext()?.plugin?.id
|
|
18
|
+
return typeof pluginId === 'string' && pluginId ? pluginId : undefined
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function getInjectedExperimentContext(): ExperimentAwarePlatformContext | undefined {
|
|
22
|
+
return getInjectedPlatformContext() as ExperimentAwarePlatformContext | undefined
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function currentExperimentFromContext<TExperiment>(
|
|
26
|
+
context: ExperimentAwarePlatformContext | undefined = getInjectedExperimentContext(),
|
|
27
|
+
): TExperiment | undefined {
|
|
28
|
+
const candidate = context?.currentExperiment ?? context?.experiment
|
|
29
|
+
return candidate && typeof candidate === 'object'
|
|
30
|
+
? candidate as TExperiment
|
|
31
|
+
: undefined
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function currentExperimentIdFromContext(
|
|
35
|
+
context: ExperimentAwarePlatformContext | undefined = getInjectedExperimentContext(),
|
|
36
|
+
): number | undefined {
|
|
37
|
+
return parseExperimentId(
|
|
38
|
+
context?.currentExperimentId ??
|
|
39
|
+
context?.experimentId ??
|
|
40
|
+
context?.currentExperiment ??
|
|
41
|
+
context?.experiment,
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function currentExperimentIdFromUrl(): number | undefined {
|
|
46
|
+
if (typeof window === 'undefined') return undefined
|
|
47
|
+
const location = window.location
|
|
48
|
+
const params = new URLSearchParams(location?.search ?? '')
|
|
49
|
+
return parseExperimentId(params.get('experimentId') ?? params.get('experiment_id'))
|
|
50
|
+
?? experimentIdFromPath(location?.pathname ?? '')
|
|
51
|
+
?? experimentIdFromPath((location?.hash ?? '').replace(/^#\/?/, '/'))
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function resolveCurrentExperimentId(
|
|
55
|
+
context: ExperimentAwarePlatformContext | undefined = getInjectedExperimentContext(),
|
|
56
|
+
): number | undefined {
|
|
57
|
+
return currentExperimentIdFromContext(context) ?? currentExperimentIdFromUrl()
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function parseExperimentId(value: unknown): number | undefined {
|
|
61
|
+
if (typeof value === 'number' && Number.isFinite(value)) return value
|
|
62
|
+
if (typeof value === 'string' && value.trim()) {
|
|
63
|
+
const parsed = Number(value)
|
|
64
|
+
return Number.isFinite(parsed) ? parsed : undefined
|
|
65
|
+
}
|
|
66
|
+
if (value && typeof value === 'object' && 'id' in value) {
|
|
67
|
+
return parseExperimentId((value as { id?: unknown }).id)
|
|
68
|
+
}
|
|
69
|
+
return undefined
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function experimentIdFromPath(path: string): number | undefined {
|
|
73
|
+
const segments = path.split('/').filter(Boolean)
|
|
74
|
+
for (let index = 0; index < segments.length - 1; index += 1) {
|
|
75
|
+
const segment = segments[index]?.toLowerCase()
|
|
76
|
+
if (segment === 'experiment' || segment === 'experiments') {
|
|
77
|
+
return parseExperimentId(decodeURIComponent(segments[index + 1] ?? ''))
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return undefined
|
|
81
|
+
}
|