@morscherlab/mint-sdk 1.0.0-rc.4 → 1.0.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/dist/__tests__/components/AppTopBar.navigation.test.d.ts +1 -0
  2. package/dist/__tests__/components/DoseCalculatorVolumeField.test.d.ts +1 -0
  3. package/dist/__tests__/components/PlateMapEditorToolbarInternal.test.d.ts +1 -0
  4. package/dist/__tests__/components/PluginWorkspaceView.controls.test.d.ts +1 -0
  5. package/dist/__tests__/components/PluginWorkspaceView.navigation.test.d.ts +1 -0
  6. package/dist/__tests__/components/PluginWorkspaceView.shell.test.d.ts +1 -0
  7. package/dist/__tests__/components/ProtocolStep.presentation.test.d.ts +1 -0
  8. package/dist/__tests__/components/ProtocolStepEditor.state.test.d.ts +1 -0
  9. package/dist/__tests__/components/ProtocolStepParameterField.test.d.ts +1 -0
  10. package/dist/__tests__/components/ReagentList.presentation.test.d.ts +1 -0
  11. package/dist/__tests__/components/SampleSelector.colors.test.d.ts +1 -0
  12. package/dist/__tests__/components/SampleSelector.drag.test.d.ts +1 -0
  13. package/dist/__tests__/components/SampleSelector.groups.test.d.ts +1 -0
  14. package/dist/__tests__/components/SampleSelector.selection.test.d.ts +1 -0
  15. package/dist/__tests__/components/SampleSelectorSampleRow.test.d.ts +1 -0
  16. package/dist/__tests__/components/ScheduleCalendar.test.d.ts +1 -0
  17. package/dist/__tests__/components/SettingsModal.schema.test.d.ts +1 -0
  18. package/dist/__tests__/components/WellPlate.colors.test.d.ts +1 -0
  19. package/dist/__tests__/components/WellPlate.conditions.test.d.ts +1 -0
  20. package/dist/__tests__/components/WellPlate.geometry.test.d.ts +1 -0
  21. package/dist/__tests__/components/WellPlate.interaction.test.d.ts +1 -0
  22. package/dist/__tests__/components/WellPlate.legend.test.d.ts +1 -0
  23. package/dist/__tests__/components/WellPlate.rendering.test.d.ts +1 -0
  24. package/dist/__tests__/components/WellPlate.sampleDrop.test.d.ts +1 -0
  25. package/dist/__tests__/composables/autoGroup/classify.test.d.ts +1 -0
  26. package/dist/__tests__/composables/autoGroup/columns.test.d.ts +1 -0
  27. package/dist/__tests__/composables/autoGroup/compose.test.d.ts +1 -0
  28. package/dist/__tests__/composables/autoGroup/cooccurrence.test.d.ts +1 -0
  29. package/dist/__tests__/composables/autoGroup/fingerprint.test.d.ts +1 -0
  30. package/dist/__tests__/composables/autoGroup/integration.test.d.ts +1 -0
  31. package/dist/__tests__/composables/autoGroup/template.test.d.ts +1 -0
  32. package/dist/__tests__/composables/autoGroup/tokenize.test.d.ts +1 -0
  33. package/dist/__tests__/composables/useAutoGroupInputSources.test.d.ts +1 -0
  34. package/dist/__tests__/composables/useScheduleCalendarLayout.test.d.ts +1 -0
  35. package/dist/__tests__/docs/extractDocsComponents.test.d.ts +1 -0
  36. package/dist/__tests__/docs/extractDocsExports.test.d.ts +1 -0
  37. package/dist/__tests__/docs/extractDocsParsing.test.d.ts +1 -0
  38. package/dist/__tests__/docs/extractDocsTemplates.test.d.ts +1 -0
  39. package/dist/__tests__/docs/extractDocsTheme.test.d.ts +1 -0
  40. package/dist/components/AppSidebar.vue.d.ts +3 -3
  41. package/dist/components/AppTopBar.navigation.d.ts +11 -0
  42. package/dist/components/BaseButton.vue.d.ts +1 -1
  43. package/dist/components/BaseCheckbox.vue.d.ts +1 -1
  44. package/dist/components/BaseInput.vue.d.ts +2 -2
  45. package/dist/components/BasePill.vue.d.ts +1 -1
  46. package/dist/components/BaseRadioGroup.vue.d.ts +1 -1
  47. package/dist/components/BaseSelect.vue.d.ts +1 -1
  48. package/dist/components/BaseSlider.vue.d.ts +2 -2
  49. package/dist/components/BaseTextarea.vue.d.ts +2 -2
  50. package/dist/components/BaseToggle.vue.d.ts +1 -1
  51. package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +2 -2
  52. package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +1 -1
  53. package/dist/components/ColorSlider.vue.d.ts +2 -2
  54. package/dist/components/ConcentrationInput.vue.d.ts +2 -2
  55. package/dist/components/ControlWorkspaceView.vue.d.ts +3 -3
  56. package/dist/components/DatePicker.vue.d.ts +1 -1
  57. package/dist/components/DateTimePicker.vue.d.ts +2 -2
  58. package/dist/components/DoseCalculatorVolumeField.vue.d.ts +15 -0
  59. package/dist/components/DoseDesignWorkspaceView.vue.d.ts +1 -1
  60. package/dist/components/DropdownButton.vue.d.ts +1 -1
  61. package/dist/components/FileUploader.vue.d.ts +2 -2
  62. package/dist/components/FormulaInput.vue.d.ts +2 -2
  63. package/dist/components/IconButton.vue.d.ts +1 -1
  64. package/dist/components/LoadingSpinner.vue.d.ts +1 -1
  65. package/dist/components/MoleculeInput.vue.d.ts +2 -2
  66. package/dist/components/MultiSelect.vue.d.ts +1 -1
  67. package/dist/components/NumberInput.vue.d.ts +1 -1
  68. package/dist/components/PlateMapEditor.vue.d.ts +6 -6
  69. package/dist/components/PluginWorkspaceView.controls.d.ts +28 -0
  70. package/dist/components/PluginWorkspaceView.navigation.d.ts +29 -0
  71. package/dist/components/PluginWorkspaceView.props.d.ts +151 -0
  72. package/dist/components/PluginWorkspaceView.shell.d.ts +19 -0
  73. package/dist/components/PluginWorkspaceView.vue.d.ts +46 -195
  74. package/dist/components/ProgressBar.vue.d.ts +1 -1
  75. package/dist/components/ProtocolStep.presentation.d.ts +4 -0
  76. package/dist/components/ProtocolStepEditor.state.d.ts +18 -0
  77. package/dist/components/ProtocolStepParameterField.vue.d.ts +12 -0
  78. package/dist/components/ReagentList.presentation.d.ts +16 -0
  79. package/dist/components/ResourceCard.vue.d.ts +1 -1
  80. package/dist/components/SampleSelector.colors.d.ts +13 -0
  81. package/dist/components/SampleSelector.drag.d.ts +24 -0
  82. package/dist/components/SampleSelector.groups.d.ts +15 -0
  83. package/dist/components/SampleSelector.selection.d.ts +26 -0
  84. package/dist/components/SampleSelector.vue.d.ts +4 -1
  85. package/dist/components/SampleSelectorSampleRow.vue.d.ts +21 -0
  86. package/dist/components/SegmentedControl.vue.d.ts +1 -1
  87. package/dist/components/SequenceInput.vue.d.ts +2 -2
  88. package/dist/components/SequenceProgressBar.vue.d.ts +1 -1
  89. package/dist/components/SettingsModal.schema.d.ts +9 -0
  90. package/dist/components/StatusIndicator.vue.d.ts +1 -1
  91. package/dist/components/TagsInput.vue.d.ts +2 -2
  92. package/dist/components/TimePicker.vue.d.ts +2 -2
  93. package/dist/components/TimeRangeInput.vue.d.ts +1 -1
  94. package/dist/components/UnitInput.vue.d.ts +2 -2
  95. package/dist/components/WellPlate.colors.d.ts +9 -0
  96. package/dist/components/WellPlate.conditions.d.ts +26 -0
  97. package/dist/components/WellPlate.geometry.d.ts +23 -0
  98. package/dist/components/WellPlate.interaction.d.ts +71 -0
  99. package/dist/components/WellPlate.legend.d.ts +2 -0
  100. package/dist/components/WellPlate.rendering.d.ts +24 -0
  101. package/dist/components/WellPlate.sampleDrop.d.ts +8 -0
  102. package/dist/components/WellPlate.vue.d.ts +1 -1
  103. package/dist/components/index.js +2 -2
  104. package/dist/components/internal/ActionItemInternal.vue.d.ts +1 -1
  105. package/dist/components/internal/PlateMapEditorToolbarInternal.vue.d.ts +28 -0
  106. package/dist/{components-DafPc4rM.js → components-DtHA2bgp.js} +3754 -2991
  107. package/dist/components-DtHA2bgp.js.map +1 -0
  108. package/dist/composables/autoGroup/classKey.d.ts +4 -0
  109. package/dist/composables/autoGroup/classify.d.ts +28 -0
  110. package/dist/composables/autoGroup/colors.d.ts +2 -0
  111. package/dist/composables/autoGroup/columns.d.ts +10 -0
  112. package/dist/composables/autoGroup/compose.d.ts +8 -0
  113. package/dist/composables/autoGroup/cooccurrence.d.ts +2 -0
  114. package/dist/composables/autoGroup/csv-shim.d.ts +2 -0
  115. package/dist/composables/autoGroup/fingerprint.d.ts +3 -0
  116. package/dist/composables/autoGroup/index.d.ts +16 -0
  117. package/dist/composables/autoGroup/replicatePreGroup.d.ts +38 -0
  118. package/dist/composables/autoGroup/template.d.ts +15 -0
  119. package/dist/composables/autoGroup/tokenize.d.ts +8 -0
  120. package/dist/composables/autoGroupConstants.d.ts +1 -0
  121. package/dist/composables/autoGroupGrouping.d.ts +3 -0
  122. package/dist/composables/controlComponentBindings.d.ts +1 -1
  123. package/dist/composables/controlSchemaAdapters.d.ts +1 -1
  124. package/dist/composables/controlSchemaDoseDesign.d.ts +11 -0
  125. package/dist/composables/controlSchemaLayout.d.ts +1 -1
  126. package/dist/composables/controlSchemaModel.d.ts +5 -0
  127. package/dist/composables/controlSchemaNormalize.d.ts +1 -1
  128. package/dist/composables/controlSchemaTypes.d.ts +305 -0
  129. package/dist/composables/controlWorkspaceOptions.d.ts +1 -1
  130. package/dist/composables/formBuilderSchema.d.ts +18 -0
  131. package/dist/composables/index.js +3 -3
  132. package/dist/composables/pluginEndpointBuilder.d.ts +13 -0
  133. package/dist/composables/protocolTemplateCatalog.d.ts +26 -0
  134. package/dist/composables/useAutoGroup.d.ts +61 -74
  135. package/dist/composables/useAutoGroupInputSources.d.ts +32 -0
  136. package/dist/composables/useBioTemplateControls.d.ts +1 -1
  137. package/dist/composables/useBioTemplatePresetWorkspace.d.ts +1 -1
  138. package/dist/composables/useBioTemplateWorkspace.d.ts +1 -1
  139. package/dist/composables/useControlSchema.d.ts +4 -316
  140. package/dist/composables/useControlWorkspace.d.ts +1 -1
  141. package/dist/composables/useForm.d.ts +2 -33
  142. package/dist/composables/useFormBuilder.d.ts +2 -9
  143. package/dist/composables/useFormValidation.d.ts +34 -0
  144. package/dist/composables/usePluginClient.d.ts +1 -4
  145. package/dist/composables/useProtocolTemplates.d.ts +2 -24
  146. package/dist/composables/useScheduleCalendarLayout.d.ts +49 -0
  147. package/dist/{composables-BMkPQhVK.js → composables-Dlg8jenH.js} +33 -31
  148. package/dist/composables-Dlg8jenH.js.map +1 -0
  149. package/dist/index.js +4 -4
  150. package/dist/install.js +2 -2
  151. package/dist/styles.css +547 -516
  152. package/dist/templates/controlSchemaTypes.d.ts +1 -1
  153. package/dist/templates/index.js +1 -1
  154. package/dist/templates/templateAdapterTypes.d.ts +48 -0
  155. package/dist/templates/templateCreateOptions.d.ts +165 -0
  156. package/dist/templates/templateQpcrTypes.d.ts +42 -0
  157. package/dist/templates/types.d.ts +5 -250
  158. package/dist/{templates-bUAWMn5L.js → templates-DtdUvJ4c.js} +144 -136
  159. package/dist/templates-DtdUvJ4c.js.map +1 -0
  160. package/dist/types/auto-group.d.ts +79 -9
  161. package/dist/types/componentLabTypes.d.ts +161 -0
  162. package/dist/types/componentWorkflowTypes.d.ts +150 -0
  163. package/dist/types/components.d.ts +2 -311
  164. package/dist/{useProtocolTemplates-QZtHFFH2.js → useProtocolTemplates-Bm5vyH4_.js} +1220 -454
  165. package/dist/useProtocolTemplates-Bm5vyH4_.js.map +1 -0
  166. package/package.json +1 -1
  167. package/src/__tests__/components/AppTopBar.navigation.test.ts +70 -0
  168. package/src/__tests__/components/DoseCalculatorVolumeField.test.ts +53 -0
  169. package/src/__tests__/components/PlateMapEditorToolbarInternal.test.ts +54 -0
  170. package/src/__tests__/components/PluginWorkspaceView.controls.test.ts +156 -0
  171. package/src/__tests__/components/PluginWorkspaceView.navigation.test.ts +102 -0
  172. package/src/__tests__/components/PluginWorkspaceView.shell.test.ts +41 -0
  173. package/src/__tests__/components/ProtocolStep.presentation.test.ts +31 -0
  174. package/src/__tests__/components/ProtocolStepEditor.state.test.ts +165 -0
  175. package/src/__tests__/components/ProtocolStepParameterField.test.ts +44 -0
  176. package/src/__tests__/components/ReagentList.presentation.test.ts +68 -0
  177. package/src/__tests__/components/SampleSelector.colors.test.ts +49 -0
  178. package/src/__tests__/components/SampleSelector.drag.test.ts +100 -0
  179. package/src/__tests__/components/SampleSelector.groups.test.ts +81 -0
  180. package/src/__tests__/components/SampleSelector.selection.test.ts +70 -0
  181. package/src/__tests__/components/SampleSelector.test.ts +32 -0
  182. package/src/__tests__/components/SampleSelectorSampleRow.test.ts +37 -0
  183. package/src/__tests__/components/ScheduleCalendar.test.ts +44 -0
  184. package/src/__tests__/components/SettingsModal.schema.test.ts +97 -0
  185. package/src/__tests__/components/WellPlate.colors.test.ts +28 -0
  186. package/src/__tests__/components/WellPlate.conditions.test.ts +68 -0
  187. package/src/__tests__/components/WellPlate.geometry.test.ts +54 -0
  188. package/src/__tests__/components/WellPlate.interaction.test.ts +171 -0
  189. package/src/__tests__/components/WellPlate.legend.test.ts +13 -0
  190. package/src/__tests__/components/WellPlate.rendering.test.ts +122 -0
  191. package/src/__tests__/components/WellPlate.sampleDrop.test.ts +70 -0
  192. package/src/__tests__/composables/autoGroup/classify.test.ts +107 -0
  193. package/src/__tests__/composables/autoGroup/columns.test.ts +135 -0
  194. package/src/__tests__/composables/autoGroup/compose.test.ts +227 -0
  195. package/src/__tests__/composables/autoGroup/cooccurrence.test.ts +91 -0
  196. package/src/__tests__/composables/autoGroup/fingerprint.test.ts +50 -0
  197. package/src/__tests__/composables/autoGroup/integration.test.ts +79 -0
  198. package/src/__tests__/composables/autoGroup/template.test.ts +70 -0
  199. package/src/__tests__/composables/autoGroup/tokenize.test.ts +33 -0
  200. package/src/__tests__/composables/useAutoGroup.test.ts +129 -625
  201. package/src/__tests__/composables/useAutoGroupInputSources.test.ts +107 -0
  202. package/src/__tests__/composables/useControlSchema.test.ts +23 -0
  203. package/src/__tests__/composables/useScheduleCalendarLayout.test.ts +89 -0
  204. package/src/__tests__/docs/extractDocsComponents.test.ts +142 -0
  205. package/src/__tests__/docs/extractDocsExports.test.ts +77 -0
  206. package/src/__tests__/docs/extractDocsParsing.test.ts +69 -0
  207. package/src/__tests__/docs/extractDocsTemplates.test.ts +54 -0
  208. package/src/__tests__/docs/extractDocsTheme.test.ts +89 -0
  209. package/src/__tests__/docs/frontendDocsCatalog.test.ts +1 -1
  210. package/src/__tests__/fixtures/auto-group/mixed-lc-ms-batch.txt +187 -0
  211. package/src/components/AppSidebar.vue +2 -6
  212. package/src/components/AppTopBar.navigation.ts +62 -0
  213. package/src/components/AppTopBar.vue +17 -44
  214. package/src/components/AutoGroupModal.story.vue +50 -0
  215. package/src/components/AutoGroupModal.vue +441 -158
  216. package/src/components/ControlWorkspaceView.vue +2 -6
  217. package/src/components/DoseCalculator.vue +13 -73
  218. package/src/components/DoseCalculatorVolumeField.vue +61 -0
  219. package/src/components/ExperimentTimeline.vue +6 -31
  220. package/src/components/FormBuilder.vue +2 -7
  221. package/src/components/PlateMapEditor.vue +32 -106
  222. package/src/components/PluginWorkspaceView.controls.ts +182 -0
  223. package/src/components/PluginWorkspaceView.navigation.ts +106 -0
  224. package/src/components/PluginWorkspaceView.props.ts +174 -0
  225. package/src/components/PluginWorkspaceView.shell.ts +66 -0
  226. package/src/components/PluginWorkspaceView.vue +85 -404
  227. package/src/components/ProtocolStep.presentation.ts +31 -0
  228. package/src/components/ProtocolStepEditor.state.ts +104 -0
  229. package/src/components/ProtocolStepEditor.vue +48 -179
  230. package/src/components/ProtocolStepParameterField.vue +134 -0
  231. package/src/components/ReagentList.presentation.ts +105 -0
  232. package/src/components/ReagentList.vue +16 -79
  233. package/src/components/SampleSelector.colors.ts +43 -0
  234. package/src/components/SampleSelector.drag.ts +164 -0
  235. package/src/components/SampleSelector.groups.ts +109 -0
  236. package/src/components/SampleSelector.selection.ts +103 -0
  237. package/src/components/SampleSelector.vue +82 -349
  238. package/src/components/SampleSelectorSampleRow.vue +64 -0
  239. package/src/components/ScheduleCalendar.vue +44 -199
  240. package/src/components/SettingsModal.schema.ts +71 -0
  241. package/src/components/SettingsModal.vue +16 -46
  242. package/src/components/WellPlate.colors.ts +56 -0
  243. package/src/components/WellPlate.conditions.ts +100 -0
  244. package/src/components/WellPlate.geometry.ts +91 -0
  245. package/src/components/WellPlate.interaction.ts +272 -0
  246. package/src/components/WellPlate.legend.ts +8 -0
  247. package/src/components/WellPlate.rendering.ts +105 -0
  248. package/src/components/WellPlate.sampleDrop.ts +73 -0
  249. package/src/components/WellPlate.vue +102 -550
  250. package/src/components/internal/PlateMapEditorToolbarInternal.vue +128 -0
  251. package/src/composables/autoGroup/classKey.ts +5 -0
  252. package/src/composables/autoGroup/classify.ts +205 -0
  253. package/src/composables/autoGroup/colors.ts +6 -0
  254. package/src/composables/autoGroup/columns.ts +226 -0
  255. package/src/composables/autoGroup/compose.ts +156 -0
  256. package/src/composables/autoGroup/cooccurrence.ts +46 -0
  257. package/src/composables/autoGroup/csv-shim.ts +44 -0
  258. package/src/composables/autoGroup/fingerprint.ts +49 -0
  259. package/src/composables/autoGroup/index.ts +20 -0
  260. package/src/composables/autoGroup/replicatePreGroup.ts +90 -0
  261. package/src/composables/autoGroup/template.ts +126 -0
  262. package/src/composables/autoGroup/tokenize.ts +41 -0
  263. package/src/composables/autoGroup/vocab.json +67 -0
  264. package/src/composables/autoGroupConstants.ts +4 -0
  265. package/src/composables/autoGroupGrouping.ts +148 -0
  266. package/src/composables/controlComponentBindings.ts +1 -1
  267. package/src/composables/controlSchemaAdapters.ts +1 -1
  268. package/src/composables/controlSchemaDoseDesign.ts +215 -0
  269. package/src/composables/controlSchemaFormFields.ts +1 -1
  270. package/src/composables/controlSchemaLayout.ts +1 -1
  271. package/src/composables/controlSchemaModel.ts +163 -0
  272. package/src/composables/controlSchemaNormalize.ts +1 -1
  273. package/src/composables/controlSchemaTypes.ts +364 -0
  274. package/src/composables/controlWorkspaceOptions.ts +1 -1
  275. package/src/composables/formBuilderSchema.ts +153 -0
  276. package/src/composables/pluginEndpointBuilder.ts +203 -0
  277. package/src/composables/protocolTemplateCatalog.ts +325 -0
  278. package/src/composables/useAutoGroup.ts +395 -549
  279. package/src/composables/useAutoGroupInputSources.ts +147 -0
  280. package/src/composables/useBioTemplateControls.ts +1 -1
  281. package/src/composables/useBioTemplatePresetWorkspace.ts +1 -1
  282. package/src/composables/useBioTemplateWorkspace.ts +1 -1
  283. package/src/composables/useControlSchema.ts +21 -692
  284. package/src/composables/useControlWorkspace.ts +7 -13
  285. package/src/composables/useForm.ts +5 -187
  286. package/src/composables/useFormBuilder.ts +11 -153
  287. package/src/composables/useFormValidation.ts +154 -0
  288. package/src/composables/usePluginClient.ts +10 -193
  289. package/src/composables/useProtocolTemplates.ts +10 -328
  290. package/src/composables/useScheduleCalendarLayout.ts +287 -0
  291. package/src/styles/components/auto-group-modal.css +248 -310
  292. package/src/templates/controlSchemaTypes.ts +1 -1
  293. package/src/templates/templateAdapterTypes.ts +58 -0
  294. package/src/templates/templateCreateOptions.ts +208 -0
  295. package/src/templates/templateQpcrTypes.ts +48 -0
  296. package/src/templates/types.ts +79 -275
  297. package/src/types/auto-group.ts +107 -9
  298. package/src/types/componentLabTypes.ts +235 -0
  299. package/src/types/componentWorkflowTypes.ts +190 -0
  300. package/src/types/components.ts +74 -424
  301. package/dist/components-DafPc4rM.js.map +0 -1
  302. package/dist/composables-BMkPQhVK.js.map +0 -1
  303. package/dist/templates-bUAWMn5L.js.map +0 -1
  304. package/dist/useProtocolTemplates-QZtHFFH2.js.map +0 -1
