@morscherlab/mint-sdk 1.0.0-rc.4 → 1.0.0-rc.5
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/dist/__tests__/components/AppTopBar.navigation.test.d.ts +1 -0
- package/dist/__tests__/components/DoseCalculatorVolumeField.test.d.ts +1 -0
- package/dist/__tests__/components/PlateMapEditorToolbarInternal.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/ProtocolStep.presentation.test.d.ts +1 -0
- package/dist/__tests__/components/ProtocolStepEditor.state.test.d.ts +1 -0
- package/dist/__tests__/components/ProtocolStepParameterField.test.d.ts +1 -0
- package/dist/__tests__/components/ReagentList.presentation.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/SampleSelectorSampleRow.test.d.ts +1 -0
- package/dist/__tests__/components/ScheduleCalendar.test.d.ts +1 -0
- package/dist/__tests__/components/SettingsModal.schema.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/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/integration.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/template.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/tokenize.test.d.ts +1 -0
- package/dist/__tests__/composables/useAutoGroupInputSources.test.d.ts +1 -0
- package/dist/__tests__/composables/useScheduleCalendarLayout.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/components/AppSidebar.vue.d.ts +3 -3
- package/dist/components/AppTopBar.navigation.d.ts +11 -0
- package/dist/components/BaseButton.vue.d.ts +1 -1
- package/dist/components/BaseCheckbox.vue.d.ts +1 -1
- package/dist/components/BaseInput.vue.d.ts +2 -2
- package/dist/components/BasePill.vue.d.ts +1 -1
- package/dist/components/BaseRadioGroup.vue.d.ts +1 -1
- package/dist/components/BaseSelect.vue.d.ts +1 -1
- package/dist/components/BaseSlider.vue.d.ts +2 -2
- package/dist/components/BaseTextarea.vue.d.ts +2 -2
- package/dist/components/BaseToggle.vue.d.ts +1 -1
- package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +2 -2
- package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +1 -1
- package/dist/components/ColorSlider.vue.d.ts +2 -2
- package/dist/components/ConcentrationInput.vue.d.ts +2 -2
- package/dist/components/ControlWorkspaceView.vue.d.ts +3 -3
- package/dist/components/DatePicker.vue.d.ts +1 -1
- package/dist/components/DateTimePicker.vue.d.ts +2 -2
- package/dist/components/DoseCalculatorVolumeField.vue.d.ts +15 -0
- package/dist/components/DoseDesignWorkspaceView.vue.d.ts +1 -1
- package/dist/components/DropdownButton.vue.d.ts +1 -1
- package/dist/components/FileUploader.vue.d.ts +2 -2
- package/dist/components/FormulaInput.vue.d.ts +2 -2
- package/dist/components/IconButton.vue.d.ts +1 -1
- package/dist/components/LoadingSpinner.vue.d.ts +1 -1
- package/dist/components/MoleculeInput.vue.d.ts +2 -2
- package/dist/components/MultiSelect.vue.d.ts +1 -1
- package/dist/components/NumberInput.vue.d.ts +1 -1
- package/dist/components/PlateMapEditor.vue.d.ts +6 -6
- package/dist/components/PluginWorkspaceView.controls.d.ts +28 -0
- package/dist/components/PluginWorkspaceView.navigation.d.ts +29 -0
- package/dist/components/PluginWorkspaceView.props.d.ts +151 -0
- package/dist/components/PluginWorkspaceView.shell.d.ts +19 -0
- package/dist/components/PluginWorkspaceView.vue.d.ts +46 -195
- package/dist/components/ProgressBar.vue.d.ts +1 -1
- package/dist/components/ProtocolStep.presentation.d.ts +4 -0
- package/dist/components/ProtocolStepEditor.state.d.ts +18 -0
- package/dist/components/ProtocolStepParameterField.vue.d.ts +12 -0
- package/dist/components/ReagentList.presentation.d.ts +16 -0
- package/dist/components/ResourceCard.vue.d.ts +1 -1
- package/dist/components/SampleSelector.colors.d.ts +13 -0
- package/dist/components/SampleSelector.drag.d.ts +24 -0
- package/dist/components/SampleSelector.groups.d.ts +15 -0
- package/dist/components/SampleSelector.selection.d.ts +26 -0
- package/dist/components/SampleSelector.vue.d.ts +4 -1
- package/dist/components/SampleSelectorSampleRow.vue.d.ts +21 -0
- package/dist/components/SegmentedControl.vue.d.ts +1 -1
- package/dist/components/SequenceInput.vue.d.ts +2 -2
- package/dist/components/SequenceProgressBar.vue.d.ts +1 -1
- package/dist/components/SettingsModal.schema.d.ts +9 -0
- package/dist/components/StatusIndicator.vue.d.ts +1 -1
- package/dist/components/TagsInput.vue.d.ts +2 -2
- package/dist/components/TimePicker.vue.d.ts +2 -2
- package/dist/components/TimeRangeInput.vue.d.ts +1 -1
- package/dist/components/UnitInput.vue.d.ts +2 -2
- package/dist/components/WellPlate.colors.d.ts +9 -0
- package/dist/components/WellPlate.conditions.d.ts +26 -0
- package/dist/components/WellPlate.geometry.d.ts +23 -0
- package/dist/components/WellPlate.interaction.d.ts +71 -0
- package/dist/components/WellPlate.legend.d.ts +2 -0
- package/dist/components/WellPlate.rendering.d.ts +24 -0
- package/dist/components/WellPlate.sampleDrop.d.ts +8 -0
- package/dist/components/WellPlate.vue.d.ts +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/internal/ActionItemInternal.vue.d.ts +1 -1
- package/dist/components/internal/PlateMapEditorToolbarInternal.vue.d.ts +28 -0
- package/dist/{components-DafPc4rM.js → components-DtHA2bgp.js} +3754 -2991
- package/dist/components-DtHA2bgp.js.map +1 -0
- package/dist/composables/autoGroup/classKey.d.ts +4 -0
- package/dist/composables/autoGroup/classify.d.ts +28 -0
- package/dist/composables/autoGroup/colors.d.ts +2 -0
- package/dist/composables/autoGroup/columns.d.ts +10 -0
- package/dist/composables/autoGroup/compose.d.ts +8 -0
- package/dist/composables/autoGroup/cooccurrence.d.ts +2 -0
- package/dist/composables/autoGroup/csv-shim.d.ts +2 -0
- package/dist/composables/autoGroup/fingerprint.d.ts +3 -0
- package/dist/composables/autoGroup/index.d.ts +16 -0
- package/dist/composables/autoGroup/replicatePreGroup.d.ts +38 -0
- package/dist/composables/autoGroup/template.d.ts +15 -0
- package/dist/composables/autoGroup/tokenize.d.ts +8 -0
- package/dist/composables/autoGroupConstants.d.ts +1 -0
- package/dist/composables/autoGroupGrouping.d.ts +3 -0
- package/dist/composables/controlComponentBindings.d.ts +1 -1
- package/dist/composables/controlSchemaAdapters.d.ts +1 -1
- package/dist/composables/controlSchemaDoseDesign.d.ts +11 -0
- package/dist/composables/controlSchemaLayout.d.ts +1 -1
- package/dist/composables/controlSchemaModel.d.ts +5 -0
- package/dist/composables/controlSchemaNormalize.d.ts +1 -1
- package/dist/composables/controlSchemaTypes.d.ts +305 -0
- package/dist/composables/controlWorkspaceOptions.d.ts +1 -1
- package/dist/composables/formBuilderSchema.d.ts +18 -0
- package/dist/composables/index.js +3 -3
- package/dist/composables/pluginEndpointBuilder.d.ts +13 -0
- package/dist/composables/protocolTemplateCatalog.d.ts +26 -0
- package/dist/composables/useAutoGroup.d.ts +61 -74
- package/dist/composables/useAutoGroupInputSources.d.ts +32 -0
- package/dist/composables/useBioTemplateControls.d.ts +1 -1
- package/dist/composables/useBioTemplatePresetWorkspace.d.ts +1 -1
- package/dist/composables/useBioTemplateWorkspace.d.ts +1 -1
- package/dist/composables/useControlSchema.d.ts +4 -316
- package/dist/composables/useControlWorkspace.d.ts +1 -1
- package/dist/composables/useForm.d.ts +2 -33
- package/dist/composables/useFormBuilder.d.ts +2 -9
- package/dist/composables/useFormValidation.d.ts +34 -0
- package/dist/composables/usePluginClient.d.ts +1 -4
- package/dist/composables/useProtocolTemplates.d.ts +2 -24
- package/dist/composables/useScheduleCalendarLayout.d.ts +49 -0
- package/dist/{composables-BMkPQhVK.js → composables-Dlg8jenH.js} +33 -31
- package/dist/composables-Dlg8jenH.js.map +1 -0
- package/dist/index.js +4 -4
- package/dist/install.js +2 -2
- package/dist/styles.css +547 -516
- package/dist/templates/controlSchemaTypes.d.ts +1 -1
- package/dist/templates/index.js +1 -1
- package/dist/templates/templateAdapterTypes.d.ts +48 -0
- package/dist/templates/templateCreateOptions.d.ts +165 -0
- package/dist/templates/templateQpcrTypes.d.ts +42 -0
- package/dist/templates/types.d.ts +5 -250
- package/dist/{templates-bUAWMn5L.js → templates-DtdUvJ4c.js} +144 -136
- package/dist/templates-DtdUvJ4c.js.map +1 -0
- package/dist/types/auto-group.d.ts +79 -9
- package/dist/types/componentLabTypes.d.ts +161 -0
- package/dist/types/componentWorkflowTypes.d.ts +150 -0
- package/dist/types/components.d.ts +2 -311
- package/dist/{useProtocolTemplates-QZtHFFH2.js → useProtocolTemplates-Bm5vyH4_.js} +1220 -454
- package/dist/useProtocolTemplates-Bm5vyH4_.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/components/AppTopBar.navigation.test.ts +70 -0
- package/src/__tests__/components/DoseCalculatorVolumeField.test.ts +53 -0
- package/src/__tests__/components/PlateMapEditorToolbarInternal.test.ts +54 -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 +41 -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/ProtocolStepParameterField.test.ts +44 -0
- package/src/__tests__/components/ReagentList.presentation.test.ts +68 -0
- package/src/__tests__/components/SampleSelector.colors.test.ts +49 -0
- package/src/__tests__/components/SampleSelector.drag.test.ts +100 -0
- package/src/__tests__/components/SampleSelector.groups.test.ts +81 -0
- package/src/__tests__/components/SampleSelector.selection.test.ts +70 -0
- package/src/__tests__/components/SampleSelector.test.ts +32 -0
- package/src/__tests__/components/SampleSelectorSampleRow.test.ts +37 -0
- package/src/__tests__/components/ScheduleCalendar.test.ts +44 -0
- package/src/__tests__/components/SettingsModal.schema.test.ts +97 -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/autoGroup/classify.test.ts +107 -0
- package/src/__tests__/composables/autoGroup/columns.test.ts +135 -0
- package/src/__tests__/composables/autoGroup/compose.test.ts +227 -0
- package/src/__tests__/composables/autoGroup/cooccurrence.test.ts +91 -0
- package/src/__tests__/composables/autoGroup/fingerprint.test.ts +50 -0
- package/src/__tests__/composables/autoGroup/integration.test.ts +79 -0
- package/src/__tests__/composables/autoGroup/template.test.ts +70 -0
- package/src/__tests__/composables/autoGroup/tokenize.test.ts +33 -0
- package/src/__tests__/composables/useAutoGroup.test.ts +129 -625
- package/src/__tests__/composables/useAutoGroupInputSources.test.ts +107 -0
- package/src/__tests__/composables/useControlSchema.test.ts +23 -0
- package/src/__tests__/composables/useScheduleCalendarLayout.test.ts +89 -0
- package/src/__tests__/docs/extractDocsComponents.test.ts +142 -0
- package/src/__tests__/docs/extractDocsExports.test.ts +77 -0
- package/src/__tests__/docs/extractDocsParsing.test.ts +69 -0
- package/src/__tests__/docs/extractDocsTemplates.test.ts +54 -0
- package/src/__tests__/docs/extractDocsTheme.test.ts +89 -0
- package/src/__tests__/docs/frontendDocsCatalog.test.ts +1 -1
- package/src/__tests__/fixtures/auto-group/mixed-lc-ms-batch.txt +187 -0
- package/src/components/AppSidebar.vue +2 -6
- package/src/components/AppTopBar.navigation.ts +62 -0
- package/src/components/AppTopBar.vue +17 -44
- package/src/components/AutoGroupModal.story.vue +50 -0
- package/src/components/AutoGroupModal.vue +441 -158
- package/src/components/ControlWorkspaceView.vue +2 -6
- package/src/components/DoseCalculator.vue +13 -73
- package/src/components/DoseCalculatorVolumeField.vue +61 -0
- package/src/components/ExperimentTimeline.vue +6 -31
- package/src/components/FormBuilder.vue +2 -7
- package/src/components/PlateMapEditor.vue +32 -106
- package/src/components/PluginWorkspaceView.controls.ts +182 -0
- package/src/components/PluginWorkspaceView.navigation.ts +106 -0
- package/src/components/PluginWorkspaceView.props.ts +174 -0
- package/src/components/PluginWorkspaceView.shell.ts +66 -0
- package/src/components/PluginWorkspaceView.vue +85 -404
- package/src/components/ProtocolStep.presentation.ts +31 -0
- package/src/components/ProtocolStepEditor.state.ts +104 -0
- package/src/components/ProtocolStepEditor.vue +48 -179
- package/src/components/ProtocolStepParameterField.vue +134 -0
- package/src/components/ReagentList.presentation.ts +105 -0
- package/src/components/ReagentList.vue +16 -79
- package/src/components/SampleSelector.colors.ts +43 -0
- package/src/components/SampleSelector.drag.ts +164 -0
- package/src/components/SampleSelector.groups.ts +109 -0
- package/src/components/SampleSelector.selection.ts +103 -0
- package/src/components/SampleSelector.vue +82 -349
- package/src/components/SampleSelectorSampleRow.vue +64 -0
- package/src/components/ScheduleCalendar.vue +44 -199
- package/src/components/SettingsModal.schema.ts +71 -0
- package/src/components/SettingsModal.vue +16 -46
- 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.vue +102 -550
- package/src/components/internal/PlateMapEditorToolbarInternal.vue +128 -0
- package/src/composables/autoGroup/classKey.ts +5 -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 +156 -0
- package/src/composables/autoGroup/cooccurrence.ts +46 -0
- package/src/composables/autoGroup/csv-shim.ts +44 -0
- package/src/composables/autoGroup/fingerprint.ts +49 -0
- package/src/composables/autoGroup/index.ts +20 -0
- package/src/composables/autoGroup/replicatePreGroup.ts +90 -0
- package/src/composables/autoGroup/template.ts +126 -0
- package/src/composables/autoGroup/tokenize.ts +41 -0
- package/src/composables/autoGroup/vocab.json +67 -0
- package/src/composables/autoGroupConstants.ts +4 -0
- package/src/composables/autoGroupGrouping.ts +148 -0
- package/src/composables/controlComponentBindings.ts +1 -1
- package/src/composables/controlSchemaAdapters.ts +1 -1
- package/src/composables/controlSchemaDoseDesign.ts +215 -0
- package/src/composables/controlSchemaFormFields.ts +1 -1
- package/src/composables/controlSchemaLayout.ts +1 -1
- package/src/composables/controlSchemaModel.ts +163 -0
- package/src/composables/controlSchemaNormalize.ts +1 -1
- package/src/composables/controlSchemaTypes.ts +364 -0
- package/src/composables/controlWorkspaceOptions.ts +1 -1
- package/src/composables/formBuilderSchema.ts +153 -0
- package/src/composables/pluginEndpointBuilder.ts +203 -0
- package/src/composables/protocolTemplateCatalog.ts +325 -0
- package/src/composables/useAutoGroup.ts +395 -549
- package/src/composables/useAutoGroupInputSources.ts +147 -0
- package/src/composables/useBioTemplateControls.ts +1 -1
- package/src/composables/useBioTemplatePresetWorkspace.ts +1 -1
- package/src/composables/useBioTemplateWorkspace.ts +1 -1
- package/src/composables/useControlSchema.ts +21 -692
- package/src/composables/useControlWorkspace.ts +7 -13
- package/src/composables/useForm.ts +5 -187
- package/src/composables/useFormBuilder.ts +11 -153
- package/src/composables/useFormValidation.ts +154 -0
- package/src/composables/usePluginClient.ts +10 -193
- package/src/composables/useProtocolTemplates.ts +10 -328
- package/src/composables/useScheduleCalendarLayout.ts +287 -0
- package/src/styles/components/auto-group-modal.css +248 -310
- package/src/templates/controlSchemaTypes.ts +1 -1
- package/src/templates/templateAdapterTypes.ts +58 -0
- package/src/templates/templateCreateOptions.ts +208 -0
- package/src/templates/templateQpcrTypes.ts +48 -0
- package/src/templates/types.ts +79 -275
- package/src/types/auto-group.ts +107 -9
- package/src/types/componentLabTypes.ts +235 -0
- package/src/types/componentWorkflowTypes.ts +190 -0
- package/src/types/components.ts +74 -424
- package/dist/components-DafPc4rM.js.map +0 -1
- package/dist/composables-BMkPQhVK.js.map +0 -1
- package/dist/templates-bUAWMn5L.js.map +0 -1
- package/dist/useProtocolTemplates-QZtHFFH2.js.map +0 -1
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { AccountMenuItem, PageSelectorItemInput, PillNavItemInput, PluginSwitcherInfo, SidebarToolSection, TopBarSettingsConfig, TopBarVariant } from '../types';
|
|
2
|
+
import { FormEnhancements, FormSchema } from '../types/form-builder';
|
|
3
|
+
import { ControlComponentBinding, ControlComponentBindingsById, ControlComponentBindingsConfig, ControlComponentPropsByIdMap, ControlComponentPropsMap, ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from '../composables/useControlSchema';
|
|
4
|
+
import { AppExperimentRecord } from '../composables/useAppExperiment';
|
|
5
|
+
export type PluginWorkspaceSidebarVariant = 'default' | 'analysis';
|
|
6
|
+
export interface PluginWorkspaceViewProps {
|
|
7
|
+
/** App or plugin title shown in the top bar. */
|
|
8
|
+
title?: string;
|
|
9
|
+
/** Secondary copy shown under the title. */
|
|
10
|
+
subtitle?: string;
|
|
11
|
+
/** Top bar visual treatment. */
|
|
12
|
+
topBarVariant?: TopBarVariant;
|
|
13
|
+
/** Home link used by the top bar brand icon. */
|
|
14
|
+
homePath?: string;
|
|
15
|
+
/** Show the default MINT logo when no icon/logo slot is provided. */
|
|
16
|
+
showLogo?: boolean;
|
|
17
|
+
/** Preferred route-level page selector entries. */
|
|
18
|
+
pageSelector?: PageSelectorItemInput[];
|
|
19
|
+
/** Active page selector id. Defaults to activeView. */
|
|
20
|
+
currentPageSelectorId?: string;
|
|
21
|
+
/** Optional plugin switcher shown in the left navigation position. */
|
|
22
|
+
pluginSwitcher?: PluginSwitcherInfo;
|
|
23
|
+
/** Preferred centered navigation for local modes inside the current route. */
|
|
24
|
+
pillNav?: PillNavItemInput[];
|
|
25
|
+
/** Active centered pill id. Defaults to activeView. */
|
|
26
|
+
currentPillId?: string;
|
|
27
|
+
/** Show the theme toggle button. */
|
|
28
|
+
showThemeToggle?: boolean;
|
|
29
|
+
/** Show the settings button and modal. */
|
|
30
|
+
showSettings?: boolean;
|
|
31
|
+
/** Built-in settings modal configuration. */
|
|
32
|
+
settingsConfig?: TopBarSettingsConfig;
|
|
33
|
+
/** Show the standalone badge when not integrated into the platform. */
|
|
34
|
+
showStandaloneLabel?: boolean;
|
|
35
|
+
/** Custom standalone badge label. */
|
|
36
|
+
standaloneLabel?: string;
|
|
37
|
+
/** Account dropdown entries. */
|
|
38
|
+
accountMenu?: AccountMenuItem[];
|
|
39
|
+
/** Show the notifications icon button. */
|
|
40
|
+
showNotifications?: boolean;
|
|
41
|
+
/** Draw a notification dot on the notifications icon. */
|
|
42
|
+
hasNotificationDot?: boolean;
|
|
43
|
+
/** Show the classic admin shortcut. */
|
|
44
|
+
showAdmin?: boolean;
|
|
45
|
+
/** Route used by the classic admin shortcut. */
|
|
46
|
+
adminPath?: string;
|
|
47
|
+
/** Show the classic profile button when accountMenu is not provided. */
|
|
48
|
+
showProfile?: boolean;
|
|
49
|
+
/** Classic profile display name. */
|
|
50
|
+
userName?: string;
|
|
51
|
+
/** Explicit classic profile initial. */
|
|
52
|
+
userInitial?: string;
|
|
53
|
+
/** Classic profile email. */
|
|
54
|
+
userEmail?: string;
|
|
55
|
+
/** Enable the built-in AppTopBar experiment popover and selector flow. */
|
|
56
|
+
experimentShell?: boolean;
|
|
57
|
+
/** Current experiment mirrored into the AppTopBar experiment chip when experimentShell is enabled. */
|
|
58
|
+
experiment?: AppExperimentRecord | null;
|
|
59
|
+
/** Save handler used by the AppTopBar experiment chip. Return a message to flash success. */
|
|
60
|
+
experimentSave?: () => string | null | Promise<string | null>;
|
|
61
|
+
/** Disable the experiment save action. */
|
|
62
|
+
experimentSaveDisabled?: boolean;
|
|
63
|
+
/** Tooltip shown when the experiment save action is disabled. */
|
|
64
|
+
experimentSaveDisabledMessage?: string;
|
|
65
|
+
/** Active workspace view used by top bar navigation and sidebar panels. */
|
|
66
|
+
activeView?: string;
|
|
67
|
+
/** Initial active view when activeView is uncontrolled. */
|
|
68
|
+
defaultActiveView?: string;
|
|
69
|
+
/** Map of view IDs to sidebar tool sections. */
|
|
70
|
+
panels?: Record<string, SidebarToolSection[]>;
|
|
71
|
+
/** Optional FormBuilder schemas keyed by section ID. */
|
|
72
|
+
forms?: Record<string, FormSchema>;
|
|
73
|
+
/** Sidebar chrome title. */
|
|
74
|
+
sidebarTitle?: string;
|
|
75
|
+
/** Sidebar chrome subtitle. */
|
|
76
|
+
sidebarSubtitle?: string;
|
|
77
|
+
/** Optional compact badge/count rendered in the sidebar header. */
|
|
78
|
+
sidebarBadge?: string | number;
|
|
79
|
+
/** AppSidebar visual preset. `analysis` matches the LEAF-style MINT analysis sidebar language. */
|
|
80
|
+
sidebarVariant?: PluginWorkspaceSidebarVariant;
|
|
81
|
+
/** Sidebar CSS width. Defaults to AppSidebar's variant width. */
|
|
82
|
+
sidebarWidth?: string;
|
|
83
|
+
/** Sidebar position in AppLayout. */
|
|
84
|
+
sidebarPosition?: 'left' | 'right';
|
|
85
|
+
/** Convert the sidebar into an SDK-owned mobile overlay below the AppLayout breakpoint. */
|
|
86
|
+
responsiveSidebar?: boolean;
|
|
87
|
+
/** Render the sidebar shell even when no panel matches the active view. */
|
|
88
|
+
showSidebarWhenEmpty?: boolean;
|
|
89
|
+
/** Disable the built-in sidebar surface entirely. */
|
|
90
|
+
showSidebar?: boolean;
|
|
91
|
+
/** DOM id for the AppSidebar scrollable content area. Use with route/tab-owned Teleport sidebars. */
|
|
92
|
+
sidebarContentId?: string;
|
|
93
|
+
/** Compact AppSidebar density. */
|
|
94
|
+
dense?: boolean;
|
|
95
|
+
/** Show a built-in collapse/expand button in the sidebar chrome. Defaults to AppSidebar's variant behavior. */
|
|
96
|
+
sidebarCollapsible?: boolean;
|
|
97
|
+
/** Sidebar width when collapsed. */
|
|
98
|
+
sidebarCollapsedWidth?: string;
|
|
99
|
+
/** Accessible label for the sidebar collapse action. */
|
|
100
|
+
sidebarCollapseButtonLabel?: string;
|
|
101
|
+
/** Accessible label for the sidebar expand action. */
|
|
102
|
+
sidebarExpandButtonLabel?: string;
|
|
103
|
+
/** Floating AppLayout style. */
|
|
104
|
+
floating?: boolean;
|
|
105
|
+
/** Optional compact control model for generated sidebar forms. */
|
|
106
|
+
model?: ControlModel | ControlModelBinding;
|
|
107
|
+
/** Compact control schema for generated sidebar forms. */
|
|
108
|
+
controls?: ControlSchema;
|
|
109
|
+
/** Options passed to compact control schema generation. */
|
|
110
|
+
controlOptions?: ControlWorkspaceOptions;
|
|
111
|
+
/** Optional SDK component bindings exposed to the default slot with resolved props. */
|
|
112
|
+
componentBindings?: ControlComponentBindingsConfig;
|
|
113
|
+
/** Optional mapping from workspace values to component props exposed to the default slot. */
|
|
114
|
+
componentProps?: ControlComponentPropsMap;
|
|
115
|
+
/** Optional named mappings from workspace values to component props exposed to the default slot. */
|
|
116
|
+
componentPropsById?: ControlComponentPropsByIdMap;
|
|
117
|
+
/** Shared values for auto-rendered sidebar forms. Supports default v-model. */
|
|
118
|
+
modelValue?: Record<string, unknown>;
|
|
119
|
+
/** Shared values for auto-rendered sidebar forms. */
|
|
120
|
+
values?: Record<string, unknown>;
|
|
121
|
+
/** Runtime FormBuilder enhancements for auto-rendered sidebar forms. */
|
|
122
|
+
formEnhancements?: FormEnhancements<Record<string, unknown>>;
|
|
123
|
+
/** Show submit/cancel actions inside auto-rendered sidebar forms. */
|
|
124
|
+
showFormActions?: boolean;
|
|
125
|
+
/** Loading/saving state for auto-rendered sidebar forms. */
|
|
126
|
+
formLoading?: boolean;
|
|
127
|
+
/** Disabled state for auto-rendered sidebar forms. */
|
|
128
|
+
formDisabled?: boolean;
|
|
129
|
+
/** Readonly state for auto-rendered sidebar forms. */
|
|
130
|
+
formReadonly?: boolean;
|
|
131
|
+
/** Size passed to auto-rendered sidebar forms. */
|
|
132
|
+
formSize?: 'sm' | 'md' | 'lg';
|
|
133
|
+
/** Controlled sidebar collapsed state. */
|
|
134
|
+
sidebarCollapsed?: boolean;
|
|
135
|
+
/** Initial sidebar collapsed state when uncontrolled. */
|
|
136
|
+
defaultSidebarCollapsed?: boolean;
|
|
137
|
+
/** Accessible label for the mobile sidebar toggle. */
|
|
138
|
+
sidebarToggleLabel?: string;
|
|
139
|
+
/** Accessible label used when the mobile sidebar is open. */
|
|
140
|
+
sidebarCloseLabel?: string;
|
|
141
|
+
}
|
|
142
|
+
export interface PluginWorkspaceSlotProps {
|
|
143
|
+
activeView: string;
|
|
144
|
+
setActiveView: (viewId: string) => void;
|
|
145
|
+
values: Record<string, unknown>;
|
|
146
|
+
componentBindings: ControlComponentBinding[];
|
|
147
|
+
componentBindingsById: ControlComponentBindingsById;
|
|
148
|
+
componentProps: Record<string, unknown>;
|
|
149
|
+
componentPropsById: Record<string, Record<string, unknown>>;
|
|
150
|
+
}
|
|
151
|
+
export type PluginWorkspaceForwardedSlotProps = Record<string, unknown>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type SlotKeyMap = Readonly<Record<string, unknown>>;
|
|
2
|
+
export interface PluginWorkspaceSidebarSurfaceOptions {
|
|
3
|
+
showSidebar: boolean;
|
|
4
|
+
panels: Record<string, unknown>;
|
|
5
|
+
forms: Record<string, unknown>;
|
|
6
|
+
model: unknown;
|
|
7
|
+
controls: unknown;
|
|
8
|
+
showSidebarWhenEmpty: boolean;
|
|
9
|
+
sidebarContentId?: string;
|
|
10
|
+
sidebarTitle?: string;
|
|
11
|
+
sidebarSubtitle?: string;
|
|
12
|
+
sidebarBadge?: string | number;
|
|
13
|
+
hasSidebarSlot: boolean;
|
|
14
|
+
sidebarSlotCount: number;
|
|
15
|
+
}
|
|
16
|
+
export declare function getPluginWorkspaceTopBarSlotNames(slots: SlotKeyMap): string[];
|
|
17
|
+
export declare function getPluginWorkspaceSidebarSlotNames(slots: SlotKeyMap): string[];
|
|
18
|
+
export declare function hasPluginWorkspaceSidebarSurface(options: PluginWorkspaceSidebarSurfaceOptions): boolean;
|
|
19
|
+
export {};
|
|
@@ -1,196 +1,47 @@
|
|
|
1
|
-
import { AccountMenuItem, ExperimentSummary, PageSelectorItem,
|
|
2
|
-
import {
|
|
3
|
-
import { ControlComponentBinding, ControlComponentBindingsById, ControlComponentBindingsConfig, ControlComponentPropsByIdMap, ControlComponentPropsMap, ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from '../composables/useControlSchema';
|
|
4
|
-
import { AppExperimentRecord } from '../composables/useAppExperiment';
|
|
5
|
-
type SidebarVariant = 'default' | 'analysis';
|
|
6
|
-
interface Props {
|
|
7
|
-
/** App or plugin title shown in the top bar. */
|
|
8
|
-
title?: string;
|
|
9
|
-
/** Secondary copy shown under the title. */
|
|
10
|
-
subtitle?: string;
|
|
11
|
-
/** Top bar visual treatment. */
|
|
12
|
-
topBarVariant?: TopBarVariant;
|
|
13
|
-
/** Home link used by the top bar brand icon. */
|
|
14
|
-
homePath?: string;
|
|
15
|
-
/** Show the default MINT logo when no icon/logo slot is provided. */
|
|
16
|
-
showLogo?: boolean;
|
|
17
|
-
/** Preferred route-level page selector entries. */
|
|
18
|
-
pageSelector?: PageSelectorItemInput[];
|
|
19
|
-
/** Active page selector id. Defaults to activeView. */
|
|
20
|
-
currentPageSelectorId?: string;
|
|
21
|
-
/** Optional plugin switcher shown in the left navigation position. */
|
|
22
|
-
pluginSwitcher?: PluginSwitcherInfo;
|
|
23
|
-
/** Preferred centered navigation for local modes inside the current route. */
|
|
24
|
-
pillNav?: PillNavItemInput[];
|
|
25
|
-
/** Active centered pill id. Defaults to activeView. */
|
|
26
|
-
currentPillId?: string;
|
|
27
|
-
/** Show the theme toggle button. */
|
|
28
|
-
showThemeToggle?: boolean;
|
|
29
|
-
/** Show the settings button and modal. */
|
|
30
|
-
showSettings?: boolean;
|
|
31
|
-
/** Built-in settings modal configuration. */
|
|
32
|
-
settingsConfig?: TopBarSettingsConfig;
|
|
33
|
-
/** Show the standalone badge when not integrated into the platform. */
|
|
34
|
-
showStandaloneLabel?: boolean;
|
|
35
|
-
/** Custom standalone badge label. */
|
|
36
|
-
standaloneLabel?: string;
|
|
37
|
-
/** Account dropdown entries. */
|
|
38
|
-
accountMenu?: AccountMenuItem[];
|
|
39
|
-
/** Show the notifications icon button. */
|
|
40
|
-
showNotifications?: boolean;
|
|
41
|
-
/** Draw a notification dot on the notifications icon. */
|
|
42
|
-
hasNotificationDot?: boolean;
|
|
43
|
-
/** Show the classic admin shortcut. */
|
|
44
|
-
showAdmin?: boolean;
|
|
45
|
-
/** Route used by the classic admin shortcut. */
|
|
46
|
-
adminPath?: string;
|
|
47
|
-
/** Show the classic profile button when accountMenu is not provided. */
|
|
48
|
-
showProfile?: boolean;
|
|
49
|
-
/** Classic profile display name. */
|
|
50
|
-
userName?: string;
|
|
51
|
-
/** Explicit classic profile initial. */
|
|
52
|
-
userInitial?: string;
|
|
53
|
-
/** Classic profile email. */
|
|
54
|
-
userEmail?: string;
|
|
55
|
-
/** Enable the built-in AppTopBar experiment popover and selector flow. */
|
|
56
|
-
experimentShell?: boolean;
|
|
57
|
-
/** Current experiment mirrored into the AppTopBar experiment chip when experimentShell is enabled. */
|
|
58
|
-
experiment?: AppExperimentRecord | null;
|
|
59
|
-
/** Save handler used by the AppTopBar experiment chip. Return a message to flash success. */
|
|
60
|
-
experimentSave?: () => string | null | Promise<string | null>;
|
|
61
|
-
/** Disable the experiment save action. */
|
|
62
|
-
experimentSaveDisabled?: boolean;
|
|
63
|
-
/** Tooltip shown when the experiment save action is disabled. */
|
|
64
|
-
experimentSaveDisabledMessage?: string;
|
|
65
|
-
/** Active workspace view used by top bar navigation and sidebar panels. */
|
|
66
|
-
activeView?: string;
|
|
67
|
-
/** Initial active view when activeView is uncontrolled. */
|
|
68
|
-
defaultActiveView?: string;
|
|
69
|
-
/** Map of view IDs to sidebar tool sections. */
|
|
70
|
-
panels?: Record<string, SidebarToolSection[]>;
|
|
71
|
-
/** Optional FormBuilder schemas keyed by section ID. */
|
|
72
|
-
forms?: Record<string, FormSchema>;
|
|
73
|
-
/** Sidebar chrome title. */
|
|
74
|
-
sidebarTitle?: string;
|
|
75
|
-
/** Sidebar chrome subtitle. */
|
|
76
|
-
sidebarSubtitle?: string;
|
|
77
|
-
/** Optional compact badge/count rendered in the sidebar header. */
|
|
78
|
-
sidebarBadge?: string | number;
|
|
79
|
-
/** AppSidebar visual preset. `analysis` matches the LEAF-style MINT analysis sidebar language. */
|
|
80
|
-
sidebarVariant?: SidebarVariant;
|
|
81
|
-
/** Sidebar CSS width. Defaults to AppSidebar's variant width. */
|
|
82
|
-
sidebarWidth?: string;
|
|
83
|
-
/** Sidebar position in AppLayout. */
|
|
84
|
-
sidebarPosition?: 'left' | 'right';
|
|
85
|
-
/** Convert the sidebar into an SDK-owned mobile overlay below the AppLayout breakpoint. */
|
|
86
|
-
responsiveSidebar?: boolean;
|
|
87
|
-
/** Render the sidebar shell even when no panel matches the active view. */
|
|
88
|
-
showSidebarWhenEmpty?: boolean;
|
|
89
|
-
/** Disable the built-in sidebar surface entirely. */
|
|
90
|
-
showSidebar?: boolean;
|
|
91
|
-
/** DOM id for the AppSidebar scrollable content area. Use with route/tab-owned Teleport sidebars. */
|
|
92
|
-
sidebarContentId?: string;
|
|
93
|
-
/** Compact AppSidebar density. */
|
|
94
|
-
dense?: boolean;
|
|
95
|
-
/** Show a built-in collapse/expand button in the sidebar chrome. Defaults to AppSidebar's variant behavior. */
|
|
96
|
-
sidebarCollapsible?: boolean;
|
|
97
|
-
/** Sidebar width when collapsed. */
|
|
98
|
-
sidebarCollapsedWidth?: string;
|
|
99
|
-
/** Accessible label for the sidebar collapse action. */
|
|
100
|
-
sidebarCollapseButtonLabel?: string;
|
|
101
|
-
/** Accessible label for the sidebar expand action. */
|
|
102
|
-
sidebarExpandButtonLabel?: string;
|
|
103
|
-
/** Floating AppLayout style. */
|
|
104
|
-
floating?: boolean;
|
|
105
|
-
/** Optional compact control model for generated sidebar forms. */
|
|
106
|
-
model?: ControlModel | ControlModelBinding;
|
|
107
|
-
/** Compact control schema for generated sidebar forms. */
|
|
108
|
-
controls?: ControlSchema;
|
|
109
|
-
/** Options passed to compact control schema generation. */
|
|
110
|
-
controlOptions?: ControlWorkspaceOptions;
|
|
111
|
-
/** Optional SDK component bindings exposed to the default slot with resolved props. */
|
|
112
|
-
componentBindings?: ControlComponentBindingsConfig;
|
|
113
|
-
/** Optional mapping from workspace values to component props exposed to the default slot. */
|
|
114
|
-
componentProps?: ControlComponentPropsMap;
|
|
115
|
-
/** Optional named mappings from workspace values to component props exposed to the default slot. */
|
|
116
|
-
componentPropsById?: ControlComponentPropsByIdMap;
|
|
117
|
-
/** Shared values for auto-rendered sidebar forms. Supports default v-model. */
|
|
118
|
-
modelValue?: Record<string, unknown>;
|
|
119
|
-
/** Shared values for auto-rendered sidebar forms. */
|
|
120
|
-
values?: Record<string, unknown>;
|
|
121
|
-
/** Runtime FormBuilder enhancements for auto-rendered sidebar forms. */
|
|
122
|
-
formEnhancements?: FormEnhancements<Record<string, unknown>>;
|
|
123
|
-
/** Show submit/cancel actions inside auto-rendered sidebar forms. */
|
|
124
|
-
showFormActions?: boolean;
|
|
125
|
-
/** Loading/saving state for auto-rendered sidebar forms. */
|
|
126
|
-
formLoading?: boolean;
|
|
127
|
-
/** Disabled state for auto-rendered sidebar forms. */
|
|
128
|
-
formDisabled?: boolean;
|
|
129
|
-
/** Readonly state for auto-rendered sidebar forms. */
|
|
130
|
-
formReadonly?: boolean;
|
|
131
|
-
/** Size passed to auto-rendered sidebar forms. */
|
|
132
|
-
formSize?: 'sm' | 'md' | 'lg';
|
|
133
|
-
/** Controlled sidebar collapsed state. */
|
|
134
|
-
sidebarCollapsed?: boolean;
|
|
135
|
-
/** Initial sidebar collapsed state when uncontrolled. */
|
|
136
|
-
defaultSidebarCollapsed?: boolean;
|
|
137
|
-
/** Accessible label for the mobile sidebar toggle. */
|
|
138
|
-
sidebarToggleLabel?: string;
|
|
139
|
-
/** Accessible label used when the mobile sidebar is open. */
|
|
140
|
-
sidebarCloseLabel?: string;
|
|
141
|
-
}
|
|
142
|
-
interface PluginWorkspaceSlotProps {
|
|
143
|
-
activeView: string;
|
|
144
|
-
setActiveView: (viewId: string) => void;
|
|
145
|
-
values: Record<string, unknown>;
|
|
146
|
-
componentBindings: ControlComponentBinding[];
|
|
147
|
-
componentBindingsById: ControlComponentBindingsById;
|
|
148
|
-
componentProps: Record<string, unknown>;
|
|
149
|
-
componentPropsById: Record<string, Record<string, unknown>>;
|
|
150
|
-
}
|
|
151
|
-
type ForwardedSlotProps = Record<string, unknown>;
|
|
1
|
+
import { AccountMenuItem, ExperimentSummary, PageSelectorItem, PillNavItem, PluginSwitcherPlugin, PillNavOption } from '../types';
|
|
2
|
+
import { PluginWorkspaceForwardedSlotProps, PluginWorkspaceSlotProps, PluginWorkspaceViewProps } from './PluginWorkspaceView.props';
|
|
152
3
|
declare function __VLS_template(): {
|
|
153
4
|
attrs: Partial<{}>;
|
|
154
5
|
slots: Readonly<{
|
|
155
6
|
default?: (props: PluginWorkspaceSlotProps) => unknown;
|
|
156
7
|
topbar?: (props: PluginWorkspaceSlotProps) => unknown;
|
|
157
8
|
sidebar?: (props: PluginWorkspaceSlotProps) => unknown;
|
|
158
|
-
icon?: (props:
|
|
159
|
-
logo?: (props:
|
|
160
|
-
'page-selector-icon'?: (props:
|
|
161
|
-
'page-selector-item-icon'?: (props:
|
|
162
|
-
nav?: (props:
|
|
163
|
-
center?: (props:
|
|
164
|
-
actions?: (props:
|
|
165
|
-
'account-menu-items'?: (props:
|
|
166
|
-
'account-menu-item-icon'?: (props:
|
|
167
|
-
'settings-appearance'?: (props:
|
|
168
|
-
header?: (props:
|
|
169
|
-
collapsed?: (props:
|
|
170
|
-
footer?: (props:
|
|
9
|
+
icon?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
10
|
+
logo?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
11
|
+
'page-selector-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
12
|
+
'page-selector-item-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
13
|
+
nav?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
14
|
+
center?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
15
|
+
actions?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
16
|
+
'account-menu-items'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
17
|
+
'account-menu-item-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
18
|
+
'settings-appearance'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
19
|
+
header?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
20
|
+
collapsed?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
21
|
+
footer?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
171
22
|
}> & {
|
|
172
23
|
default?: (props: PluginWorkspaceSlotProps) => unknown;
|
|
173
24
|
topbar?: (props: PluginWorkspaceSlotProps) => unknown;
|
|
174
25
|
sidebar?: (props: PluginWorkspaceSlotProps) => unknown;
|
|
175
|
-
icon?: (props:
|
|
176
|
-
logo?: (props:
|
|
177
|
-
'page-selector-icon'?: (props:
|
|
178
|
-
'page-selector-item-icon'?: (props:
|
|
179
|
-
nav?: (props:
|
|
180
|
-
center?: (props:
|
|
181
|
-
actions?: (props:
|
|
182
|
-
'account-menu-items'?: (props:
|
|
183
|
-
'account-menu-item-icon'?: (props:
|
|
184
|
-
'settings-appearance'?: (props:
|
|
185
|
-
header?: (props:
|
|
186
|
-
collapsed?: (props:
|
|
187
|
-
footer?: (props:
|
|
26
|
+
icon?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
27
|
+
logo?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
28
|
+
'page-selector-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
29
|
+
'page-selector-item-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
30
|
+
nav?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
31
|
+
center?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
32
|
+
actions?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
33
|
+
'account-menu-items'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
34
|
+
'account-menu-item-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
35
|
+
'settings-appearance'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
36
|
+
header?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
37
|
+
collapsed?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
38
|
+
footer?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
|
|
188
39
|
};
|
|
189
40
|
refs: {};
|
|
190
41
|
rootEl: HTMLDivElement;
|
|
191
42
|
};
|
|
192
43
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
193
|
-
declare const __VLS_component: import('vue').DefineComponent<
|
|
44
|
+
declare const __VLS_component: import('vue').DefineComponent<PluginWorkspaceViewProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
194
45
|
"update:modelValue": (values: Record<string, unknown>) => any;
|
|
195
46
|
"update:values": (values: Record<string, unknown>) => any;
|
|
196
47
|
"sign-out": () => any;
|
|
@@ -211,7 +62,7 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
|
|
|
211
62
|
"experiment-select": (experiment: ExperimentSummary) => any;
|
|
212
63
|
"experiment-detach": () => any;
|
|
213
64
|
"update:sidebarCollapsed": (value: boolean) => any;
|
|
214
|
-
}, string, import('vue').PublicProps, Readonly<
|
|
65
|
+
}, string, import('vue').PublicProps, Readonly<PluginWorkspaceViewProps> & Readonly<{
|
|
215
66
|
"onUpdate:modelValue"?: ((values: Record<string, unknown>) => any) | undefined;
|
|
216
67
|
"onUpdate:values"?: ((values: Record<string, unknown>) => any) | undefined;
|
|
217
68
|
"onSign-out"?: (() => any) | undefined;
|
|
@@ -234,43 +85,43 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
|
|
|
234
85
|
"onUpdate:sidebarCollapsed"?: ((value: boolean) => any) | undefined;
|
|
235
86
|
}>, {
|
|
236
87
|
values: Record<string, unknown>;
|
|
88
|
+
experiment: import('..').AppExperimentRecord | null;
|
|
237
89
|
modelValue: Record<string, unknown>;
|
|
238
90
|
title: string;
|
|
239
|
-
controls: ControlSchema;
|
|
240
91
|
subtitle: string;
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
92
|
+
controls: import('..').ControlSchema;
|
|
93
|
+
controlOptions: import('..').ControlWorkspaceOptions;
|
|
94
|
+
model: import('..').ControlModel | import('..').ControlModelBinding;
|
|
95
|
+
componentBindings: import('..').ControlComponentBindingsConfig;
|
|
96
|
+
componentProps: import('..').ControlComponentPropsMap;
|
|
97
|
+
componentPropsById: import('..').ControlComponentPropsByIdMap;
|
|
244
98
|
activeView: string;
|
|
245
|
-
panels: Record<string, SidebarToolSection[]>;
|
|
246
|
-
forms: Record<string, FormSchema>;
|
|
247
|
-
componentBindings: ControlComponentBindingsConfig;
|
|
248
|
-
componentPropsById: ControlComponentPropsByIdMap;
|
|
249
|
-
experiment: AppExperimentRecord | null;
|
|
99
|
+
panels: Record<string, import('..').SidebarToolSection[]>;
|
|
100
|
+
forms: Record<string, import('..').FormSchema>;
|
|
250
101
|
dense: boolean;
|
|
251
102
|
userName: string;
|
|
252
103
|
userInitial: string;
|
|
253
104
|
userEmail: string;
|
|
254
105
|
showLogo: boolean;
|
|
255
106
|
homePath: string;
|
|
256
|
-
pageSelector: PageSelectorItemInput[];
|
|
107
|
+
pageSelector: import('..').PageSelectorItemInput[];
|
|
257
108
|
currentPageSelectorId: string;
|
|
258
|
-
pluginSwitcher: PluginSwitcherInfo;
|
|
259
|
-
pillNav: PillNavItemInput[];
|
|
109
|
+
pluginSwitcher: import('..').PluginSwitcherInfo;
|
|
110
|
+
pillNav: import('..').PillNavItemInput[];
|
|
260
111
|
currentPillId: string;
|
|
261
112
|
accountMenu: AccountMenuItem[];
|
|
262
113
|
showNotifications: boolean;
|
|
263
114
|
hasNotificationDot: boolean;
|
|
264
115
|
showThemeToggle: boolean;
|
|
265
116
|
showSettings: boolean;
|
|
266
|
-
settingsConfig: TopBarSettingsConfig;
|
|
117
|
+
settingsConfig: import('..').TopBarSettingsConfig;
|
|
267
118
|
showStandaloneLabel: boolean;
|
|
268
119
|
standaloneLabel: string;
|
|
269
120
|
showAdmin: boolean;
|
|
270
121
|
adminPath: string;
|
|
271
122
|
showProfile: boolean;
|
|
272
123
|
floating: boolean;
|
|
273
|
-
formEnhancements: FormEnhancements<Record<string, unknown>>;
|
|
124
|
+
formEnhancements: import('..').FormEnhancements<Record<string, unknown>>;
|
|
274
125
|
showFormActions: boolean;
|
|
275
126
|
formLoading: boolean;
|
|
276
127
|
formDisabled: boolean;
|
|
@@ -281,7 +132,7 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
|
|
|
281
132
|
responsiveSidebar: boolean;
|
|
282
133
|
sidebarToggleLabel: string;
|
|
283
134
|
sidebarCloseLabel: string;
|
|
284
|
-
topBarVariant: TopBarVariant;
|
|
135
|
+
topBarVariant: import('..').TopBarVariant;
|
|
285
136
|
experimentShell: boolean;
|
|
286
137
|
experimentSave: () => string | null | Promise<string | null>;
|
|
287
138
|
experimentSaveDisabled: boolean;
|
|
@@ -290,7 +141,7 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
|
|
|
290
141
|
sidebarTitle: string;
|
|
291
142
|
sidebarSubtitle: string;
|
|
292
143
|
sidebarBadge: string | number;
|
|
293
|
-
sidebarVariant:
|
|
144
|
+
sidebarVariant: import('./PluginWorkspaceView.props').PluginWorkspaceSidebarVariant;
|
|
294
145
|
showSidebarWhenEmpty: boolean;
|
|
295
146
|
showSidebar: boolean;
|
|
296
147
|
sidebarContentId: string;
|
|
@@ -11,8 +11,8 @@ interface Props {
|
|
|
11
11
|
ariaLabel?: string;
|
|
12
12
|
}
|
|
13
13
|
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
14
|
-
size: "sm" | "md" | "lg";
|
|
15
14
|
label: string;
|
|
15
|
+
size: "sm" | "md" | "lg";
|
|
16
16
|
color: "primary" | "success" | "warning" | "error" | "info";
|
|
17
17
|
value: number;
|
|
18
18
|
variant: "rail" | "segmented";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ProtocolStepType } from '../types';
|
|
2
|
+
export declare const PROTOCOL_STEP_TYPE_ICONS: Record<ProtocolStepType, string>;
|
|
3
|
+
export declare const PROTOCOL_STEP_TYPE_COLORS: Record<ProtocolStepType, string>;
|
|
4
|
+
export declare function formatProtocolDuration(minutes: number | undefined): string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ProtocolStep } from '../types';
|
|
2
|
+
import { ParameterDefinition, StepTemplate } from '../composables/useProtocolTemplates';
|
|
3
|
+
export interface ProtocolStepEditorFields {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
duration?: number;
|
|
7
|
+
parameters: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export interface InitializedProtocolStepEditorState {
|
|
10
|
+
selectedTemplateId: string | null;
|
|
11
|
+
fields: ProtocolStepEditorFields;
|
|
12
|
+
}
|
|
13
|
+
export type ProtocolParameterFormatter = (value: unknown, parameter: ParameterDefinition) => string;
|
|
14
|
+
export declare function buildProtocolTemplateDefaults(template: StepTemplate): ProtocolStepEditorFields;
|
|
15
|
+
export declare function buildProtocolStepEditorState(step: ProtocolStep, getTemplateByType: (type: ProtocolStep['type']) => StepTemplate | undefined): InitializedProtocolStepEditorState;
|
|
16
|
+
export declare function buildProtocolStepPreview(template: StepTemplate, fields: ProtocolStepEditorFields, sourceStep?: ProtocolStep): ProtocolStep;
|
|
17
|
+
export declare function buildProtocolPreviewParams(template: StepTemplate, parameters: Record<string, unknown>, formatParameterValue: ProtocolParameterFormatter): string;
|
|
18
|
+
export declare function buildCustomProtocolTemplate(template: StepTemplate, fields: ProtocolStepEditorFields, templateId?: string): StepTemplate;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ParameterDefinition } from '../composables/useProtocolTemplates';
|
|
2
|
+
interface Props {
|
|
3
|
+
parameter: ParameterDefinition;
|
|
4
|
+
modelValue?: unknown;
|
|
5
|
+
error?: string;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
+
"update:modelValue": (value: unknown) => any;
|
|
9
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
10
|
+
"onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
|
|
11
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Reagent, ReagentColumn } from '../types';
|
|
2
|
+
export declare const REAGENT_COLUMN_LABELS: Record<ReagentColumn, string>;
|
|
3
|
+
export interface ReagentRowClassOptions {
|
|
4
|
+
lowStockThreshold: number;
|
|
5
|
+
draggedId?: string | null;
|
|
6
|
+
dragOverId?: string | null;
|
|
7
|
+
now?: Date;
|
|
8
|
+
}
|
|
9
|
+
export declare function getReagentColumnValue(reagent: Reagent, column: ReagentColumn): unknown;
|
|
10
|
+
export declare function isReagentExpired(reagent: Reagent, now?: Date): boolean;
|
|
11
|
+
export declare function isReagentExpiringSoon(reagent: Reagent, daysThreshold?: number, now?: Date): boolean;
|
|
12
|
+
export declare function isReagentLowStock(reagent: Reagent, lowStockThreshold: number): boolean;
|
|
13
|
+
export declare function formatReagentExpiryDate(date: Date | string | undefined): string;
|
|
14
|
+
export declare function getReagentStockLevel(reagent: Reagent): number;
|
|
15
|
+
export declare function getReagentStockFillClass(level: number): string;
|
|
16
|
+
export declare function getReagentRowClasses(reagent: Reagent, options: ReagentRowClassOptions): string[];
|
|
@@ -35,9 +35,9 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
|
|
|
35
35
|
onBook?: (() => any) | undefined;
|
|
36
36
|
}>, {
|
|
37
37
|
compact: boolean;
|
|
38
|
+
status: ResourceStatus;
|
|
38
39
|
size: "sm" | "md" | "lg";
|
|
39
40
|
tags: string[];
|
|
40
|
-
status: ResourceStatus;
|
|
41
41
|
specs: ResourceSpec[];
|
|
42
42
|
showBookAction: boolean;
|
|
43
43
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SampleGroup } from '../types';
|
|
2
|
+
export type ColorEdit = {
|
|
3
|
+
kind: 'single';
|
|
4
|
+
name: string;
|
|
5
|
+
} | {
|
|
6
|
+
kind: 'family';
|
|
7
|
+
names: string[];
|
|
8
|
+
};
|
|
9
|
+
export declare const DEFAULT_COLOR_PICKER_SEED = "#3B82F6";
|
|
10
|
+
export declare function applySampleGroupColorEdit(groups: SampleGroup[], edit: ColorEdit, color: string): SampleGroup[];
|
|
11
|
+
export declare function getSampleGroupColorEditSeed(edit: ColorEdit | null, getGroupColor: (groupName: string) => string): string;
|
|
12
|
+
export declare function pickUnusedSampleGroupColor(groups: SampleGroup[]): string;
|
|
13
|
+
export declare function createSampleGroup(name: string, existingGroups: SampleGroup[]): SampleGroup | null;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SampleGroup } from '../types';
|
|
2
|
+
import { GroupDragKind, GroupReorderPosition } from './SampleSelector.groups';
|
|
3
|
+
interface MutableSampleGroups {
|
|
4
|
+
value: SampleGroup[];
|
|
5
|
+
}
|
|
6
|
+
export declare function useSampleSelectorDrag(groups: MutableSampleGroups): {
|
|
7
|
+
draggingSample: import('vue').Ref<string | null, string | null>;
|
|
8
|
+
dragOverGroup: import('vue').Ref<string | null, string | null>;
|
|
9
|
+
draggingGroup: import('vue').Ref<string | null, string | null>;
|
|
10
|
+
draggingGroupKind: import('vue').Ref<GroupDragKind | null, GroupDragKind | null>;
|
|
11
|
+
reorderTarget: import('vue').Ref<string | null, string | null>;
|
|
12
|
+
reorderPosition: import('vue').Ref<GroupReorderPosition | null, GroupReorderPosition | null>;
|
|
13
|
+
handleDragStart: (sample: string, sourceGroup: string | null, event: DragEvent) => void;
|
|
14
|
+
handleDragEnd: () => void;
|
|
15
|
+
handleDragOver: (groupName: string, event: DragEvent) => void;
|
|
16
|
+
handleDragLeave: () => void;
|
|
17
|
+
handleDrop: (targetGroupName: string, event: DragEvent) => void;
|
|
18
|
+
handleGroupDragStart: (name: string, kind: GroupDragKind, event: DragEvent) => void;
|
|
19
|
+
handleGroupDragEnd: () => void;
|
|
20
|
+
handleGroupDragOver: (name: string, kind: GroupDragKind, event: DragEvent) => void;
|
|
21
|
+
handleGroupDragLeave: (event: DragEvent) => void;
|
|
22
|
+
handleGroupDrop: (name: string, kind: GroupDragKind, event: DragEvent) => void;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SampleGroup } from '../types';
|
|
2
|
+
export type GroupDragKind = 'major' | 'sub' | 'flat';
|
|
3
|
+
export type GroupReorderPosition = 'before' | 'after';
|
|
4
|
+
export declare function detectSampleGroupSeparator(groups: SampleGroup[]): string;
|
|
5
|
+
export declare function getSampleGroupMajorPrefix(groupName: string, separator: string): string;
|
|
6
|
+
export declare function moveSampleToGroup(groups: SampleGroup[], sample: string, sourceGroup: string | null, targetGroup: string): SampleGroup[];
|
|
7
|
+
export declare function removeSampleGroup(groups: SampleGroup[], groupName: string): SampleGroup[];
|
|
8
|
+
export declare function removeSampleMajorGroup(groups: SampleGroup[], majorGroup: {
|
|
9
|
+
subGroups: Array<{
|
|
10
|
+
name: string;
|
|
11
|
+
}>;
|
|
12
|
+
}): SampleGroup[];
|
|
13
|
+
export declare function removeSampleFromGroup(groups: SampleGroup[], sample: string, groupName: string): SampleGroup[];
|
|
14
|
+
export declare function reorderSampleGroup(groups: SampleGroup[], source: string, target: string, position: GroupReorderPosition): SampleGroup[];
|
|
15
|
+
export declare function reorderSampleMajorGroup(groups: SampleGroup[], source: string, target: string, position: GroupReorderPosition): SampleGroup[];
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ComputedRef } from 'vue';
|
|
2
|
+
import { SampleMajorGroup } from '../composables/useSampleGroups';
|
|
3
|
+
interface SampleGroupSelectionSource {
|
|
4
|
+
samples: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface UseSampleSelectorSelectionOptions {
|
|
7
|
+
selected: () => string[];
|
|
8
|
+
samples: () => string[];
|
|
9
|
+
findGroup: (groupName: string) => SampleGroupSelectionSource | undefined;
|
|
10
|
+
emitSelected: (samples: string[]) => void;
|
|
11
|
+
}
|
|
12
|
+
export interface UseSampleSelectorSelectionReturn {
|
|
13
|
+
isAllSelected: ComputedRef<boolean>;
|
|
14
|
+
toggleSelectAll: () => void;
|
|
15
|
+
toggleSample: (sample: string) => void;
|
|
16
|
+
toggleGroupSamples: (groupName: string) => void;
|
|
17
|
+
toggleMajorGroupSamples: (majorGroup: SampleMajorGroup) => void;
|
|
18
|
+
isFullySelected: (samples: string[]) => boolean;
|
|
19
|
+
isPartiallySelected: (samples: string[]) => boolean;
|
|
20
|
+
isGroupFullySelected: (groupName: string) => boolean;
|
|
21
|
+
isGroupPartiallySelected: (groupName: string) => boolean;
|
|
22
|
+
isMajorGroupFullySelected: (majorGroup: SampleMajorGroup) => boolean;
|
|
23
|
+
isMajorGroupPartiallySelected: (majorGroup: SampleMajorGroup) => boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare function useSampleSelectorSelection(options: UseSampleSelectorSelectionOptions): UseSampleSelectorSelectionReturn;
|
|
26
|
+
export {};
|