@morscherlab/mint-sdk 1.2.0-beta.3 → 1.2.0-beta.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.
Files changed (1063) hide show
  1. package/README.md +8 -2
  2. package/dist/{EmptyState-p90quq8Z.js → EmptyState-NBqf2_8z.js} +3 -1
  3. package/dist/EmptyState-NBqf2_8z.js.map +1 -0
  4. package/dist/{ExperimentPopover-Bn6PIGHE.js → ExperimentPopover-CfOdh5Rm.js} +11 -6
  5. package/dist/ExperimentPopover-CfOdh5Rm.js.map +1 -0
  6. package/dist/{ExperimentSelectorModal-DGhrJSSV.js → ExperimentSelectorModal-DvIagrxY.js} +13 -8
  7. package/dist/ExperimentSelectorModal-DvIagrxY.js.map +1 -0
  8. package/dist/{SettingsModal-wF2btHu6.js → SettingsModal-W3TYfnP9.js} +13 -11
  9. package/dist/SettingsModal-W3TYfnP9.js.map +1 -0
  10. package/dist/__stories__/experiment-helpers.d.ts +28 -0
  11. package/dist/__tests__/components/ActionItem.test.d.ts +1 -0
  12. package/dist/__tests__/components/ActionMenu.test.d.ts +1 -0
  13. package/dist/__tests__/components/AppAvatarMenu.test.d.ts +1 -0
  14. package/dist/__tests__/components/AppLayout.test.d.ts +1 -0
  15. package/dist/__tests__/components/AppPluginSwitcher.test.d.ts +1 -0
  16. package/dist/__tests__/components/AppSidebar.test.d.ts +1 -0
  17. package/dist/__tests__/components/AppToastContainer.test.d.ts +1 -0
  18. package/dist/__tests__/components/AppTopBar.navigation.test.d.ts +1 -0
  19. package/dist/__tests__/components/AppTopBar.test.d.ts +1 -0
  20. package/dist/__tests__/components/AppTopBarPageSelector.test.d.ts +1 -0
  21. package/dist/__tests__/components/AppTopBarPillNav.test.d.ts +1 -0
  22. package/dist/__tests__/components/AppTopBarPresence.test.d.ts +1 -0
  23. package/dist/__tests__/components/ArtifactSaveDialog.test.d.ts +1 -0
  24. package/dist/__tests__/components/ArtifactSelectorModal.test.d.ts +1 -0
  25. package/dist/__tests__/components/AutoGroupModal.adapter.test.d.ts +1 -0
  26. package/dist/__tests__/components/BaseInput.test.d.ts +1 -0
  27. package/dist/__tests__/components/BaseModal.test.d.ts +1 -0
  28. package/dist/__tests__/components/BasePill.test.d.ts +1 -0
  29. package/dist/__tests__/components/BaseRadioGroup.test.d.ts +1 -0
  30. package/dist/__tests__/components/BaseSelect.test.d.ts +1 -0
  31. package/dist/__tests__/components/BaseTabs.test.d.ts +1 -0
  32. package/dist/__tests__/components/BaseToggle.test.d.ts +1 -0
  33. package/dist/__tests__/components/BatchProgressList.test.d.ts +1 -0
  34. package/dist/__tests__/components/BioTemplateExperimentWorkspaceView.test.d.ts +1 -0
  35. package/dist/__tests__/components/BioTemplatePackWorkspaceView.test.d.ts +1 -0
  36. package/dist/__tests__/components/BioTemplatePresetWorkspaceView.test.d.ts +1 -0
  37. package/dist/__tests__/components/BioTemplateRenderer.test.d.ts +1 -0
  38. package/dist/__tests__/components/Breadcrumb.test.d.ts +1 -0
  39. package/dist/__tests__/components/Calendar.test.d.ts +1 -0
  40. package/dist/__tests__/components/CalendarGridPanel.test.d.ts +1 -0
  41. package/dist/__tests__/components/CollapsibleCard.test.d.ts +1 -0
  42. package/dist/__tests__/components/ComponentBindingRenderer.test.d.ts +1 -0
  43. package/dist/__tests__/components/ConcentrationInput.test.d.ts +1 -0
  44. package/dist/__tests__/components/ControlWorkspaceView.test.d.ts +1 -0
  45. package/dist/__tests__/components/DataFrame.test.d.ts +1 -0
  46. package/dist/__tests__/components/DatePicker.test.d.ts +1 -0
  47. package/dist/__tests__/components/DateTimePicker.test.d.ts +1 -0
  48. package/dist/__tests__/components/DoseCalculatorVolumeField.test.d.ts +1 -0
  49. package/dist/__tests__/components/DoseDesignWorkspaceView.test.d.ts +1 -0
  50. package/dist/__tests__/components/DropdownButton.test.d.ts +1 -0
  51. package/dist/__tests__/components/EmptyState.test.d.ts +1 -0
  52. package/dist/__tests__/components/ExperimentPopover.test.d.ts +1 -0
  53. package/dist/__tests__/components/ExperimentSelectorModal.test.d.ts +1 -0
  54. package/dist/__tests__/components/FormBuilder.test.d.ts +1 -0
  55. package/dist/__tests__/components/GeneratedPathInput.test.d.ts +1 -0
  56. package/dist/__tests__/components/GeneratedPlotlyResult.test.d.ts +1 -0
  57. package/dist/__tests__/components/GeneratedPluginView.test.d.ts +1 -0
  58. package/dist/__tests__/components/GeneratedResultRenderer.test.d.ts +1 -0
  59. package/dist/__tests__/components/GroupAssigner.test.d.ts +1 -0
  60. package/dist/__tests__/components/InstrumentAlertLog.test.d.ts +1 -0
  61. package/dist/__tests__/components/JobsStatusTray.test.d.ts +1 -0
  62. package/dist/__tests__/components/LcmsSequenceTable.test.d.ts +1 -0
  63. package/dist/__tests__/components/MobileSupportGate.test.d.ts +1 -0
  64. package/dist/__tests__/components/MultiSelect.test.d.ts +1 -0
  65. package/dist/__tests__/components/PlateMapEditorToolbarInternal.test.d.ts +1 -0
  66. package/dist/__tests__/components/PluginIcon.test.d.ts +1 -0
  67. package/dist/__tests__/components/PluginWorkspaceView.controls.test.d.ts +1 -0
  68. package/dist/__tests__/components/PluginWorkspaceView.internal.test.d.ts +1 -0
  69. package/dist/__tests__/components/PluginWorkspaceView.navigation.test.d.ts +1 -0
  70. package/dist/__tests__/components/PluginWorkspaceView.shell.test.d.ts +1 -0
  71. package/dist/__tests__/components/PluginWorkspaceView.test.d.ts +1 -0
  72. package/dist/__tests__/components/ProgressBar.test.d.ts +1 -0
  73. package/dist/__tests__/components/ProtocolStep.presentation.test.d.ts +1 -0
  74. package/dist/__tests__/components/ProtocolStepEditor.state.test.d.ts +1 -0
  75. package/dist/__tests__/components/ProtocolStepEditor.test.d.ts +1 -0
  76. package/dist/__tests__/components/ProtocolStepParameterField.test.d.ts +1 -0
  77. package/dist/__tests__/components/RackEditor.test.d.ts +1 -0
  78. package/dist/__tests__/components/ReagentList.presentation.test.d.ts +1 -0
  79. package/dist/__tests__/components/ReagentList.test.d.ts +1 -0
  80. package/dist/__tests__/components/RetiredStyles.test.d.ts +1 -0
  81. package/dist/__tests__/components/RuntimeUpdateNotice.test.d.ts +1 -0
  82. package/dist/__tests__/components/SampleHierarchyTree.test.d.ts +1 -0
  83. package/dist/__tests__/components/SampleSelector.colors.test.d.ts +1 -0
  84. package/dist/__tests__/components/SampleSelector.drag.test.d.ts +1 -0
  85. package/dist/__tests__/components/SampleSelector.groups.test.d.ts +1 -0
  86. package/dist/__tests__/components/SampleSelector.selection.test.d.ts +1 -0
  87. package/dist/__tests__/components/SampleSelector.test.d.ts +1 -0
  88. package/dist/__tests__/components/SampleSelectorSampleRow.test.d.ts +1 -0
  89. package/dist/__tests__/components/ScheduleCalendar.test.d.ts +1 -0
  90. package/dist/__tests__/components/SecretInput.test.d.ts +1 -0
  91. package/dist/__tests__/components/SectionCard.test.d.ts +1 -0
  92. package/dist/__tests__/components/SegmentedControl.test.d.ts +1 -0
  93. package/dist/__tests__/components/SequenceProgressBar.test.d.ts +1 -0
  94. package/dist/__tests__/components/SettingsModal.schema.test.d.ts +1 -0
  95. package/dist/__tests__/components/SettingsModal.test.d.ts +1 -0
  96. package/dist/__tests__/components/SmartGroupFieldRecipe.groups.test.d.ts +1 -0
  97. package/dist/__tests__/components/SmartGroupManual.cohorts.test.d.ts +1 -0
  98. package/dist/__tests__/components/TagsInput.test.d.ts +1 -0
  99. package/dist/__tests__/components/ThemeToggle.test.d.ts +1 -0
  100. package/dist/__tests__/components/TimePicker.test.d.ts +1 -0
  101. package/dist/__tests__/components/WellEditPopupInternal.test.d.ts +1 -0
  102. package/dist/__tests__/components/WellPlate.colors.test.d.ts +1 -0
  103. package/dist/__tests__/components/WellPlate.conditions.test.d.ts +1 -0
  104. package/dist/__tests__/components/WellPlate.geometry.test.d.ts +1 -0
  105. package/dist/__tests__/components/WellPlate.interaction.test.d.ts +1 -0
  106. package/dist/__tests__/components/WellPlate.legend.test.d.ts +1 -0
  107. package/dist/__tests__/components/WellPlate.rendering.test.d.ts +1 -0
  108. package/dist/__tests__/components/WellPlate.sampleDrop.test.d.ts +1 -0
  109. package/dist/__tests__/composables/analysisArtifactTarget.test.d.ts +1 -0
  110. package/dist/__tests__/composables/autoGroup/classKey.test.d.ts +1 -0
  111. package/dist/__tests__/composables/autoGroup/classify.test.d.ts +1 -0
  112. package/dist/__tests__/composables/autoGroup/columns.test.d.ts +1 -0
  113. package/dist/__tests__/composables/autoGroup/compose.test.d.ts +1 -0
  114. package/dist/__tests__/composables/autoGroup/cooccurrence.test.d.ts +1 -0
  115. package/dist/__tests__/composables/autoGroup/fingerprint.test.d.ts +1 -0
  116. package/dist/__tests__/composables/autoGroup/groupByOrder.test.d.ts +1 -0
  117. package/dist/__tests__/composables/autoGroup/groupTree.test.d.ts +1 -0
  118. package/dist/__tests__/composables/autoGroup/integration.test.d.ts +1 -0
  119. package/dist/__tests__/composables/autoGroup/template.test.d.ts +1 -0
  120. package/dist/__tests__/composables/autoGroup/tokenLength.test.d.ts +1 -0
  121. package/dist/__tests__/composables/autoGroup/tokenize.test.d.ts +1 -0
  122. package/dist/__tests__/composables/experiment-utils.test.d.ts +1 -0
  123. package/dist/__tests__/composables/formBuilderRegistry.test.d.ts +1 -0
  124. package/dist/__tests__/composables/resolvePluginFrontendBase.test.d.ts +1 -0
  125. package/dist/__tests__/composables/useAnalysisArtifacts.test.d.ts +1 -0
  126. package/dist/__tests__/composables/useApi.test.d.ts +1 -0
  127. package/dist/__tests__/composables/useAppExperiment.test.d.ts +1 -0
  128. package/dist/__tests__/composables/useAuth.test.d.ts +1 -0
  129. package/dist/__tests__/composables/useAutoGroup.test.d.ts +1 -0
  130. package/dist/__tests__/composables/useAutoGroupInputSources.test.d.ts +1 -0
  131. package/dist/__tests__/composables/useBioTemplatePackWorkspace.test.d.ts +1 -0
  132. package/dist/__tests__/composables/useBioTemplatePresetWorkspace.test.d.ts +1 -0
  133. package/dist/__tests__/composables/useBioTemplateWorkspace.test.d.ts +1 -0
  134. package/dist/__tests__/composables/useCalendarGrid.test.d.ts +1 -0
  135. package/dist/__tests__/composables/useCommandHistory.test.d.ts +1 -0
  136. package/dist/__tests__/composables/useControlSchema.test.d.ts +1 -0
  137. package/dist/__tests__/composables/useDebouncedWatch.test.d.ts +1 -0
  138. package/dist/__tests__/composables/useDropdownState.test.d.ts +1 -0
  139. package/dist/__tests__/composables/useEventListener.test.d.ts +1 -0
  140. package/dist/__tests__/composables/useEventStream.test.d.ts +1 -0
  141. package/dist/__tests__/composables/useExpansionSet.test.d.ts +1 -0
  142. package/dist/__tests__/composables/useExperimentData.test.d.ts +14 -0
  143. package/dist/__tests__/composables/useExperimentSamples.test.d.ts +1 -0
  144. package/dist/__tests__/composables/useExperimentSave.test.d.ts +1 -0
  145. package/dist/__tests__/composables/useExperimentSelector.test.d.ts +1 -0
  146. package/dist/__tests__/composables/useFileImport.test.d.ts +1 -0
  147. package/dist/__tests__/composables/useForm.test.d.ts +1 -0
  148. package/dist/__tests__/composables/useFormBuilder.test.d.ts +1 -0
  149. package/dist/__tests__/composables/useGeneratedAnalysis.test.d.ts +1 -0
  150. package/dist/__tests__/composables/useGroupAssignment.test.d.ts +1 -0
  151. package/dist/__tests__/composables/useJobsStatusTray.test.d.ts +1 -0
  152. package/dist/__tests__/composables/useListSelection.test.d.ts +1 -0
  153. package/dist/__tests__/composables/useMobileSupportGate.test.d.ts +1 -0
  154. package/dist/__tests__/composables/useOptimisticMutation.test.d.ts +1 -0
  155. package/dist/__tests__/composables/usePlatformContext.test.d.ts +1 -0
  156. package/dist/__tests__/composables/usePluginClient.test.d.ts +1 -0
  157. package/dist/__tests__/composables/usePluginConfig.test.d.ts +15 -0
  158. package/dist/__tests__/composables/usePresenceHeartbeat.test.d.ts +1 -0
  159. package/dist/__tests__/composables/useProtocolTemplates.test.d.ts +1 -0
  160. package/dist/__tests__/composables/useRequestSyncState.test.d.ts +1 -0
  161. package/dist/__tests__/composables/useResourceCrud.test.d.ts +1 -0
  162. package/dist/__tests__/composables/useRuntimeAlignment.test.d.ts +1 -0
  163. package/dist/__tests__/composables/useSampleGroups.test.d.ts +1 -0
  164. package/dist/__tests__/composables/useSampleGroups.tree.test.d.ts +1 -0
  165. package/dist/__tests__/composables/useScheduleCalendarLayout.test.d.ts +1 -0
  166. package/dist/__tests__/composables/useSelectionLimit.test.d.ts +1 -0
  167. package/dist/__tests__/composables/useSortedItems.test.d.ts +1 -0
  168. package/dist/__tests__/composables/useTemplateCollection.test.d.ts +1 -0
  169. package/dist/__tests__/composables/useTextSearch.test.d.ts +1 -0
  170. package/dist/__tests__/composables/useTheme.test.d.ts +1 -0
  171. package/dist/__tests__/composables/useTimeUtils.test.d.ts +1 -0
  172. package/dist/__tests__/composables/useWellPainting.test.d.ts +1 -0
  173. package/dist/__tests__/composables/useWellPlateAdapter.test.d.ts +1 -0
  174. package/dist/__tests__/composables/useWellPlateValidation.test.d.ts +1 -0
  175. package/dist/__tests__/docs/extractDocsComponents.test.d.ts +1 -0
  176. package/dist/__tests__/docs/extractDocsExports.test.d.ts +1 -0
  177. package/dist/__tests__/docs/extractDocsParsing.test.d.ts +1 -0
  178. package/dist/__tests__/docs/extractDocsTemplates.test.d.ts +1 -0
  179. package/dist/__tests__/docs/extractDocsTheme.test.d.ts +1 -0
  180. package/dist/__tests__/docs/frontendDocsCatalog.test.d.ts +1 -0
  181. package/dist/__tests__/generatedUi.test.d.ts +1 -0
  182. package/dist/__tests__/stores/experiment.test.d.ts +1 -0
  183. package/dist/__tests__/stores/settings.test.d.ts +1 -0
  184. package/dist/__tests__/templates/templates.test.d.ts +1 -0
  185. package/dist/__tests__/types/GeneratedJsonSchema.test.d.ts +1 -0
  186. package/dist/__tests__/utils/color.test.d.ts +1 -0
  187. package/dist/__tests__/utils/instrument.test.d.ts +1 -0
  188. package/dist/__tests__/utils/jobs.test.d.ts +1 -0
  189. package/dist/__tests__/utils/lcms.test.d.ts +1 -0
  190. package/dist/__tests__/utils/permissions.test.d.ts +1 -0
  191. package/dist/__tests__/utils/rack.test.d.ts +1 -0
  192. package/dist/{analysisArtifactTypes-ejqR8MX3.js → analysisArtifactTypes-DQ0MjwHZ.js} +2 -0
  193. package/dist/analysisArtifactTypes-DQ0MjwHZ.js.map +1 -0
  194. package/dist/chunk-BoAXSpZd.js +33 -0
  195. package/dist/components/AppAvatarMenu.vue.d.ts +4 -0
  196. package/dist/components/AppSidebar.vue.d.ts +1 -1
  197. package/dist/components/AuditTrail.vue.d.ts +38 -0
  198. package/dist/components/AutoGroupModal.vue.d.ts +1 -1
  199. package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +2 -2
  200. package/dist/components/ColorSlider.vue.d.ts +34 -0
  201. package/dist/components/DoseDesignWorkspaceView.vue.d.ts +149 -0
  202. package/dist/components/DropdownButton.vue.d.ts +2 -0
  203. package/dist/components/FitPanel.vue.d.ts +46 -0
  204. package/dist/components/GroupAssigner.vue.d.ts +25 -0
  205. package/dist/components/JobsStatusTray.vue.d.ts +11 -2
  206. package/dist/components/PluginWorkspaceView.props.d.ts +29 -1
  207. package/dist/components/PluginWorkspaceView.vue.d.ts +5 -5
  208. package/dist/components/RackEditor.vue.d.ts +78 -0
  209. package/dist/components/ReagentEditor.vue.d.ts +30 -0
  210. package/dist/components/ResourceCard.vue.d.ts +50 -0
  211. package/dist/components/SampleLegend.vue.d.ts +1 -1
  212. package/dist/components/SampleSelector.vue.d.ts +1 -1
  213. package/dist/components/ScientificNumber.vue.d.ts +14 -0
  214. package/dist/components/SecretInput.vue.d.ts +28 -0
  215. package/dist/components/SettingsModal.vue.d.ts +1 -1
  216. package/dist/components/SmartGroupFieldRecipe.vue.d.ts +3 -3
  217. package/dist/components/SmartGroupManual.vue.d.ts +2 -2
  218. package/dist/components/WellPlate.vue.d.ts +1 -1
  219. package/dist/components/index.d.ts +18 -0
  220. package/dist/components/index.js +8 -8
  221. package/dist/components/internal/WellEditPopupInternal.vue.d.ts +3 -1
  222. package/dist/components/internal/WorkspaceControlsInternal.vue.d.ts +23 -0
  223. package/dist/components/internal/WorkspaceShellInternal.vue.d.ts +70 -0
  224. package/dist/components/internal/WorkspaceSidebarInternal.vue.d.ts +43 -0
  225. package/dist/{components-DpyzaeIc.js → components-B80gV0P6.js} +3729 -1800
  226. package/dist/components-B80gV0P6.js.map +1 -0
  227. package/dist/composables/autoGroupConstants.d.ts +1 -0
  228. package/dist/composables/autoGroupGrouping.d.ts +3 -0
  229. package/dist/composables/flattenWorkspaceBindings.d.ts +61 -0
  230. package/dist/composables/index.d.ts +15 -2
  231. package/dist/composables/index.js +11 -11
  232. package/dist/composables/pluginWorkspaceModel.d.ts +164 -0
  233. package/dist/composables/useAnalysisArtifacts.d.ts +2 -0
  234. package/dist/composables/useAsync.d.ts +132 -0
  235. package/dist/composables/useAuth.d.ts +2 -0
  236. package/dist/composables/useAutoGroup.d.ts +30 -1
  237. package/dist/composables/useAutoGroupInputSources.d.ts +32 -0
  238. package/dist/composables/useBioTemplateWorkspace.d.ts +4 -20
  239. package/dist/composables/useCommandHistory.d.ts +33 -0
  240. package/dist/composables/useFocusTrap.d.ts +21 -0
  241. package/dist/composables/useGeneratedAnalysis.d.ts +5 -1
  242. package/dist/composables/useGroupAssignment.d.ts +31 -0
  243. package/dist/composables/useJobsStatusTray.d.ts +41 -4
  244. package/dist/composables/useMenuKeyboard.d.ts +29 -0
  245. package/dist/composables/useOptimisticMutation.d.ts +5 -1
  246. package/dist/composables/usePluginClient.d.ts +4 -0
  247. package/dist/composables/usePluginConfig.d.ts +25 -0
  248. package/dist/composables/usePluginWorkspace.d.ts +51 -0
  249. package/dist/composables/useRackEditor.d.ts +31 -0
  250. package/dist/composables/useResourceCrud.d.ts +44 -0
  251. package/dist/composables/useRovingFocus.d.ts +24 -0
  252. package/dist/composables/useWellPainting.d.ts +39 -0
  253. package/dist/composables/useWellPlateAdapter.d.ts +40 -0
  254. package/dist/composables/useWellPlateValidation.d.ts +5 -1
  255. package/dist/composables/workspaceRecipes.d.ts +188 -0
  256. package/dist/{composables-yz8bTkEV.js → composables-C8mmD5ta.js} +821 -68
  257. package/dist/composables-C8mmD5ta.js.map +1 -0
  258. package/dist/{experiment-D08H_TIH.js → experiment-Y9Iz7KYi.js} +3 -1
  259. package/dist/experiment-Y9Iz7KYi.js.map +1 -0
  260. package/dist/{experiment-utils-CLnzPPq5.js → experiment-utils-DV3DrvE_.js} +71 -50
  261. package/dist/experiment-utils-DV3DrvE_.js.map +1 -0
  262. package/dist/histoire.setup.d.ts +1 -0
  263. package/dist/index.d.ts +1 -0
  264. package/dist/index.js +20 -35
  265. package/dist/index.js.map +1 -0
  266. package/dist/install.js +28 -0
  267. package/dist/install.js.map +1 -0
  268. package/dist/jobs.d.ts +15 -1
  269. package/dist/permissions.d.ts +5 -0
  270. package/dist/permissions.js +4 -2
  271. package/dist/permissions.js.map +1 -0
  272. package/dist/plotly.min-c2Sez60c.js +180634 -0
  273. package/dist/plotly.min-c2Sez60c.js.map +1 -0
  274. package/dist/stores/auth.d.ts +6 -0
  275. package/dist/stores/index.js +2 -2
  276. package/dist/styles.css +2917 -300
  277. package/dist/tailwind.preset.js +2 -0
  278. package/dist/tailwind.preset.js.map +1 -0
  279. package/dist/templates/builderReadUtils.d.ts +1 -1
  280. package/dist/templates/catalog.d.ts +4 -4
  281. package/dist/templates/index.js +4 -4
  282. package/dist/templates/presets.d.ts +2 -2
  283. package/dist/{templates-Pbxjdqlh.js → templates-CK72aKO1.js} +34 -26
  284. package/dist/templates-CK72aKO1.js.map +1 -0
  285. package/dist/types/auth.d.ts +1 -0
  286. package/dist/types/auto-group.d.ts +7 -0
  287. package/dist/types/componentWorkflowTypes.d.ts +22 -0
  288. package/dist/types/components.d.ts +1 -1
  289. package/dist/types/form-builder.d.ts +1 -1
  290. package/dist/types/generated-ui.d.ts +11 -2
  291. package/dist/types/index.d.ts +4 -4
  292. package/dist/types/index.js +1 -1
  293. package/dist/types/jobs.d.ts +11 -3
  294. package/dist/{useApi-yE0re8k-.js → useApi-CDBq6z23.js} +15 -0
  295. package/dist/useApi-CDBq6z23.js.map +1 -0
  296. package/dist/{useControlSchema-Ds4VeFxt.js → useControlSchema-_OVhavKq.js} +381 -69
  297. package/dist/useControlSchema-_OVhavKq.js.map +1 -0
  298. package/dist/{useDropdownState-WIGW6Rr-.js → useDropdownState-D5G4UvWd.js} +3 -1
  299. package/dist/useDropdownState-D5G4UvWd.js.map +1 -0
  300. package/dist/{useExperimentSelector-DXqsZuSk.js → useExperimentSelector-DSEckf_g.js} +5 -3
  301. package/dist/useExperimentSelector-DSEckf_g.js.map +1 -0
  302. package/dist/{useFormBuilder-1so6QSQL.js → useFormBuilder-Bd714C7y.js} +3 -1
  303. package/dist/useFormBuilder-Bd714C7y.js.map +1 -0
  304. package/dist/{useProtocolTemplates-Cv0ca1AM.js → useProtocolTemplates-Dq5Pzwyd.js} +1055 -83
  305. package/dist/useProtocolTemplates-Dq5Pzwyd.js.map +1 -0
  306. package/dist/utils/pluginSecrets.d.ts +53 -0
  307. package/dist/utils/records.d.ts +4 -0
  308. package/package.json +8 -2
  309. package/src/__stories__/experiment-helpers.ts +86 -0
  310. package/src/__tests__/components/ActionItem.test.ts +99 -0
  311. package/src/__tests__/components/ActionMenu.test.ts +120 -0
  312. package/src/__tests__/components/AppAvatarMenu.test.ts +161 -0
  313. package/src/__tests__/components/AppLayout.test.ts +207 -0
  314. package/src/__tests__/components/AppPluginSwitcher.test.ts +44 -0
  315. package/src/__tests__/components/AppSidebar.test.ts +857 -0
  316. package/src/__tests__/components/AppToastContainer.test.ts +37 -0
  317. package/src/__tests__/components/AppTopBar.navigation.test.ts +68 -0
  318. package/src/__tests__/components/AppTopBar.test.ts +1256 -0
  319. package/src/__tests__/components/AppTopBarPageSelector.test.ts +156 -0
  320. package/src/__tests__/components/AppTopBarPillNav.test.ts +125 -0
  321. package/src/__tests__/components/AppTopBarPresence.test.ts +47 -0
  322. package/src/__tests__/components/ArtifactSaveDialog.test.ts +566 -0
  323. package/src/__tests__/components/ArtifactSelectorModal.test.ts +178 -0
  324. package/src/__tests__/components/AutoGroupModal.adapter.test.ts +204 -0
  325. package/src/__tests__/components/BaseInput.test.ts +99 -0
  326. package/src/__tests__/components/BaseModal.test.ts +133 -0
  327. package/src/__tests__/components/BasePill.test.ts +291 -0
  328. package/src/__tests__/components/BaseRadioGroup.test.ts +25 -0
  329. package/src/__tests__/components/BaseSelect.test.ts +73 -0
  330. package/src/__tests__/components/BaseTabs.test.ts +107 -0
  331. package/src/__tests__/components/BaseToggle.test.ts +40 -0
  332. package/src/__tests__/components/BatchProgressList.test.ts +52 -0
  333. package/src/__tests__/components/BioTemplateExperimentWorkspaceView.test.ts +159 -0
  334. package/src/__tests__/components/BioTemplatePackWorkspaceView.test.ts +192 -0
  335. package/src/__tests__/components/BioTemplatePresetWorkspaceView.test.ts +328 -0
  336. package/src/__tests__/components/BioTemplateRenderer.test.ts +96 -0
  337. package/src/__tests__/components/Breadcrumb.test.ts +23 -0
  338. package/src/__tests__/components/Calendar.test.ts +566 -0
  339. package/src/__tests__/components/CalendarGridPanel.test.ts +36 -0
  340. package/src/__tests__/components/CollapsibleCard.test.ts +571 -0
  341. package/src/__tests__/components/ComponentBindingRenderer.test.ts +278 -0
  342. package/src/__tests__/components/ConcentrationInput.test.ts +45 -0
  343. package/src/__tests__/components/ControlWorkspaceView.test.ts +1102 -0
  344. package/src/__tests__/components/DataFrame.test.ts +915 -0
  345. package/src/__tests__/components/DatePicker.test.ts +45 -0
  346. package/src/__tests__/components/DateTimePicker.test.ts +48 -0
  347. package/src/__tests__/components/DoseCalculatorVolumeField.test.ts +53 -0
  348. package/src/__tests__/components/DoseDesignWorkspaceView.test.ts +185 -0
  349. package/src/__tests__/components/DropdownButton.test.ts +628 -0
  350. package/src/__tests__/components/EmptyState.test.ts +23 -0
  351. package/src/__tests__/components/ExperimentPopover.test.ts +143 -0
  352. package/src/__tests__/components/ExperimentSelectorModal.test.ts +143 -0
  353. package/src/__tests__/components/FormBuilder.test.ts +353 -0
  354. package/src/__tests__/components/GeneratedPathInput.test.ts +132 -0
  355. package/src/__tests__/components/GeneratedPlotlyResult.test.ts +117 -0
  356. package/src/__tests__/components/GeneratedPluginView.test.ts +235 -0
  357. package/src/__tests__/components/GeneratedResultRenderer.test.ts +93 -0
  358. package/src/__tests__/components/GroupAssigner.test.ts +48 -0
  359. package/src/__tests__/components/InstrumentAlertLog.test.ts +59 -0
  360. package/src/__tests__/components/JobsStatusTray.test.ts +165 -0
  361. package/src/__tests__/components/LcmsSequenceTable.test.ts +57 -0
  362. package/src/__tests__/components/MobileSupportGate.test.ts +120 -0
  363. package/src/__tests__/components/MultiSelect.test.ts +48 -0
  364. package/src/__tests__/components/PlateMapEditorToolbarInternal.test.ts +54 -0
  365. package/src/__tests__/components/PluginIcon.test.ts +215 -0
  366. package/src/__tests__/components/PluginWorkspaceView.controls.test.ts +156 -0
  367. package/src/__tests__/components/PluginWorkspaceView.internal.test.ts +230 -0
  368. package/src/__tests__/components/PluginWorkspaceView.navigation.test.ts +102 -0
  369. package/src/__tests__/components/PluginWorkspaceView.shell.test.ts +43 -0
  370. package/src/__tests__/components/PluginWorkspaceView.test.ts +719 -0
  371. package/src/__tests__/components/ProgressBar.test.ts +18 -0
  372. package/src/__tests__/components/ProtocolStep.presentation.test.ts +31 -0
  373. package/src/__tests__/components/ProtocolStepEditor.state.test.ts +165 -0
  374. package/src/__tests__/components/ProtocolStepEditor.test.ts +33 -0
  375. package/src/__tests__/components/ProtocolStepParameterField.test.ts +44 -0
  376. package/src/__tests__/components/RackEditor.test.ts +125 -0
  377. package/src/__tests__/components/ReagentList.presentation.test.ts +68 -0
  378. package/src/__tests__/components/ReagentList.test.ts +82 -0
  379. package/src/__tests__/components/RetiredStyles.test.ts +82 -0
  380. package/src/__tests__/components/RuntimeUpdateNotice.test.ts +14 -0
  381. package/src/__tests__/components/SampleHierarchyTree.test.ts +53 -0
  382. package/src/__tests__/components/SampleSelector.colors.test.ts +49 -0
  383. package/src/__tests__/components/SampleSelector.drag.test.ts +126 -0
  384. package/src/__tests__/components/SampleSelector.groups.test.ts +94 -0
  385. package/src/__tests__/components/SampleSelector.selection.test.ts +56 -0
  386. package/src/__tests__/components/SampleSelector.test.ts +466 -0
  387. package/src/__tests__/components/SampleSelectorSampleRow.test.ts +40 -0
  388. package/src/__tests__/components/ScheduleCalendar.test.ts +44 -0
  389. package/src/__tests__/components/SecretInput.test.ts +87 -0
  390. package/src/__tests__/components/SectionCard.test.ts +181 -0
  391. package/src/__tests__/components/SegmentedControl.test.ts +69 -0
  392. package/src/__tests__/components/SequenceProgressBar.test.ts +39 -0
  393. package/src/__tests__/components/SettingsModal.schema.test.ts +97 -0
  394. package/src/__tests__/components/SettingsModal.test.ts +407 -0
  395. package/src/__tests__/components/SmartGroupFieldRecipe.groups.test.ts +101 -0
  396. package/src/__tests__/components/SmartGroupManual.cohorts.test.ts +97 -0
  397. package/src/__tests__/components/TagsInput.test.ts +75 -0
  398. package/src/__tests__/components/ThemeToggle.test.ts +47 -0
  399. package/src/__tests__/components/TimePicker.test.ts +38 -0
  400. package/src/__tests__/components/WellEditPopupInternal.test.ts +108 -0
  401. package/src/__tests__/components/WellPlate.colors.test.ts +28 -0
  402. package/src/__tests__/components/WellPlate.conditions.test.ts +68 -0
  403. package/src/__tests__/components/WellPlate.geometry.test.ts +54 -0
  404. package/src/__tests__/components/WellPlate.interaction.test.ts +171 -0
  405. package/src/__tests__/components/WellPlate.legend.test.ts +13 -0
  406. package/src/__tests__/components/WellPlate.rendering.test.ts +122 -0
  407. package/src/__tests__/components/WellPlate.sampleDrop.test.ts +70 -0
  408. package/src/__tests__/composables/analysisArtifactTarget.test.ts +77 -0
  409. package/src/__tests__/composables/autoGroup/classKey.test.ts +25 -0
  410. package/src/__tests__/composables/autoGroup/classify.test.ts +107 -0
  411. package/src/__tests__/composables/autoGroup/columns.test.ts +135 -0
  412. package/src/__tests__/composables/autoGroup/compose.test.ts +226 -0
  413. package/src/__tests__/composables/autoGroup/cooccurrence.test.ts +91 -0
  414. package/src/__tests__/composables/autoGroup/fingerprint.test.ts +122 -0
  415. package/src/__tests__/composables/autoGroup/groupByOrder.test.ts +278 -0
  416. package/src/__tests__/composables/autoGroup/groupTree.test.ts +99 -0
  417. package/src/__tests__/composables/autoGroup/integration.test.ts +75 -0
  418. package/src/__tests__/composables/autoGroup/template.test.ts +70 -0
  419. package/src/__tests__/composables/autoGroup/tokenLength.test.ts +85 -0
  420. package/src/__tests__/composables/autoGroup/tokenize.test.ts +33 -0
  421. package/src/__tests__/composables/experiment-utils.test.ts +63 -0
  422. package/src/__tests__/composables/formBuilderRegistry.test.ts +191 -0
  423. package/src/__tests__/composables/resolvePluginFrontendBase.test.ts +65 -0
  424. package/src/__tests__/composables/useAnalysisArtifacts.test.ts +740 -0
  425. package/src/__tests__/composables/useApi.test.ts +157 -0
  426. package/src/__tests__/composables/useAppExperiment.test.ts +899 -0
  427. package/src/__tests__/composables/useAuth.test.ts +233 -0
  428. package/src/__tests__/composables/useAutoGroup.test.ts +524 -0
  429. package/src/__tests__/composables/useAutoGroupInputSources.test.ts +127 -0
  430. package/src/__tests__/composables/useBioTemplatePackWorkspace.test.ts +125 -0
  431. package/src/__tests__/composables/useBioTemplatePresetWorkspace.test.ts +199 -0
  432. package/src/__tests__/composables/useBioTemplateWorkspace.test.ts +104 -0
  433. package/src/__tests__/composables/useCalendarGrid.test.ts +38 -0
  434. package/src/__tests__/composables/useCommandHistory.test.ts +43 -0
  435. package/src/__tests__/composables/useControlSchema.test.ts +1060 -0
  436. package/src/__tests__/composables/useDebouncedWatch.test.ts +93 -0
  437. package/src/__tests__/composables/useDropdownState.test.ts +95 -0
  438. package/src/__tests__/composables/useEventListener.test.ts +116 -0
  439. package/src/__tests__/composables/useEventStream.test.ts +140 -0
  440. package/src/__tests__/composables/useExpansionSet.test.ts +62 -0
  441. package/src/__tests__/composables/useExperimentData.test.ts +154 -0
  442. package/src/__tests__/composables/useExperimentSamples.test.ts +91 -0
  443. package/src/__tests__/composables/useExperimentSave.test.ts +542 -0
  444. package/src/__tests__/composables/useExperimentSelector.test.ts +338 -0
  445. package/src/__tests__/composables/useFileImport.test.ts +44 -0
  446. package/src/__tests__/composables/useForm.test.ts +263 -0
  447. package/src/__tests__/composables/useFormBuilder.test.ts +994 -0
  448. package/src/__tests__/composables/useGeneratedAnalysis.test.ts +1903 -0
  449. package/src/__tests__/composables/useGroupAssignment.test.ts +73 -0
  450. package/src/__tests__/composables/useJobsStatusTray.test.ts +283 -0
  451. package/src/__tests__/composables/useListSelection.test.ts +66 -0
  452. package/src/__tests__/composables/useMobileSupportGate.test.ts +74 -0
  453. package/src/__tests__/composables/useOptimisticMutation.test.ts +40 -0
  454. package/src/__tests__/composables/usePlatformContext.test.ts +148 -0
  455. package/src/__tests__/composables/usePluginClient.test.ts +1912 -0
  456. package/src/__tests__/composables/usePluginConfig.test.ts +497 -0
  457. package/src/__tests__/composables/usePresenceHeartbeat.test.ts +164 -0
  458. package/src/__tests__/composables/useProtocolTemplates.test.ts +64 -0
  459. package/src/__tests__/composables/useRequestSyncState.test.ts +92 -0
  460. package/src/__tests__/composables/useResourceCrud.test.ts +56 -0
  461. package/src/__tests__/composables/useRuntimeAlignment.test.ts +145 -0
  462. package/src/__tests__/composables/useSampleGroups.test.ts +66 -0
  463. package/src/__tests__/composables/useSampleGroups.tree.test.ts +145 -0
  464. package/src/__tests__/composables/useScheduleCalendarLayout.test.ts +89 -0
  465. package/src/__tests__/composables/useSelectionLimit.test.ts +41 -0
  466. package/src/__tests__/composables/useSortedItems.test.ts +87 -0
  467. package/src/__tests__/composables/useTemplateCollection.test.ts +147 -0
  468. package/src/__tests__/composables/useTextSearch.test.ts +55 -0
  469. package/src/__tests__/composables/useTheme.test.ts +91 -0
  470. package/src/__tests__/composables/useTimeUtils.test.ts +35 -0
  471. package/src/__tests__/composables/useWellPainting.test.ts +52 -0
  472. package/src/__tests__/composables/useWellPlateAdapter.test.ts +50 -0
  473. package/src/__tests__/composables/useWellPlateValidation.test.ts +42 -0
  474. package/src/__tests__/docs/extractDocsComponents.test.ts +156 -0
  475. package/src/__tests__/docs/extractDocsExports.test.ts +92 -0
  476. package/src/__tests__/docs/extractDocsParsing.test.ts +91 -0
  477. package/src/__tests__/docs/extractDocsTemplates.test.ts +53 -0
  478. package/src/__tests__/docs/extractDocsTheme.test.ts +89 -0
  479. package/src/__tests__/docs/frontendDocsCatalog.test.ts +436 -0
  480. package/src/__tests__/fixtures/auto-group/mixed-lc-ms-batch.txt +187 -0
  481. package/src/__tests__/fixtures/templates/dose-response.json +81 -0
  482. package/src/__tests__/fixtures/templates/plate-map.json +54 -0
  483. package/src/__tests__/fixtures/templates/qpcr-plate.json +96 -0
  484. package/src/__tests__/fixtures/templates/sample-sheet.json +71 -0
  485. package/src/__tests__/generatedUi.test.ts +119 -0
  486. package/src/__tests__/stores/experiment.test.ts +300 -0
  487. package/src/__tests__/stores/settings.test.ts +78 -0
  488. package/src/__tests__/templates/templates.test.ts +1185 -0
  489. package/src/__tests__/types/GeneratedJsonSchema.test.ts +62 -0
  490. package/src/__tests__/utils/color.test.ts +96 -0
  491. package/src/__tests__/utils/instrument.test.ts +47 -0
  492. package/src/__tests__/utils/jobs.test.ts +95 -0
  493. package/src/__tests__/utils/lcms.test.ts +73 -0
  494. package/src/__tests__/utils/permissions.test.ts +62 -0
  495. package/src/__tests__/utils/rack.test.ts +120 -0
  496. package/src/components/ActionMenu.story.vue +26 -0
  497. package/src/components/ActionMenu.vue +209 -0
  498. package/src/components/AlertBox.story.vue +204 -0
  499. package/src/components/AlertBox.vue +88 -0
  500. package/src/components/AppAvatarMenu.story.vue +155 -0
  501. package/src/components/AppAvatarMenu.vue +164 -0
  502. package/src/components/AppContainer.story.vue +104 -0
  503. package/src/components/AppContainer.vue +34 -0
  504. package/src/components/AppLayout.story.vue +331 -0
  505. package/src/components/AppLayout.vue +156 -0
  506. package/src/components/AppPluginSwitcher.vue +137 -0
  507. package/src/components/AppSidebar.story.vue +584 -0
  508. package/src/components/AppSidebar.vue +471 -0
  509. package/src/components/AppToastContainer.story.vue +157 -0
  510. package/src/components/AppToastContainer.vue +62 -0
  511. package/src/components/AppTopBar.navigation.ts +60 -0
  512. package/src/components/AppTopBar.story.vue +280 -0
  513. package/src/components/AppTopBar.vue +474 -0
  514. package/src/components/ArtifactSaveDialog.story.vue +319 -0
  515. package/src/components/ArtifactSaveDialog.vue +434 -0
  516. package/src/components/ArtifactSelectorModal.story.vue +295 -0
  517. package/src/components/ArtifactSelectorModal.vue +333 -0
  518. package/src/components/AuditTrail.story.vue +163 -0
  519. package/src/components/AuditTrail.vue +151 -0
  520. package/src/components/AutoGroupModal.adapter.ts +203 -0
  521. package/src/components/AutoGroupModal.story.vue +458 -0
  522. package/src/components/AutoGroupModal.vue +294 -0
  523. package/src/components/Avatar.story.vue +115 -0
  524. package/src/components/Avatar.vue +79 -0
  525. package/src/components/BaseButton.story.vue +96 -0
  526. package/src/components/BaseButton.vue +75 -0
  527. package/src/components/BaseCheckbox.story.vue +100 -0
  528. package/src/components/BaseCheckbox.vue +131 -0
  529. package/src/components/BaseInput.story.vue +98 -0
  530. package/src/components/BaseInput.vue +76 -0
  531. package/src/components/BaseModal.story.vue +335 -0
  532. package/src/components/BaseModal.vue +280 -0
  533. package/src/components/BasePill.story.vue +142 -0
  534. package/src/components/BasePill.vue +89 -0
  535. package/src/components/BaseRadioGroup.story.vue +145 -0
  536. package/src/components/BaseRadioGroup.vue +128 -0
  537. package/src/components/BaseSelect.story.vue +120 -0
  538. package/src/components/BaseSelect.vue +89 -0
  539. package/src/components/BaseSlider.story.vue +122 -0
  540. package/src/components/BaseSlider.vue +126 -0
  541. package/src/components/BaseTabs.story.vue +127 -0
  542. package/src/components/BaseTabs.vue +107 -0
  543. package/src/components/BaseTextarea.story.vue +91 -0
  544. package/src/components/BaseTextarea.vue +62 -0
  545. package/src/components/BaseToggle.story.vue +108 -0
  546. package/src/components/BaseToggle.vue +143 -0
  547. package/src/components/BatchProgressList.story.vue +92 -0
  548. package/src/components/BatchProgressList.vue +181 -0
  549. package/src/components/BioTemplateExperimentWorkspaceView.story.vue +123 -0
  550. package/src/components/BioTemplateExperimentWorkspaceView.vue +339 -0
  551. package/src/components/BioTemplatePackWorkspaceView.story.vue +107 -0
  552. package/src/components/BioTemplatePackWorkspaceView.vue +180 -0
  553. package/src/components/BioTemplatePresetWorkspaceView.story.vue +163 -0
  554. package/src/components/BioTemplatePresetWorkspaceView.vue +403 -0
  555. package/src/components/BioTemplateRenderer.story.vue +57 -0
  556. package/src/components/BioTemplateRenderer.vue +64 -0
  557. package/src/components/Breadcrumb.story.vue +106 -0
  558. package/src/components/Breadcrumb.vue +81 -0
  559. package/src/components/Calendar.story.vue +106 -0
  560. package/src/components/Calendar.vue +367 -0
  561. package/src/components/ChartContainer.story.vue +113 -0
  562. package/src/components/ChartContainer.vue +64 -0
  563. package/src/components/ChemicalFormula.story.vue +102 -0
  564. package/src/components/ChemicalFormula.vue +39 -0
  565. package/src/components/CollapsibleCard.story.vue +135 -0
  566. package/src/components/CollapsibleCard.vue +245 -0
  567. package/src/components/ColorSlider.story.vue +120 -0
  568. package/src/components/ColorSlider.vue +164 -0
  569. package/src/components/ComponentBindingRenderer.story.vue +87 -0
  570. package/src/components/ComponentBindingRenderer.vue +322 -0
  571. package/src/components/ConcentrationInput.story.vue +77 -0
  572. package/src/components/ConcentrationInput.vue +149 -0
  573. package/src/components/ConfirmDialog.story.vue +248 -0
  574. package/src/components/ConfirmDialog.vue +100 -0
  575. package/src/components/ControlWorkspaceView.story.vue +347 -0
  576. package/src/components/ControlWorkspaceView.vue +370 -0
  577. package/src/components/DataFrame.story.vue +148 -0
  578. package/src/components/DataFrame.vue +520 -0
  579. package/src/components/DatePicker.story.vue +119 -0
  580. package/src/components/DatePicker.vue +197 -0
  581. package/src/components/DateTimePicker.story.vue +112 -0
  582. package/src/components/DateTimePicker.vue +271 -0
  583. package/src/components/Divider.story.vue +80 -0
  584. package/src/components/Divider.vue +49 -0
  585. package/src/components/DoseCalculator.story.vue +68 -0
  586. package/src/components/DoseCalculator.vue +416 -0
  587. package/src/components/DoseCalculatorVolumeField.vue +61 -0
  588. package/src/components/DoseDesignWorkspaceView.story.vue +77 -0
  589. package/src/components/DoseDesignWorkspaceView.vue +243 -0
  590. package/src/components/DropdownButton.story.vue +102 -0
  591. package/src/components/DropdownButton.vue +193 -0
  592. package/src/components/EmptyState.story.vue +135 -0
  593. package/src/components/EmptyState.vue +71 -0
  594. package/src/components/ExperimentCodeBadge.story.vue +77 -0
  595. package/src/components/ExperimentCodeBadge.vue +64 -0
  596. package/src/components/ExperimentDataViewer.story.vue +174 -0
  597. package/src/components/ExperimentDataViewer.vue +293 -0
  598. package/src/components/ExperimentPopover.story.vue +442 -0
  599. package/src/components/ExperimentPopover.vue +312 -0
  600. package/src/components/ExperimentSelectorModal.story.vue +381 -0
  601. package/src/components/ExperimentSelectorModal.vue +432 -0
  602. package/src/components/ExperimentTimeline.story.vue +161 -0
  603. package/src/components/ExperimentTimeline.vue +357 -0
  604. package/src/components/FileUploader.story.vue +107 -0
  605. package/src/components/FileUploader.vue +424 -0
  606. package/src/components/FitPanel.story.vue +125 -0
  607. package/src/components/FitPanel.vue +120 -0
  608. package/src/components/FormActions.vue +92 -0
  609. package/src/components/FormBuilder.story.vue +203 -0
  610. package/src/components/FormBuilder.vue +311 -0
  611. package/src/components/FormField.story.vue +132 -0
  612. package/src/components/FormField.vue +59 -0
  613. package/src/components/FormulaInput.story.vue +96 -0
  614. package/src/components/FormulaInput.vue +125 -0
  615. package/src/components/GeneratedPathInput.vue +218 -0
  616. package/src/components/GeneratedPlotlyResult.vue +87 -0
  617. package/src/components/GeneratedPluginView.vue +289 -0
  618. package/src/components/GeneratedResultRenderer.vue +147 -0
  619. package/src/components/GroupAssigner.story.vue +83 -0
  620. package/src/components/GroupAssigner.vue +257 -0
  621. package/src/components/IconButton.story.vue +140 -0
  622. package/src/components/IconButton.vue +73 -0
  623. package/src/components/InstrumentAlertLog.vue +191 -0
  624. package/src/components/InstrumentStateBadge.vue +50 -0
  625. package/src/components/InstrumentStatusCard.vue +188 -0
  626. package/src/components/JobsStatusTray.story.vue +126 -0
  627. package/src/components/JobsStatusTray.vue +407 -0
  628. package/src/components/LcmsSequenceTable.vue +191 -0
  629. package/src/components/LoadingSpinner.story.vue +70 -0
  630. package/src/components/LoadingSpinner.vue +50 -0
  631. package/src/components/MobileSupportGate.story.vue +52 -0
  632. package/src/components/MobileSupportGate.vue +115 -0
  633. package/src/components/MoleculeInput.story.vue +66 -0
  634. package/src/components/MoleculeInput.vue +426 -0
  635. package/src/components/MultiSelect.story.vue +132 -0
  636. package/src/components/MultiSelect.vue +123 -0
  637. package/src/components/NumberInput.story.vue +122 -0
  638. package/src/components/NumberInput.vue +162 -0
  639. package/src/components/PlateMapEditor.story.vue +92 -0
  640. package/src/components/PlateMapEditor.vue +434 -0
  641. package/src/components/PluginIcon.story.vue +103 -0
  642. package/src/components/PluginIcon.vue +158 -0
  643. package/src/components/PluginWorkspaceView.controls.ts +182 -0
  644. package/src/components/PluginWorkspaceView.navigation.ts +106 -0
  645. package/src/components/PluginWorkspaceView.props.ts +207 -0
  646. package/src/components/PluginWorkspaceView.shell.ts +67 -0
  647. package/src/components/PluginWorkspaceView.story.vue +341 -0
  648. package/src/components/PluginWorkspaceView.vue +224 -0
  649. package/src/components/ProgressBar.story.vue +148 -0
  650. package/src/components/ProgressBar.vue +117 -0
  651. package/src/components/ProtocolStep.presentation.ts +31 -0
  652. package/src/components/ProtocolStepEditor.state.ts +104 -0
  653. package/src/components/ProtocolStepEditor.story.vue +69 -0
  654. package/src/components/ProtocolStepEditor.vue +382 -0
  655. package/src/components/ProtocolStepParameterField.vue +134 -0
  656. package/src/components/RackEditor.story.vue +100 -0
  657. package/src/components/RackEditor.vue +442 -0
  658. package/src/components/ReagentEditor.story.vue +153 -0
  659. package/src/components/ReagentEditor.vue +418 -0
  660. package/src/components/ReagentList.presentation.ts +105 -0
  661. package/src/components/ReagentList.story.vue +137 -0
  662. package/src/components/ReagentList.vue +392 -0
  663. package/src/components/ResourceCard.story.vue +150 -0
  664. package/src/components/ResourceCard.vue +161 -0
  665. package/src/components/RuntimeUpdateNotice.vue +51 -0
  666. package/src/components/SampleHierarchyTree.story.vue +161 -0
  667. package/src/components/SampleHierarchyTree.vue +246 -0
  668. package/src/components/SampleLegend.story.vue +91 -0
  669. package/src/components/SampleLegend.vue +119 -0
  670. package/src/components/SampleSelector.colors.ts +48 -0
  671. package/src/components/SampleSelector.drag.ts +164 -0
  672. package/src/components/SampleSelector.groups.ts +109 -0
  673. package/src/components/SampleSelector.selection.ts +64 -0
  674. package/src/components/SampleSelector.story.vue +192 -0
  675. package/src/components/SampleSelector.tree.ts +48 -0
  676. package/src/components/SampleSelector.vue +451 -0
  677. package/src/components/SampleSelectorGroupNode.vue +197 -0
  678. package/src/components/SampleSelectorSampleRow.vue +68 -0
  679. package/src/components/ScheduleCalendar.story.vue +195 -0
  680. package/src/components/ScheduleCalendar.vue +414 -0
  681. package/src/components/ScientificNumber.story.vue +127 -0
  682. package/src/components/ScientificNumber.vue +197 -0
  683. package/src/components/SecretInput.story.vue +79 -0
  684. package/src/components/SecretInput.vue +150 -0
  685. package/src/components/SectionCard.story.vue +163 -0
  686. package/src/components/SectionCard.vue +98 -0
  687. package/src/components/SegmentedControl.story.vue +149 -0
  688. package/src/components/SegmentedControl.vue +94 -0
  689. package/src/components/SequenceInput.story.vue +119 -0
  690. package/src/components/SequenceInput.vue +209 -0
  691. package/src/components/SequenceProgressBar.vue +71 -0
  692. package/src/components/SettingsModal.schema.ts +74 -0
  693. package/src/components/SettingsModal.story.vue +524 -0
  694. package/src/components/SettingsModal.vue +399 -0
  695. package/src/components/Skeleton.story.vue +141 -0
  696. package/src/components/Skeleton.vue +74 -0
  697. package/src/components/SmartGroup.types.ts +98 -0
  698. package/src/components/SmartGroupFieldRecipe.groups.ts +109 -0
  699. package/src/components/SmartGroupFieldRecipe.story.vue +58 -0
  700. package/src/components/SmartGroupFieldRecipe.vue +499 -0
  701. package/src/components/SmartGroupManual.cohorts.ts +112 -0
  702. package/src/components/SmartGroupManual.story.vue +55 -0
  703. package/src/components/SmartGroupManual.vue +398 -0
  704. package/src/components/SmartGroupModal.story.vue +61 -0
  705. package/src/components/SmartGroupModal.vue +61 -0
  706. package/src/components/StatusIndicator.story.vue +99 -0
  707. package/src/components/StatusIndicator.vue +40 -0
  708. package/src/components/StepWizard.story.vue +155 -0
  709. package/src/components/StepWizard.vue +223 -0
  710. package/src/components/TagsInput.story.vue +155 -0
  711. package/src/components/TagsInput.vue +280 -0
  712. package/src/components/ThemeToggle.story.vue +36 -0
  713. package/src/components/ThemeToggle.vue +56 -0
  714. package/src/components/TimePicker.story.vue +96 -0
  715. package/src/components/TimePicker.vue +251 -0
  716. package/src/components/TimeRangeInput.story.vue +104 -0
  717. package/src/components/TimeRangeInput.vue +122 -0
  718. package/src/components/Tooltip.story.vue +138 -0
  719. package/src/components/Tooltip.vue +114 -0
  720. package/src/components/UnitInput.story.vue +194 -0
  721. package/src/components/UnitInput.vue +217 -0
  722. package/src/components/WellPlate.colors.ts +56 -0
  723. package/src/components/WellPlate.conditions.ts +100 -0
  724. package/src/components/WellPlate.geometry.ts +91 -0
  725. package/src/components/WellPlate.interaction.ts +272 -0
  726. package/src/components/WellPlate.legend.ts +8 -0
  727. package/src/components/WellPlate.rendering.ts +105 -0
  728. package/src/components/WellPlate.sampleDrop.ts +73 -0
  729. package/src/components/WellPlate.story.vue +282 -0
  730. package/src/components/WellPlate.vue +497 -0
  731. package/src/components/index.ts +148 -0
  732. package/src/components/internal/ActionItemInternal.vue +82 -0
  733. package/src/components/internal/AppTopBarPageSelectorInternal.vue +127 -0
  734. package/src/components/internal/AppTopBarPillNavInternal.vue +194 -0
  735. package/src/components/internal/CalendarGridPanelInternal.vue +120 -0
  736. package/src/components/internal/FormFieldRendererInternal.vue +68 -0
  737. package/src/components/internal/FormSectionRenderer.vue +78 -0
  738. package/src/components/internal/PlateMapEditorToolbarInternal.vue +128 -0
  739. package/src/components/internal/WellEditPopupInternal.vue +249 -0
  740. package/src/components/internal/WorkspaceControlsInternal.vue +20 -0
  741. package/src/components/internal/WorkspaceShellInternal.vue +125 -0
  742. package/src/components/internal/WorkspaceSidebarInternal.vue +82 -0
  743. package/src/composables/analysisArtifactTarget.ts +53 -0
  744. package/src/composables/autoGroup/classKey.ts +8 -0
  745. package/src/composables/autoGroup/classify.ts +205 -0
  746. package/src/composables/autoGroup/colors.ts +6 -0
  747. package/src/composables/autoGroup/columns.ts +226 -0
  748. package/src/composables/autoGroup/compose.ts +244 -0
  749. package/src/composables/autoGroup/cooccurrence.ts +46 -0
  750. package/src/composables/autoGroup/csv-shim.ts +44 -0
  751. package/src/composables/autoGroup/fingerprint.ts +63 -0
  752. package/src/composables/autoGroup/index.ts +22 -0
  753. package/src/composables/autoGroup/replicatePreGroup.ts +124 -0
  754. package/src/composables/autoGroup/template.ts +126 -0
  755. package/src/composables/autoGroup/tokenLength.ts +53 -0
  756. package/src/composables/autoGroup/tokenize.ts +41 -0
  757. package/src/composables/autoGroup/vocab.json +66 -0
  758. package/src/composables/autoGroupConstants.ts +4 -0
  759. package/src/composables/autoGroupGrouping.ts +148 -0
  760. package/src/composables/controlComponentBindings.ts +80 -0
  761. package/src/composables/controlSchemaAdapters.ts +199 -0
  762. package/src/composables/controlSchemaDoseDesign.ts +222 -0
  763. package/src/composables/controlSchemaFormFields.ts +64 -0
  764. package/src/composables/controlSchemaLayout.ts +59 -0
  765. package/src/composables/controlSchemaModel.ts +172 -0
  766. package/src/composables/controlSchemaNormalize.ts +101 -0
  767. package/src/composables/controlSchemaTypes.ts +372 -0
  768. package/src/composables/controlSchemaUtils.ts +36 -0
  769. package/src/composables/controlWorkspaceOptions.ts +21 -0
  770. package/src/composables/experiment-utils.ts +105 -0
  771. package/src/composables/experimentDesignData.ts +180 -0
  772. package/src/composables/flattenWorkspaceBindings.ts +104 -0
  773. package/src/composables/formBuilderRegistry.ts +86 -0
  774. package/src/composables/formBuilderSchema.ts +153 -0
  775. package/src/composables/index.ts +556 -0
  776. package/src/composables/platformContextHelpers.ts +81 -0
  777. package/src/composables/pluginEndpointBuilder.ts +267 -0
  778. package/src/composables/pluginFrontendBase.ts +22 -0
  779. package/src/composables/pluginWorkspaceModel.ts +182 -0
  780. package/src/composables/protocolTemplateCatalog.ts +325 -0
  781. package/src/composables/useAnalysisArtifacts.ts +361 -0
  782. package/src/composables/useApi.ts +319 -0
  783. package/src/composables/useAppExperiment.ts +228 -0
  784. package/src/composables/useAsync.ts +327 -0
  785. package/src/composables/useAuth.ts +458 -0
  786. package/src/composables/useAutoGroup.ts +682 -0
  787. package/src/composables/useAutoGroupInputSources.ts +147 -0
  788. package/src/composables/useBioTemplateComponents.ts +105 -0
  789. package/src/composables/useBioTemplateControls.ts +41 -0
  790. package/src/composables/useBioTemplatePackWorkspace.ts +199 -0
  791. package/src/composables/useBioTemplatePresetWorkspace.ts +325 -0
  792. package/src/composables/useBioTemplateWorkspace.ts +116 -0
  793. package/src/composables/useCalendarGrid.ts +140 -0
  794. package/src/composables/useChemicalFormula.ts +275 -0
  795. package/src/composables/useCommandHistory.ts +117 -0
  796. package/src/composables/useConcentrationUnits.ts +246 -0
  797. package/src/composables/useControlSchema.ts +135 -0
  798. package/src/composables/useControlWorkspace.ts +209 -0
  799. package/src/composables/useDebouncedWatch.ts +119 -0
  800. package/src/composables/useDoseCalculator.ts +370 -0
  801. package/src/composables/useDropdownState.ts +83 -0
  802. package/src/composables/useEventListener.ts +111 -0
  803. package/src/composables/useEventStream.ts +314 -0
  804. package/src/composables/useExpansionSet.ts +117 -0
  805. package/src/composables/useExperimentData.ts +136 -0
  806. package/src/composables/useExperimentSamples.ts +142 -0
  807. package/src/composables/useExperimentSave.ts +344 -0
  808. package/src/composables/useExperimentSelector.ts +408 -0
  809. package/src/composables/useFileImport.ts +231 -0
  810. package/src/composables/useFocusTrap.ts +91 -0
  811. package/src/composables/useForm.ts +279 -0
  812. package/src/composables/useFormBuilder.ts +292 -0
  813. package/src/composables/useFormValidation.ts +154 -0
  814. package/src/composables/useGeneratedAnalysis.ts +1227 -0
  815. package/src/composables/useGroupAssignment.ts +148 -0
  816. package/src/composables/useJobsStatusTray.ts +493 -0
  817. package/src/composables/useListSelection.ts +158 -0
  818. package/src/composables/useMenuKeyboard.ts +90 -0
  819. package/src/composables/useMobileSupportGate.ts +80 -0
  820. package/src/composables/useOptimisticMutation.ts +111 -0
  821. package/src/composables/usePasskey.ts +216 -0
  822. package/src/composables/usePlatformContext.ts +299 -0
  823. package/src/composables/usePluginClient.ts +1006 -0
  824. package/src/composables/usePluginConfig.ts +250 -0
  825. package/src/composables/usePluginWorkspace.ts +208 -0
  826. package/src/composables/usePresenceHeartbeat.ts +201 -0
  827. package/src/composables/useProtocolTemplates.ts +212 -0
  828. package/src/composables/useRackEditor.ts +223 -0
  829. package/src/composables/useReagentSeries.ts +91 -0
  830. package/src/composables/useRequestSyncState.ts +126 -0
  831. package/src/composables/useResourceCrud.ts +249 -0
  832. package/src/composables/useRovingFocus.ts +66 -0
  833. package/src/composables/useRuntimeAlignment.ts +184 -0
  834. package/src/composables/useSampleGroups.ts +211 -0
  835. package/src/composables/useScheduleCalendarLayout.ts +287 -0
  836. package/src/composables/useScheduleDrag.ts +245 -0
  837. package/src/composables/useSelectionLimit.ts +57 -0
  838. package/src/composables/useSequenceUtils.ts +105 -0
  839. package/src/composables/useSortedItems.ts +118 -0
  840. package/src/composables/useTemplateCollection.ts +229 -0
  841. package/src/composables/useTextSearch.ts +60 -0
  842. package/src/composables/useTheme.ts +32 -0
  843. package/src/composables/useTimeUtils.ts +155 -0
  844. package/src/composables/useToast.ts +40 -0
  845. package/src/composables/useWellPainting.ts +191 -0
  846. package/src/composables/useWellPlateAdapter.ts +151 -0
  847. package/src/composables/useWellPlateEditor.ts +425 -0
  848. package/src/composables/useWellPlateValidation.ts +89 -0
  849. package/src/composables/workspaceRecipes.ts +267 -0
  850. package/src/generated/schema.ts +130 -0
  851. package/src/generated-ui/main.ts +21 -0
  852. package/src/histoire.setup.ts +17 -0
  853. package/src/index.ts +83 -0
  854. package/src/install.ts +39 -0
  855. package/src/instrument.ts +90 -0
  856. package/src/jobs.ts +80 -0
  857. package/src/lcms.ts +108 -0
  858. package/src/permissions.ts +144 -0
  859. package/src/plotly-dist.d.ts +3 -0
  860. package/src/stores/auth.ts +206 -0
  861. package/src/stores/experiment.ts +120 -0
  862. package/src/stores/index.ts +3 -0
  863. package/src/stores/settings.ts +232 -0
  864. package/src/styles/components/action-menu.css +59 -0
  865. package/src/styles/components/alert-box.css +150 -0
  866. package/src/styles/components/app-avatar-menu.css +156 -0
  867. package/src/styles/components/app-container.css +33 -0
  868. package/src/styles/components/app-layout.css +180 -0
  869. package/src/styles/components/app-page-selector.css +212 -0
  870. package/src/styles/components/app-pill-nav.css +133 -0
  871. package/src/styles/components/app-plugin-switcher.css +196 -0
  872. package/src/styles/components/app-sidebar.css +392 -0
  873. package/src/styles/components/app-top-bar.css +249 -0
  874. package/src/styles/components/artifact-save-dialog.css +17 -0
  875. package/src/styles/components/artifact-selector-modal.css +216 -0
  876. package/src/styles/components/audit-trail.css +143 -0
  877. package/src/styles/components/avatar.css +73 -0
  878. package/src/styles/components/batch-progress-list.css +196 -0
  879. package/src/styles/components/breadcrumb.css +64 -0
  880. package/src/styles/components/button.css +192 -0
  881. package/src/styles/components/calendar.css +192 -0
  882. package/src/styles/components/chart-container.css +69 -0
  883. package/src/styles/components/checkbox.css +210 -0
  884. package/src/styles/components/chemical-formula.css +46 -0
  885. package/src/styles/components/collapsible-card.css +393 -0
  886. package/src/styles/components/color-slider.css +110 -0
  887. package/src/styles/components/concentration-input.css +17 -0
  888. package/src/styles/components/confirm-dialog.css +59 -0
  889. package/src/styles/components/dataframe.css +554 -0
  890. package/src/styles/components/date-picker.css +243 -0
  891. package/src/styles/components/datetime-picker.css +229 -0
  892. package/src/styles/components/divider.css +63 -0
  893. package/src/styles/components/dose-calculator.css +297 -0
  894. package/src/styles/components/dropdown-button.css +280 -0
  895. package/src/styles/components/empty-state.css +135 -0
  896. package/src/styles/components/experiment-code-badge.css +33 -0
  897. package/src/styles/components/experiment-data-viewer.css +138 -0
  898. package/src/styles/components/experiment-popover.css +563 -0
  899. package/src/styles/components/experiment-selector-modal.css +341 -0
  900. package/src/styles/components/experiment-timeline.css +529 -0
  901. package/src/styles/components/file-uploader.css +310 -0
  902. package/src/styles/components/fit-panel.css +67 -0
  903. package/src/styles/components/form-builder.css +69 -0
  904. package/src/styles/components/form-field.css +48 -0
  905. package/src/styles/components/formula-input.css +103 -0
  906. package/src/styles/components/group-assigner.css +200 -0
  907. package/src/styles/components/icon-button.css +196 -0
  908. package/src/styles/components/input.css +65 -0
  909. package/src/styles/components/instrument-monitor.css +478 -0
  910. package/src/styles/components/jobs-status-tray.css +420 -0
  911. package/src/styles/components/lcms-sequence-table.css +189 -0
  912. package/src/styles/components/loading-spinner.css +67 -0
  913. package/src/styles/components/mobile-support-gate.css +119 -0
  914. package/src/styles/components/modal.css +646 -0
  915. package/src/styles/components/molecule-input.css +186 -0
  916. package/src/styles/components/multi-select.css +131 -0
  917. package/src/styles/components/number-input.css +199 -0
  918. package/src/styles/components/pill.css +188 -0
  919. package/src/styles/components/plate-map-editor.css +464 -0
  920. package/src/styles/components/plugin-icon.css +46 -0
  921. package/src/styles/components/progress-bar.css +133 -0
  922. package/src/styles/components/protocol-step-editor.css +443 -0
  923. package/src/styles/components/rack-editor.css +265 -0
  924. package/src/styles/components/radio-group.css +240 -0
  925. package/src/styles/components/reagent-editor.css +505 -0
  926. package/src/styles/components/reagent-list.css +407 -0
  927. package/src/styles/components/resource-card.css +360 -0
  928. package/src/styles/components/sample-hierarchy-tree.css +310 -0
  929. package/src/styles/components/sample-legend.css +201 -0
  930. package/src/styles/components/sample-selector.css +682 -0
  931. package/src/styles/components/schedule-calendar.css +472 -0
  932. package/src/styles/components/scientific-number.css +63 -0
  933. package/src/styles/components/secret-input.css +60 -0
  934. package/src/styles/components/section-card.css +161 -0
  935. package/src/styles/components/segmented-control.css +194 -0
  936. package/src/styles/components/select.css +77 -0
  937. package/src/styles/components/sequence-input.css +184 -0
  938. package/src/styles/components/sequence-progress-bar.css +63 -0
  939. package/src/styles/components/settings-modal.css +76 -0
  940. package/src/styles/components/skeleton.css +49 -0
  941. package/src/styles/components/slider.css +74 -0
  942. package/src/styles/components/smart-group.css +734 -0
  943. package/src/styles/components/status-indicator.css +66 -0
  944. package/src/styles/components/step-wizard.css +192 -0
  945. package/src/styles/components/tabs.css +103 -0
  946. package/src/styles/components/tags-input.css +195 -0
  947. package/src/styles/components/textarea.css +81 -0
  948. package/src/styles/components/theme-toggle.css +6 -0
  949. package/src/styles/components/time-picker.css +171 -0
  950. package/src/styles/components/time-range-input.css +42 -0
  951. package/src/styles/components/toast.css +91 -0
  952. package/src/styles/components/toggle.css +226 -0
  953. package/src/styles/components/tooltip.css +91 -0
  954. package/src/styles/components/unit-input.css +123 -0
  955. package/src/styles/components/well-edit-popup.css +258 -0
  956. package/src/styles/components/well-plate.css +286 -0
  957. package/src/styles/index.css +94 -0
  958. package/src/styles/variables.css +1150 -0
  959. package/src/tailwind.preset.ts +66 -0
  960. package/src/templates/adapters.ts +137 -0
  961. package/src/templates/assayLookups.ts +33 -0
  962. package/src/templates/assayMatrixAdapters.ts +78 -0
  963. package/src/templates/assayMatrixBuilder.ts +59 -0
  964. package/src/templates/assayNormalizers.ts +34 -0
  965. package/src/templates/builderDefaults.ts +11 -0
  966. package/src/templates/builderIdUtils.ts +20 -0
  967. package/src/templates/builderPresetControls.ts +165 -0
  968. package/src/templates/builderReadUtils.ts +55 -0
  969. package/src/templates/builders.ts +122 -0
  970. package/src/templates/calibrationCurveAdapters.ts +59 -0
  971. package/src/templates/calibrationCurveBuilder.ts +99 -0
  972. package/src/templates/calibrationNormalizers.ts +60 -0
  973. package/src/templates/catalog.ts +245 -0
  974. package/src/templates/componentBindingCatalog.ts +90 -0
  975. package/src/templates/componentBindingHelpers.ts +93 -0
  976. package/src/templates/componentBindings.ts +253 -0
  977. package/src/templates/componentDoseResponseProps.ts +42 -0
  978. package/src/templates/componentGenericProps.ts +77 -0
  979. package/src/templates/componentPlateHelpers.ts +29 -0
  980. package/src/templates/componentPlateMapProps.ts +32 -0
  981. package/src/templates/componentPropsFactory.ts +21 -0
  982. package/src/templates/componentQpcrPlateProps.ts +28 -0
  983. package/src/templates/componentTargetResolvers.ts +67 -0
  984. package/src/templates/componentTemplateProps.ts +78 -0
  985. package/src/templates/controlSchemaClone.ts +32 -0
  986. package/src/templates/controlSchemaConstants.ts +11 -0
  987. package/src/templates/controlSchemaMerge.ts +40 -0
  988. package/src/templates/controlSchemaTargets.ts +85 -0
  989. package/src/templates/controlSchemaTypes.ts +20 -0
  990. package/src/templates/controlSchemas.ts +104 -0
  991. package/src/templates/defaultBioTemplateBuilder.ts +124 -0
  992. package/src/templates/doseResponseAdapters.ts +45 -0
  993. package/src/templates/doseResponseBuilder.ts +44 -0
  994. package/src/templates/elisaAssayCollectionBuilder.ts +62 -0
  995. package/src/templates/flowCytometryAssayCollectionBuilder.ts +41 -0
  996. package/src/templates/flowCytometryPanelBuilder.ts +53 -0
  997. package/src/templates/flowNormalizers.ts +58 -0
  998. package/src/templates/flowPanelAdapters.ts +58 -0
  999. package/src/templates/index.ts +326 -0
  1000. package/src/templates/instrumentRunAdapterHelpers.ts +94 -0
  1001. package/src/templates/instrumentRunAdapters.ts +163 -0
  1002. package/src/templates/instrumentRunBuilder.ts +97 -0
  1003. package/src/templates/lcmsBatchCollectionBuilder.ts +38 -0
  1004. package/src/templates/lookup.ts +18 -0
  1005. package/src/templates/packs.ts +162 -0
  1006. package/src/templates/plateGeometry.ts +62 -0
  1007. package/src/templates/plateMapAdapters.ts +36 -0
  1008. package/src/templates/plateMapBuilder.ts +43 -0
  1009. package/src/templates/presetControlSchemas.ts +258 -0
  1010. package/src/templates/presets.ts +179 -0
  1011. package/src/templates/protocolAdapters.ts +69 -0
  1012. package/src/templates/protocolNormalizers.ts +37 -0
  1013. package/src/templates/protocolStepsBuilder.ts +36 -0
  1014. package/src/templates/qpcrAdapters.ts +104 -0
  1015. package/src/templates/qpcrExpressionCollectionBuilder.ts +33 -0
  1016. package/src/templates/qpcrPlateBuilder.ts +96 -0
  1017. package/src/templates/reagentAdapters.ts +77 -0
  1018. package/src/templates/reagentListBuilder.ts +30 -0
  1019. package/src/templates/runNormalizers.ts +63 -0
  1020. package/src/templates/sampleNormalizers.ts +58 -0
  1021. package/src/templates/samplePrepAdapters.ts +63 -0
  1022. package/src/templates/samplePrepBuilder.ts +51 -0
  1023. package/src/templates/sampleSheetAdapters.ts +75 -0
  1024. package/src/templates/sampleSheetBuilder.ts +23 -0
  1025. package/src/templates/targetedMetabolomicsCollectionBuilder.ts +79 -0
  1026. package/src/templates/targetedMetabolomicsHelpers.ts +102 -0
  1027. package/src/templates/templateAdapterTypes.ts +58 -0
  1028. package/src/templates/templateControlSchemas.ts +320 -0
  1029. package/src/templates/templateCreateOptions.ts +208 -0
  1030. package/src/templates/templateEnvelopes.ts +137 -0
  1031. package/src/templates/templatePackCollectionBuilder.ts +23 -0
  1032. package/src/templates/templatePresetCollectionBuilder.ts +139 -0
  1033. package/src/templates/templateQpcrTypes.ts +48 -0
  1034. package/src/templates/templateValidators.ts +414 -0
  1035. package/src/templates/timeCourseAdapters.ts +73 -0
  1036. package/src/templates/timeCourseBuilder.ts +64 -0
  1037. package/src/templates/types.ts +493 -0
  1038. package/src/templates/wellPlateScreenCollectionBuilder.ts +36 -0
  1039. package/src/templates/westernBlotAssayCollectionBuilder.ts +68 -0
  1040. package/src/types/analysisArtifactTypes.ts +176 -0
  1041. package/src/types/auth.ts +59 -0
  1042. package/src/types/auto-group.ts +157 -0
  1043. package/src/types/componentLabTypes.ts +235 -0
  1044. package/src/types/componentWorkflowTypes.ts +190 -0
  1045. package/src/types/components.ts +527 -0
  1046. package/src/types/form-builder.ts +208 -0
  1047. package/src/types/generated-ui.ts +189 -0
  1048. package/src/types/index.ts +299 -0
  1049. package/src/types/instrument.ts +62 -0
  1050. package/src/types/jobs.ts +70 -0
  1051. package/src/types/platform.ts +132 -0
  1052. package/src/utils/color.ts +96 -0
  1053. package/src/utils/formModelSync.ts +50 -0
  1054. package/src/utils/items.ts +28 -0
  1055. package/src/utils/options.ts +23 -0
  1056. package/src/utils/pluginIcon.ts +188 -0
  1057. package/src/utils/pluginSecrets.ts +102 -0
  1058. package/src/utils/rack.ts +209 -0
  1059. package/src/utils/records.ts +9 -0
  1060. package/src/utils/sampleGroupPath.ts +19 -0
  1061. package/dist/ExperimentPopover-C1e0cd94.js +0 -3
  1062. package/dist/ExperimentSelectorModal-DCWTFyos.js +0 -4
  1063. package/dist/SettingsModal-Bpybht86.js +0 -5
