@morscherlab/mint-sdk 1.0.0-beta.1 → 1.0.0-beta.3

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