@morscherlab/mint-sdk 1.1.5 → 1.1.6

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.
Files changed (96) hide show
  1. package/dist/{EmptyState-LMPS3keb.js → EmptyState-p90quq8Z.js} +2 -2
  2. package/dist/{EmptyState-LMPS3keb.js.map → EmptyState-p90quq8Z.js.map} +1 -1
  3. package/dist/{ExperimentPopover-D6_RGzTY.js → ExperimentPopover-tLwJ7XF4.js} +3 -3
  4. package/dist/{ExperimentPopover-D6_RGzTY.js.map → ExperimentPopover-tLwJ7XF4.js.map} +1 -1
  5. package/dist/{ExperimentSelectorModal-DcQ38zua.js → ExperimentSelectorModal-B6P2msT4.js} +12 -5
  6. package/dist/ExperimentSelectorModal-B6P2msT4.js.map +1 -0
  7. package/dist/{SettingsModal-Ccq2z-Ms.js → SettingsModal-D7LFUokT.js} +100 -156
  8. package/dist/SettingsModal-D7LFUokT.js.map +1 -0
  9. package/dist/__tests__/components/ActionMenu.test.d.ts +1 -0
  10. package/dist/__tests__/components/BaseModal.test.d.ts +1 -0
  11. package/dist/components/ActionMenu.vue.d.ts +21 -0
  12. package/dist/components/BaseModal.vue.d.ts +17 -1
  13. package/dist/components/GeneratedPluginView.vue.d.ts +3 -3
  14. package/dist/components/GeneratedResultRenderer.vue.d.ts +3 -3
  15. package/dist/components/index.d.ts +1 -0
  16. package/dist/components/index.js +8 -8
  17. package/dist/{components-CV5zuWa8.js → components-Dra_ac_5.js} +350 -71
  18. package/dist/components-Dra_ac_5.js.map +1 -0
  19. package/dist/composables/controlSchemaDoseDesign.d.ts +8 -1
  20. package/dist/composables/controlSchemaModel.d.ts +10 -1
  21. package/dist/composables/index.js +8 -8
  22. package/dist/composables/useAnalysisArtifacts.d.ts +9 -1
  23. package/dist/composables/useAppExperiment.d.ts +7 -0
  24. package/dist/composables/useBioTemplatePackWorkspace.d.ts +9 -1
  25. package/dist/composables/useControlWorkspace.d.ts +9 -1
  26. package/dist/composables/useGeneratedAnalysis.d.ts +9 -0
  27. package/dist/{composables-CW8NRXLB.js → composables-CRR_JxQD.js} +4 -4
  28. package/dist/{composables-CW8NRXLB.js.map → composables-CRR_JxQD.js.map} +1 -1
  29. package/dist/{experiment-utils-7Yw-h0tD.js → experiment-utils-CLnzPPq5.js} +170 -13
  30. package/dist/experiment-utils-CLnzPPq5.js.map +1 -0
  31. package/dist/index.js +13 -13
  32. package/dist/install.js +7 -7
  33. package/dist/styles.css +764 -610
  34. package/dist/templates/index.js +4 -4
  35. package/dist/{templates-CJRFiWUX.js → templates-Cr-48-u2.js} +2 -2
  36. package/dist/{templates-CJRFiWUX.js.map → templates-Cr-48-u2.js.map} +1 -1
  37. package/dist/types/components.d.ts +32 -0
  38. package/dist/types/index.d.ts +1 -1
  39. package/dist/{useControlSchema-BEAgLyyx.js → useControlSchema-BMVb2XIQ.js} +58 -10
  40. package/dist/useControlSchema-BMVb2XIQ.js.map +1 -0
  41. package/dist/{useDropdownState-Be-ug_ci.js → useDropdownState-DSb3BC3N.js} +2 -2
  42. package/dist/{useDropdownState-Be-ug_ci.js.map → useDropdownState-DSb3BC3N.js.map} +1 -1
  43. package/dist/{useExperimentSelector-DFg_iEHI.js → useExperimentSelector-D0pjj9WH.js} +3 -3
  44. package/dist/{useExperimentSelector-DFg_iEHI.js.map → useExperimentSelector-D0pjj9WH.js.map} +1 -1
  45. package/dist/{useFormBuilder-CR9pBApW.js → useFormBuilder-DG3HOFGA.js} +2 -2
  46. package/dist/{useFormBuilder-CR9pBApW.js.map → useFormBuilder-DG3HOFGA.js.map} +1 -1
  47. package/dist/{useProtocolTemplates-DXeIHMwV.js → useProtocolTemplates-BMt0LlXf.js} +21 -6
  48. package/dist/useProtocolTemplates-BMt0LlXf.js.map +1 -0
  49. package/package.json +1 -1
  50. package/src/__tests__/components/ActionMenu.test.ts +99 -0
  51. package/src/__tests__/components/BaseModal.test.ts +133 -0
  52. package/src/__tests__/components/SettingsModal.test.ts +9 -7
  53. package/src/__tests__/docs/extractDocsComponents.test.ts +15 -1
  54. package/src/__tests__/docs/extractDocsParsing.test.ts +22 -0
  55. package/src/__tests__/docs/frontendDocsCatalog.test.ts +80 -0
  56. package/src/components/ActionMenu.story.vue +26 -0
  57. package/src/components/ActionMenu.vue +212 -0
  58. package/src/components/AppSidebar.vue +2 -13
  59. package/src/components/ArtifactSelectorModal.vue +8 -1
  60. package/src/components/BaseModal.story.vue +107 -1
  61. package/src/components/BaseModal.vue +152 -4
  62. package/src/components/BioTemplateExperimentWorkspaceView.vue +8 -1
  63. package/src/components/BioTemplatePackWorkspaceView.vue +8 -1
  64. package/src/components/BioTemplatePresetWorkspaceView.vue +8 -1
  65. package/src/components/BioTemplateRenderer.vue +8 -1
  66. package/src/components/ComponentBindingRenderer.vue +8 -1
  67. package/src/components/ControlWorkspaceView.vue +8 -1
  68. package/src/components/DoseDesignWorkspaceView.vue +8 -1
  69. package/src/components/ExperimentSelectorModal.vue +8 -1
  70. package/src/components/FormBuilder.vue +5 -0
  71. package/src/components/GeneratedPluginView.vue +12 -2
  72. package/src/components/GeneratedResultRenderer.vue +12 -2
  73. package/src/components/JobsStatusTray.vue +8 -1
  74. package/src/components/PluginWorkspaceView.vue +10 -1
  75. package/src/components/SettingsModal.vue +102 -149
  76. package/src/components/index.ts +1 -0
  77. package/src/composables/controlSchemaDoseDesign.ts +8 -1
  78. package/src/composables/controlSchemaModel.ts +10 -1
  79. package/src/composables/useAnalysisArtifacts.ts +9 -1
  80. package/src/composables/useAppExperiment.ts +7 -0
  81. package/src/composables/useBioTemplatePackWorkspace.ts +9 -1
  82. package/src/composables/useControlWorkspace.ts +9 -1
  83. package/src/composables/useGeneratedAnalysis.ts +9 -0
  84. package/src/styles/components/action-menu.css +59 -0
  85. package/src/styles/components/icon-button.css +7 -3
  86. package/src/styles/components/modal.css +293 -0
  87. package/src/styles/components/settings-modal.css +3 -273
  88. package/src/styles/index.css +1 -0
  89. package/src/types/components.ts +38 -0
  90. package/src/types/index.ts +3 -0
  91. package/dist/ExperimentSelectorModal-DcQ38zua.js.map +0 -1
  92. package/dist/SettingsModal-Ccq2z-Ms.js.map +0 -1
  93. package/dist/components-CV5zuWa8.js.map +0 -1
  94. package/dist/experiment-utils-7Yw-h0tD.js.map +0 -1
  95. package/dist/useControlSchema-BEAgLyyx.js.map +0 -1
  96. package/dist/useProtocolTemplates-DXeIHMwV.js.map +0 -1
