@morscherlab/mint-sdk 1.0.0-beta.2 → 1.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/README.md +225 -6
  2. package/dist/__tests__/components/ActionItem.test.d.ts +1 -0
  3. package/dist/__tests__/components/AppAvatarMenu.test.d.ts +1 -0
  4. package/dist/__tests__/components/AppPageSelector.test.d.ts +1 -0
  5. package/dist/__tests__/components/AppPillNav.test.d.ts +1 -0
  6. package/dist/__tests__/components/AppPluginSwitcher.test.d.ts +1 -0
  7. package/dist/__tests__/components/AppToastContainer.test.d.ts +1 -0
  8. package/dist/__tests__/components/BaseRadioGroup.test.d.ts +1 -0
  9. package/dist/__tests__/components/BaseSelect.test.d.ts +1 -0
  10. package/dist/__tests__/components/BaseTabs.test.d.ts +1 -0
  11. package/dist/__tests__/components/BatchProgressList.test.d.ts +1 -0
  12. package/dist/__tests__/components/BioTemplateExperimentWorkspaceView.test.d.ts +1 -0
  13. package/dist/__tests__/components/BioTemplatePackWorkspaceView.test.d.ts +1 -0
  14. package/dist/__tests__/components/BioTemplatePresetWorkspaceView.test.d.ts +1 -0
  15. package/dist/__tests__/components/BioTemplateRenderer.test.d.ts +1 -0
  16. package/dist/__tests__/components/Breadcrumb.test.d.ts +1 -0
  17. package/dist/__tests__/components/CalendarGridPanel.test.d.ts +1 -0
  18. package/dist/__tests__/components/ComponentBindingRenderer.test.d.ts +1 -0
  19. package/dist/__tests__/components/ConcentrationInput.test.d.ts +1 -0
  20. package/dist/__tests__/components/ControlWorkspaceView.test.d.ts +1 -0
  21. package/dist/__tests__/components/DatePicker.test.d.ts +1 -0
  22. package/dist/__tests__/components/DateTimePicker.test.d.ts +1 -0
  23. package/dist/__tests__/components/DoseDesignWorkspaceView.test.d.ts +1 -0
  24. package/dist/__tests__/components/EmptyState.test.d.ts +1 -0
  25. package/dist/__tests__/components/ExperimentPopover.test.d.ts +1 -0
  26. package/dist/__tests__/components/FormBuilder.test.d.ts +1 -0
  27. package/dist/__tests__/components/GroupAssigner.test.d.ts +1 -0
  28. package/dist/__tests__/components/MultiSelect.test.d.ts +1 -0
  29. package/dist/__tests__/components/PluginWorkspaceView.test.d.ts +1 -0
  30. package/dist/__tests__/components/ProtocolStepEditor.test.d.ts +1 -0
  31. package/dist/__tests__/components/ReagentList.test.d.ts +1 -0
  32. package/dist/__tests__/components/SampleHierarchyTree.test.d.ts +1 -0
  33. package/dist/__tests__/components/SampleSelector.test.d.ts +1 -0
  34. package/dist/__tests__/components/SegmentedControl.test.d.ts +1 -0
  35. package/dist/__tests__/components/SettingsModal.test.d.ts +1 -0
  36. package/dist/__tests__/components/TagsInput.test.d.ts +1 -0
  37. package/dist/__tests__/components/ThemeToggle.test.d.ts +1 -0
  38. package/dist/__tests__/components/TimePicker.test.d.ts +1 -0
  39. package/dist/__tests__/composables/experiment-utils.test.d.ts +1 -0
  40. package/dist/__tests__/composables/useApi.test.d.ts +1 -0
  41. package/dist/__tests__/composables/useBioTemplatePackWorkspace.test.d.ts +1 -0
  42. package/dist/__tests__/composables/useBioTemplatePresetWorkspace.test.d.ts +1 -0
  43. package/dist/__tests__/composables/useBioTemplateWorkspace.test.d.ts +1 -0
  44. package/dist/__tests__/composables/useCalendarGrid.test.d.ts +1 -0
  45. package/dist/__tests__/composables/useControlSchema.test.d.ts +1 -0
  46. package/dist/__tests__/composables/useDebouncedWatch.test.d.ts +1 -0
  47. package/dist/__tests__/composables/useDropdownState.test.d.ts +1 -0
  48. package/dist/__tests__/composables/useEventListener.test.d.ts +1 -0
  49. package/dist/__tests__/composables/useExpansionSet.test.d.ts +1 -0
  50. package/dist/__tests__/composables/useExperimentData.test.d.ts +1 -0
  51. package/dist/__tests__/composables/useExperimentSelector.test.d.ts +1 -0
  52. package/dist/__tests__/composables/useGroupAssignment.test.d.ts +1 -0
  53. package/dist/__tests__/composables/useListSelection.test.d.ts +1 -0
  54. package/dist/__tests__/composables/usePluginClient.test.d.ts +1 -0
  55. package/dist/__tests__/composables/usePluginConfig.test.d.ts +1 -0
  56. package/dist/__tests__/composables/useRequestSyncState.test.d.ts +1 -0
  57. package/dist/__tests__/composables/useSampleGroups.test.d.ts +1 -0
  58. package/dist/__tests__/composables/useSelectionLimit.test.d.ts +1 -0
  59. package/dist/__tests__/composables/useSortedItems.test.d.ts +1 -0
  60. package/dist/__tests__/composables/useTemplateCollection.test.d.ts +1 -0
  61. package/dist/__tests__/composables/useTextSearch.test.d.ts +1 -0
  62. package/dist/__tests__/composables/useTheme.test.d.ts +1 -0
  63. package/dist/__tests__/composables/useTimeUtils.test.d.ts +1 -0
  64. package/dist/__tests__/docs/frontendDocsCatalog.test.d.ts +1 -0
  65. package/dist/__tests__/templates/templates.test.d.ts +1 -0
  66. package/dist/{auth-DsI0rQ7_.js → auth-QQj2kkze.js} +12 -5
  67. package/dist/auth-QQj2kkze.js.map +1 -0
  68. package/dist/components/AppAvatarMenu.vue.d.ts +2 -7
  69. package/dist/components/AppContainer.vue.d.ts +1 -1
  70. package/dist/components/AppLayout.vue.d.ts +20 -1
  71. package/dist/components/AppSidebar.vue.d.ts +111 -6
  72. package/dist/components/AppTopBar.vue.d.ts +35 -22
  73. package/dist/components/BaseButton.vue.d.ts +1 -1
  74. package/dist/components/BaseCheckbox.vue.d.ts +1 -1
  75. package/dist/components/BaseInput.vue.d.ts +2 -2
  76. package/dist/components/BasePill.vue.d.ts +2 -2
  77. package/dist/components/BaseRadioGroup.vue.d.ts +3 -3
  78. package/dist/components/BaseSelect.vue.d.ts +3 -3
  79. package/dist/components/BaseTabs.vue.d.ts +2 -2
  80. package/dist/components/BaseTextarea.vue.d.ts +1 -1
  81. package/dist/components/BaseToggle.vue.d.ts +1 -1
  82. package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +119 -0
  83. package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +93 -0
  84. package/dist/components/BioTemplatePresetWorkspaceView.vue.d.ts +87 -0
  85. package/dist/components/BioTemplateRenderer.vue.d.ts +29 -0
  86. package/dist/components/Breadcrumb.vue.d.ts +2 -2
  87. package/dist/components/Calendar.vue.d.ts +1 -1
  88. package/dist/components/CollapsibleCard.vue.d.ts +1 -1
  89. package/dist/components/ComponentBindingRenderer.vue.d.ts +44 -0
  90. package/dist/components/ConcentrationInput.vue.d.ts +2 -2
  91. package/dist/components/ConfirmDialog.vue.d.ts +2 -2
  92. package/dist/components/ControlWorkspaceView.vue.d.ts +147 -0
  93. package/dist/components/DatePicker.vue.d.ts +1 -1
  94. package/dist/components/DateTimePicker.vue.d.ts +3 -3
  95. package/dist/components/Divider.vue.d.ts +1 -1
  96. package/dist/components/DoseDesignWorkspaceView.vue.d.ts +149 -0
  97. package/dist/components/DropdownButton.vue.d.ts +3 -3
  98. package/dist/components/EmptyState.vue.d.ts +1 -2
  99. package/dist/components/ExperimentDataViewer.vue.d.ts +1 -1
  100. package/dist/components/ExperimentTimeline.vue.d.ts +2 -2
  101. package/dist/components/FileUploader.vue.d.ts +1 -1
  102. package/dist/components/FitPanel.vue.d.ts +1 -1
  103. package/dist/components/FormActions.vue.d.ts +4 -4
  104. package/dist/components/FormBuilder.vue.d.ts +31 -17
  105. package/dist/components/FormulaInput.vue.d.ts +2 -2
  106. package/dist/components/MoleculeInput.vue.d.ts +2 -2
  107. package/dist/components/MultiSelect.vue.d.ts +3 -3
  108. package/dist/components/NumberInput.vue.d.ts +1 -1
  109. package/dist/components/PlateMapEditor.vue.d.ts +1 -1
  110. package/dist/components/PluginWorkspaceView.vue.d.ts +310 -0
  111. package/dist/components/ProgressBar.vue.d.ts +1 -1
  112. package/dist/components/ProtocolStepEditor.vue.d.ts +3 -1
  113. package/dist/components/RackEditor.vue.d.ts +2 -2
  114. package/dist/components/SampleLegend.vue.d.ts +2 -2
  115. package/dist/components/ScheduleCalendar.vue.d.ts +2 -2
  116. package/dist/components/SegmentedControl.vue.d.ts +2 -2
  117. package/dist/components/SequenceInput.vue.d.ts +3 -3
  118. package/dist/components/SettingsModal.vue.d.ts +14 -6
  119. package/dist/components/StatusIndicator.vue.d.ts +1 -1
  120. package/dist/components/TagsInput.vue.d.ts +3 -2
  121. package/dist/components/TimePicker.vue.d.ts +3 -3
  122. package/dist/components/TimeRangeInput.vue.d.ts +1 -1
  123. package/dist/components/UnitInput.vue.d.ts +2 -2
  124. package/dist/components/WellPlate.vue.d.ts +6 -6
  125. package/dist/components/index.d.ts +9 -8
  126. package/dist/components/index.js +3 -3
  127. package/dist/components/{SettingsButton.vue.d.ts → internal/ActionItemInternal.vue.d.ts} +11 -9
  128. package/dist/components/{AppPageSelector.vue.d.ts → internal/AppPageSelectorInternal.vue.d.ts} +3 -6
  129. package/dist/components/{AppPillNav.vue.d.ts → internal/AppPillNavInternal.vue.d.ts} +4 -2
  130. package/dist/components/internal/CalendarGridPanelInternal.vue.d.ts +25 -0
  131. package/dist/components/{FormFieldRenderer.vue.d.ts → internal/FormFieldRendererInternal.vue.d.ts} +2 -2
  132. package/dist/components/{FormSection.vue.d.ts → internal/FormSectionRenderer.vue.d.ts} +7 -7
  133. package/dist/components/{WellEditPopup.vue.d.ts → internal/WellEditPopupInternal.vue.d.ts} +1 -1
  134. package/dist/{components-_XqPEhP9.js → components-BkGF4B4y.js} +9760 -8471
  135. package/dist/components-BkGF4B4y.js.map +1 -0
  136. package/dist/composables/experiment-utils.d.ts +8 -0
  137. package/dist/composables/index.d.ts +22 -5
  138. package/dist/composables/index.js +4 -3
  139. package/dist/composables/platformContextHelpers.d.ts +14 -0
  140. package/dist/composables/useAppExperiment.d.ts +31 -2
  141. package/dist/composables/useBioTemplateComponents.d.ts +22 -0
  142. package/dist/composables/useBioTemplateControls.d.ts +6 -0
  143. package/dist/composables/useBioTemplatePackWorkspace.d.ts +46 -0
  144. package/dist/composables/useBioTemplatePresetWorkspace.d.ts +75 -0
  145. package/dist/composables/useBioTemplateWorkspace.d.ts +51 -0
  146. package/dist/composables/useCalendarGrid.d.ts +26 -0
  147. package/dist/composables/useControlSchema.d.ts +343 -0
  148. package/dist/composables/useDebouncedWatch.d.ts +20 -0
  149. package/dist/composables/useDropdownState.d.ts +19 -0
  150. package/dist/composables/useEventListener.d.ts +13 -0
  151. package/dist/composables/useExpansionSet.d.ts +21 -0
  152. package/dist/composables/useExperimentData.d.ts +10 -0
  153. package/dist/composables/useExperimentSave.d.ts +31 -2
  154. package/dist/composables/useExperimentSelector.d.ts +20 -0
  155. package/dist/composables/useForm.d.ts +2 -0
  156. package/dist/composables/useGroupAssignment.d.ts +31 -0
  157. package/dist/composables/useListSelection.d.ts +35 -0
  158. package/dist/composables/usePlatformContext.d.ts +21 -3
  159. package/dist/composables/usePluginClient.d.ts +112 -0
  160. package/dist/composables/usePluginConfig.d.ts +12 -0
  161. package/dist/composables/useRequestSyncState.d.ts +34 -0
  162. package/dist/composables/useSampleGroups.d.ts +32 -0
  163. package/dist/composables/useSelectionLimit.d.ts +17 -0
  164. package/dist/composables/useSortedItems.d.ts +32 -0
  165. package/dist/composables/useTemplateCollection.d.ts +58 -0
  166. package/dist/composables/useTextSearch.d.ts +18 -0
  167. package/dist/composables/useTimeUtils.d.ts +8 -0
  168. package/dist/{composables-tiZqLu1M.js → composables-CHsME9H1.js} +240 -146
  169. package/dist/composables-CHsME9H1.js.map +1 -0
  170. package/dist/index.d.ts +6 -4
  171. package/dist/index.js +6 -5
  172. package/dist/install.d.ts +7 -2
  173. package/dist/install.js +2 -2
  174. package/dist/install.js.map +1 -1
  175. package/dist/stores/index.js +1 -1
  176. package/dist/stores/settings.d.ts +4 -1
  177. package/dist/styles.css +4746 -5514
  178. package/dist/templates/adapters.d.ts +43 -0
  179. package/dist/templates/builders.d.ts +63 -0
  180. package/dist/templates/catalog.d.ts +188 -0
  181. package/dist/templates/componentBindings.d.ts +71 -0
  182. package/dist/templates/controlSchemas.d.ts +25 -0
  183. package/dist/templates/index.d.ts +15 -0
  184. package/dist/templates/index.js +2 -0
  185. package/dist/templates/lookup.d.ts +4 -0
  186. package/dist/templates/packs.d.ts +18 -0
  187. package/dist/templates/presets.d.ts +90 -0
  188. package/dist/templates/types.d.ts +531 -0
  189. package/dist/templates-B5jmTWuk.js +9388 -0
  190. package/dist/templates-B5jmTWuk.js.map +1 -0
  191. package/dist/types/components.d.ts +26 -23
  192. package/dist/types/form-builder.d.ts +6 -8
  193. package/dist/types/index.d.ts +2 -2
  194. package/dist/types/platform.d.ts +7 -1
  195. package/dist/useScheduleDrag-BgzpQT53.js +4414 -0
  196. package/dist/useScheduleDrag-BgzpQT53.js.map +1 -0
  197. package/dist/utils/formModelSync.d.ts +5 -0
  198. package/dist/utils/items.d.ts +8 -0
  199. package/dist/utils/options.d.ts +6 -0
  200. package/dist/utils/pluginIcon.d.ts +9 -0
  201. package/package.json +7 -2
  202. package/src/__tests__/components/ActionItem.test.ts +99 -0
  203. package/src/__tests__/components/AppAvatarMenu.test.ts +27 -0
  204. package/src/__tests__/components/AppLayout.test.ts +44 -0
  205. package/src/__tests__/components/AppPageSelector.test.ts +134 -0
  206. package/src/__tests__/components/AppPillNav.test.ts +125 -0
  207. package/src/__tests__/components/AppPluginSwitcher.test.ts +44 -0
  208. package/src/__tests__/components/AppSidebar.test.ts +496 -0
  209. package/src/__tests__/components/AppToastContainer.test.ts +37 -0
  210. package/src/__tests__/components/AppTopBar.test.ts +455 -9
  211. package/src/__tests__/components/BaseRadioGroup.test.ts +25 -0
  212. package/src/__tests__/components/BaseSelect.test.ts +21 -0
  213. package/src/__tests__/components/BaseTabs.test.ts +25 -0
  214. package/src/__tests__/components/BatchProgressList.test.ts +52 -0
  215. package/src/__tests__/components/BioTemplateExperimentWorkspaceView.test.ts +159 -0
  216. package/src/__tests__/components/BioTemplatePackWorkspaceView.test.ts +175 -0
  217. package/src/__tests__/components/BioTemplatePresetWorkspaceView.test.ts +306 -0
  218. package/src/__tests__/components/BioTemplateRenderer.test.ts +71 -0
  219. package/src/__tests__/components/Breadcrumb.test.ts +23 -0
  220. package/src/__tests__/components/CalendarGridPanel.test.ts +36 -0
  221. package/src/__tests__/components/ComponentBindingRenderer.test.ts +161 -0
  222. package/src/__tests__/components/ConcentrationInput.test.ts +45 -0
  223. package/src/__tests__/components/ControlWorkspaceView.test.ts +1102 -0
  224. package/src/__tests__/components/DataFrame.test.ts +11 -0
  225. package/src/__tests__/components/DatePicker.test.ts +45 -0
  226. package/src/__tests__/components/DateTimePicker.test.ts +48 -0
  227. package/src/__tests__/components/DoseDesignWorkspaceView.test.ts +185 -0
  228. package/src/__tests__/components/DropdownButton.test.ts +23 -0
  229. package/src/__tests__/components/EmptyState.test.ts +23 -0
  230. package/src/__tests__/components/ExperimentPopover.test.ts +56 -0
  231. package/src/__tests__/components/FormBuilder.test.ts +296 -0
  232. package/src/__tests__/components/GroupAssigner.test.ts +30 -0
  233. package/src/__tests__/components/MultiSelect.test.ts +48 -0
  234. package/src/__tests__/components/PluginWorkspaceView.test.ts +548 -0
  235. package/src/__tests__/components/ProtocolStepEditor.test.ts +33 -0
  236. package/src/__tests__/components/ReagentList.test.ts +82 -0
  237. package/src/__tests__/components/SampleHierarchyTree.test.ts +53 -0
  238. package/src/__tests__/components/SampleSelector.test.ts +60 -0
  239. package/src/__tests__/components/SegmentedControl.test.ts +24 -0
  240. package/src/__tests__/components/SettingsModal.test.ts +296 -0
  241. package/src/__tests__/components/TagsInput.test.ts +75 -0
  242. package/src/__tests__/components/ThemeToggle.test.ts +47 -0
  243. package/src/__tests__/components/TimePicker.test.ts +38 -0
  244. package/src/__tests__/composables/experiment-utils.test.ts +30 -0
  245. package/src/__tests__/composables/useApi.test.ts +30 -0
  246. package/src/__tests__/composables/useAppExperiment.test.ts +100 -1
  247. package/src/__tests__/composables/useBioTemplatePackWorkspace.test.ts +125 -0
  248. package/src/__tests__/composables/useBioTemplatePresetWorkspace.test.ts +199 -0
  249. package/src/__tests__/composables/useBioTemplateWorkspace.test.ts +104 -0
  250. package/src/__tests__/composables/useCalendarGrid.test.ts +38 -0
  251. package/src/__tests__/composables/useControlSchema.test.ts +1033 -0
  252. package/src/__tests__/composables/useDebouncedWatch.test.ts +93 -0
  253. package/src/__tests__/composables/useDropdownState.test.ts +95 -0
  254. package/src/__tests__/composables/useEventListener.test.ts +116 -0
  255. package/src/__tests__/composables/useExpansionSet.test.ts +62 -0
  256. package/src/__tests__/composables/useExperimentData.test.ts +4 -0
  257. package/src/__tests__/composables/useExperimentSave.test.ts +203 -8
  258. package/src/__tests__/composables/useExperimentSelector.test.ts +164 -0
  259. package/src/__tests__/composables/useForm.test.ts +58 -0
  260. package/src/__tests__/composables/useFormBuilder.test.ts +77 -0
  261. package/src/__tests__/composables/useGroupAssignment.test.ts +73 -0
  262. package/src/__tests__/composables/useListSelection.test.ts +66 -0
  263. package/src/__tests__/composables/usePluginClient.test.ts +541 -0
  264. package/src/__tests__/composables/usePluginConfig.test.ts +5 -0
  265. package/src/__tests__/composables/useRequestSyncState.test.ts +92 -0
  266. package/src/__tests__/composables/useSampleGroups.test.ts +66 -0
  267. package/src/__tests__/composables/useSelectionLimit.test.ts +41 -0
  268. package/src/__tests__/composables/useSortedItems.test.ts +87 -0
  269. package/src/__tests__/composables/useTemplateCollection.test.ts +147 -0
  270. package/src/__tests__/composables/useTextSearch.test.ts +55 -0
  271. package/src/__tests__/composables/useTheme.test.ts +91 -0
  272. package/src/__tests__/composables/useTimeUtils.test.ts +35 -0
  273. package/src/__tests__/docs/frontendDocsCatalog.test.ts +324 -0
  274. package/src/__tests__/fixtures/templates/dose-response.json +81 -0
  275. package/src/__tests__/fixtures/templates/plate-map.json +54 -0
  276. package/src/__tests__/fixtures/templates/qpcr-plate.json +96 -0
  277. package/src/__tests__/fixtures/templates/sample-sheet.json +71 -0
  278. package/src/__tests__/templates/templates.test.ts +1055 -0
  279. package/src/components/AppAvatarMenu.vue +15 -69
  280. package/src/components/AppLayout.story.vue +64 -25
  281. package/src/components/AppLayout.vue +83 -2
  282. package/src/components/AppPluginSwitcher.vue +41 -145
  283. package/src/components/AppSidebar.story.vue +203 -1
  284. package/src/components/AppSidebar.vue +320 -25
  285. package/src/components/{ToastNotification.story.vue → AppToastContainer.story.vue} +6 -6
  286. package/src/components/{ToastNotification.vue → AppToastContainer.vue} +1 -1
  287. package/src/components/AppTopBar.story.vue +7 -33
  288. package/src/components/AppTopBar.vue +104 -300
  289. package/src/components/BaseModal.vue +3 -5
  290. package/src/components/BaseRadioGroup.vue +7 -3
  291. package/src/components/BaseSelect.vue +11 -7
  292. package/src/components/BaseTabs.vue +6 -4
  293. package/src/components/BatchProgressList.vue +5 -8
  294. package/src/components/BioTemplateExperimentWorkspaceView.story.vue +123 -0
  295. package/src/components/BioTemplateExperimentWorkspaceView.vue +343 -0
  296. package/src/components/BioTemplatePackWorkspaceView.story.vue +107 -0
  297. package/src/components/BioTemplatePackWorkspaceView.vue +177 -0
  298. package/src/components/BioTemplatePresetWorkspaceView.story.vue +163 -0
  299. package/src/components/BioTemplatePresetWorkspaceView.vue +401 -0
  300. package/src/components/BioTemplateRenderer.story.vue +57 -0
  301. package/src/components/BioTemplateRenderer.vue +57 -0
  302. package/src/components/Breadcrumb.vue +14 -8
  303. package/src/components/ComponentBindingRenderer.story.vue +57 -0
  304. package/src/components/ComponentBindingRenderer.vue +308 -0
  305. package/src/components/ConcentrationInput.vue +27 -64
  306. package/src/components/ControlWorkspaceView.story.vue +347 -0
  307. package/src/components/ControlWorkspaceView.vue +378 -0
  308. package/src/components/DataFrame.vue +34 -50
  309. package/src/components/DatePicker.vue +59 -192
  310. package/src/components/DateTimePicker.vue +50 -171
  311. package/src/components/DoseDesignWorkspaceView.story.vue +77 -0
  312. package/src/components/DoseDesignWorkspaceView.vue +255 -0
  313. package/src/components/DropdownButton.vue +14 -32
  314. package/src/components/EmptyState.vue +4 -2
  315. package/src/components/ExperimentPopover.vue +7 -28
  316. package/src/components/ExperimentSelectorModal.vue +6 -5
  317. package/src/components/FormBuilder.story.vue +190 -0
  318. package/src/components/FormBuilder.vue +124 -27
  319. package/src/components/GroupAssigner.vue +24 -56
  320. package/src/components/MultiSelect.vue +17 -12
  321. package/src/components/PlateMapEditor.vue +3 -8
  322. package/src/components/PluginIcon.vue +2 -22
  323. package/src/components/PluginWorkspaceView.story.vue +334 -0
  324. package/src/components/PluginWorkspaceView.vue +708 -0
  325. package/src/components/ProtocolStepEditor.vue +13 -22
  326. package/src/components/ReagentList.vue +25 -33
  327. package/src/components/SampleHierarchyTree.vue +12 -23
  328. package/src/components/SampleSelector.vue +42 -122
  329. package/src/components/SegmentedControl.vue +7 -3
  330. package/src/components/SettingsModal.story.vue +88 -1
  331. package/src/components/SettingsModal.vue +120 -29
  332. package/src/components/TagsInput.vue +29 -14
  333. package/src/components/ThemeToggle.vue +9 -7
  334. package/src/components/TimePicker.vue +19 -41
  335. package/src/components/Tooltip.vue +7 -12
  336. package/src/components/WellPlate.vue +6 -12
  337. package/src/components/index.ts +9 -8
  338. package/src/components/internal/ActionItemInternal.vue +82 -0
  339. package/src/components/internal/AppPageSelectorInternal.vue +128 -0
  340. package/src/components/internal/AppPillNavInternal.vue +194 -0
  341. package/src/components/internal/CalendarGridPanelInternal.vue +120 -0
  342. package/src/components/{FormFieldRenderer.vue → internal/FormFieldRendererInternal.vue} +4 -12
  343. package/src/components/{FormSection.vue → internal/FormSectionRenderer.vue} +6 -18
  344. package/src/components/{WellEditPopup.vue → internal/WellEditPopupInternal.vue} +5 -10
  345. package/src/composables/experiment-utils.ts +26 -0
  346. package/src/composables/index.ts +229 -3
  347. package/src/composables/platformContextHelpers.ts +74 -0
  348. package/src/composables/useApi.ts +9 -2
  349. package/src/composables/useAppExperiment.ts +85 -13
  350. package/src/composables/useBioTemplateComponents.ts +105 -0
  351. package/src/composables/useBioTemplateControls.ts +41 -0
  352. package/src/composables/useBioTemplatePackWorkspace.ts +185 -0
  353. package/src/composables/useBioTemplatePresetWorkspace.ts +326 -0
  354. package/src/composables/useBioTemplateWorkspace.ts +141 -0
  355. package/src/composables/useCalendarGrid.ts +140 -0
  356. package/src/composables/useControlSchema.ts +1362 -0
  357. package/src/composables/useDebouncedWatch.ts +119 -0
  358. package/src/composables/useDropdownState.ts +83 -0
  359. package/src/composables/useEventListener.ts +111 -0
  360. package/src/composables/useExpansionSet.ts +117 -0
  361. package/src/composables/useExperimentData.ts +20 -11
  362. package/src/composables/useExperimentSave.ts +202 -50
  363. package/src/composables/useExperimentSelector.ts +86 -72
  364. package/src/composables/useForm.ts +49 -4
  365. package/src/composables/useFormBuilder.ts +93 -42
  366. package/src/composables/useGroupAssignment.ts +148 -0
  367. package/src/composables/useListSelection.ts +158 -0
  368. package/src/composables/usePluginClient.ts +466 -0
  369. package/src/composables/usePluginConfig.ts +34 -13
  370. package/src/composables/useRequestSyncState.ts +126 -0
  371. package/src/composables/useSampleGroups.ts +126 -0
  372. package/src/composables/useSelectionLimit.ts +57 -0
  373. package/src/composables/useSortedItems.ts +118 -0
  374. package/src/composables/useTemplateCollection.ts +229 -0
  375. package/src/composables/useTextSearch.ts +60 -0
  376. package/src/composables/useTheme.ts +2 -28
  377. package/src/composables/useTimeUtils.ts +26 -2
  378. package/src/composables/useWellPlateEditor.ts +13 -9
  379. package/src/index.ts +11 -348
  380. package/src/install.ts +11 -4
  381. package/src/stores/settings.ts +13 -9
  382. package/src/styles/components/app-layout.css +82 -0
  383. package/src/styles/components/app-page-selector.css +23 -0
  384. package/src/styles/components/app-pill-nav.css +77 -0
  385. package/src/styles/components/app-sidebar.css +119 -0
  386. package/src/styles/components/app-top-bar.css +0 -201
  387. package/src/styles/components/concentration-input.css +3 -142
  388. package/src/styles/components/empty-state.css +0 -16
  389. package/src/styles/components/theme-toggle.css +3 -66
  390. package/src/styles/index.css +0 -2
  391. package/src/templates/adapters.ts +785 -0
  392. package/src/templates/builders.ts +2149 -0
  393. package/src/templates/catalog.ts +245 -0
  394. package/src/templates/componentBindings.ts +653 -0
  395. package/src/templates/controlSchemas.ts +718 -0
  396. package/src/templates/index.ts +318 -0
  397. package/src/templates/lookup.ts +18 -0
  398. package/src/templates/packs.ts +156 -0
  399. package/src/templates/presets.ts +146 -0
  400. package/src/templates/types.ts +668 -0
  401. package/src/types/components.ts +39 -27
  402. package/src/types/form-builder.ts +7 -2
  403. package/src/types/index.ts +13 -3
  404. package/src/types/platform.ts +7 -1
  405. package/src/utils/formModelSync.ts +52 -0
  406. package/src/utils/items.ts +28 -0
  407. package/src/utils/options.ts +23 -0
  408. package/src/utils/pluginIcon.ts +30 -0
  409. package/dist/__tests__/composables/usePluginApi.test.d.ts +0 -13
  410. package/dist/auth-DsI0rQ7_.js.map +0 -1
  411. package/dist/components/GroupingModal.vue.d.ts +0 -12
  412. package/dist/components-_XqPEhP9.js.map +0 -1
  413. package/dist/composables/usePluginApi.d.ts +0 -29
  414. package/dist/composables-tiZqLu1M.js.map +0 -1
  415. package/dist/useScheduleDrag-CA9sGNJG.js +0 -7181
  416. package/dist/useScheduleDrag-CA9sGNJG.js.map +0 -1
  417. package/src/__tests__/composables/usePluginApi.test.ts +0 -81
  418. package/src/components/AppPageSelector.vue +0 -159
  419. package/src/components/AppPillNav.vue +0 -66
  420. package/src/components/GroupingModal.story.vue +0 -52
  421. package/src/components/GroupingModal.vue +0 -422
  422. package/src/components/SettingsButton.story.vue +0 -58
  423. package/src/components/SettingsButton.vue +0 -76
  424. package/src/composables/usePluginApi.ts +0 -39
  425. package/src/styles/components/grouping-modal.css +0 -323
  426. package/src/styles/components/settings-button.css +0 -94
  427. /package/dist/components/{ToastNotification.vue.d.ts → AppToastContainer.vue.d.ts} +0 -0