@@ -4578,10 +4578,96 @@ function uniqueComponentBindingId(id, usedIds) {
4578
4578
  return count === 0 ? id : `${id}-${count + 1}`;
4579
4579
  }
4580
4580
  //#endregion
4581
+ //#region src/composables/controlSchemaModel.ts
4582
+ function isControlModelBinding(model) {
4583
+ return typeof model === "object" && model !== null && "controls" in model && "controlOptions" in model;
4584
+ }
4585
+ function resolveControlModel(model) {
4586
+ if (model === void 0) return void 0;
4587
+ return isControlModelBinding(model) ? model : defineControlModel(model);
4588
+ }
4589
+ /** Create a complete workspace component binding from a simple controls data model for ControlWorkspaceView, generated forms, and sidebars. */
4590
+ function defineControlModel(model) {
4591
+ const { controls: rootControls, sections: rootSections, views: modelViews, components, componentBindings, componentProps, componentPropsById, ...baseOptions } = model;
4592
+ const resolvedComponentBindings = componentBindings ?? components;
4593
+ const controls = {};
4594
+ const views = {};
4595
+ const sections = {};
4596
+ const defaultViewId = model.view ?? "default";
4597
+ const defaultSectionId = model.section ?? "controls";
4598
+ if (rootControls) {
4599
+ registerSectionOptions(sections, defaultSectionId, {
4600
+ id: defaultSectionId,
4601
+ label: model.sectionLabel,
4602
+ title: model.sectionLabel,
4603
+ columns: model.columns
4604
+ });
4605
+ appendModelControls(controls, rootControls, defaultViewId, defaultSectionId);
4606
+ }
4607
+ for (const [sectionId, section] of Object.entries(rootSections ?? {})) {
4608
+ registerSectionOptions(sections, sectionId, controlModelSectionOptions(section));
4609
+ appendModelControls(controls, section.controls, defaultViewId, sectionId, section.sidebar);
4610
+ }
4611
+ for (const [viewId, view] of Object.entries(modelViews ?? {})) {
4612
+ const { controls: viewControls, sections: viewSections, section, sectionLabel, sectionDescription, ...viewConfig } = view;
4613
+ views[viewId] = omitUndefined(viewConfig);
4614
+ if (viewControls) {
4615
+ const sectionId = section ?? `${viewId}-controls`;
4616
+ const label = sectionLabel ?? view.label;
4617
+ registerSectionOptions(sections, sectionId, {
4618
+ id: sectionId,
4619
+ label,
4620
+ title: label,
4621
+ description: sectionDescription,
4622
+ columns: model.columns
4623
+ });
4624
+ appendModelControls(controls, viewControls, viewId, sectionId);
4625
+ }
4626
+ for (const [sectionKey, sectionConfig] of Object.entries(viewSections ?? {})) {
4627
+ const sectionId = sectionConfig.id ?? `${viewId}-${sectionKey}`;
4628
+ registerSectionOptions(sections, sectionId, controlModelSectionOptions(sectionConfig));
4629
+ appendModelControls(controls, sectionConfig.controls, viewId, sectionId, sectionConfig.sidebar);
4630
+ }
4631
+ }
4632
+ const controlOptions = { ...baseOptions };
4633
+ if (Object.keys(views).length > 0) controlOptions.views = views;
4634
+ if (Object.keys(sections).length > 0) controlOptions.sections = sections;
4635
+ return {
4636
+ controls,
4637
+ controlOptions,
4638
+ ...resolvedComponentBindings === void 0 ? {} : { componentBindings: resolvedComponentBindings },
4639
+ ...componentProps === void 0 ? {} : { componentProps },
4640
+ ...componentPropsById === void 0 ? {} : { componentPropsById }
4641
+ };
4642
+ }
4643
+ function appendModelControls(target, source, viewId, sectionId, sidebar) {
4644
+ for (const [name, input] of Object.entries(source)) {
4645
+ if (Object.prototype.hasOwnProperty.call(target, name)) throw new Error(`Duplicate control "${name}" in defineControlModel(). Control names must be unique across views and sections.`);
4646
+ const definition = normalizeControlDefinition(input);
4647
+ target[name] = omitUndefined({
4648
+ ...definition,
4649
+ view: definition.view ?? viewId,
4650
+ section: definition.section ?? sectionId,
4651
+ sidebar: definition.sidebar ?? sidebar
4652
+ });
4653
+ }
4654
+ }
4655
+ function controlModelSectionOptions(section) {
4656
+ const { controls: _controls, sidebar: _sidebar, ...options } = section;
4657
+ return omitUndefined(options);
4658
+ }
4659
+ function registerSectionOptions(target, sectionId, options) {
4660
+ target[sectionId] = omitUndefined({
4661
+ ...target[sectionId] ?? {},
4662
+ ...options,
4663
+ id: sectionId
4664
+ });
4665
+ }
4666
+ //#endregion
4581
4667
  //#region src/composables/useControlWorkspace.ts