@@ -1,28 +1,21 @@
1
1
  import { BioTemplateEnvelope, TemplateCollectionEnvelope } from '../templates';
2
2
  import { ControlWorkspaceFormBinding, ControlWorkspaceOptions, ControlWorkspacePillNavBinding, ControlWorkspaceSidebarBinding, ControlWorkspaceTopBarSettingsBinding, UseControlSchemaReturn, UseControlWorkspaceReturn } from './controlSchemaTypes';
3
3
  import { BioTemplateControlSchema, BioTemplateControlTarget } from './useBioTemplateControls';
4
- import { BioTemplateComponentBinding, BioTemplateComponentBindingsById, BioTemplateComponentImport, BioTemplateComponentPropsByComponent, BioTemplateComponentPropsBinding, BioTemplateComponentPropsById, BioTemplateComponentSnippet, BioTemplateComponentUsage, UseBioTemplateComponentsReturn } from './useBioTemplateComponents';
4
+ import { UseBioTemplateComponentsReturn } from './useBioTemplateComponents';
5
+ import { BioTemplateWorkspaceComponentBindings } from './flattenWorkspaceBindings';
5
6
  export type BioTemplateWorkspaceTarget = BioTemplateControlTarget;
6
7
  export interface BioTemplateRendererBinding {
7
8
  target: BioTemplateEnvelope<unknown> | TemplateCollectionEnvelope;
8
9
  }