@@ -0,0 +1,531 @@
1
+ import { DataFrameColumn, PlateCondition, PlateMap, PlateMapEditorState, ProtocolStep, Reagent, SampleType, SelectOption, Well, WellPlateFormat } from '../types';
2
+ export type TemplateKind = 'experiment-design';
3
+ export type TemplateId = 'plate-map' | 'sample-sheet' | 'sample-prep' | 'dose-response' | 'calibration-curve' | 'time-course' | 'protocol-steps' | 'assay-matrix' | 'reagent-list' | 'flow-cytometry-panel' | 'instrument-run' | 'qpcr-plate';
4
+ export type TemplatePresetId = 'wellplate-screen' | 'qpcr-expression' | 'lcms-batch' | 'elisa-assay' | 'flow-cytometry-assay' | 'western-blot-assay';
5
+ export type TemplatePackId = 'cell-culture-screen' | 'omics-assay' | 'longitudinal-study' | 'molecular-assay';
6
+ export interface CreateBioTemplatePackCollectionOptions {
7
+ metadata?: Record<string, unknown>;
8
+ }
9
+ export interface BioTemplateEnvelope<TData = Record<string, unknown>> {
10
+ template_id: TemplateId | string;
11
+ template_version: string;
12
+ kind: TemplateKind | string;
13
+ data: TData;
14
+ metadata: Record<string, unknown>;
15
+ }
16
+ export type TemplateCollection = Record<string, BioTemplateEnvelope<unknown>>;
17
+ export interface TemplateCollectionEnvelope {
18
+ templates: TemplateCollection;
19
+ metadata?: Record<string, unknown>;
20
+ }
21
+ export type TemplateWell = Well;
22
+ export type TemplatePlateMap = PlateMap;
23
+ export type TemplateSample = SampleType;
24
+ export interface PlateMapTemplateData {
25
+ plates: TemplatePlateMap[];
26
+ samples: TemplateSample[];
27
+ activePlateId?: string;
28
+ selectedWells?: string[];
29
+ activeSampleId?: string;
30
+ }
31
+ export type PlateMapTemplate = BioTemplateEnvelope<PlateMapTemplateData>;
32
+ export type SampleColumnType = 'string' | 'number' | 'integer' | 'boolean' | 'date' | 'category' | 'unknown';
33
+ export interface SampleColumn {
34
+ id: string;
35
+ label: string;
36
+ type: SampleColumnType;
37
+ required: boolean;
38
+ groupable: boolean;
39
+ }
40
+ export interface SampleRecord {
41
+ sampleId: string;
42
+ name?: string;
43
+ group?: string;
44
+ batch?: string;
45
+ replicate?: number | string;
46
+ plateId?: string;
47
+ wellId?: string;
48
+ metadata?: Record<string, unknown>;
49
+ }
50
+ export interface SampleGroupDefinition {
51
+ name: string;
52
+ color: string;
53
+ samples: string[];
54
+ }
55
+ export interface SampleSheetTemplateData {
56
+ samples: SampleRecord[];
57
+ columns: SampleColumn[];
58
+ groups: SampleGroupDefinition[];
59
+ }
60
+ export type SampleSheetTemplate = BioTemplateEnvelope<SampleSheetTemplateData>;
61
+ export type SamplePrepStepType = 'extraction' | 'dilution' | 'normalization' | 'transfer' | 'incubation' | 'centrifugation' | 'cleanup' | 'digestion' | 'labeling' | 'other';
62
+ export type SamplePrepStatus = 'planned' | 'in-progress' | 'completed' | 'failed' | 'skipped';
63
+ export interface SamplePrepStep {
64
+ id: string;
65
+ order: number;
66
+ type: SamplePrepStepType;
67
+ name: string;
68
+ sourceSampleId?: string;
69
+ sourcePlateId?: string;
70
+ sourceWellId?: string;
71
+ destinationSampleId?: string;
72
+ destinationPlateId?: string;
73
+ destinationWellId?: string;
74
+ reagentId?: string;
75
+ inputVolume?: number;
76
+ outputVolume?: number;
77
+ volumeUnit: string;
78
+ durationMin?: number;
79
+ status: SamplePrepStatus;
80
+ metadata?: Record<string, unknown>;
81
+ }
82
+ export interface SamplePrepTemplateData {
83
+ protocolName: string;
84
+ steps: SamplePrepStep[];
85
+ metadata: Record<string, unknown>;
86
+ }
87
+ export type SamplePrepTemplate = BioTemplateEnvelope<SamplePrepTemplateData>;
88
+ export type SamplePrepStepInput = Partial<SamplePrepStep> & {
89
+ name?: string;
90
+ sourceSampleId?: string;
91
+ };
92
+ export interface CompoundDoseSeries {
93
+ id: string;
94
+ name: string;
95
+ concentrations: number[];
96
+ metadata?: Record<string, unknown>;
97
+ }
98
+ export type ControlRole = 'vehicle' | 'positive' | 'negative' | 'blank' | 'baseline' | 'other';
99
+ export interface ControlDefinition {
100
+ id: string;
101
+ name: string;
102
+ role: ControlRole;
103
+ vehicle?: string;
104
+ metadata?: Record<string, unknown>;
105
+ }
106
+ export interface DoseResponseTemplateData {
107
+ compounds: CompoundDoseSeries[];
108
+ unit: string;
109
+ replicates: number;
110
+ controls: ControlDefinition[];
111
+ layout?: PlateMapTemplateData;
112
+ metadata: Record<string, unknown>;
113
+ }
114
+ export type DoseResponseTemplate = BioTemplateEnvelope<DoseResponseTemplateData>;
115
+ export type CalibrationModel = 'linear' | 'linear-weighted-1-x' | 'linear-weighted-1-x2' | 'quadratic' | 'four-parameter-logistic';
116
+ export type CalibrationPointRole = 'blank' | 'standard' | 'qc' | 'unknown';
117
+ export type CalibrationPointStatus = 'planned' | 'accepted' | 'rejected' | 'warning';
118
+ export interface CalibrationAcceptance {
119
+ minRSquared: number;
120
+ standardTolerancePercent: number;
121
+ qcTolerancePercent: number;
122
+ requireBlank: boolean;
123
+ metadata?: Record<string, unknown>;
124
+ }
125
+ export interface CalibrationPoint {
126
+ id: string;
127
+ order: number;
128
+ role: CalibrationPointRole;
129
+ level: string;
130
+ concentration: number;
131
+ unit: string;
132
+ expectedResponse?: number;
133
+ response?: number;
134
+ replicate: number;
135
+ include: boolean;
136
+ status: CalibrationPointStatus;
137
+ metadata?: Record<string, unknown>;
138
+ }
139
+ export interface CalibrationCurveTemplateData {
140
+ analyte: string;
141
+ model: CalibrationModel;
142
+ xUnit: string;
143
+ responseUnit: string;
144
+ points: CalibrationPoint[];
145
+ acceptance: CalibrationAcceptance;
146
+ metadata: Record<string, unknown>;
147
+ }
148
+ export type CalibrationCurveTemplate = BioTemplateEnvelope<CalibrationCurveTemplateData>;
149
+ export type CalibrationAcceptanceInput = Partial<CalibrationAcceptance>;
150
+ export type CalibrationPointInput = Partial<CalibrationPoint> & {
151
+ concentration?: number;
152
+ level?: string;
153
+ };
154
+ export type TimeUnit = 'second' | 'minute' | 'hour' | 'day' | 'week';
155
+ export interface TimePoint {
156
+ id: string;
157
+ label: string;
158
+ value: number;
159
+ unit: TimeUnit;
160
+ metadata?: Record<string, unknown>;
161
+ }
162
+ export interface TimeCourseCondition {
163
+ id: string;
164
+ name: string;
165
+ color?: string;
166
+ description?: string;
167
+ metadata?: Record<string, unknown>;
168
+ }
169
+ export interface TimeCourseSample {
170
+ sampleId: string;
171
+ conditionId: string;
172
+ timepointId: string;
173
+ replicate: number;
174
+ metadata?: Record<string, unknown>;
175
+ }
176
+ export interface TimeCourseTemplateData {
177
+ timepoints: TimePoint[];
178
+ conditions: TimeCourseCondition[];
179
+ samples: TimeCourseSample[];
180
+ metadata: Record<string, unknown>;
181
+ }
182
+ export type TimeCourseTemplate = BioTemplateEnvelope<TimeCourseTemplateData>;
183
+ export type AssayFeatureType = 'metabolite' | 'protein' | 'gene' | 'cell' | 'compound' | 'readout' | 'other';
184
+ export interface AssaySample {
185
+ sampleId: string;
186
+ name?: string;
187
+ group?: string;
188
+ metadata?: Record<string, unknown>;
189
+ }
190
+ export interface AssayFeature {
191
+ id: string;
192
+ name: string;
193
+ type: AssayFeatureType;
194
+ unit?: string;
195
+ metadata?: Record<string, unknown>;
196
+ }
197
+ export interface AssayMeasurement {
198
+ sampleId: string;
199
+ featureId: string;
200
+ value?: number | null;
201
+ metadata?: Record<string, unknown>;
202
+ }
203
+ export interface AssayMatrixTemplateData {
204
+ samples: AssaySample[];
205
+ features: AssayFeature[];
206
+ measurements: AssayMeasurement[];
207
+ metadata: Record<string, unknown>;
208
+ }
209
+ export type AssayMatrixTemplate = BioTemplateEnvelope<AssayMatrixTemplateData>;
210
+ export type ProtocolStepRecord = ProtocolStep & {
211
+ metadata?: Record<string, unknown>;
212
+ };
213
+ export interface ProtocolStepsTemplateData {
214
+ steps: ProtocolStepRecord[];
215
+ metadata: Record<string, unknown>;
216
+ }
217
+ export type ProtocolStepsTemplate = BioTemplateEnvelope<ProtocolStepsTemplateData>;
218
+ export type ReagentKind = 'compound' | 'antibody' | 'primer' | 'enzyme' | 'buffer' | 'media' | 'kit' | 'reagent' | 'other';
219
+ export type ReagentTemplateInput = Omit<Reagent, 'expiryDate'> & {
220
+ expiryDate?: Date | string | null;
221
+ kind?: ReagentKind;
222
+ concentration?: string;
223
+ metadata?: Record<string, unknown>;
224
+ };
225
+ export interface ReagentRecord extends Omit<Reagent, 'expiryDate'> {
226
+ expiryDate?: string;
227
+ kind?: ReagentKind;
228
+ concentration?: string;
229
+ metadata?: Record<string, unknown>;
230
+ }
231
+ export interface ReagentListTemplateData {
232
+ reagents: ReagentRecord[];
233
+ metadata: Record<string, unknown>;
234
+ }
235
+ export type ReagentListTemplate = BioTemplateEnvelope<ReagentListTemplateData>;
236
+ export type FlowMarkerPurpose = 'phenotype' | 'viability' | 'activation' | 'sorting' | 'control' | 'other';
237
+ export type FlowControlKind = 'unstained' | 'single-stain' | 'fmo' | 'isotype' | 'viability' | 'beads' | 'other';
238
+ export interface FlowPanelMarker {
239
+ id: string;
240
+ marker: string;
241
+ fluorophore: string;
242
+ detector?: string;
243
+ clone?: string;
244
+ reagentId?: string;
245
+ purpose: FlowMarkerPurpose;
246
+ compensationRequired: boolean;
247
+ metadata?: Record<string, unknown>;
248
+ }
249
+ export interface FlowPanelControl {
250
+ id: string;
251
+ name: string;
252
+ kind: FlowControlKind;
253
+ markerId?: string;
254
+ required: boolean;
255
+ metadata?: Record<string, unknown>;
256
+ }
257
+ export interface FlowCytometryPanelTemplateData {
258
+ markers: FlowPanelMarker[];
259
+ controls: FlowPanelControl[];
260
+ instrument?: string;
261
+ metadata: Record<string, unknown>;
262
+ }
263
+ export type FlowCytometryPanelTemplate = BioTemplateEnvelope<FlowCytometryPanelTemplateData>;
264
+ export type InstrumentRunItemKind = 'sample' | 'blank' | 'qc' | 'standard' | 'calibration' | 'wash' | 'other';
265
+ export type InstrumentRunStatus = 'planned' | 'queued' | 'running' | 'completed' | 'failed' | 'skipped';
266
+ export interface InstrumentMethod {
267
+ id: string;
268
+ name: string;
269
+ instrument?: string;
270
+ acquisitionMode?: string;
271
+ metadata?: Record<string, unknown>;
272
+ }
273
+ export interface InstrumentRunItem {
274
+ id: string;
275
+ order: number;
276
+ kind: InstrumentRunItemKind;
277
+ sampleId?: string;
278
+ name?: string;
279
+ methodId: string;
280
+ vial?: string;
281
+ plateId?: string;
282
+ wellId?: string;
283
+ injectionVolume?: number;
284
+ expectedDurationMin?: number;
285
+ status: InstrumentRunStatus;
286
+ metadata?: Record<string, unknown>;
287
+ }
288
+ export interface InstrumentRunTemplateData {
289
+ runId: string;
290
+ instrument?: string;
291
+ methods: InstrumentMethod[];
292
+ items: InstrumentRunItem[];
293
+ metadata: Record<string, unknown>;
294
+ }
295
+ export type InstrumentRunTemplate = BioTemplateEnvelope<InstrumentRunTemplateData>;
296
+ export type InstrumentMethodInput = Partial<InstrumentMethod> & {
297
+ name?: string;
298
+ };
299
+ export type InstrumentRunItemInput = Partial<InstrumentRunItem> & {
300
+ name?: string;
301
+ sampleId?: string;
302
+ };
303
+ export type QpcrChemistry = 'sybr' | 'taqman' | 'probe' | 'evagreen' | 'other';
304
+ export type QpcrControlKind = 'sample' | 'no-template' | 'no-rt' | 'positive' | 'standard' | 'calibrator';
305
+ export interface QpcrSample {
306
+ sampleId: string;
307
+ name?: string;
308
+ group?: string;
309
+ metadata?: Record<string, unknown>;
310
+ }
311
+ export interface QpcrTarget {
312
+ id: string;
313
+ name: string;
314
+ assayId?: string;
315
+ reporter?: string;
316
+ quencher?: string;
317
+ ampliconBp?: number;
318
+ metadata?: Record<string, unknown>;
319
+ }
320
+ export interface QpcrReaction {
321
+ id: string;
322
+ wellId: string;
323
+ sampleId?: string;
324
+ targetId: string;
325
+ replicate: number;
326
+ controlKind: QpcrControlKind;
327
+ cq?: number | null;
328
+ quantity?: number | null;
329
+ flags: string[];
330
+ metadata?: Record<string, unknown>;
331
+ }
332
+ export interface QpcrPlateTemplateData {
333
+ plateId: string;
334
+ format: WellPlateFormat;
335
+ samples: QpcrSample[];
336
+ targets: QpcrTarget[];
337
+ reactions: QpcrReaction[];
338
+ instrument?: string;
339
+ chemistry: QpcrChemistry;
340
+ metadata: Record<string, unknown>;
341
+ }
342
+ export type QpcrPlateTemplate = BioTemplateEnvelope<QpcrPlateTemplateData>;
343
+ export type DataFrameTemplate = SampleSheetTemplate | SamplePrepTemplate | CalibrationCurveTemplate | TimeCourseTemplate | ProtocolStepsTemplate | AssayMatrixTemplate | ReagentListTemplate | FlowCytometryPanelTemplate | InstrumentRunTemplate | QpcrPlateTemplate;
344
+ export interface CreatePlateMapTemplateOptions {
345
+ name?: string;
346
+ id?: string;
347
+ format?: WellPlateFormat;
348
+ samples?: Array<string | TemplateSample>;
349
+ metadata?: Record<string, unknown>;
350
+ }
351
+ export interface CreateSampleSheetTemplateOptions {
352
+ samples: SampleRecord[];
353
+ columns?: SampleColumn[];
354
+ groups?: SampleGroupDefinition[];
355
+ metadata?: Record<string, unknown>;
356
+ }
357
+ export interface CreateSamplePrepTemplateOptions {
358
+ samples: Array<string | SamplePrepStepInput>;
359
+ prepType?: SamplePrepStepType;
360
+ protocolName?: string;
361
+ volumeUnit?: string;
362
+ inputVolume?: number;
363
+ outputVolume?: number;
364
+ metadata?: Record<string, unknown>;
365
+ }
366
+ export interface CreateDoseResponseTemplateOptions {
367
+ compounds: Record<string, number[]> | CompoundDoseSeries[];
368
+ unit: string;
369
+ replicates?: number;
370
+ controls?: ControlDefinition[];
371
+ layout?: PlateMapTemplate | PlateMapTemplateData;
372
+ metadata?: Record<string, unknown>;
373
+ }
374
+ export interface CreateCalibrationCurveTemplateOptions {
375
+ concentrations: Array<number | CalibrationPointInput>;
376
+ analyte?: string;
377
+ unit?: string;
378
+ responseUnit?: string;
379
+ model?: CalibrationModel;
380
+ includeBlank?: boolean;
381
+ includeQc?: boolean;
382
+ acceptance?: CalibrationAcceptanceInput;
383
+ metadata?: Record<string, unknown>;
384
+ }
385
+ export interface CreateTimeCourseTemplateOptions {
386
+ timepoints: Array<number | TimePoint>;
387
+ unit: TimeUnit;
388
+ conditions: Array<string | TimeCourseCondition>;
389
+ replicates?: number;
390
+ metadata?: Record<string, unknown>;
391
+ }
392
+ export interface CreateAssayMatrixTemplateOptions {
393
+ samples: Array<string | AssaySample>;
394
+ features: Array<string | AssayFeature>;
395
+ values?: Record<string, Record<string, number | null | undefined>>;
396
+ metadata?: Record<string, unknown>;
397
+ }
398
+ export interface CreateProtocolStepsTemplateOptions {
399
+ steps: Array<string | (Partial<ProtocolStepRecord> & {
400
+ name: string;
401
+ })>;
402
+ metadata?: Record<string, unknown>;
403
+ }
404
+ export interface CreateReagentListTemplateOptions {
405
+ reagents: Array<string | ReagentTemplateInput>;
406
+ metadata?: Record<string, unknown>;
407
+ }
408
+ export interface CreateFlowCytometryPanelTemplateOptions {
409
+ markers: Array<string | (Partial<FlowPanelMarker> & {
410
+ marker: string;
411
+ })>;
412
+ controls?: Array<string | (Partial<FlowPanelControl> & {
413
+ name: string;
414
+ })>;
415
+ instrument?: string;
416
+ includeDefaultControls?: boolean;
417
+ metadata?: Record<string, unknown>;
418
+ }
419
+ export interface CreateInstrumentRunTemplateOptions {
420
+ items: Array<string | InstrumentRunItemInput>;
421
+ method?: string | InstrumentMethodInput;
422
+ instrument?: string;
423
+ includeBlanks?: boolean;
424
+ includeQc?: boolean;
425
+ metadata?: Record<string, unknown>;
426
+ }
427
+ export interface CreateQpcrPlateTemplateOptions {
428
+ samples: Array<string | QpcrSample>;
429
+ targets: Array<string | QpcrTarget>;
430
+ format?: WellPlateFormat;
431
+ replicates?: number;
432
+ includeNoTemplateControls?: boolean;
433
+ instrument?: string;
434
+ chemistry?: QpcrChemistry;
435
+ metadata?: Record<string, unknown>;
436
+ }
437
+ export interface CreateWellPlateScreenCollectionOptions {
438
+ samples?: Array<string | SampleRecord>;
439
+ compounds?: Record<string, number[]> | CompoundDoseSeries[];
440
+ unit?: string;
441
+ replicates?: number;
442
+ plateName?: string;
443
+ plateFormat?: WellPlateFormat;
444
+ metadata?: Record<string, unknown>;
445
+ }
446
+ export interface CreateQpcrExpressionCollectionOptions {
447
+ samples?: Array<string | SampleRecord>;
448
+ targets?: Array<string | QpcrTarget>;
449
+ chemistry?: QpcrChemistry;
450
+ includeNoTemplateControls?: boolean;
451
+ format?: WellPlateFormat;
452
+ replicates?: number;
453
+ instrument?: string;
454
+ metadata?: Record<string, unknown>;
455
+ }
456
+ export interface CreateLcmsBatchCollectionOptions {
457
+ samples?: Array<string | SampleRecord>;
458
+ features?: Array<string | AssayFeature>;
459
+ instrument?: string;
460
+ method?: string | InstrumentMethodInput;
461
+ includeQc?: boolean;
462
+ metadata?: Record<string, unknown>;
463
+ }
464
+ export interface CreateElisaAssayCollectionOptions {
465
+ samples?: Array<string | SampleRecord>;
466
+ analyte?: string;
467
+ standardConcentrations?: number[];
468
+ unit?: string;
469
+ responseUnit?: string;
470
+ plateName?: string;
471
+ plateFormat?: WellPlateFormat;
472
+ metadata?: Record<string, unknown>;
473
+ }
474
+ export interface CreateFlowCytometryAssayCollectionOptions {
475
+ samples?: Array<string | SampleRecord>;
476
+ markers?: CreateFlowCytometryPanelTemplateOptions['markers'];
477
+ features?: Array<string | AssayFeature>;
478
+ instrument?: string;
479
+ includeDefaultControls?: boolean;
480
+ metadata?: Record<string, unknown>;
481
+ }
482
+ export interface CreateWesternBlotAssayCollectionOptions {
483
+ samples?: Array<string | SampleRecord>;
484
+ targets?: Array<string | AssayFeature>;
485
+ loadingControl?: string;
486
+ metadata?: Record<string, unknown>;
487
+ }
488
+ export type PlateMapEditorAdapterResult = PlateMapEditorState;
489
+ export type WellMapAdapterResult = Record<string, Well>;
490
+ export type SampleRowsAdapterResult = Array<Record<string, unknown>>;
491
+ export type SampleColumnsAdapterResult = DataFrameColumn<Record<string, unknown>>[];
492
+ export interface DataFrameAdapterResult {
493
+ data: Array<Record<string, unknown>>;
494
+ columns: DataFrameColumn<Record<string, unknown>>[];
495
+ rowKey?: string;
496
+ }
497
+ export type SampleDataFrameAdapterResult = DataFrameAdapterResult;
498
+ export type SampleOptionsAdapterResult = SelectOption<string>[];
499
+ export type SamplePrepRowsAdapterResult = Array<Record<string, unknown>>;
500
+ export type SamplePrepColumnsAdapterResult = DataFrameColumn<Record<string, unknown>>[];
501
+ export type SamplePrepDataFrameAdapterResult = DataFrameAdapterResult;
502
+ export type DoseConditionsAdapterResult = PlateCondition[];
503
+ export type CalibrationCurveRowsAdapterResult = Array<Record<string, unknown>>;
504
+ export type CalibrationCurveColumnsAdapterResult = DataFrameColumn<Record<string, unknown>>[];
505
+ export type CalibrationCurveDataFrameAdapterResult = DataFrameAdapterResult;
506
+ export type TimeCourseRowsAdapterResult = Array<Record<string, unknown>>;
507
+ export type TimeCourseColumnsAdapterResult = DataFrameColumn<Record<string, unknown>>[];
508
+ export type TimeCourseDataFrameAdapterResult = DataFrameAdapterResult;
509
+ export type TimeCourseStepsAdapterResult = ProtocolStep[];
510
+ export type ProtocolStepsAdapterResult = ProtocolStep[];
511
+ export type ProtocolRowsAdapterResult = Array<Record<string, unknown>>;
512
+ export type ProtocolColumnsAdapterResult = DataFrameColumn<Record<string, unknown>>[];
513
+ export type ProtocolDataFrameAdapterResult = DataFrameAdapterResult;
514
+ export type AssayMatrixRowsAdapterResult = Array<Record<string, unknown>>;
515
+ export type AssayMatrixColumnsAdapterResult = DataFrameColumn<Record<string, unknown>>[];
516
+ export type AssayMatrixDataFrameAdapterResult = DataFrameAdapterResult;
517
+ export type ReagentListItemsAdapterResult = Reagent[];
518
+ export type ReagentRowsAdapterResult = Array<Record<string, unknown>>;
519
+ export type ReagentColumnsAdapterResult = DataFrameColumn<Record<string, unknown>>[];
520
+ export type ReagentDataFrameAdapterResult = DataFrameAdapterResult;
521
+ export type FlowPanelRowsAdapterResult = Array<Record<string, unknown>>;
522
+ export type FlowPanelColumnsAdapterResult = DataFrameColumn<Record<string, unknown>>[];
523
+ export type FlowPanelDataFrameAdapterResult = DataFrameAdapterResult;
524
+ export type InstrumentRunRowsAdapterResult = Array<Record<string, unknown>>;
525
+ export type InstrumentRunColumnsAdapterResult = DataFrameColumn<Record<string, unknown>>[];
526
+ export type InstrumentRunDataFrameAdapterResult = DataFrameAdapterResult;
527
+ export type QpcrRowsAdapterResult = Array<Record<string, unknown>>;
528
+ export type QpcrColumnsAdapterResult = DataFrameColumn<Record<string, unknown>>[];
529
+ export type QpcrDataFrameAdapterResult = DataFrameAdapterResult;
530
+ export type QpcrWellMapAdapterResult = Record<string, Well>;
531
+ export type TemplateDataFrameAdapterResult = DataFrameAdapterResult;