4582
4668
  /** Prepare shared reactive values plus AppTopBar/AppSidebar/FormBuilder bindings from one simple controls data model. */
4583
4669
  function useControlWorkspace(controlsOrModel, options = {}) {
4584
- const model = isControlModelBindingInput(controlsOrModel) ? controlsOrModel : void 0;
4670
+ const model = isControlModelBinding(controlsOrModel) ? controlsOrModel : void 0;
4585
4671
  const controls = model ? model.controls : controlsOrModel;
4586
4672
  const { initialValues, topBarSettings, ...schemaOptions } = model ? mergeControlWorkspaceOptions(model.controlOptions, options) : options;
4587
4673
  const schema = useControlSchema(controls, schemaOptions);
@@ -4698,79 +4784,8 @@ function useControlWorkspace(controlsOrModel, options = {}) {
4698
4784
  getComponentBindingsById
4699
4785
  };
4700
4786
  }
4701
- function isControlModelBindingInput(value) {
4702
- return typeof value === "object" && value !== null && "controls" in value && "controlOptions" in value;
4703
- }
4704
4787
  //#endregion
4705
- //#region src/composables/useControlSchema.ts
4706
- /** Preserve literal control keys while marking an object as a MINT control schema. */
4707
- function defineControls(controls) {
4708
- return controls;
4709
- }
4710
- /** Preserve literal SDK component binding ids while marking an object as generated workspace component bindings. */
4711
- function defineControlComponentBindings(bindings) {
4712
- return bindings;
4713
- }
4714
- /** Create a complete workspace component binding from a simple controls data model for ControlWorkspaceView, generated forms, and sidebars. */
4715
- function defineControlModel(model) {
4716
- const { controls: rootControls, sections: rootSections, views: modelViews, components, componentBindings, componentProps, componentPropsById, ...baseOptions } = model;
4717
- const resolvedComponentBindings = componentBindings ?? components;
4718
- const controls = {};
4719
- const views = {};
4720
- const sections = {};
4721
- const defaultViewId = model.view ?? "default";
4722
- const defaultSectionId = model.section ?? "controls";
4723
- if (rootControls) {
4724
- registerSectionOptions(sections, defaultSectionId, {
4725
- id: defaultSectionId,
4726
- label: model.sectionLabel,
4727
- title: model.sectionLabel,
4728
- columns: model.columns
4729
- });
4730
- appendModelControls(controls, rootControls, defaultViewId, defaultSectionId);
4731
- }
4732
- for (const [sectionId, section] of Object.entries(rootSections ?? {})) {
4733
- registerSectionOptions(sections, sectionId, controlModelSectionOptions(section));
4734
- appendModelControls(controls, section.controls, defaultViewId, sectionId, section.sidebar);
4735
- }
4736
- for (const [viewId, view] of Object.entries(modelViews ?? {})) {
4737
- const { controls: viewControls, sections: viewSections, section, sectionLabel, sectionDescription, ...viewConfig } = view;
4738
- views[viewId] = omitUndefined(viewConfig);
4739
- if (viewControls) {
4740
- const sectionId = section ?? `${viewId}-controls`;
4741
- const label = sectionLabel ?? view.label;
4742
- registerSectionOptions(sections, sectionId, {
4743
- id: sectionId,
4744
- label,
4745
- title: label,
4746
- description: sectionDescription,
4747
- columns: model.columns
4748
- });
4749
- appendModelControls(controls, viewControls, viewId, sectionId);
4750
- }
4751
- for (const [sectionKey, sectionConfig] of Object.entries(viewSections ?? {})) {
4752
- const sectionId = sectionConfig.id ?? `${viewId}-${sectionKey}`;
4753
- registerSectionOptions(sections, sectionId, controlModelSectionOptions(sectionConfig));
4754
- appendModelControls(controls, sectionConfig.controls, viewId, sectionId, sectionConfig.sidebar);
4755
- }
4756
- }
4757
- const controlOptions = { ...baseOptions };
4758
- if (Object.keys(views).length > 0) controlOptions.views = views;
4759
- if (Object.keys(sections).length > 0) controlOptions.sections = sections;
4760
- return {
4761
- controls,
4762
- controlOptions,
4763
- ...resolvedComponentBindings === void 0 ? {} : { componentBindings: resolvedComponentBindings },
4764
- ...componentProps === void 0 ? {} : { componentProps },
4765
- ...componentPropsById === void 0 ? {} : { componentPropsById }
4766
- };
4767
- }
4768
- /** Build default values for a control schema, matching FormBuilder field defaults. */
4769
- function getControlDefaults(controls) {
4770
- const values = {};
4771
- for (const control of normalizeControls(controls)) values[control.name] = defaultValueForControl(control.definition, control.type);
4772
- return values;
4773
- }
4788
+ //#region src/composables/controlSchemaDoseDesign.ts
4774
4789
  /** Return a default WellPlate prop mapping for generated control workspaces. */