@@ -2,9 +2,39 @@ import { AccessControlled, AccessAudience, AccessAudienceInput } from '../permis
2
2
  export type ContainerDirection = 'row' | 'column';
3
3
  export type ButtonVariant = 'primary' | 'secondary' | 'cta' | 'danger' | 'success' | 'ghost';
4
4
  export type ButtonSize = 'sm' | 'md' | 'lg';
5
+ interface ActionMenuItemBase {
6
+ id: string;
7
+ label: string;
8
+ disabled?: boolean;
9
+ danger?: boolean;
10
+ }
11
+ export type ActionMenuItem = (ActionMenuItemBase & {
12
+ href?: never;
13
+ target?: never;
14
+ }) | (ActionMenuItemBase & {
15
+ href: string;
16
+ target?: '_self' | '_blank' | '_parent' | '_top';
17
+ });
5
18
  export type InputType = 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url';
6
19
  export type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
7
20
  export type ModalVariant = 'centered' | 'drawer' | 'sheet';
21
+ export type ModalLayout = 'plain' | 'tabs' | 'rail';
22
+ /** Section descriptor for BaseModal's shell-level tab strip (layout="tabs") or rail (layout="rail"). */
23
+ export interface ModalTab {
24
+ id: string;
25
+ label: string;
26
+ /** Monospace meta on the right of the label — a count, "2 unsaved", etc. No colored badge pill. */
27
+ meta?: string;
28
+ /**
29
+ * Rail only — 1rem stroke icon. Accepts SVG path data (string or string[])
30
+ * or trusted inline SVG markup rendered with `v-html`. Markup must be
31
+ * plugin-author-controlled — never user-supplied data.
32
+ */
33
+ icon?: string | string[];
34
+ /** Rail only — second line under the label; also shown as the pane subtitle. */
35
+ description?: string;
36
+ disabled?: boolean;
37
+ }
8
38
  export type AlertType = 'success' | 'error' | 'warning' | 'info';