9
- export interface BioTemplateWorkspaceBindings {
10
+ export interface BioTemplateWorkspaceBindings extends BioTemplateWorkspaceComponentBindings {
10
11
  renderer: BioTemplateRendererBinding | null;
11
12
  form: ControlWorkspaceFormBinding;
12
13
  sidebar: ControlWorkspaceSidebarBinding;
13
14
  topBar: UseControlWorkspaceReturn<BioTemplateControlSchema>['bindings']['topBar'];
14
15
  topBarSettings: ControlWorkspaceTopBarSettingsBinding;
15
16
  pillNav: ControlWorkspacePillNavBinding;
16
- componentBindings: BioTemplateComponentBinding[];
17
- componentBindingsById: BioTemplateComponentBindingsById;
18
- componentProps: BioTemplateComponentPropsBinding[];
19
- componentPropsById: BioTemplateComponentPropsById;
20
- componentPropsByComponent: BioTemplateComponentPropsByComponent;
21
- componentSnippets: BioTemplateComponentSnippet[];
22
- componentUsage: BioTemplateComponentUsage | null;
23
- getComponentProps: UseBioTemplateComponentsReturn['getComponentProps'];
24
17
  }
25
- export interface UseBioTemplateWorkspaceReturn {
18
+ export interface UseBioTemplateWorkspaceReturn extends BioTemplateWorkspaceComponentBindings {
26
19
  target: BioTemplateWorkspaceTarget;
27
20
  controls: UseControlSchemaReturn<BioTemplateControlSchema>;
28
21
  workspace: UseControlWorkspaceReturn<BioTemplateControlSchema>;
@@ -37,15 +30,6 @@ export interface UseBioTemplateWorkspaceReturn {
37
30
  topBarSettings: ControlWorkspaceTopBarSettingsBinding;
38
31
  bindings: BioTemplateWorkspaceBindings;
39
32
  renderer: BioTemplateRendererBinding | null;
40
- componentBindings: BioTemplateComponentBinding[];
41
- componentBindingsById: BioTemplateComponentBindingsById;
42
- componentImports: BioTemplateComponentImport[];
43
- componentProps: BioTemplateComponentPropsBinding[];
44
- componentPropsById: BioTemplateComponentPropsById;
45
- componentPropsByComponent: BioTemplateComponentPropsByComponent;
46
- componentSnippets: BioTemplateComponentSnippet[];
47
- componentUsage: BioTemplateComponentUsage | null;
48
- getComponentProps: UseBioTemplateComponentsReturn['getComponentProps'];
49
33
  }
50
34
  /** One-stop wiring for BioTemplateRenderer, FormBuilder, AppSidebar, and template-aware SDK components. */
51
35
  export declare function useBioTemplateWorkspace(target: BioTemplateWorkspaceTarget, options?: ControlWorkspaceOptions): UseBioTemplateWorkspaceReturn;
@@ -0,0 +1,33 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ export type CommandHistoryResult = void | Promise<void>;
3
+ export interface CommandHistoryCommand {
4
+ execute: () => CommandHistoryResult;
5
+ undo: () => CommandHistoryResult;
6
+ redo?: () => CommandHistoryResult;
7
+ description?: string;
8
+ }
9
+ export interface CommandHistoryExecuteOptions {
10
+ skipExecute?: boolean;
11
+ }
12
+ export interface UseCommandHistoryOptions {
13
+ maxDepth?: number;
14
+ }
15
+ export interface UseCommandHistoryReturn<TCommand extends CommandHistoryCommand = CommandHistoryCommand> {
16
+ undoStack: Ref<TCommand[]>;
17
+ redoStack: Ref<TCommand[]>;
18
+ canUndo: ComputedRef<boolean>;
19
+ canRedo: ComputedRef<boolean>;
20
+ undoDescription: ComputedRef<string>;
21
+ redoDescription: ComputedRef<string>;
22
+ execute: (command: TCommand, options?: CommandHistoryExecuteOptions) => CommandHistoryResult;
23
+ push: (command: TCommand) => void;
24
+ undo: () => CommandHistoryResult;
25
+ redo: () => CommandHistoryResult;
26
+ clear: () => void;
27
+ }
28
+ /**
29
+ * Generic command-stack state for plugin editors with undo/redo controls.
30
+ *
31
+ * @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; keep command stacks plugin-local.
32
+ */
33
+ export declare function useCommandHistory<TCommand extends CommandHistoryCommand = CommandHistoryCommand>(options?: UseCommandHistoryOptions): UseCommandHistoryReturn<TCommand>;
@@ -0,0 +1,21 @@
1
+ import { Ref } from 'vue';
2
+ export interface UseFocusTrapOptions {
3
+ /** Ref to the trap's container element. Focusable elements are queried within it. */
4
+ containerRef: Ref<HTMLElement | null>;
5
+ /** Reactive flag — the trap activates when this becomes `true` and releases when it becomes `false`. */
6
+ active: Ref<boolean>;
7
+ /** Restore focus to the element that was focused before activation, when the trap releases. Default `true`. */
8
+ restoreFocus?: boolean;
9
+ }
10
+ export interface UseFocusTrapReturn {
11
+ /** Focusable descendants of the container, in DOM order, excluding roving-tabindex (`tabindex="-1"`) elements. */
12
+ getFocusableElements: () => HTMLElement[];
13
+ }
14
+ /**
15
+ * Traps Tab focus within a container while `active` is true: Tab wraps from the last
16
+ * focusable element back to the first (and Shift+Tab from the first to the last), the
17
+ * first focusable element (or the container itself, if none) receives focus when the
18
+ * trap activates, and focus returns to whatever was focused beforehand when it releases.
19
+ * Used by BaseModal and WellEditPopupInternal.
20
+ */
21
+ export declare function useFocusTrap(options: UseFocusTrapOptions): UseFocusTrapReturn;
@@ -1,5 +1,5 @@
1
1
  import { ComputedRef, Ref, ShallowRef } from 'vue';
2
- import { PluginJobCenterSource } from './useJobsStatusTray';
2
+ import { JobsStatusTrayAdapter, PluginJobCenterSource } from './useJobsStatusTray';
3
3
  import { GeneratedAnalysisJob, GeneratedAnalysisResult, GeneratedSession, GeneratedAnalysisManifest, PluginJobPathInput, PluginJobPathUpload, PluginJobStagedPartInput, PluginJobStagedPartUploadResult, PluginJobStaging, PluginJobStagingPagination } from '../types/generated-ui';
4
4
  export type GeneratedAnalysisTransport = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
5
5
  export interface GeneratedAnalysisTransportOptions {
@@ -34,6 +34,7 @@ export interface UsePluginJobsReturn extends PluginJobCenterSource {
34
34
  error: ShallowRef<string | null>;
35
35
  status: ShallowRef<'idle' | 'initializing' | 'ready' | 'paused' | 'error' | 'disposed'>;
36
36
  initialize: () => Promise<void>;
37
+ ready: () => Promise<void>;
37
38
  uploadPath: (input: PluginJobPathInput, definitionId?: string) => Promise<PluginJobPathUpload>;
38
39
  uploadStagedPart: <Metadata>(input: PluginJobStagedPartInput<Metadata>) => Promise<PluginJobStagedPartUploadResult<Metadata>>;
39
40
  getJobStaging: <Metadata = unknown>(job: GeneratedAnalysisJob | string, pagination?: PluginJobStagingPagination) => Promise<PluginJobStaging<Metadata>>;
@@ -42,6 +43,7 @@ export interface UsePluginJobsReturn extends PluginJobCenterSource {
42
43
  loadResult: (job: GeneratedAnalysisJob) => Promise<GeneratedAnalysisResult | null>;
43
44
  resultForJob: (jobId: string) => GeneratedAnalysisResult | null;
44
45
  refreshJobs: () => Promise<GeneratedAnalysisJob[]>;
46
+ refresh: () => Promise<GeneratedAnalysisJob[]>;
45
47
  getJob: (jobId: string, options?: PluginJobRequestOptions) => Promise<GeneratedAnalysisJob>;
46
48
  waitForJob: (job: GeneratedAnalysisJob | string, options?: PluginJobWaitOptions) => Promise<GeneratedAnalysisJob>;
47
49
  jobsFor: (definitionId: string) => GeneratedAnalysisJob[];
@@ -51,6 +53,8 @@ export interface UsePluginJobsReturn extends PluginJobCenterSource {
51
53
  pause: () => void;
52
54
  resume: () => void;
53
55
  dispose: () => void;
56
+ /** @deprecated Pass the runtime itself to SDK job UI as its source. */
57
+ jobsAdapter: JobsStatusTrayAdapter;
54
58
  }
55
59
  export type UseGeneratedAnalysisReturn = UsePluginJobsReturn;
56
60
  export declare function createGeneratedAnalysisTransport(options?: GeneratedAnalysisTransportOptions): GeneratedAnalysisTransport;
@@ -0,0 +1,31 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ import { GroupItem } from '../types';
3
+ export type GroupAssignmentZone = 'zone1' | 'zone2';
4
+ export type GroupAssignmentSource<T> = T | Ref<T> | ComputedRef<T> | (() => T);
5
+ export interface GroupAssignmentState {
6
+ group1: string[];
7
+ group2: string[];
8
+ }
9
+ export interface UseGroupAssignmentOptions {
10
+ groups: GroupAssignmentSource<readonly GroupItem[]>;
11
+ group1: GroupAssignmentSource<readonly string[]>;
12
+ group2: GroupAssignmentSource<readonly string[]>;
13
+ label1?: GroupAssignmentSource<string | null | undefined>;
14
+ label2?: GroupAssignmentSource<string | null | undefined>;
15
+ minPerGroup?: GroupAssignmentSource<number | null | undefined>;
16
+ }
17
+ export interface UseGroupAssignmentReturn {
18
+ unassignedGroups: ComputedRef<GroupItem[]>;
19
+ zone1Groups: ComputedRef<GroupItem[]>;
20
+ zone2Groups: ComputedRef<GroupItem[]>;
21
+ zone1Count: ComputedRef<number>;
22
+ zone2Count: ComputedRef<number>;
23
+ isValid: ComputedRef<boolean>;
24
+ validationMessage: ComputedRef<string | null>;
25
+ getZoneForGroup: (groupName: string) => GroupAssignmentZone | null;
26
+ assignToZone: (groupName: string, zone: GroupAssignmentZone) => GroupAssignmentState;
27
+ removeFromZone: (groupName: string, zone: GroupAssignmentZone) => GroupAssignmentState;
28
+ clearAll: () => GroupAssignmentState;
29
+ }
30
+ /** Shared two-zone group assignment model for control/treatment style workflows. */
31
+ export declare function useGroupAssignment(options: UseGroupAssignmentOptions): UseGroupAssignmentReturn;
@@ -1,5 +1,6 @@
1
1
  import { ComputedRef, MaybeRefOrGetter, Ref, ShallowRef } from 'vue';
2
- import { JobState } from '../types/jobs';
2
+ import { JobListPayload, JobState, JobStateInput, JobStreamData } from '../types/jobs';
3
+ import { UsePluginEventStreamReturn } from './usePluginClient';
3
4
  export type JobsStatusTrayTab = 'active' | 'history';
4
5
  /**
5
6
  * The canonical owner of a collection of plugin jobs.
@@ -8,14 +9,46 @@ export type JobsStatusTrayTab = 'active' | 'history';
8
9
  * mutations. This keeps components and consumers on one reactive job graph.
9
10
  */
10
11
  export interface PluginJobCenterSource {
11
- jobs: MaybeRefOrGetter<readonly JobState[]>;
12
- refreshJobs?: () => Promise<readonly JobState[] | void>;
13
- cancelJob?: (jobId: string) => Promise<JobState | void>;
12
+ jobs: MaybeRefOrGetter<readonly JobStateInput[]>;
13
+ refreshJobs?: () => Promise<JobListPayload | readonly JobStateInput[] | void>;
14
+ cancelJob?: (jobId: string) => Promise<JobStateInput | void>;
14
15
  deleteJob?: (jobId: string) => Promise<boolean | void>;
15
16
  clearFinishedJobs?: () => Promise<number | void>;
17
+ dispose?: () => void;
18
+ }
19
+ export interface CombinedPluginJobCenterSource extends PluginJobCenterSource {
20
+ jobs: ComputedRef<readonly JobStateInput[]>;
21
+ }
22
+ /**
23
+ * Combines independent job runtimes without copying their reactive state.
24
+ *
25
+ * Job ids must be globally unique across the sources. A duplicate id throws
26
+ * when jobs are read or an id-routed action is requested, rather than silently
27
+ * dispatching a mutation to the wrong owner.
28
+ */
29
+ export declare function combinePluginJobSources(sources: readonly PluginJobCenterSource[]): CombinedPluginJobCenterSource;
30
+ /** @deprecated Prefer a {@link PluginJobCenterSource}. */
31
+ export interface JobsStatusTrayAdapter {
32
+ listJobs?: () => Promise<JobListPayload | readonly JobStateInput[]>;
33
+ cancelJob?: (job: JobState) => Promise<JobStateInput | void>;
34
+ deleteJob?: (job: JobState) => Promise<boolean | void>;
35
+ clearFinishedJobs?: (jobs: readonly JobState[]) => Promise<number | void>;
16
36
  }
17
37
  export interface UsePluginJobCenterOptions {
18
38
  source?: MaybeRefOrGetter<PluginJobCenterSource | undefined>;
39
+ /** @deprecated Pass a source with its canonical jobs ref. */
40
+ jobs?: MaybeRefOrGetter<readonly JobStateInput[] | undefined>;
41
+ /** @deprecated Pass source actions instead. */
42
+ adapter?: MaybeRefOrGetter<JobsStatusTrayAdapter | undefined>;
43
+ /** @deprecated Event handling belongs to the source runtime. */
44
+ eventStream?: MaybeRefOrGetter<UsePluginEventStreamReturn<JobStreamData> | undefined>;
45
+ loadOnMount?: boolean;
46
+ }
47
+ export interface UseJobsStatusTrayOptions extends UsePluginJobCenterOptions {
48
+ }
49
+ export interface JobStreamMessage {
50
+ event: string;
51
+ data: JobStreamData;
19
52
  }
20
53
  export interface UsePluginJobCenterReturn {
21
54
  jobs: ComputedRef<JobState[]>;
@@ -36,11 +69,13 @@ export interface UsePluginJobCenterReturn {
36
69
  close: () => void;
37
70
  toggle: () => void;
38
71
  refresh: () => Promise<boolean>;
72
+ applyStreamMessage: (message: JobStreamMessage) => void;
39
73
  cancelJob: (job: JobState) => Promise<boolean>;
40
74
  deleteJob: (job: JobState) => Promise<boolean>;
41
75
  clearFinished: () => Promise<boolean>;
42
76
  isPending: (job: JobState) => boolean;
43
77
  }
78
+ export type UseJobsStatusTrayReturn = UsePluginJobCenterReturn;
44
79
  /**
45
80
  * Headless controller for plugin job presentation and actions.
46
81
  *
@@ -48,3 +83,5 @@ export interface UsePluginJobCenterReturn {
48
83
  * source. The controller never mirrors source jobs into another ref.
49
84
  */
50
85
  export declare function usePluginJobCenter(options?: UsePluginJobCenterOptions): UsePluginJobCenterReturn;
86
+ /** @deprecated Use `usePluginJobCenter()` for the plugin job-center controller. */
87
+ export declare function useJobsStatusTray(options?: UseJobsStatusTrayOptions): UseJobsStatusTrayReturn;
@@ -0,0 +1,29 @@
1
+ export interface UseMenuKeyboardOptions {
2
+ /** Returns the currently navigable items inside the open panel, in DOM order. */
3
+ items: () => HTMLElement[];
4
+ /** True while the panel is open. */
5
+ isOpen: () => boolean;
6
+ /** Opens the panel. */
7
+ open: () => void;
8
+ /** Closes the panel. When `returnFocus` is true, focus should return to the trigger. */
9
+ close: (returnFocus?: boolean) => void;
10
+ }
11
+ export interface UseMenuKeyboardReturn {
12
+ /**
13
+ * Bind to the trigger's `@keydown`. ArrowDown/Enter/Space open the panel (when
14
+ * closed) and focus its first item; ArrowUp opens it focused on the last item.
15
+ */
16
+ handleTriggerKeydown: (event: KeyboardEvent) => void;
17
+ /**
18
+ * Bind to the open panel's `@keydown`. ArrowUp/ArrowDown cycle focus with
19
+ * wraparound, Home/End jump to the first/last item, Escape closes and returns
20
+ * focus to the trigger, and Tab closes without moving focus.
21
+ */
22
+ handlePanelKeydown: (event: KeyboardEvent) => void;
23
+ }
24
+ /**
25
+ * Shared keyboard contract for menu- and listbox-style disclosure panels (the
26
+ * WAI-ARIA menu button pattern). Used by AppAvatarMenu and DropdownButton; ActionMenu
27
+ * implements the same contract inline.
28
+ */
29
+ export declare function useMenuKeyboard(options: UseMenuKeyboardOptions): UseMenuKeyboardReturn;
@@ -24,5 +24,9 @@ export interface UseOptimisticMutationReturn<TVariables, TData, TSnapshot = unkn
24
24
  clearError: () => void;
25
25
  reset: () => void;
26
26
  }
27
- /** Run async mutations with optional optimistic local updates and rollback. */
27
+ /**
28
+ * Run async mutations with optional optimistic local updates and rollback.
29
+ *
30
+ * @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; use `useRequestSyncState()` instead.
31
+ */
28
32
  export declare function useOptimisticMutation<TVariables, TData, TSnapshot = unknown>(options: UseOptimisticMutationOptions<TVariables, TData, TSnapshot>): UseOptimisticMutationReturn<TVariables, TData, TSnapshot>;
@@ -133,6 +133,8 @@ export interface UsePluginSettingsReturn<TSettings = Record<string, unknown>> {
133
133
  settings: ComputedRef<PluginSettingsValues<TSettings>>;
134
134
  /** Editable settings values for SettingsModal. */
135
135
  values: Ref<PluginSettingsValues<TSettings>>;
136
+ /** Alias for values, kept for callers that think in platform config terms. */
137
+ config: Ref<PluginSettingsValues<TSettings>>;
136
138
  /** Ready-to-pass AppTopBar/PluginWorkspaceView settingsConfig. */
137
139
  settingsConfig: ComputedRef<TopBarSettingsConfig>;
138
140
  isLoading: Ref<boolean>;
@@ -207,6 +209,8 @@ export declare function createPluginClient<TClient extends object = GeneratedPlu
207
209
  export declare function uploadPluginEndpoint<TResponse = unknown>(contract: PluginContract, endpoint: PluginEndpointDefinition, payload?: unknown, options?: PluginEndpointRequestOptions): Promise<TResponse>;
208
210
  /** Fetch a generated plugin endpoint as a Blob and optionally trigger a browser download. */
209
211
  export declare function downloadPluginEndpoint(contract: PluginContract, endpoint: PluginEndpointDefinition, payload?: unknown, options?: DownloadPluginEndpointOptions): Promise<Blob>;
212
+ /** @deprecated Use `useGeneratedPluginClient()` for generated clients. */
213
+ export declare function usePluginClient<TClient>(client: TClient): TClient;
210
214
  /** Load, edit, and persist plugin settings from platform config or the plugin-local settings router. */
211
215
  export declare function usePluginSettings<TSettings = Record<string, unknown>>(options?: UsePluginSettingsOptions | string): UsePluginSettingsReturn<TSettings>;
212
216
  /** Consume a generated plugin SSE endpoint with auth headers, reconnect, and teardown. */
@@ -0,0 +1,25 @@
1
+ import { Ref, ComputedRef } from 'vue';
2
+ export interface UsePluginConfigReturn {
3
+ /** Editable plugin configuration values. */
4
+ config: Ref<Record<string, unknown>>;
5
+ /** Whether the config is currently loading. */
6
+ isLoading: Ref<boolean>;
7
+ /** Whether the config is currently saving. */
8
+ isSaving: Ref<boolean>;
9
+ /** Error message from the last failed operation, or null. */
10
+ error: Ref<string | null>;
11
+ /** Timestamp of the last successful load, or null. */
12
+ lastLoadedAt: Ref<Date | null>;
13
+ /** Timestamp of the last successful save, or null. */
14
+ lastSavedAt: Ref<Date | null>;
15
+ /** Whether local config differs from the last loaded or saved snapshot. */
16
+ isDirty: ComputedRef<boolean>;
17
+ /** Load plugin configuration from the platform. */
18
+ load: () => Promise<void>;
19
+ /** Save plugin configuration to the platform. */
20
+ save: () => Promise<boolean>;
21
+ /** Restore the last loaded or saved configuration snapshot. */
22
+ reset: () => void;
23
+ }
24
+ /** @deprecated Use `usePluginSettings()` for typed plugin settings. */
25
+ export declare function usePluginConfig(pluginName?: string): UsePluginConfigReturn;
@@ -0,0 +1,51 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { PageSelectorItem, PillNavItem } from '../types';
3
+ import { PluginWorkspaceViewEmit, PluginWorkspaceViewProps } from '../components/PluginWorkspaceView.props';
4
+ import { PluginWorkspaceControlsModel, PluginWorkspaceShellModel, PluginWorkspaceSidebarModel } from './pluginWorkspaceModel';
5
+ /**
6
+ * Loosely-typed view of a component's `useSlots()` result: only slot presence and names are
7
+ * read here, so this accepts any `defineSlots()` shape without fighting Vue's `Slot` render
8
+ * function type. Mirrors the `SlotKeyMap` helper type in PluginWorkspaceView.shell.ts.
9
+ */
10
+ export type PluginWorkspaceSlotsLike = Readonly<Record<string, unknown>>;
11
+ export interface UsePluginWorkspaceOptions {
12
+ /** PluginWorkspaceView's own reactive props object (from `defineProps`). */
13
+ props: PluginWorkspaceViewProps;
14
+ /** PluginWorkspaceView's own slots (from `useSlots()`), used to detect provided passthrough slots. */
15
+ slots: PluginWorkspaceSlotsLike;
16
+ /** PluginWorkspaceView's own typed `emit` function (from `defineEmits<PluginWorkspaceViewEmits>()`). */
17
+ emit: PluginWorkspaceViewEmit;
18
+ }
19
+ export interface UsePluginWorkspaceReturn {
20
+ /** Model consumed by WorkspaceShellInternal's `shell` prop. */
21
+ shell: ComputedRef<PluginWorkspaceShellModel>;
22
+ /** Model consumed by WorkspaceSidebarInternal's `sidebar` prop. */
23
+ sidebar: ComputedRef<PluginWorkspaceSidebarModel>;
24
+ /** Model consumed by WorkspaceControlsInternal's `controls` prop, and by the raw `default` slot. */
25
+ controls: ComputedRef<PluginWorkspaceControlsModel>;
26
+ /** Whether AppLayout should render a sidebar surface at all. */
27
+ hasSidebarSurface: ComputedRef<boolean>;
28
+ /** Applies an AppSidebar `update:model-value` payload to the shared control values and emits `update:modelValue`/`update:values`. */
29
+ handleControlValuesUpdate: (values: Record<string, unknown>) => void;
30
+ /** Resolves an AppTopBar `page-selector-select` payload into the active view and emits `page-selector-select`. */
31
+ handlePageSelectorSelect: (page: PageSelectorItem) => void;
32
+ /** Resolves an AppTopBar `pill-select` payload into the active view and emits `pill-select`. */
33
+ handlePillSelect: (item: PillNavItem) => void;
34
+ }
35
+ /**
36
+ * Maps PluginWorkspaceView's flat 72-prop surface into the three typed model objects
37
+ * (`shell`, `sidebar`, `controls`) rendered by its internal pieces
38
+ * (WorkspaceShellInternal, WorkspaceSidebarInternal, WorkspaceControlsInternal). Reuses the
39
+ * existing `usePluginWorkspaceControls` / `usePluginWorkspaceNavigation` composables and the
40
+ * PluginWorkspaceView.shell slot-detection helpers, so it changes only how that state is
41
+ * assembled and exposed, not the underlying behavior.
42
+ *
43
+ * @example Recommended
44
+ * ```ts
45
+ * const props = withDefaults(defineProps<PluginWorkspaceViewProps>(), { ... })
46
+ * const emit = defineEmits<PluginWorkspaceViewEmits>()
47
+ * const slots = useSlots()
48
+ * const { shell, sidebar, controls } = usePluginWorkspace({ props, slots, emit })
49
+ * ```
50
+ */
51
+ export declare function usePluginWorkspace(options: UsePluginWorkspaceOptions): UsePluginWorkspaceReturn;
@@ -0,0 +1,31 @@
1
+ import { Ref, ComputedRef } from 'vue';
2
+ import { Rack, WellPlateFormat, Well } from '../types';
3
+ export interface UseRackEditorOptions {
4
+ defaultFormat?: WellPlateFormat;
5
+ defaultInjectionVolume?: number;
6
+ maxRacks?: number;
7
+ minRacks?: number;
8
+ }
9
+ export interface UseRackEditorReturn {
10
+ racks: Ref<Rack[]>;
11
+ activeRack: ComputedRef<Rack | undefined>;
12
+ activeRackId: Ref<string>;
13
+ addRack(name?: string): Rack;
14
+ removeRack(rackId: string): void;
15
+ reorderRacks(fromIndex: number, toIndex: number): void;
16
+ updateRack(rackId: string, data: Partial<Rack>): void;
17
+ setActiveRack(rackId: string): void;
18
+ setWellData(rackId: string, wellId: string, data: Partial<Well>): void;
19
+ clearWell(rackId: string, wellId: string): void;
20
+ clearAllWells(rackId: string): void;
21
+ fillSeries(rackId: string, prefix?: string): void;
22
+ getAllWells(): Array<{
23
+ rackId: string;
24
+ wellId: string;
25
+ well: Partial<Well>;
26
+ }>;
27
+ totalSampleCount: ComputedRef<number>;
28
+ reset(): void;
29
+ }
30
+ /** Manages a set of sample racks with well-level assignment, series fill, and multi-rack reordering. */
31
+ export declare function useRackEditor(initialRacks?: Rack[], options?: UseRackEditorOptions): UseRackEditorReturn;
@@ -0,0 +1,44 @@
1
+ import { ComputedRef, Ref, ShallowRef } from 'vue';
2
+ export type ResourceKey = string | number;
3
+ export interface ResourceCrudAdapter<TItem, TCreate = Partial<TItem>, TUpdate = Partial<TItem>, TKey extends ResourceKey = ResourceKey> {
4
+ list: () => Promise<TItem[]>;
5
+ create?: (payload: TCreate) => Promise<TItem>;
6
+ update?: (key: TKey, payload: TUpdate) => Promise<TItem>;
7
+ remove?: (key: TKey) => Promise<void>;
8
+ }
9
+ export interface UseResourceCrudOptions<TItem, TCreate = Partial<TItem>, TUpdate = Partial<TItem>, TKey extends ResourceKey = ResourceKey> {
10
+ adapter: ResourceCrudAdapter<TItem, TCreate, TUpdate, TKey>;
11
+ initialItems?: readonly TItem[];
12
+ getKey?: (item: TItem) => TKey;
13
+ readErrorMessage?: (error: unknown) => string;
14
+ }
15
+ export interface UseResourceCrudReturn<TItem, TCreate, TUpdate, TKey extends ResourceKey> {
16
+ items: Ref<TItem[]>;
17
+ loading: ShallowRef<boolean>;
18
+ saving: ShallowRef<boolean>;
19
+ deleting: ShallowRef<boolean>;
20
+ error: Ref<string | null>;
21
+ isBusy: ComputedRef<boolean>;
22
+ load: () => Promise<TItem[]>;
23
+ createItem: (payload: TCreate) => Promise<TItem>;
24
+ updateItem: (key: TKey, payload: TUpdate) => Promise<TItem>;
25
+ deleteItem: (keyOrItem: TKey | TItem) => Promise<void>;
26
+ setItems: (items: readonly TItem[]) => void;
27
+ upsertLocal: (item: TItem) => void;
28
+ removeLocal: (keyOrItem: TKey | TItem) => void;
29
+ clearError: () => void;
30
+ }
31
+ /**
32
+ * Common list/create/update/delete state wrapper for generated plugin clients.
33
+ *
34
+ * @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; use `useGeneratedPluginClient()` instead.
35
+ */
36
+ export declare function useResourceCrud<TItem, TCreate = Partial<TItem>, TUpdate = Partial<TItem>, TKey extends ResourceKey = ResourceKey>(options: UseResourceCrudOptions<TItem, TCreate, TUpdate, TKey>): UseResourceCrudReturn<TItem, TCreate, TUpdate, TKey>;
37
+ export interface PluginResourceClientOptions<TClient, TItem, TCreate = Partial<TItem>, TUpdate = Partial<TItem>, TKey extends ResourceKey = ResourceKey> {
38
+ client: TClient;
39
+ list: (client: TClient) => Promise<TItem[]>;
40
+ create?: (client: TClient, payload: TCreate) => Promise<TItem>;
41
+ update?: (client: TClient, key: TKey, payload: TUpdate) => Promise<TItem>;
42
+ remove?: (client: TClient, key: TKey) => Promise<void>;
43
+ }
44
+ export declare function createPluginResourceClient<TClient, TItem, TCreate = Partial<TItem>, TUpdate = Partial<TItem>, TKey extends ResourceKey = ResourceKey>(options: PluginResourceClientOptions<TClient, TItem, TCreate, TUpdate, TKey>): ResourceCrudAdapter<TItem, TCreate, TUpdate, TKey>;
@@ -0,0 +1,24 @@
1
+ export interface UseRovingFocusOptions {
2
+ /** Selectable item ids, in DOM order. Already excludes items skipped entirely (e.g. disabled tabs). */
3
+ ids: () => string[];
4
+ /** The id that is currently active/selected. */
5
+ activeId: () => string | undefined;
6
+ /** Activates an id (e.g. emit `update:modelValue`). The composable focuses the matching element afterward. */
7
+ activate: (id: string) => void;
8
+ /** Returns the focusable element for an id, queried lazily so it reflects the post-activation DOM. */
9
+ getElement: (id: string) => HTMLElement | null | undefined;
10
+ /** Arrow-key axis: `'horizontal'` (Left/Right, default) or `'vertical'` (Up/Down). */
11
+ orientation?: 'horizontal' | 'vertical';
12
+ }
13
+ export interface UseRovingFocusReturn {
14
+ /** Bind to each item's `@keydown`. */
15
+ handleKeydown: (event: KeyboardEvent) => void;
16
+ }
17
+ /**
18
+ * WAI-ARIA roving-tabindex navigation with automatic activation (the tabs pattern):
19
+ * Left/Right (or Up/Down when `orientation` is `'vertical'`) move to the adjacent item
20
+ * and activate it immediately, wrapping past the ends; Home/End jump to the first/last
21
+ * item. Only the active item should carry `tabindex="0"`; give every other item
22
+ * `tabindex="-1"`. Used by BaseTabs.
23
+ */
24
+ export declare function useRovingFocus(options: UseRovingFocusOptions): UseRovingFocusReturn;
@@ -0,0 +1,39 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ import { WellPlateFormat } from '../types';
3
+ export type WellPlateSource<T> = T | Ref<T> | ComputedRef<T> | (() => T);
4
+ export interface WellCoordinate {
5
+ row: number;
6
+ col: number;
7
+ }
8
+ export interface WellPaintResult<TMode extends string = string, TPayload = unknown> {
9
+ wellIds: string[];
10
+ mode: TMode;
11
+ payload?: TPayload;
12
+ }
13
+ export interface UseWellPaintingOptions<TMode extends string = string, TPayload = unknown> {
14
+ format: WellPlateSource<WellPlateFormat>;
15
+ initialMode?: TMode;
16
+ initialPayload?: TPayload;
17
+ onComplete?: (result: WellPaintResult<TMode, TPayload>) => void;
18
+ }
19
+ export interface UseWellPaintingReturn<TMode extends string = string, TPayload = unknown> {
20
+ activeMode: Ref<TMode>;
21
+ activePayload: Ref<TPayload | undefined>;
22
+ isDragging: Ref<boolean>;
23
+ previewWellIds: ComputedRef<string[]>;
24
+ setMode: (mode: TMode, payload?: TPayload) => void;
25
+ setPayload: (payload: TPayload | undefined) => void;
26
+ onWellMouseDown: (wellId: string) => void;
27
+ onWellMouseMove: (wellId: string) => void;
28
+ onWellMouseUp: () => void;
29
+ cancel: () => void;
30
+ }
31
+ /**
32
+ * Pointer painting/rectangle selection state for WellPlate-based editors.
33
+ *
34
+ * @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; use `useWellPlateEditor()` instead.
35
+ */
36
+ export declare function useWellPainting<TMode extends string = string, TPayload = unknown>(options: UseWellPaintingOptions<TMode, TPayload>): UseWellPaintingReturn<TMode, TPayload>;
37
+ export declare function wellIdToCoordinate(wellId: string): WellCoordinate | null;
38
+ export declare function coordinateToWellId(coord: WellCoordinate): string;
39
+ export declare function wellIdsInRectangle(start: WellCoordinate, end: WellCoordinate, format: WellPlateFormat): string[];
@@ -0,0 +1,40 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ import { ColumnCondition, RowCondition, Well } from '../types';
3
+ export type WellPlateAdapterSource<T> = T | Ref<T> | ComputedRef<T> | (() => T);
4
+ export interface WellPlateEntry {
5
+ wellId: string;
6
+ state?: Well['state'];
7
+ sampleType?: string;
8
+ value?: number;
9
+ metadata?: Record<string, unknown>;
10
+ }
11
+ export interface WellPlateAdapterOptions<TEntry> {
12
+ entries: WellPlateAdapterSource<readonly TEntry[]>;
13
+ getWellId: (entry: TEntry) => string;
14
+ getState?: (entry: TEntry) => Well['state'] | undefined;
15
+ getSampleType?: (entry: TEntry) => string | undefined;
16
+ getValue?: (entry: TEntry) => number | undefined;
17
+ getMetadata?: (entry: TEntry) => Record<string, unknown> | undefined;
18
+ }
19
+ export interface UseWellPlateAdapterReturn {
20
+ wells: ComputedRef<Record<string, Partial<Well>>>;
21
+ }
22
+ /**
23
+ * Convert domain rows into WellPlate's wells prop without hand-written adapters.
24
+ *
25
+ * @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; use `useWellPlateEditor()` instead.
26
+ */
27
+ export declare function useWellPlateAdapter<TEntry>(options: WellPlateAdapterOptions<TEntry>): UseWellPlateAdapterReturn;
28
+ export declare function createWellPlateWells<TEntry>(entries: readonly TEntry[], options: Omit<WellPlateAdapterOptions<TEntry>, 'entries'>): Record<string, Partial<Well>>;
29
+ export interface AxisConditionEntry {
30
+ label: string;
31
+ color: string;
32
+ start: string | number;
33
+ concentrations: readonly {
34
+ value: number;
35
+ replicates?: number;
36
+ }[];
37
+ unit?: string;
38
+ }
39
+ export declare function createColumnConditions(entries: readonly AxisConditionEntry[]): ColumnCondition[];
40
+ export declare function createRowConditions(entries: readonly AxisConditionEntry[]): RowCondition[];
@@ -22,6 +22,10 @@ export interface UseWellPlateValidationReturn<TType extends string = string> {
22
22
  warningCount: ComputedRef<number>;
23
23
  errorCount: ComputedRef<number>;
24
24
  }
25
- /** Rule-driven validation state for WellPlate layout/design screens. */
25
+ /**
26
+ * Rule-driven validation state for WellPlate layout/design screens.
27
+ *
28
+ * @deprecated Unused by the MINT platform and scheduled for removal in MINT 1.3; use `useWellPlateEditor()` instead.
29
+ */
26
30
  export declare function useWellPlateValidation<TContext, TType extends string = string>(options: UseWellPlateValidationOptions<TContext, TType>): UseWellPlateValidationReturn<TType>;
27
31
  export declare function runWellPlateValidation<TContext, TType extends string = string>(context: TContext, rules: readonly WellPlateValidationRule<TContext, TType>[]): WellPlateValidationWarning<TType>[];