4775
4790
  function defineWellPlateControlProps(options = {}) {
4776
4791
  const selectedWells = options.selectedWells ?? sourceKey("selectedWells");
@@ -4873,67 +4888,6 @@ function defineDoseDesignControlModel(options = {}) {
4873
4888
  } }
4874
4889
  });
4875
4890
  }
4876
- /** Prepare FormBuilder, SettingsModal, AppTopBar settings, AppSidebar, and initial values from one compact control model. */
4877
- function useControlSchema(controls, options = {}) {
4878
- const formSchema = controlsToFormSchema(controls, options);
4879
- const settingsSchema = controlsToSettingsSchema(controls, options);
4880
- const topBarSettingsConfig = controlsToTopBarSettingsConfig(controls, options);
4881
- const sidebarPanels = controlsToSidebarPanels(controls, options);
4882
- const viewItems = controlsToViewItems(controls, options);
4883
- const viewIds = viewItems.map((item) => item.id);
4884
- const defaultView = viewIds[0] ?? "";
4885
- const sectionSchemas = controlsToSectionFormSchemas(controls, options);
4886
- return {
4887
- controls,
4888
- fields: normalizeControls(controls, options).map(controlToFormField),
4889
- formSchema,
4890
- form: { schema: formSchema },
4891
- settingsSchema,
4892
- settings: { schema: settingsSchema },
4893
- topBarSettingsConfig,
4894
- topBarSettings: {
4895
- showSettings: true,
4896
- settingsConfig: topBarSettingsConfig
4897
- },
4898
- sidebarPanels,
4899
- viewIds,
4900
- viewItems,
4901
- defaultView,
4902
- sectionSchemas,
4903
- sidebar: {
4904
- panels: sidebarPanels,
4905
- forms: sectionSchemas,
4906
- viewIds,
4907
- viewItems,
4908
- defaultView
4909
- },
4910
- initialValues: getControlDefaults(controls),
4911
- sectionSchema: (sectionId) => controlsToSectionFormSchema(controls, sectionId, options)
4912
- };
4913
- }
4914
- function appendModelControls(target, source, viewId, sectionId, sidebar) {
4915
- for (const [name, input] of Object.entries(source)) {
4916
- if (Object.prototype.hasOwnProperty.call(target, name)) throw new Error(`Duplicate control "${name}" in defineControlModel(). Control names must be unique across views and sections.`);
4917
- const definition = normalizeControlDefinition(input);
4918
- target[name] = omitUndefined({
4919
- ...definition,
4920
- view: definition.view ?? viewId,
4921
- section: definition.section ?? sectionId,
4922
- sidebar: definition.sidebar ?? sidebar
4923
- });
4924
- }
4925
- }
4926
- function controlModelSectionOptions(section) {
4927
- const { controls: _controls, sidebar: _sidebar, ...options } = section;
4928
- return omitUndefined(options);
4929
- }
4930
- function registerSectionOptions(target, sectionId, options) {
4931
- target[sectionId] = omitUndefined({
4932
- ...target[sectionId] ?? {},
4933
- ...options,
4934
- id: sectionId
4935
- });
4936
- }
4937
4891
  function compactComponentPropsMap(mapping) {
4938
4892
  return Object.fromEntries(Object.entries(mapping).filter((entry) => entry[1] !== void 0));
4939
4893
  }