9
39
  export interface Toast {
10
40
  id: number;
@@ -270,6 +300,8 @@ export interface SettingsTab extends AccessControlled {
270
300
  icon?: string;
271
301
  /** Optional one-line hint shown under the label (vertical layout) and as a section subtitle in the right pane. */
272
302
  description?: string;
303
+ /** Optional monospace meta shown right of the tab label — a count, "2 unsaved", etc. */
304
+ meta?: string;
273
305
  }
274
306
  export type SettingsTabInput = SettingsTab | string;
275
307
  export type SettingsModalLayout = 'horizontal' | 'vertical';
@@ -1,4 +1,4 @@
1
- export type { ContainerDirection, ButtonVariant, ButtonSize, InputType, ModalSize, ModalVariant, AlertType, Toast, TabItem, TabItemInput, OptionPrimitive, SelectOption, SelectOptionInput, RadioOption, RadioOptionInput, FormFieldProps, SectionCardAccent, SectionCardDivider, SidebarBadgeTone, SidebarToolSection, SidebarToolSectionAction, CollapsibleState, TopBarVariant, TopBarSettingsConfig, PillNavOption, PillNavOptionInput, PillNavItem, PillNavItemInput, PageSelectorItem, PageSelectorItemInput, PluginSwitcherPlugin, PluginSwitcherInfo, AccountMenuItem, WellPlateFormat, WellState, WellPlateSelectionMode, WellPlateSize, WellShape, Well, HeatmapColorScale, HeatmapConfig, SlotPosition, WellExtendedData, WellEditData, WellEditField, WellSampleDropData, WellSampleDropContext, WellSampleDropParser, WellLegendItem, PlateCondition, ColumnCondition, RowCondition, Rack, RackSampleDropContext, RackSampleDropMapper, SampleType, PlateMap, PlateMapEditorState, ProtocolStepType, ProtocolStepStatus, ProtocolStep, SampleGroup, GroupItem, FileUploaderMode, SegmentedOption, SegmentedOptionInput, SegmentedControlVariant, SegmentedControlSize, MultiSelectOption, MultiSelectOptionInput, MultiSelectSize, PillVariant, PillColor, PillSize, CalendarSelectionMode, CalendarMarker, CalendarDayContext, SortDirection, SortState, DataFrameColumn, PaginationState, SpinnerSize, SpinnerVariant, DividerSpacing, StatusType, ProgressVariant, ProgressSize, AvatarSize, EmptyStateColor, EmptyStateSize, BreadcrumbItem, BreadcrumbItemInput, TooltipPosition, ConfirmVariant, SettingsTab, SettingsTabInput, SettingsModalLayout, SettingsGroup, SettingsModalSchema, SettingsUserType, SettingsAudience, SettingsAudienceInput, NumberNotation, UnitOption, WizardStep, WizardStepState, AuditEntryType, AuditEntry, BatchItemStatus, BatchItem, BatchSummary, TimePickerFormat, TimeRange, ScheduleView, ScheduleEventStatus, ScheduleEvent, ScheduleBlockedSlot, ScheduleSlotContext, ScheduleEventCreateContext, ScheduleEventUpdateContext, SummarySectionItem, SummarySection, SummaryData, ResourceStatus, ResourceSpec, MoleculeData, ExperimentStatus, DatePreset, ExperimentSortField, ExperimentTypeOption, ExperimentSummary, ExperimentListResponse, ExperimentFilters, FitState, FitResultSummary, StorageCondition, ReagentColumn, Reagent, TreeNodeType, BadgeVariant, TreeNode, } from './components';
1
+ export type { ContainerDirection, ButtonVariant, ButtonSize, ActionMenuItem, InputType, ModalSize, ModalVariant, ModalLayout, ModalTab, AlertType, Toast, TabItem, TabItemInput, OptionPrimitive, SelectOption, SelectOptionInput, RadioOption, RadioOptionInput, FormFieldProps, SectionCardAccent, SectionCardDivider, SidebarBadgeTone, SidebarToolSection, SidebarToolSectionAction, CollapsibleState, TopBarVariant, TopBarSettingsConfig, PillNavOption, PillNavOptionInput, PillNavItem, PillNavItemInput, PageSelectorItem, PageSelectorItemInput, PluginSwitcherPlugin, PluginSwitcherInfo, AccountMenuItem, WellPlateFormat, WellState, WellPlateSelectionMode, WellPlateSize, WellShape, Well, HeatmapColorScale, HeatmapConfig, SlotPosition, WellExtendedData, WellEditData, WellEditField, WellSampleDropData, WellSampleDropContext, WellSampleDropParser, WellLegendItem, PlateCondition, ColumnCondition, RowCondition, Rack, RackSampleDropContext, RackSampleDropMapper, SampleType, PlateMap, PlateMapEditorState, ProtocolStepType, ProtocolStepStatus, ProtocolStep, SampleGroup, GroupItem, FileUploaderMode, SegmentedOption, SegmentedOptionInput, SegmentedControlVariant, SegmentedControlSize, MultiSelectOption, MultiSelectOptionInput, MultiSelectSize, PillVariant, PillColor, PillSize, CalendarSelectionMode, CalendarMarker, CalendarDayContext, SortDirection, SortState, DataFrameColumn, PaginationState, SpinnerSize, SpinnerVariant, DividerSpacing, StatusType, ProgressVariant, ProgressSize, AvatarSize, EmptyStateColor, EmptyStateSize, BreadcrumbItem, BreadcrumbItemInput, TooltipPosition, ConfirmVariant, SettingsTab, SettingsTabInput, SettingsModalLayout, SettingsGroup, SettingsModalSchema, SettingsUserType, SettingsAudience, SettingsAudienceInput, NumberNotation, UnitOption, WizardStep, WizardStepState, AuditEntryType, AuditEntry, BatchItemStatus, BatchItem, BatchSummary, TimePickerFormat, TimeRange, ScheduleView, ScheduleEventStatus, ScheduleEvent, ScheduleBlockedSlot, ScheduleSlotContext, ScheduleEventCreateContext, ScheduleEventUpdateContext, SummarySectionItem, SummarySection, SummaryData, ResourceStatus, ResourceSpec, MoleculeData, ExperimentStatus, DatePreset, ExperimentSortField, ExperimentTypeOption, ExperimentSummary, ExperimentListResponse, ExperimentFilters, FitState, FitResultSummary, StorageCondition, ReagentColumn, Reagent, TreeNodeType, BadgeVariant, TreeNode, } from './components';
2
2
  export type * from './generated-ui';
3
3
  export type { AnalysisArtifactStatus, AnalysisArtifactStatusFilter, AnalysisArtifactSummary, AnalysisArtifactDetail, AnalysisArtifactListResponse, AnalysisArtifactTarget, AnalysisArtifactMetadataUpdate, ArtifactSaveMode, ArtifactFileSource, JsonArtifactSavePayload, FileArtifactCreatePayload, FileArtifactUpdatePayload, HandlerFileArtifactCreatePayload, HandlerFileArtifactUpdatePayload, ArtifactSavePayload, HandlerArtifactSavePayload, ArtifactSaveDialogPayload, ArtifactSaveResult, ArtifactSaveHandler, HandlerArtifactSaveHandler, ArtifactSaveDialogHandler, } from './analysisArtifactTypes';
4
4
  export { ANALYSIS_FILE_ARTIFACT_SCHEMA } from './analysisArtifactTypes';
@@ -1,6 +1,6 @@
1
- import { c as formatExperimentDate, f as BaseModal_default, m as BaseButton_default, p as useEventListener } from "./experiment-utils-7Yw-h0tD.js";
2
- import { a as BaseSelect_default, i as BasePill_default, n as Skeleton_default, o as normalizeOptionInput, r as useRequestSyncState, s as BaseInput_default, t as EmptyState_default } from "./EmptyState-LMPS3keb.js";
3
- import { t as useDropdownState } from "./useDropdownState-Be-ug_ci.js";
1
+ import { c as formatExperimentDate, f as BaseModal_default, m as BaseButton_default, p as useEventListener } from "./experiment-utils-CLnzPPq5.js";
2
+ import { a as BaseSelect_default, i as BasePill_default, n as Skeleton_default, o as normalizeOptionInput, r as useRequestSyncState, s as BaseInput_default, t as EmptyState_default } from "./EmptyState-p90quq8Z.js";
3
+ import { t as useDropdownState } from "./useDropdownState-DSb3BC3N.js";
4
4
  import { r as useApi } from "./useApi-CDBq6z23.js";
5
5
  import { hasAllPermissions } from "./permissions.js";
6
6
  import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createStaticVNode, createTextVNode, createVNode, defineComponent, isRef, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, reactive, ref, renderList, renderSlot, shallowRef, toDisplayString, toValue, unref, useSlots, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
@@ -3905,6 +3905,15 @@ function createGeneratedAnalysisTransport(options = {}) {
3905
3905
  function useGeneratedAnalysis(options) {
3906
3906
  return createPluginJobs(options, "/generated/manifest");
3907
3907
  }
3908
+ /**
3909
+ * Connect a custom plugin frontend to the SDK-owned job lifecycle.
3910
+ *
3911
+ * @example Recommended
3912
+ * ```ts
3913
+ * const jobs = usePluginJobs({ baseUrl: '/api/leaf/jobs' })
3914
+ * await jobs.initialize()
3915
+ * ```
3916
+ */
3908
3917
  function usePluginJobs(options) {
3909
3918
  return createPluginJobs(options);
3910
3919
  }
@@ -4744,7 +4753,15 @@ function experimentIdFromPath(path) {
4744
4753
  }
4745
4754
  //#endregion
4746
4755
  //#region src/composables/useAnalysisArtifacts.ts
4747
- /** Lists and manages analysis artifacts through the user-facing platform API. */
4756
+ /**
4757
+ * Lists and manages analysis artifacts through the user-facing platform API.
4758
+ *
4759
+ * @example Recommended
4760
+ * ```ts
4761
+ * const artifacts = useAnalysisArtifacts({ pluginId: 'LEAF' })
4762
+ * await artifacts.list()
4763
+ * ```
4764
+ */
4748
4765
  function useAnalysisArtifacts(options = {}) {
4749
4766
  const injectedContext = getInjectedPlatformContext();
4750
4767
  const api = useApi({ baseUrl: options.apiBaseUrl ?? injectedContext?.platformApiUrl });
@@ -4978,7 +4995,14 @@ var ArtifactSelectorModal_default = /* @__PURE__ */ defineComponent({
4978
4995
  "restore"
4979
4996
  ],
4980
4997
  setup(__props, { emit: __emit }) {
4981
- /** Modal for browsing and selecting an analysis artifact of an experiment, with filters and keyboard nav. */
4998
+ /**
4999
+ * Modal for browsing and selecting an analysis artifact of an experiment, with filters and keyboard nav.
5000
+ *
5001
+ * @example Recommended
5002
+ * ```vue
5003
+ * <ArtifactSelectorModal v-model="open" :experiment-id="experimentId" @select="selectArtifact" />
5004
+ * ```
5005
+ */
4982
5006
  const props = __props;
4983
5007
  const emit = __emit;
4984
5008
  const { artifacts, visibleArtifacts, isLoading, isMutating, error, search, statusFilter, pluginFilter, list, getDetail, archive, restore } = useAnalysisArtifacts({
@@ -7264,7 +7288,16 @@ function resolveControlModel(model) {
7264
7288
  if (model === void 0) return void 0;
7265
7289
  return isControlModelBinding(model) ? model : defineControlModel(model);
7266
7290
  }
7267
- /** Create a complete workspace component binding from a simple controls data model for ControlWorkspaceView, generated forms, and sidebars. */
7291
+ /**
7292
+ * Create a complete workspace component binding from a simple controls data model for ControlWorkspaceView, generated forms, and sidebars.
7293
+ *
7294
+ * @example Recommended
7295
+ * ```ts
7296
+ * const workspaceModel = defineControlModel({
7297
+ * controls: { threshold: { type: 'number', default: 0.05 } },
7298
+ * })
7299
+ * ```
7300
+ */
7268
7301
  function defineControlModel(model) {
7269
7302
  const { controls: rootControls, sections: rootSections, views: modelViews, components, componentBindings, componentProps, componentPropsById, ...baseOptions } = model;
7270
7303
  const resolvedComponentBindings = componentBindings ?? components;
@@ -7343,7 +7376,15 @@ function registerSectionOptions(target, sectionId, options) {
7343
7376
  }
7344
7377
  //#endregion
7345
7378
  //#region src/composables/useControlWorkspace.ts
7346
- /** Prepare shared reactive values plus AppTopBar/AppSidebar/FormBuilder bindings from one simple controls data model. */
7379
+ /**
7380
+ * Prepare shared reactive values plus AppTopBar/AppSidebar/FormBuilder bindings from one simple controls data model.
7381
+ *
7382
+ * @example Recommended
7383
+ * ```ts
7384
+ * const workspace = useControlWorkspace(workspaceModel)
7385
+ * const { form, sidebar, topBar } = workspace.bindings
7386
+ * ```
7387
+ */
7347
7388
  function useControlWorkspace(controlsOrModel, options = {}) {
7348
7389
  const model = isControlModelBinding(controlsOrModel) ? controlsOrModel : void 0;
7349
7390
  const controls = model ? model.controls : controlsOrModel;
@@ -7511,7 +7552,14 @@ function defineWellPlateDoseComponentBindings(options = {}) {
7511
7552
  props: defineDoseCalculatorControlProps(options.dose)
7512
7553
  }];
7513
7554
  }
7514
- /** Return a complete ControlWorkspaceView model for WellPlate + DoseCalculator dose design. */
7555
+ /**
7556
+ * Return a complete ControlWorkspaceView model for WellPlate + DoseCalculator dose design.
7557
+ *
7558
+ * @example Recommended
7559
+ * ```ts
7560
+ * const workspaceModel = defineDoseDesignControlModel({ selectedWells: ['A1', 'A2'] })
7561
+ * ```
7562
+ */
7515
7563
  function defineDoseDesignControlModel(options = {}) {
7516
7564
  const viewId = options.viewId ?? "design";
7517
7565
  const sectionId = options.sectionId ?? "dose";
@@ -7662,6 +7710,6 @@ function useControlSchema(controls, options = {}) {
7662
7710
  };
7663
7711
  }
7664
7712
  //#endregion
7665
- export { normalizeJobState as $, useConcentrationUnits as A, BaseCheckbox_default as At, useAnalysisArtifacts as B, controlsToViewIds as C, DatePicker_default as Ct, getTypeDefault as D, BaseSlider_default as Dt, getFieldRegistryEntry as E, useSelectionLimit as Et, ATOMIC_WEIGHTS as F, resolveCurrentPluginId as G, getInjectedPlatformContext as H, useChemicalFormula as I, usePluginJobs as J, createGeneratedAnalysisTransport as K, GeneratedPathInput_default as L, SequenceInput_default as M, BaseTextarea_default as Mt, useSequenceUtils as N, ConcentrationInput_default as O, BaseRadioGroup_default as Ot, FormulaInput_default as P, normalizeJobPercent as Q, _plugin_vue_export_helper_default as R, controlsToTopBarSettingsConfig as S, useTimeUtils as St, getDefaultControlView as T, useListSelection as Tt, parseExperimentId as U, currentExperimentFromContext as V, resolveCurrentExperimentId as W, isTerminalJobStatus as X, isActiveJobStatus as Y, jobStatusLabel as Z, controlsToFormSchema as _, isTimeInRange as _t, defineDoseCalculatorControlProps as a, TagsInput_default as at, controlsToSettingsSchema as b, snapToSlot as bt, defineWellPlateDoseComponentBindings as c, compareTime as ct, defineControlModel as d, findNearestTimeSlotIndex as dt, resolveJobCapabilities as et, resolveControlModel as f, formatDuration as ft, mergeControlWorkspaceOptions as g, generateTimeSlots as gt, controlValuesToComponentProps as h, fromMinutes as ht, useControlSchema as i, NumberInput_default as it, MoleculeInput_default as j, Tooltip_default as jt, UnitInput_default as k, BaseToggle_default as kt, defineWellPlateDoseControlProps as l, durationMinutes as lt, controlValuesToComponentBindingsById as m, formatTimeSlot as mt, defineControls as n, AlertBox_default as nt, defineDoseDesignControlModel as o, TimePicker_default as ot, controlValuesToComponentBindings as p, formatTime as pt, useGeneratedAnalysis as q, getControlDefaults as r, FileUploader_default as rt, defineWellPlateControlProps as s, addMinutes as st, defineControlComponentBindings as t, DateTimePicker_default as tt, useControlWorkspace as u, findAvailableSlots as ut, controlsToSectionFormSchema as v, parseTime as vt, controlsToViewItems as w, MultiSelect_default as wt, controlsToSidebarPanels as x, toMinutes as xt, controlsToSectionFormSchemas as y, rangesOverlap as yt, ArtifactSelectorModal_default as z };
7713
+ export { normalizeJobState as $, useConcentrationUnits as A, BaseCheckbox_default as At, useAnalysisArtifacts as B, controlsToViewIds as C, DatePicker_default as Ct, getTypeDefault as D, BaseSlider_default as Dt, getFieldRegistryEntry as E, useSelectionLimit as Et, ATOMIC_WEIGHTS as F, shift as Ft, resolveCurrentPluginId as G, getInjectedPlatformContext as H, useChemicalFormula as I, BaseTextarea_default as It, usePluginJobs as J, createGeneratedAnalysisTransport as K, GeneratedPathInput_default as L, SequenceInput_default as M, computePosition as Mt, useSequenceUtils as N, flip as Nt, ConcentrationInput_default as O, BaseRadioGroup_default as Ot, FormulaInput_default as P, offset as Pt, normalizeJobPercent as Q, _plugin_vue_export_helper_default as R, controlsToTopBarSettingsConfig as S, useTimeUtils as St, getDefaultControlView as T, useListSelection as Tt, parseExperimentId as U, currentExperimentFromContext as V, resolveCurrentExperimentId as W, isTerminalJobStatus as X, isActiveJobStatus as Y, jobStatusLabel as Z, controlsToFormSchema as _, isTimeInRange as _t, defineDoseCalculatorControlProps as a, TagsInput_default as at, controlsToSettingsSchema as b, snapToSlot as bt, defineWellPlateDoseComponentBindings as c, compareTime as ct, defineControlModel as d, findNearestTimeSlotIndex as dt, resolveJobCapabilities as et, resolveControlModel as f, formatDuration as ft, mergeControlWorkspaceOptions as g, generateTimeSlots as gt, controlValuesToComponentProps as h, fromMinutes as ht, useControlSchema as i, NumberInput_default as it, MoleculeInput_default as j, Tooltip_default as jt, UnitInput_default as k, BaseToggle_default as kt, defineWellPlateDoseControlProps as l, durationMinutes as lt, controlValuesToComponentBindingsById as m, formatTimeSlot as mt, defineControls as n, AlertBox_default as nt, defineDoseDesignControlModel as o, TimePicker_default as ot, controlValuesToComponentBindings as p, formatTime as pt, useGeneratedAnalysis as q, getControlDefaults as r, FileUploader_default as rt, defineWellPlateControlProps as s, addMinutes as st, defineControlComponentBindings as t, DateTimePicker_default as tt, useControlWorkspace as u, findAvailableSlots as ut, controlsToSectionFormSchema as v, parseTime as vt, controlsToViewItems as w, MultiSelect_default as wt, controlsToSidebarPanels as x, toMinutes as xt, controlsToSectionFormSchemas as y, rangesOverlap as yt, ArtifactSelectorModal_default as z };
7666
7714
 
7667
- //# sourceMappingURL=useControlSchema-BEAgLyyx.js.map
7715
+ //# sourceMappingURL=useControlSchema-BMVb2XIQ.js.map