@@ -4976,6 +4930,60 @@ function updateWellsFromDoseResults(source) {
4976
4930
  };
4977
4931
  }
4978
4932
  //#endregion
4933
+ //#region src/composables/useControlSchema.ts
4934
+ /** Preserve literal control keys while marking an object as a MINT control schema. */
4935
+ function defineControls(controls) {
4936
+ return controls;
4937
+ }
4938
+ /** Preserve literal SDK component binding ids while marking an object as generated workspace component bindings. */
4939
+ function defineControlComponentBindings(bindings) {
4940
+ return bindings;
4941
+ }
4942
+ /** Build default values for a control schema, matching FormBuilder field defaults. */
4943
+ function getControlDefaults(controls) {
4944
+ const values = {};
4945
+ for (const control of normalizeControls(controls)) values[control.name] = defaultValueForControl(control.definition, control.type);
4946
+ return values;
4947
+ }
4948
+ /** Prepare FormBuilder, SettingsModal, AppTopBar settings, AppSidebar, and initial values from one compact control model. */
4949
+ function useControlSchema(controls, options = {}) {
4950
+ const formSchema = controlsToFormSchema(controls, options);
4951
+ const settingsSchema = controlsToSettingsSchema(controls, options);
4952
+ const topBarSettingsConfig = controlsToTopBarSettingsConfig(controls, options);
4953
+ const sidebarPanels = controlsToSidebarPanels(controls, options);
4954
+ const viewItems = controlsToViewItems(controls, options);
4955
+ const viewIds = viewItems.map((item) => item.id);
4956
+ const defaultView = viewIds[0] ?? "";
4957
+ const sectionSchemas = controlsToSectionFormSchemas(controls, options);
4958
+ return {
4959
+ controls,
4960
+ fields: normalizeControls(controls, options).map(controlToFormField),
4961
+ formSchema,
4962
+ form: { schema: formSchema },
4963
+ settingsSchema,
4964
+ settings: { schema: settingsSchema },
4965
+ topBarSettingsConfig,
4966
+ topBarSettings: {
4967
+ showSettings: true,
4968
+ settingsConfig: topBarSettingsConfig
4969
+ },
4970
+ sidebarPanels,
4971
+ viewIds,
4972
+ viewItems,
4973
+ defaultView,
4974
+ sectionSchemas,
4975
+ sidebar: {
4976
+ panels: sidebarPanels,
4977
+ forms: sectionSchemas,
4978
+ viewIds,
4979
+ viewItems,
4980
+ defaultView
4981
+ },
4982
+ initialValues: getControlDefaults(controls),
4983
+ sectionSchema: (sectionId) => controlsToSectionFormSchema(controls, sectionId, options)
4984
+ };
4985
+ }
4986
+ //#endregion
4979
4987
  //#region src/templates/builderReadUtils.ts
4980
4988
  function isRecord$2(value) {
4981
4989
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -10037,6 +10045,6 @@ function getBioTemplateControlDefaults(target) {
10037
10045
  return getControlDefaults(requireBioTemplateControlSchema(target));
10038
10046
  }
10039
10047
  //#endregion
10040
- export { toTimeCourseRows as $, addMinutes$1 as $n, listBioTemplatePacks as $t, createSamplePrepTemplate as A, controlsToSectionFormSchemas as An, toCalibrationCurveRows as At, toBioTemplateComponentProps as B, UnitInput_default as Bn, validatePlateMapData as Bt, createFlowCytometryPanelTemplate as C, useControlWorkspace as Cn, BaseToggle_default as Cr, toInstrumentRunScheduleEvents as Ct, createTimeCourseTemplate as D, mergeControlWorkspaceOptions as Dn, BaseTextarea_default as Dr, toFlowPanelRows as Dt, createProtocolStepsTemplate as E, controlValuesToComponentProps as En, normalizeOptionInput as Er, toFlowPanelDataFrame as Et, getBioTemplateComponentProps as F, controlsToViewItems as Fn, validateAssayMatrixData as Ft, toTemplateDataFrame as G, FormulaInput_default as Gn, validateSampleSheetData as Gt, toBioTemplateComponentPropsById as H, MoleculeInput_default as Hn, validateQpcrPlateData as Ht, listBioTemplateComponentBindings as I, getDefaultControlView as In, validateCalibrationCurveData as It, toDoseLayoutState as J, DateTimePicker_default as Jn, getBioTemplatePresetInfo as Jt, toWellMapArray as K, ATOMIC_WEIGHTS as Kn, validateTimeCourseData as Kt, toBioTemplateComponentBindings as L, getFieldRegistryEntry as Ln, validateDoseResponseData as Lt, createPlateMapTemplate as M, controlsToSidebarPanels as Mn, toAssayMatrixDataFrame as Mt, bioTemplatePresetControlValuesToOptions as N, controlsToTopBarSettingsConfig as Nn, toAssayMatrixRows as Nt, createCalibrationCurveTemplate as O, controlsToFormSchema as On, BaseInput_default as Or, toCalibrationCurveColumns as Ot, getBioTemplateComponentBindings as P, controlsToViewIds as Pn, toAssayMatrixSampleOptions as Pt, toTimeCourseDataFrame as Q, TimePicker_default as Qn, getBioTemplatePackInfo as Qt, toBioTemplateComponentBindingsById as R, getTypeDefault as Rn, validateFlowCytometryPanelData as Rt, createInstrumentRunTemplate as S, useControlSchema as Sn, BaseRadioGroup_default as Sr, toInstrumentRunRows as St, createAssayMatrixTemplate as T, controlValuesToComponentBindingsById as Tn, BaseSelect_default as Tr, toFlowPanelColumns as Tt, toBioTemplateComponentSnippets as U, SequenceInput_default as Un, validateReagentListData as Ut, toBioTemplateComponentPropsByComponent as V, useConcentrationUnits as Vn, validateProtocolStepsData as Vt, toBioTemplateComponentUsage as W, useSequenceUtils as Wn, validateSamplePrepData as Wt, toWellPlateWells as X, NumberInput_default as Xn, searchBioTemplatePresets as Xt, toPlateMapEditorState as Y, FileUploader_default as Yn, listBioTemplatePresets as Yt, toTimeCourseColumns as Z, TagsInput_default as Zn, bioTemplatePacks as Zt, createElisaAssayCollection as _, defineDoseDesignControlModel as _n, MultiSelect_default as _r, toProtocolDataFrame as _t, getBioTemplateControlDefaults as a, TEMPLATE_COLLECTION_KEY as an, formatTime as ar, toSamplePrepColumns as at, createQpcrExpressionCollection as b, defineWellPlateDoseControlProps as bn, useEventListener as br, toInstrumentRunColumns as bt, listBioTemplatePresetControlSchemas as c, createTemplateEnvelope as cn, generateTimeSlots as cr, toReagentColumns as ct, createBioTemplatePresetCollectionFromControls as d, extractTemplateCollection as dn, rangesOverlap as dr, toReagentRows as dt, searchBioTemplatePacks as en, compareTime as er, toTimeCourseSteps as et, createWellPlateScreenCollection as f, getTemplateData as fn, snapToSlot as fr, toQpcrColumns as ft, createFlowCytometryAssayCollection as g, defineDoseCalculatorControlProps as gn, useDropdownState as gr, toProtocolColumns as gt, createWesternBlotAssayCollection as h, defineControls as hn, DatePicker_default as hr, toQpcrWellPlateWells as ht, createBioTemplateControlToolkit as i, searchBioTemplateCatalog as in, formatDuration as ir, toSampleRows as it, createSampleSheetTemplate as j, controlsToSettingsSchema as jn, toAssayMatrixColumns as jt, createDoseResponseTemplate as k, controlsToSectionFormSchema as kn, toCalibrationCurveDataFrame as kt, requireBioTemplateControlSchema as l, ensureTemplateEnvelope as ln, isTimeInRange as lr, toReagentDataFrame as lt, createDefaultBioTemplate as m, defineControlModel as mn, useTimeUtils as mr, toQpcrRows as mt, bioTemplateControlsToSectionFormSchemas as n, getBioTemplateInfo as nn, findAvailableSlots as nr, toSampleDataFrame as nt, getBioTemplateControlSchema as o, assertTemplateEnvelope as on, formatTimeSlot as or, toSamplePrepDataFrame as ot, createBioTemplatePackCollection as p, defineControlComponentBindings as pn, toMinutes as pr, toQpcrDataFrame as pt, toDoseConditions as q, useChemicalFormula as qn, bioTemplatePresets as qt, bioTemplateControlsToSidebarPanels as r, listBioTemplateCatalog as rn, findNearestTimeSlotIndex as rr, toSampleOptions as rt, listBioTemplateControlSchemas as s, createTemplateCollection as sn, fromMinutes as sr, toSamplePrepRows as st, bioTemplateControlsToFormSchema as t, bioTemplateCatalog as tn, durationMinutes as tr, toSampleColumns as tt, createBioTemplatePresetCollection as u, ensureTemplateFromCollection as un, parseTime as ur, toReagentListItems as ut, createTargetedMetabolomicsCollection as v, defineWellPlateControlProps as vn, useListSelection as vr, toProtocolRows as vt, createReagentListTemplate as w, controlValuesToComponentBindings as wn, BaseCheckbox_default as wr, toInstrumentRunSteps as wt, createQpcrPlateTemplate as x, getControlDefaults as xn, BaseSlider_default as xr, toInstrumentRunDataFrame as xt, createLcmsBatchCollection as y, defineWellPlateDoseComponentBindings as yn, useSelectionLimit as yr, toProtocolSteps as yt, toBioTemplateComponentImports as z, ConcentrationInput_default as zn, validateInstrumentRunData as zt };
10048
+ export { toTimeCourseRows as $, TimePicker_default as $n, listBioTemplatePacks as $t, createSamplePrepTemplate as A, controlsToSectionFormSchema as An, toCalibrationCurveRows as At, toBioTemplateComponentProps as B, ConcentrationInput_default as Bn, validatePlateMapData as Bt, createFlowCytometryPanelTemplate as C, defineControlModel as Cn, BaseRadioGroup_default as Cr, toInstrumentRunScheduleEvents as Ct, createTimeCourseTemplate as D, controlValuesToComponentProps as Dn, normalizeOptionInput as Dr, toFlowPanelRows as Dt, createProtocolStepsTemplate as E, controlValuesToComponentBindingsById as En, BaseSelect_default as Er, toFlowPanelDataFrame as Et, getBioTemplateComponentProps as F, controlsToViewIds as Fn, validateAssayMatrixData as Ft, toTemplateDataFrame as G, useSequenceUtils as Gn, validateSampleSheetData as Gt, toBioTemplateComponentPropsById as H, useConcentrationUnits as Hn, validateQpcrPlateData as Ht, listBioTemplateComponentBindings as I, controlsToViewItems as In, validateCalibrationCurveData as It, toDoseLayoutState as J, useChemicalFormula as Jn, getBioTemplatePresetInfo as Jt, toWellMapArray as K, FormulaInput_default as Kn, validateTimeCourseData as Kt, toBioTemplateComponentBindings as L, getDefaultControlView as Ln, validateDoseResponseData as Lt, createPlateMapTemplate as M, controlsToSettingsSchema as Mn, toAssayMatrixDataFrame as Mt, bioTemplatePresetControlValuesToOptions as N, controlsToSidebarPanels as Nn, toAssayMatrixRows as Nt, createCalibrationCurveTemplate as O, mergeControlWorkspaceOptions as On, BaseTextarea_default as Or, toCalibrationCurveColumns as Ot, getBioTemplateComponentBindings as P, controlsToTopBarSettingsConfig as Pn, toAssayMatrixSampleOptions as Pt, toTimeCourseDataFrame as Q, TagsInput_default as Qn, getBioTemplatePackInfo as Qt, toBioTemplateComponentBindingsById as R, getFieldRegistryEntry as Rn, validateFlowCytometryPanelData as Rt, createInstrumentRunTemplate as S, useControlWorkspace as Sn, BaseSlider_default as Sr, toInstrumentRunRows as St, createAssayMatrixTemplate as T, controlValuesToComponentBindings as Tn, BaseCheckbox_default as Tr, toFlowPanelColumns as Tt, toBioTemplateComponentSnippets as U, MoleculeInput_default as Un, validateReagentListData as Ut, toBioTemplateComponentPropsByComponent as V, UnitInput_default as Vn, validateProtocolStepsData as Vt, toBioTemplateComponentUsage as W, SequenceInput_default as Wn, validateSamplePrepData as Wt, toWellPlateWells as X, FileUploader_default as Xn, searchBioTemplatePresets as Xt, toPlateMapEditorState as Y, DateTimePicker_default as Yn, listBioTemplatePresets as Yt, toTimeCourseColumns as Z, NumberInput_default as Zn, bioTemplatePacks as Zt, createElisaAssayCollection as _, defineDoseCalculatorControlProps as _n, useDropdownState as _r, toProtocolDataFrame as _t, getBioTemplateControlDefaults as a, TEMPLATE_COLLECTION_KEY as an, formatDuration as ar, toSamplePrepColumns as at, createQpcrExpressionCollection as b, defineWellPlateDoseComponentBindings as bn, useSelectionLimit as br, toInstrumentRunColumns as bt, listBioTemplatePresetControlSchemas as c, createTemplateEnvelope as cn, fromMinutes as cr, toReagentColumns as ct, createBioTemplatePresetCollectionFromControls as d, extractTemplateCollection as dn, parseTime as dr, toReagentRows as dt, searchBioTemplatePacks as en, addMinutes$1 as er, toTimeCourseSteps as et, createWellPlateScreenCollection as f, getTemplateData as fn, rangesOverlap as fr, toQpcrColumns as ft, createFlowCytometryAssayCollection as g, useControlSchema as gn, DatePicker_default as gr, toProtocolColumns as gt, createWesternBlotAssayCollection as h, getControlDefaults as hn, useTimeUtils as hr, toQpcrWellPlateWells as ht, createBioTemplateControlToolkit as i, searchBioTemplateCatalog as in, findNearestTimeSlotIndex as ir, toSampleRows as it, createSampleSheetTemplate as j, controlsToSectionFormSchemas as jn, toAssayMatrixColumns as jt, createDoseResponseTemplate as k, controlsToFormSchema as kn, BaseInput_default as kr, toCalibrationCurveDataFrame as kt, requireBioTemplateControlSchema as l, ensureTemplateEnvelope as ln, generateTimeSlots as lr, toReagentDataFrame as lt, createDefaultBioTemplate as m, defineControls as mn, toMinutes as mr, toQpcrRows as mt, bioTemplateControlsToSectionFormSchemas as n, getBioTemplateInfo as nn, durationMinutes as nr, toSampleDataFrame as nt, getBioTemplateControlSchema as o, assertTemplateEnvelope as on, formatTime as or, toSamplePrepDataFrame as ot, createBioTemplatePackCollection as p, defineControlComponentBindings as pn, snapToSlot as pr, toQpcrDataFrame as pt, toDoseConditions as q, ATOMIC_WEIGHTS as qn, bioTemplatePresets as qt, bioTemplateControlsToSidebarPanels as r, listBioTemplateCatalog as rn, findAvailableSlots as rr, toSampleOptions as rt, listBioTemplateControlSchemas as s, createTemplateCollection as sn, formatTimeSlot as sr, toSamplePrepRows as st, bioTemplateControlsToFormSchema as t, bioTemplateCatalog as tn, compareTime as tr, toSampleColumns as tt, createBioTemplatePresetCollection as u, ensureTemplateFromCollection as un, isTimeInRange as ur, toReagentListItems as ut, createTargetedMetabolomicsCollection as v, defineDoseDesignControlModel as vn, MultiSelect_default as vr, toProtocolRows as vt, createReagentListTemplate as w, resolveControlModel as wn, BaseToggle_default as wr, toInstrumentRunSteps as wt, createQpcrPlateTemplate as x, defineWellPlateDoseControlProps as xn, useEventListener as xr, toInstrumentRunDataFrame as xt, createLcmsBatchCollection as y, defineWellPlateControlProps as yn, useListSelection as yr, toProtocolSteps as yt, toBioTemplateComponentImports as z, getTypeDefault as zn, validateInstrumentRunData as zt };
10041
10049
 
10042
- //# sourceMappingURL=templates-bUAWMn5L.js.map
10050
+ //# sourceMappingURL=templates-DtdUvJ4c.js.map