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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) 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 +9 -6
  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 +7 -2
  44. package/dist/components/BaseInput.vue.d.ts +2 -2
  45. package/dist/components/BasePill.vue.d.ts +2 -2
  46. package/dist/components/BaseRadioGroup.vue.d.ts +2 -2
  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 +7 -2
  51. package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +2 -2
  52. package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +1 -1
  53. package/dist/components/CollapsibleCard.vue.d.ts +9 -0
  54. package/dist/components/ColorSlider.vue.d.ts +2 -2
  55. package/dist/components/ConcentrationInput.vue.d.ts +2 -2
  56. package/dist/components/ControlWorkspaceView.vue.d.ts +4 -4
  57. package/dist/components/DatePicker.vue.d.ts +1 -1
  58. package/dist/components/DateTimePicker.vue.d.ts +2 -2
  59. package/dist/components/DoseCalculatorVolumeField.vue.d.ts +15 -0
  60. package/dist/components/DoseDesignWorkspaceView.vue.d.ts +2 -2
  61. package/dist/components/DropdownButton.vue.d.ts +1 -1
  62. package/dist/components/FileUploader.vue.d.ts +2 -2
  63. package/dist/components/FormulaInput.vue.d.ts +2 -2
  64. package/dist/components/IconButton.vue.d.ts +1 -1
  65. package/dist/components/LoadingSpinner.vue.d.ts +1 -1
  66. package/dist/components/MoleculeInput.vue.d.ts +2 -2
  67. package/dist/components/MultiSelect.vue.d.ts +1 -1
  68. package/dist/components/NumberInput.vue.d.ts +1 -1
  69. package/dist/components/PlateMapEditor.vue.d.ts +6 -6
  70. package/dist/components/PluginWorkspaceView.controls.d.ts +28 -0
  71. package/dist/components/PluginWorkspaceView.navigation.d.ts +29 -0
  72. package/dist/components/PluginWorkspaceView.props.d.ts +151 -0
  73. package/dist/components/PluginWorkspaceView.shell.d.ts +19 -0
  74. package/dist/components/PluginWorkspaceView.vue.d.ts +51 -196
  75. package/dist/components/ProgressBar.vue.d.ts +1 -1
  76. package/dist/components/ProtocolStep.presentation.d.ts +4 -0
  77. package/dist/components/ProtocolStepEditor.state.d.ts +18 -0
  78. package/dist/components/ProtocolStepParameterField.vue.d.ts +12 -0
  79. package/dist/components/ReagentList.presentation.d.ts +16 -0
  80. package/dist/components/ResourceCard.vue.d.ts +1 -1
  81. package/dist/components/SampleSelector.colors.d.ts +13 -0
  82. package/dist/components/SampleSelector.drag.d.ts +24 -0
  83. package/dist/components/SampleSelector.groups.d.ts +15 -0
  84. package/dist/components/SampleSelector.selection.d.ts +26 -0
  85. package/dist/components/SampleSelector.vue.d.ts +4 -1
  86. package/dist/components/SampleSelectorSampleRow.vue.d.ts +21 -0
  87. package/dist/components/SegmentedControl.vue.d.ts +1 -1
  88. package/dist/components/SequenceInput.vue.d.ts +2 -2
  89. package/dist/components/SequenceProgressBar.vue.d.ts +1 -1
  90. package/dist/components/SettingsModal.schema.d.ts +9 -0
  91. package/dist/components/StatusIndicator.vue.d.ts +1 -1
  92. package/dist/components/TagsInput.vue.d.ts +2 -2
  93. package/dist/components/TimePicker.vue.d.ts +2 -2
  94. package/dist/components/TimeRangeInput.vue.d.ts +1 -1
  95. package/dist/components/UnitInput.vue.d.ts +2 -2
  96. package/dist/components/WellPlate.colors.d.ts +9 -0
  97. package/dist/components/WellPlate.conditions.d.ts +26 -0
  98. package/dist/components/WellPlate.geometry.d.ts +23 -0
  99. package/dist/components/WellPlate.interaction.d.ts +71 -0
  100. package/dist/components/WellPlate.legend.d.ts +2 -0
  101. package/dist/components/WellPlate.rendering.d.ts +24 -0
  102. package/dist/components/WellPlate.sampleDrop.d.ts +8 -0
  103. package/dist/components/WellPlate.vue.d.ts +1 -1
  104. package/dist/components/index.js +2 -2
  105. package/dist/components/internal/ActionItemInternal.vue.d.ts +1 -1
  106. package/dist/components/internal/PlateMapEditorToolbarInternal.vue.d.ts +28 -0
  107. package/dist/{components-DafPc4rM.js → components-Blx4MG--.js} +4073 -4222
  108. package/dist/components-Blx4MG--.js.map +1 -0
  109. package/dist/composables/autoGroup/classKey.d.ts +4 -0
  110. package/dist/composables/autoGroup/classify.d.ts +28 -0
  111. package/dist/composables/autoGroup/colors.d.ts +2 -0
  112. package/dist/composables/autoGroup/columns.d.ts +10 -0
  113. package/dist/composables/autoGroup/compose.d.ts +8 -0
  114. package/dist/composables/autoGroup/cooccurrence.d.ts +2 -0
  115. package/dist/composables/autoGroup/csv-shim.d.ts +2 -0
  116. package/dist/composables/autoGroup/fingerprint.d.ts +3 -0
  117. package/dist/composables/autoGroup/index.d.ts +16 -0
  118. package/dist/composables/autoGroup/replicatePreGroup.d.ts +38 -0
  119. package/dist/composables/autoGroup/template.d.ts +15 -0
  120. package/dist/composables/autoGroup/tokenize.d.ts +8 -0
  121. package/dist/composables/autoGroupConstants.d.ts +1 -0
  122. package/dist/composables/autoGroupGrouping.d.ts +3 -0
  123. package/dist/composables/controlComponentBindings.d.ts +1 -1
  124. package/dist/composables/controlSchemaAdapters.d.ts +1 -1
  125. package/dist/composables/controlSchemaDoseDesign.d.ts +11 -0
  126. package/dist/composables/controlSchemaLayout.d.ts +1 -1
  127. package/dist/composables/controlSchemaModel.d.ts +5 -0
  128. package/dist/composables/controlSchemaNormalize.d.ts +1 -1
  129. package/dist/composables/controlSchemaTypes.d.ts +311 -0
  130. package/dist/composables/controlWorkspaceOptions.d.ts +1 -1
  131. package/dist/composables/formBuilderSchema.d.ts +18 -0
  132. package/dist/composables/index.js +3 -3
  133. package/dist/composables/pluginEndpointBuilder.d.ts +13 -0
  134. package/dist/composables/protocolTemplateCatalog.d.ts +26 -0
  135. package/dist/composables/useAutoGroup.d.ts +61 -74
  136. package/dist/composables/useAutoGroupInputSources.d.ts +32 -0
  137. package/dist/composables/useBioTemplateControls.d.ts +1 -1
  138. package/dist/composables/useBioTemplatePresetWorkspace.d.ts +1 -1
  139. package/dist/composables/useBioTemplateWorkspace.d.ts +1 -1
  140. package/dist/composables/useControlSchema.d.ts +4 -316
  141. package/dist/composables/useControlWorkspace.d.ts +1 -1
  142. package/dist/composables/useForm.d.ts +2 -33
  143. package/dist/composables/useFormBuilder.d.ts +2 -9
  144. package/dist/composables/useFormValidation.d.ts +34 -0
  145. package/dist/composables/usePluginClient.d.ts +1 -4
  146. package/dist/composables/useProtocolTemplates.d.ts +2 -24
  147. package/dist/composables/useScheduleCalendarLayout.d.ts +49 -0
  148. package/dist/{composables-BMkPQhVK.js → composables-CHDjDIQT.js} +33 -31
  149. package/dist/composables-CHDjDIQT.js.map +1 -0
  150. package/dist/index.js +4 -4
  151. package/dist/install.js +2 -2
  152. package/dist/styles.css +1432 -660
  153. package/dist/templates/controlSchemaTypes.d.ts +1 -1
  154. package/dist/templates/index.js +1 -1
  155. package/dist/templates/templateAdapterTypes.d.ts +48 -0
  156. package/dist/templates/templateCreateOptions.d.ts +165 -0
  157. package/dist/templates/templateQpcrTypes.d.ts +42 -0
  158. package/dist/templates/types.d.ts +5 -250
  159. package/dist/{templates-bUAWMn5L.js → templates-DSbHJC4v.js} +1536 -297
  160. package/dist/templates-DSbHJC4v.js.map +1 -0
  161. package/dist/types/auto-group.d.ts +79 -9
  162. package/dist/types/componentLabTypes.d.ts +161 -0
  163. package/dist/types/componentWorkflowTypes.d.ts +150 -0
  164. package/dist/types/components.d.ts +14 -311
  165. package/dist/types/form-builder.d.ts +3 -0
  166. package/dist/types/index.d.ts +1 -1
  167. package/dist/{useProtocolTemplates-QZtHFFH2.js → useProtocolTemplates-BbPOYPzO.js} +1220 -454
  168. package/dist/useProtocolTemplates-BbPOYPzO.js.map +1 -0
  169. package/package.json +1 -1
  170. package/src/__tests__/components/AppSidebar.test.ts +67 -0
  171. package/src/__tests__/components/AppTopBar.navigation.test.ts +70 -0
  172. package/src/__tests__/components/CollapsibleCard.test.ts +47 -0
  173. package/src/__tests__/components/DoseCalculatorVolumeField.test.ts +53 -0
  174. package/src/__tests__/components/FormBuilder.test.ts +57 -0
  175. package/src/__tests__/components/PlateMapEditorToolbarInternal.test.ts +54 -0
  176. package/src/__tests__/components/PluginWorkspaceView.controls.test.ts +156 -0
  177. package/src/__tests__/components/PluginWorkspaceView.navigation.test.ts +102 -0
  178. package/src/__tests__/components/PluginWorkspaceView.shell.test.ts +43 -0
  179. package/src/__tests__/components/ProtocolStep.presentation.test.ts +31 -0
  180. package/src/__tests__/components/ProtocolStepEditor.state.test.ts +165 -0
  181. package/src/__tests__/components/ProtocolStepParameterField.test.ts +44 -0
  182. package/src/__tests__/components/ReagentList.presentation.test.ts +68 -0
  183. package/src/__tests__/components/SampleSelector.colors.test.ts +49 -0
  184. package/src/__tests__/components/SampleSelector.drag.test.ts +100 -0
  185. package/src/__tests__/components/SampleSelector.groups.test.ts +81 -0
  186. package/src/__tests__/components/SampleSelector.selection.test.ts +70 -0
  187. package/src/__tests__/components/SampleSelector.test.ts +32 -0
  188. package/src/__tests__/components/SampleSelectorSampleRow.test.ts +37 -0
  189. package/src/__tests__/components/ScheduleCalendar.test.ts +44 -0
  190. package/src/__tests__/components/SettingsModal.schema.test.ts +97 -0
  191. package/src/__tests__/components/WellPlate.colors.test.ts +28 -0
  192. package/src/__tests__/components/WellPlate.conditions.test.ts +68 -0
  193. package/src/__tests__/components/WellPlate.geometry.test.ts +54 -0
  194. package/src/__tests__/components/WellPlate.interaction.test.ts +171 -0
  195. package/src/__tests__/components/WellPlate.legend.test.ts +13 -0
  196. package/src/__tests__/components/WellPlate.rendering.test.ts +122 -0
  197. package/src/__tests__/components/WellPlate.sampleDrop.test.ts +70 -0
  198. package/src/__tests__/composables/autoGroup/classify.test.ts +107 -0
  199. package/src/__tests__/composables/autoGroup/columns.test.ts +135 -0
  200. package/src/__tests__/composables/autoGroup/compose.test.ts +227 -0
  201. package/src/__tests__/composables/autoGroup/cooccurrence.test.ts +91 -0
  202. package/src/__tests__/composables/autoGroup/fingerprint.test.ts +50 -0
  203. package/src/__tests__/composables/autoGroup/integration.test.ts +79 -0
  204. package/src/__tests__/composables/autoGroup/template.test.ts +70 -0
  205. package/src/__tests__/composables/autoGroup/tokenize.test.ts +33 -0
  206. package/src/__tests__/composables/useAutoGroup.test.ts +129 -625
  207. package/src/__tests__/composables/useAutoGroupInputSources.test.ts +107 -0
  208. package/src/__tests__/composables/useControlSchema.test.ts +23 -0
  209. package/src/__tests__/composables/useScheduleCalendarLayout.test.ts +89 -0
  210. package/src/__tests__/docs/extractDocsComponents.test.ts +142 -0
  211. package/src/__tests__/docs/extractDocsExports.test.ts +77 -0
  212. package/src/__tests__/docs/extractDocsParsing.test.ts +69 -0
  213. package/src/__tests__/docs/extractDocsTemplates.test.ts +54 -0
  214. package/src/__tests__/docs/extractDocsTheme.test.ts +89 -0
  215. package/src/__tests__/docs/frontendDocsCatalog.test.ts +1 -1
  216. package/src/__tests__/fixtures/auto-group/mixed-lc-ms-batch.txt +187 -0
  217. package/src/components/AppSidebar.story.vue +79 -6
  218. package/src/components/AppSidebar.vue +74 -6
  219. package/src/components/AppTopBar.navigation.ts +62 -0
  220. package/src/components/AppTopBar.vue +17 -44
  221. package/src/components/AutoGroupModal.story.vue +50 -0
  222. package/src/components/AutoGroupModal.vue +441 -158
  223. package/src/components/BaseCheckbox.story.vue +27 -0
  224. package/src/components/BaseCheckbox.vue +63 -1
  225. package/src/components/BaseToggle.story.vue +27 -0
  226. package/src/components/BaseToggle.vue +66 -1
  227. package/src/components/CollapsibleCard.vue +123 -45
  228. package/src/components/ControlWorkspaceView.vue +2 -6
  229. package/src/components/DoseCalculator.vue +13 -73
  230. package/src/components/DoseCalculatorVolumeField.vue +61 -0
  231. package/src/components/ExperimentTimeline.vue +6 -31
  232. package/src/components/FormBuilder.story.vue +13 -0
  233. package/src/components/FormBuilder.vue +2 -7
  234. package/src/components/PlateMapEditor.vue +32 -106
  235. package/src/components/PluginWorkspaceView.controls.ts +182 -0
  236. package/src/components/PluginWorkspaceView.navigation.ts +106 -0
  237. package/src/components/PluginWorkspaceView.props.ts +174 -0
  238. package/src/components/PluginWorkspaceView.shell.ts +67 -0
  239. package/src/components/PluginWorkspaceView.vue +88 -404
  240. package/src/components/ProtocolStep.presentation.ts +31 -0
  241. package/src/components/ProtocolStepEditor.state.ts +104 -0
  242. package/src/components/ProtocolStepEditor.vue +48 -179
  243. package/src/components/ProtocolStepParameterField.vue +134 -0
  244. package/src/components/ReagentList.presentation.ts +105 -0
  245. package/src/components/ReagentList.vue +16 -79
  246. package/src/components/SampleSelector.colors.ts +43 -0
  247. package/src/components/SampleSelector.drag.ts +164 -0
  248. package/src/components/SampleSelector.groups.ts +109 -0
  249. package/src/components/SampleSelector.selection.ts +103 -0
  250. package/src/components/SampleSelector.vue +82 -349
  251. package/src/components/SampleSelectorSampleRow.vue +64 -0
  252. package/src/components/ScheduleCalendar.vue +44 -199
  253. package/src/components/SettingsModal.schema.ts +71 -0
  254. package/src/components/SettingsModal.vue +16 -46
  255. package/src/components/WellPlate.colors.ts +56 -0
  256. package/src/components/WellPlate.conditions.ts +100 -0
  257. package/src/components/WellPlate.geometry.ts +91 -0
  258. package/src/components/WellPlate.interaction.ts +272 -0
  259. package/src/components/WellPlate.legend.ts +8 -0
  260. package/src/components/WellPlate.rendering.ts +105 -0
  261. package/src/components/WellPlate.sampleDrop.ts +73 -0
  262. package/src/components/WellPlate.vue +102 -550
  263. package/src/components/internal/FormFieldRendererInternal.vue +23 -5
  264. package/src/components/internal/PlateMapEditorToolbarInternal.vue +128 -0
  265. package/src/composables/autoGroup/classKey.ts +5 -0
  266. package/src/composables/autoGroup/classify.ts +205 -0
  267. package/src/composables/autoGroup/colors.ts +6 -0
  268. package/src/composables/autoGroup/columns.ts +226 -0
  269. package/src/composables/autoGroup/compose.ts +156 -0
  270. package/src/composables/autoGroup/cooccurrence.ts +46 -0
  271. package/src/composables/autoGroup/csv-shim.ts +44 -0
  272. package/src/composables/autoGroup/fingerprint.ts +49 -0
  273. package/src/composables/autoGroup/index.ts +20 -0
  274. package/src/composables/autoGroup/replicatePreGroup.ts +90 -0
  275. package/src/composables/autoGroup/template.ts +126 -0
  276. package/src/composables/autoGroup/tokenize.ts +41 -0
  277. package/src/composables/autoGroup/vocab.json +67 -0
  278. package/src/composables/autoGroupConstants.ts +4 -0
  279. package/src/composables/autoGroupGrouping.ts +148 -0
  280. package/src/composables/controlComponentBindings.ts +1 -1
  281. package/src/composables/controlSchemaAdapters.ts +4 -1
  282. package/src/composables/controlSchemaDoseDesign.ts +215 -0
  283. package/src/composables/controlSchemaFormFields.ts +4 -1
  284. package/src/composables/controlSchemaLayout.ts +1 -1
  285. package/src/composables/controlSchemaModel.ts +163 -0
  286. package/src/composables/controlSchemaNormalize.ts +1 -1
  287. package/src/composables/controlSchemaTypes.ts +372 -0
  288. package/src/composables/controlWorkspaceOptions.ts +1 -1
  289. package/src/composables/formBuilderSchema.ts +153 -0
  290. package/src/composables/pluginEndpointBuilder.ts +203 -0
  291. package/src/composables/protocolTemplateCatalog.ts +325 -0
  292. package/src/composables/useAutoGroup.ts +395 -549
  293. package/src/composables/useAutoGroupInputSources.ts +147 -0
  294. package/src/composables/useBioTemplateControls.ts +1 -1
  295. package/src/composables/useBioTemplatePresetWorkspace.ts +1 -1
  296. package/src/composables/useBioTemplateWorkspace.ts +1 -1
  297. package/src/composables/useControlSchema.ts +21 -692
  298. package/src/composables/useControlWorkspace.ts +7 -13
  299. package/src/composables/useForm.ts +5 -187
  300. package/src/composables/useFormBuilder.ts +11 -153
  301. package/src/composables/useFormValidation.ts +154 -0
  302. package/src/composables/usePluginClient.ts +10 -193
  303. package/src/composables/useProtocolTemplates.ts +10 -328
  304. package/src/composables/useScheduleCalendarLayout.ts +287 -0
  305. package/src/styles/components/app-sidebar.css +134 -6
  306. package/src/styles/components/auto-group-modal.css +248 -310
  307. package/src/styles/components/checkbox.css +87 -0
  308. package/src/styles/components/collapsible-card.css +154 -14
  309. package/src/styles/components/toggle.css +80 -0
  310. package/src/templates/controlSchemaTypes.ts +1 -1
  311. package/src/templates/templateAdapterTypes.ts +58 -0
  312. package/src/templates/templateCreateOptions.ts +208 -0
  313. package/src/templates/templateQpcrTypes.ts +48 -0
  314. package/src/templates/types.ts +79 -275
  315. package/src/types/auto-group.ts +107 -9
  316. package/src/types/componentLabTypes.ts +235 -0
  317. package/src/types/componentWorkflowTypes.ts +190 -0
  318. package/src/types/components.ts +95 -424
  319. package/src/types/form-builder.ts +3 -0
  320. package/src/types/index.ts +2 -0
  321. package/dist/components-DafPc4rM.js.map +0 -1
  322. package/dist/composables-BMkPQhVK.js.map +0 -1
  323. package/dist/templates-bUAWMn5L.js.map +0 -1
  324. package/dist/useProtocolTemplates-QZtHFFH2.js.map +0 -1
@@ -12,6 +12,9 @@ interface Props {
12
12
  }
13
13
  declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
14
  "update:modelValue": (state: PlateMapEditorState) => any;
15
+ undo: () => any;
16
+ redo: () => any;
17
+ import: (success: boolean) => any;
15
18
  "plate-add": (plate: {
16
19
  id: string;
17
20
  name: string;
@@ -19,12 +22,12 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
19
22
  "plate-remove": (plateId: string) => any;
20
23
  "sample-assign": (wellIds: string[], sampleId: string | undefined) => any;
21
24
  "wells-clear": (wellIds: string[]) => any;
22
- undo: () => any;
23
- redo: () => any;
24
25
  export: (data: string, format: "csv" | "json") => any;
25
- import: (success: boolean) => any;
26
26
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
27
27
  "onUpdate:modelValue"?: ((state: PlateMapEditorState) => any) | undefined;
28
+ onUndo?: (() => any) | undefined;
29
+ onRedo?: (() => any) | undefined;
30
+ onImport?: ((success: boolean) => any) | undefined;
28
31
  "onPlate-add"?: ((plate: {
29
32
  id: string;
30
33
  name: string;
@@ -32,10 +35,7 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
32
35
  "onPlate-remove"?: ((plateId: string) => any) | undefined;
33
36
  "onSample-assign"?: ((wellIds: string[], sampleId: string | undefined) => any) | undefined;
34
37
  "onWells-clear"?: ((wellIds: string[]) => any) | undefined;
35
- onUndo?: (() => any) | undefined;
36
- onRedo?: (() => any) | undefined;
37
38
  onExport?: ((data: string, format: "csv" | "json") => any) | undefined;
38
- onImport?: ((success: boolean) => any) | undefined;
39
39
  }>, {
40
40
  size: "sm" | "md" | "lg" | "xl" | "fill";
41
41
  modelValue: PlateMapEditorState;
@@ -0,0 +1,28 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { PillNavItem } from '../types';
3
+ import { ControlComponentBinding, ControlComponentBindingsById, ControlComponentBindingsConfig, ControlComponentPropsByIdMap, ControlComponentPropsMap, ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from '../composables/useControlSchema';
4
+ export interface PluginWorkspaceControlsOptions {
5
+ model: () => ControlModel | ControlModelBinding | undefined;
6
+ controls: () => ControlSchema | undefined;
7
+ controlOptions: () => ControlWorkspaceOptions;
8
+ modelValue: () => Record<string, unknown> | undefined;
9
+ values: () => Record<string, unknown> | undefined;
10
+ componentBindings: () => ControlComponentBindingsConfig | undefined;
11
+ componentProps: () => ControlComponentPropsMap | undefined;
12
+ componentPropsById: () => ControlComponentPropsByIdMap | undefined;
13
+ emitValues: (values: Record<string, unknown>) => void;
14
+ }
15
+ export interface PluginWorkspaceControls {
16
+ resolvedModel: ComputedRef<ControlModelBinding | undefined>;
17
+ resolvedControls: ComputedRef<ControlSchema | undefined>;
18
+ resolvedControlOptions: ComputedRef<ControlWorkspaceOptions>;
19
+ generatedPillNav: ComputedRef<PillNavItem[]>;
20
+ generatedDefaultView: ComputedRef<string>;
21
+ internalControlValues: Record<string, unknown>;
22
+ resolvedComponentBindings: ComputedRef<ControlComponentBinding[]>;
23
+ resolvedComponentBindingsById: ComputedRef<ControlComponentBindingsById>;
24
+ resolvedComponentProps: ComputedRef<Record<string, unknown>>;
25
+ resolvedComponentPropsById: ComputedRef<Record<string, Record<string, unknown>>>;
26
+ handleControlValuesUpdate: (values: Record<string, unknown>) => void;
27
+ }
28
+ export declare function usePluginWorkspaceControls(options: PluginWorkspaceControlsOptions): PluginWorkspaceControls;
@@ -0,0 +1,29 @@
1
+ import { ComputedRef, Ref, WritableComputedRef } from 'vue';
2
+ import { PageSelectorItem, PageSelectorItemInput, PillNavItem, PillNavItemInput } from '../types';
3
+ type ReadableRef<T> = Readonly<Ref<T>>;
4
+ export interface PluginWorkspaceNavigationOptions {
5
+ activeView: () => string | undefined;
6
+ defaultActiveView: () => string | undefined;
7
+ currentPillId: () => string | undefined;
8
+ currentPageSelectorId: () => string | undefined;
9
+ pillNav: () => PillNavItemInput[] | undefined;
10
+ pageSelector: () => PageSelectorItemInput[] | undefined;
11
+ panelIds: () => string[];
12
+ generatedPillNav: ReadableRef<readonly PillNavItem[]>;
13
+ generatedDefaultView: ReadableRef<string>;
14
+ emitActiveView: (viewId: string) => void;
15
+ emitPageSelectorSelect: (page: PageSelectorItem) => void;
16
+ emitPillSelect: (item: PillNavItem) => void;
17
+ }
18
+ export interface PluginWorkspaceNavigation {
19
+ resolvedPillNav: ComputedRef<PillNavItemInput[] | undefined>;
20
+ firstConfiguredViewId: ComputedRef<string>;
21
+ resolvedActiveView: WritableComputedRef<string>;
22
+ resolvedCurrentPillId: ComputedRef<string>;
23
+ resolvedCurrentPageSelectorId: ComputedRef<string>;
24
+ setActiveView: (viewId: string) => void;
25
+ handlePageSelectorSelect: (page: PageSelectorItem) => void;
26
+ handlePillSelect: (item: PillNavItem) => void;
27
+ }
28
+ export declare function usePluginWorkspaceNavigation(options: PluginWorkspaceNavigationOptions): PluginWorkspaceNavigation;
29
+ export {};
@@ -0,0 +1,151 @@
1
+ import { AccountMenuItem, PageSelectorItemInput, PillNavItemInput, PluginSwitcherInfo, SidebarToolSection, TopBarSettingsConfig, TopBarVariant } from '../types';
2
+ import { FormEnhancements, FormSchema } from '../types/form-builder';
3
+ import { ControlComponentBinding, ControlComponentBindingsById, ControlComponentBindingsConfig, ControlComponentPropsByIdMap, ControlComponentPropsMap, ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from '../composables/useControlSchema';
4
+ import { AppExperimentRecord } from '../composables/useAppExperiment';
5
+ export type PluginWorkspaceSidebarVariant = 'default' | 'analysis';
6
+ export interface PluginWorkspaceViewProps {
7
+ /** App or plugin title shown in the top bar. */
8
+ title?: string;
9
+ /** Secondary copy shown under the title. */
10
+ subtitle?: string;
11
+ /** Top bar visual treatment. */
12
+ topBarVariant?: TopBarVariant;
13
+ /** Home link used by the top bar brand icon. */
14
+ homePath?: string;
15
+ /** Show the default MINT logo when no icon/logo slot is provided. */
16
+ showLogo?: boolean;
17
+ /** Preferred route-level page selector entries. */
18
+ pageSelector?: PageSelectorItemInput[];
19
+ /** Active page selector id. Defaults to activeView. */
20
+ currentPageSelectorId?: string;
21
+ /** Optional plugin switcher shown in the left navigation position. */
22
+ pluginSwitcher?: PluginSwitcherInfo;
23
+ /** Preferred centered navigation for local modes inside the current route. */
24
+ pillNav?: PillNavItemInput[];
25
+ /** Active centered pill id. Defaults to activeView. */
26
+ currentPillId?: string;
27
+ /** Show the theme toggle button. */
28
+ showThemeToggle?: boolean;
29
+ /** Show the settings button and modal. */
30
+ showSettings?: boolean;
31
+ /** Built-in settings modal configuration. */
32
+ settingsConfig?: TopBarSettingsConfig;
33
+ /** Show the standalone badge when not integrated into the platform. */
34
+ showStandaloneLabel?: boolean;
35
+ /** Custom standalone badge label. */
36
+ standaloneLabel?: string;
37
+ /** Account dropdown entries. */
38
+ accountMenu?: AccountMenuItem[];
39
+ /** Show the notifications icon button. */
40
+ showNotifications?: boolean;
41
+ /** Draw a notification dot on the notifications icon. */
42
+ hasNotificationDot?: boolean;
43
+ /** Show the classic admin shortcut. */
44
+ showAdmin?: boolean;
45
+ /** Route used by the classic admin shortcut. */
46
+ adminPath?: string;
47
+ /** Show the classic profile button when accountMenu is not provided. */
48
+ showProfile?: boolean;
49
+ /** Classic profile display name. */
50
+ userName?: string;
51
+ /** Explicit classic profile initial. */
52
+ userInitial?: string;
53
+ /** Classic profile email. */
54
+ userEmail?: string;
55
+ /** Enable the built-in AppTopBar experiment popover and selector flow. */
56
+ experimentShell?: boolean;
57
+ /** Current experiment mirrored into the AppTopBar experiment chip when experimentShell is enabled. */
58
+ experiment?: AppExperimentRecord | null;
59
+ /** Save handler used by the AppTopBar experiment chip. Return a message to flash success. */
60
+ experimentSave?: () => string | null | Promise<string | null>;
61
+ /** Disable the experiment save action. */
62
+ experimentSaveDisabled?: boolean;
63
+ /** Tooltip shown when the experiment save action is disabled. */
64
+ experimentSaveDisabledMessage?: string;
65
+ /** Active workspace view used by top bar navigation and sidebar panels. */
66
+ activeView?: string;
67
+ /** Initial active view when activeView is uncontrolled. */
68
+ defaultActiveView?: string;
69
+ /** Map of view IDs to sidebar tool sections. */
70
+ panels?: Record<string, SidebarToolSection[]>;
71
+ /** Optional FormBuilder schemas keyed by section ID. */
72
+ forms?: Record<string, FormSchema>;
73
+ /** Sidebar chrome title. */
74
+ sidebarTitle?: string;
75
+ /** Sidebar chrome subtitle. */
76
+ sidebarSubtitle?: string;
77
+ /** Optional compact badge/count rendered in the sidebar header. */
78
+ sidebarBadge?: string | number;
79
+ /** AppSidebar visual preset. `analysis` matches the LEAF-style MINT analysis sidebar language. */
80
+ sidebarVariant?: PluginWorkspaceSidebarVariant;
81
+ /** Sidebar CSS width. Defaults to AppSidebar's variant width. */
82
+ sidebarWidth?: string;
83
+ /** Sidebar position in AppLayout. */
84
+ sidebarPosition?: 'left' | 'right';
85
+ /** Convert the sidebar into an SDK-owned mobile overlay below the AppLayout breakpoint. */
86
+ responsiveSidebar?: boolean;
87
+ /** Render the sidebar shell even when no panel matches the active view. */
88
+ showSidebarWhenEmpty?: boolean;
89
+ /** Disable the built-in sidebar surface entirely. */
90
+ showSidebar?: boolean;
91
+ /** DOM id for the AppSidebar scrollable content area. Use with route/tab-owned Teleport sidebars. */
92
+ sidebarContentId?: string;
93
+ /** Compact AppSidebar density. */
94
+ dense?: boolean;
95
+ /** Show a built-in collapse/expand button in the sidebar chrome. Defaults to AppSidebar's variant behavior. */
96
+ sidebarCollapsible?: boolean;
97
+ /** Sidebar width when collapsed. */
98
+ sidebarCollapsedWidth?: string;
99
+ /** Accessible label for the sidebar collapse action. */
100
+ sidebarCollapseButtonLabel?: string;
101
+ /** Accessible label for the sidebar expand action. */
102
+ sidebarExpandButtonLabel?: string;
103
+ /** Floating AppLayout style. */
104
+ floating?: boolean;
105
+ /** Optional compact control model for generated sidebar forms. */
106
+ model?: ControlModel | ControlModelBinding;
107
+ /** Compact control schema for generated sidebar forms. */
108
+ controls?: ControlSchema;
109
+ /** Options passed to compact control schema generation. */
110
+ controlOptions?: ControlWorkspaceOptions;
111
+ /** Optional SDK component bindings exposed to the default slot with resolved props. */
112
+ componentBindings?: ControlComponentBindingsConfig;
113
+ /** Optional mapping from workspace values to component props exposed to the default slot. */
114
+ componentProps?: ControlComponentPropsMap;
115
+ /** Optional named mappings from workspace values to component props exposed to the default slot. */
116
+ componentPropsById?: ControlComponentPropsByIdMap;
117
+ /** Shared values for auto-rendered sidebar forms. Supports default v-model. */
118
+ modelValue?: Record<string, unknown>;
119
+ /** Shared values for auto-rendered sidebar forms. */
120
+ values?: Record<string, unknown>;
121
+ /** Runtime FormBuilder enhancements for auto-rendered sidebar forms. */
122
+ formEnhancements?: FormEnhancements<Record<string, unknown>>;
123
+ /** Show submit/cancel actions inside auto-rendered sidebar forms. */
124
+ showFormActions?: boolean;
125
+ /** Loading/saving state for auto-rendered sidebar forms. */
126
+ formLoading?: boolean;
127
+ /** Disabled state for auto-rendered sidebar forms. */
128
+ formDisabled?: boolean;
129
+ /** Readonly state for auto-rendered sidebar forms. */
130
+ formReadonly?: boolean;
131
+ /** Size passed to auto-rendered sidebar forms. */
132
+ formSize?: 'sm' | 'md' | 'lg';
133
+ /** Controlled sidebar collapsed state. */
134
+ sidebarCollapsed?: boolean;
135
+ /** Initial sidebar collapsed state when uncontrolled. */
136
+ defaultSidebarCollapsed?: boolean;
137
+ /** Accessible label for the mobile sidebar toggle. */
138
+ sidebarToggleLabel?: string;
139
+ /** Accessible label used when the mobile sidebar is open. */
140
+ sidebarCloseLabel?: string;
141
+ }
142
+ export interface PluginWorkspaceSlotProps {
143
+ activeView: string;
144
+ setActiveView: (viewId: string) => void;
145
+ values: Record<string, unknown>;
146
+ componentBindings: ControlComponentBinding[];
147
+ componentBindingsById: ControlComponentBindingsById;
148
+ componentProps: Record<string, unknown>;
149
+ componentPropsById: Record<string, Record<string, unknown>>;
150
+ }
151
+ export type PluginWorkspaceForwardedSlotProps = Record<string, unknown>;
@@ -0,0 +1,19 @@
1
+ type SlotKeyMap = Readonly<Record<string, unknown>>;
2
+ export interface PluginWorkspaceSidebarSurfaceOptions {
3
+ showSidebar: boolean;
4
+ panels: Record<string, unknown>;
5
+ forms: Record<string, unknown>;
6
+ model: unknown;
7
+ controls: unknown;
8
+ showSidebarWhenEmpty: boolean;
9
+ sidebarContentId?: string;
10
+ sidebarTitle?: string;
11
+ sidebarSubtitle?: string;
12
+ sidebarBadge?: string | number;
13
+ hasSidebarSlot: boolean;
14
+ sidebarSlotCount: number;
15
+ }
16
+ export declare function getPluginWorkspaceTopBarSlotNames(slots: SlotKeyMap): string[];
17
+ export declare function getPluginWorkspaceSidebarSlotNames(slots: SlotKeyMap): string[];
18
+ export declare function hasPluginWorkspaceSidebarSurface(options: PluginWorkspaceSidebarSurfaceOptions): boolean;
19
+ export {};
@@ -1,196 +1,49 @@
1
- import { AccountMenuItem, ExperimentSummary, PageSelectorItem, PageSelectorItemInput, PillNavItem, PillNavItemInput, PluginSwitcherInfo, PluginSwitcherPlugin, SidebarToolSection, TopBarSettingsConfig, PillNavOption, TopBarVariant } from '../types';
2
- import { FormEnhancements, FormSchema } from '../types/form-builder';
3
- import { ControlComponentBinding, ControlComponentBindingsById, ControlComponentBindingsConfig, ControlComponentPropsByIdMap, ControlComponentPropsMap, ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from '../composables/useControlSchema';
4
- import { AppExperimentRecord } from '../composables/useAppExperiment';
5
- type SidebarVariant = 'default' | 'analysis';
6
- interface Props {
7
- /** App or plugin title shown in the top bar. */
8
- title?: string;
9
- /** Secondary copy shown under the title. */
10
- subtitle?: string;
11
- /** Top bar visual treatment. */
12
- topBarVariant?: TopBarVariant;
13
- /** Home link used by the top bar brand icon. */
14
- homePath?: string;
15
- /** Show the default MINT logo when no icon/logo slot is provided. */
16
- showLogo?: boolean;
17
- /** Preferred route-level page selector entries. */
18
- pageSelector?: PageSelectorItemInput[];
19
- /** Active page selector id. Defaults to activeView. */
20
- currentPageSelectorId?: string;
21
- /** Optional plugin switcher shown in the left navigation position. */
22
- pluginSwitcher?: PluginSwitcherInfo;
23
- /** Preferred centered navigation for local modes inside the current route. */
24
- pillNav?: PillNavItemInput[];
25
- /** Active centered pill id. Defaults to activeView. */
26
- currentPillId?: string;
27
- /** Show the theme toggle button. */
28
- showThemeToggle?: boolean;
29
- /** Show the settings button and modal. */
30
- showSettings?: boolean;
31
- /** Built-in settings modal configuration. */
32
- settingsConfig?: TopBarSettingsConfig;
33
- /** Show the standalone badge when not integrated into the platform. */
34
- showStandaloneLabel?: boolean;
35
- /** Custom standalone badge label. */
36
- standaloneLabel?: string;
37
- /** Account dropdown entries. */
38
- accountMenu?: AccountMenuItem[];
39
- /** Show the notifications icon button. */
40
- showNotifications?: boolean;
41
- /** Draw a notification dot on the notifications icon. */
42
- hasNotificationDot?: boolean;
43
- /** Show the classic admin shortcut. */
44
- showAdmin?: boolean;
45
- /** Route used by the classic admin shortcut. */
46
- adminPath?: string;
47
- /** Show the classic profile button when accountMenu is not provided. */
48
- showProfile?: boolean;
49
- /** Classic profile display name. */
50
- userName?: string;
51
- /** Explicit classic profile initial. */
52
- userInitial?: string;
53
- /** Classic profile email. */
54
- userEmail?: string;
55
- /** Enable the built-in AppTopBar experiment popover and selector flow. */
56
- experimentShell?: boolean;
57
- /** Current experiment mirrored into the AppTopBar experiment chip when experimentShell is enabled. */
58
- experiment?: AppExperimentRecord | null;
59
- /** Save handler used by the AppTopBar experiment chip. Return a message to flash success. */
60
- experimentSave?: () => string | null | Promise<string | null>;
61
- /** Disable the experiment save action. */
62
- experimentSaveDisabled?: boolean;
63
- /** Tooltip shown when the experiment save action is disabled. */
64
- experimentSaveDisabledMessage?: string;
65
- /** Active workspace view used by top bar navigation and sidebar panels. */
66
- activeView?: string;
67
- /** Initial active view when activeView is uncontrolled. */
68
- defaultActiveView?: string;
69
- /** Map of view IDs to sidebar tool sections. */
70
- panels?: Record<string, SidebarToolSection[]>;
71
- /** Optional FormBuilder schemas keyed by section ID. */
72
- forms?: Record<string, FormSchema>;
73
- /** Sidebar chrome title. */
74
- sidebarTitle?: string;
75
- /** Sidebar chrome subtitle. */
76
- sidebarSubtitle?: string;
77
- /** Optional compact badge/count rendered in the sidebar header. */
78
- sidebarBadge?: string | number;
79
- /** AppSidebar visual preset. `analysis` matches the LEAF-style MINT analysis sidebar language. */
80
- sidebarVariant?: SidebarVariant;
81
- /** Sidebar CSS width. Defaults to AppSidebar's variant width. */
82
- sidebarWidth?: string;
83
- /** Sidebar position in AppLayout. */
84
- sidebarPosition?: 'left' | 'right';
85
- /** Convert the sidebar into an SDK-owned mobile overlay below the AppLayout breakpoint. */
86
- responsiveSidebar?: boolean;
87
- /** Render the sidebar shell even when no panel matches the active view. */
88
- showSidebarWhenEmpty?: boolean;
89
- /** Disable the built-in sidebar surface entirely. */
90
- showSidebar?: boolean;
91
- /** DOM id for the AppSidebar scrollable content area. Use with route/tab-owned Teleport sidebars. */
92
- sidebarContentId?: string;
93
- /** Compact AppSidebar density. */
94
- dense?: boolean;
95
- /** Show a built-in collapse/expand button in the sidebar chrome. Defaults to AppSidebar's variant behavior. */
96
- sidebarCollapsible?: boolean;
97
- /** Sidebar width when collapsed. */
98
- sidebarCollapsedWidth?: string;
99
- /** Accessible label for the sidebar collapse action. */
100
- sidebarCollapseButtonLabel?: string;
101
- /** Accessible label for the sidebar expand action. */
102
- sidebarExpandButtonLabel?: string;
103
- /** Floating AppLayout style. */
104
- floating?: boolean;
105
- /** Optional compact control model for generated sidebar forms. */
106
- model?: ControlModel | ControlModelBinding;
107
- /** Compact control schema for generated sidebar forms. */
108
- controls?: ControlSchema;
109
- /** Options passed to compact control schema generation. */
110
- controlOptions?: ControlWorkspaceOptions;
111
- /** Optional SDK component bindings exposed to the default slot with resolved props. */
112
- componentBindings?: ControlComponentBindingsConfig;
113
- /** Optional mapping from workspace values to component props exposed to the default slot. */
114
- componentProps?: ControlComponentPropsMap;
115
- /** Optional named mappings from workspace values to component props exposed to the default slot. */
116
- componentPropsById?: ControlComponentPropsByIdMap;
117
- /** Shared values for auto-rendered sidebar forms. Supports default v-model. */
118
- modelValue?: Record<string, unknown>;
119
- /** Shared values for auto-rendered sidebar forms. */
120
- values?: Record<string, unknown>;
121
- /** Runtime FormBuilder enhancements for auto-rendered sidebar forms. */
122
- formEnhancements?: FormEnhancements<Record<string, unknown>>;
123
- /** Show submit/cancel actions inside auto-rendered sidebar forms. */
124
- showFormActions?: boolean;
125
- /** Loading/saving state for auto-rendered sidebar forms. */
126
- formLoading?: boolean;
127
- /** Disabled state for auto-rendered sidebar forms. */
128
- formDisabled?: boolean;
129
- /** Readonly state for auto-rendered sidebar forms. */
130
- formReadonly?: boolean;
131
- /** Size passed to auto-rendered sidebar forms. */
132
- formSize?: 'sm' | 'md' | 'lg';
133
- /** Controlled sidebar collapsed state. */
134
- sidebarCollapsed?: boolean;
135
- /** Initial sidebar collapsed state when uncontrolled. */
136
- defaultSidebarCollapsed?: boolean;
137
- /** Accessible label for the mobile sidebar toggle. */
138
- sidebarToggleLabel?: string;
139
- /** Accessible label used when the mobile sidebar is open. */
140
- sidebarCloseLabel?: string;
141
- }
142
- interface PluginWorkspaceSlotProps {
143
- activeView: string;
144
- setActiveView: (viewId: string) => void;
145
- values: Record<string, unknown>;
146
- componentBindings: ControlComponentBinding[];
147
- componentBindingsById: ControlComponentBindingsById;
148
- componentProps: Record<string, unknown>;
149
- componentPropsById: Record<string, Record<string, unknown>>;
150
- }
151
- type ForwardedSlotProps = Record<string, unknown>;
1
+ import { AccountMenuItem, ExperimentSummary, PageSelectorItem, PillNavItem, PluginSwitcherPlugin, PillNavOption } from '../types';
2
+ import { PluginWorkspaceForwardedSlotProps, PluginWorkspaceSlotProps, PluginWorkspaceViewProps } from './PluginWorkspaceView.props';
152
3
  declare function __VLS_template(): {
153
4
  attrs: Partial<{}>;
154
5
  slots: Readonly<{
155
6
  default?: (props: PluginWorkspaceSlotProps) => unknown;
156
7
  topbar?: (props: PluginWorkspaceSlotProps) => unknown;
157
8
  sidebar?: (props: PluginWorkspaceSlotProps) => unknown;
158
- icon?: (props: ForwardedSlotProps) => unknown;
159
- logo?: (props: ForwardedSlotProps) => unknown;
160
- 'page-selector-icon'?: (props: ForwardedSlotProps) => unknown;
161
- 'page-selector-item-icon'?: (props: ForwardedSlotProps) => unknown;
162
- nav?: (props: ForwardedSlotProps) => unknown;
163
- center?: (props: ForwardedSlotProps) => unknown;
164
- actions?: (props: ForwardedSlotProps) => unknown;
165
- 'account-menu-items'?: (props: ForwardedSlotProps) => unknown;
166
- 'account-menu-item-icon'?: (props: ForwardedSlotProps) => unknown;
167
- 'settings-appearance'?: (props: ForwardedSlotProps) => unknown;
168
- header?: (props: ForwardedSlotProps) => unknown;
169
- collapsed?: (props: ForwardedSlotProps) => unknown;
170
- footer?: (props: ForwardedSlotProps) => unknown;
9
+ icon?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
10
+ logo?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
11
+ 'page-selector-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
12
+ 'page-selector-item-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
13
+ nav?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
14
+ center?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
15
+ actions?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
16
+ 'account-menu-items'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
17
+ 'account-menu-item-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
18
+ 'settings-appearance'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
19
+ header?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
20
+ collapsed?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
21
+ 'collapsed-footer'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
22
+ footer?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
171
23
  }> & {
172
24
  default?: (props: PluginWorkspaceSlotProps) => unknown;
173
25
  topbar?: (props: PluginWorkspaceSlotProps) => unknown;
174
26
  sidebar?: (props: PluginWorkspaceSlotProps) => unknown;
175
- icon?: (props: ForwardedSlotProps) => unknown;
176
- logo?: (props: ForwardedSlotProps) => unknown;
177
- 'page-selector-icon'?: (props: ForwardedSlotProps) => unknown;
178
- 'page-selector-item-icon'?: (props: ForwardedSlotProps) => unknown;
179
- nav?: (props: ForwardedSlotProps) => unknown;
180
- center?: (props: ForwardedSlotProps) => unknown;
181
- actions?: (props: ForwardedSlotProps) => unknown;
182
- 'account-menu-items'?: (props: ForwardedSlotProps) => unknown;
183
- 'account-menu-item-icon'?: (props: ForwardedSlotProps) => unknown;
184
- 'settings-appearance'?: (props: ForwardedSlotProps) => unknown;
185
- header?: (props: ForwardedSlotProps) => unknown;
186
- collapsed?: (props: ForwardedSlotProps) => unknown;
187
- footer?: (props: ForwardedSlotProps) => unknown;
27
+ icon?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
28
+ logo?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
29
+ 'page-selector-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
30
+ 'page-selector-item-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
31
+ nav?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
32
+ center?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
33
+ actions?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
34
+ 'account-menu-items'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
35
+ 'account-menu-item-icon'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
36
+ 'settings-appearance'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
37
+ header?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
38
+ collapsed?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
39
+ 'collapsed-footer'?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
40
+ footer?: (props: PluginWorkspaceForwardedSlotProps) => unknown;
188
41
  };
189
42
  refs: {};
190
43
  rootEl: HTMLDivElement;
191
44
  };
192
45
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
193
- declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
46
+ declare const __VLS_component: import('vue').DefineComponent<PluginWorkspaceViewProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
194
47
  "update:modelValue": (values: Record<string, unknown>) => any;
195
48
  "update:values": (values: Record<string, unknown>) => any;
196
49
  "sign-out": () => any;
@@ -205,13 +58,14 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
205
58
  "notifications-click": () => any;
206
59
  "settings-values-change": (data: Record<string, unknown>) => any;
207
60
  "update:toggle": (sectionId: string, value: boolean) => any;
61
+ "section-action": (sectionId: string, actionId: string) => any;
208
62
  "form-submit": (sectionId: string, values: Record<string, unknown>) => any;
209
63
  "form-cancel": (sectionId: string) => any;
210
64
  "update:activeView": (value: string) => any;
211
65
  "experiment-select": (experiment: ExperimentSummary) => any;
212
66
  "experiment-detach": () => any;
213
67
  "update:sidebarCollapsed": (value: boolean) => any;
214
- }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
68
+ }, string, import('vue').PublicProps, Readonly<PluginWorkspaceViewProps> & Readonly<{
215
69
  "onUpdate:modelValue"?: ((values: Record<string, unknown>) => any) | undefined;
216
70
  "onUpdate:values"?: ((values: Record<string, unknown>) => any) | undefined;
217
71
  "onSign-out"?: (() => any) | undefined;
@@ -226,6 +80,7 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
226
80
  "onNotifications-click"?: (() => any) | undefined;
227
81
  "onSettings-values-change"?: ((data: Record<string, unknown>) => any) | undefined;
228
82
  "onUpdate:toggle"?: ((sectionId: string, value: boolean) => any) | undefined;
83
+ "onSection-action"?: ((sectionId: string, actionId: string) => any) | undefined;
229
84
  "onForm-submit"?: ((sectionId: string, values: Record<string, unknown>) => any) | undefined;
230
85
  "onForm-cancel"?: ((sectionId: string) => any) | undefined;
231
86
  "onUpdate:activeView"?: ((value: string) => any) | undefined;
@@ -234,43 +89,43 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
234
89
  "onUpdate:sidebarCollapsed"?: ((value: boolean) => any) | undefined;
235
90
  }>, {
236
91
  values: Record<string, unknown>;
92
+ experiment: import('..').AppExperimentRecord | null;
237
93
  modelValue: Record<string, unknown>;
238
94
  title: string;
239
- controls: ControlSchema;
95
+ floating: boolean;
240
96
  subtitle: string;
241
- controlOptions: ControlWorkspaceOptions;
242
- model: ControlModel | ControlModelBinding;
243
- componentProps: ControlComponentPropsMap;
97
+ controls: import('..').ControlSchema;
98
+ controlOptions: import('..').ControlWorkspaceOptions;
99
+ model: import('..').ControlModel | import('..').ControlModelBinding;
100
+ componentBindings: import('..').ControlComponentBindingsConfig;
101
+ componentProps: import('..').ControlComponentPropsMap;
102
+ componentPropsById: import('..').ControlComponentPropsByIdMap;
244
103
  activeView: string;
245
- panels: Record<string, SidebarToolSection[]>;
246
- forms: Record<string, FormSchema>;
247
- componentBindings: ControlComponentBindingsConfig;
248
- componentPropsById: ControlComponentPropsByIdMap;
249
- experiment: AppExperimentRecord | null;
104
+ panels: Record<string, import('..').SidebarToolSection[]>;
105
+ forms: Record<string, import('..').FormSchema>;
250
106
  dense: boolean;
251
107
  userName: string;
252
108
  userInitial: string;
253
109
  userEmail: string;
254
110
  showLogo: boolean;
255
111
  homePath: string;
256
- pageSelector: PageSelectorItemInput[];
112
+ pageSelector: import('..').PageSelectorItemInput[];
257
113
  currentPageSelectorId: string;
258
- pluginSwitcher: PluginSwitcherInfo;
259
- pillNav: PillNavItemInput[];
114
+ pluginSwitcher: import('..').PluginSwitcherInfo;
115
+ pillNav: import('..').PillNavItemInput[];
260
116
  currentPillId: string;
261
117
  accountMenu: AccountMenuItem[];
262
118
  showNotifications: boolean;
263
119
  hasNotificationDot: boolean;
264
120
  showThemeToggle: boolean;
265
121
  showSettings: boolean;
266
- settingsConfig: TopBarSettingsConfig;
122
+ settingsConfig: import('..').TopBarSettingsConfig;
267
123
  showStandaloneLabel: boolean;
268
124
  standaloneLabel: string;
269
125
  showAdmin: boolean;
270
126
  adminPath: string;
271
127
  showProfile: boolean;
272
- floating: boolean;
273
- formEnhancements: FormEnhancements<Record<string, unknown>>;
128
+ formEnhancements: import('..').FormEnhancements<Record<string, unknown>>;
274
129
  showFormActions: boolean;
275
130
  formLoading: boolean;
276
131
  formDisabled: boolean;
@@ -281,7 +136,7 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
281
136
  responsiveSidebar: boolean;
282
137
  sidebarToggleLabel: string;
283
138
  sidebarCloseLabel: string;
284
- topBarVariant: TopBarVariant;
139
+ topBarVariant: import('..').TopBarVariant;
285
140
  experimentShell: boolean;
286
141
  experimentSave: () => string | null | Promise<string | null>;
287
142
  experimentSaveDisabled: boolean;
@@ -290,7 +145,7 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
290
145
  sidebarTitle: string;
291
146
  sidebarSubtitle: string;
292
147
  sidebarBadge: string | number;
293
- sidebarVariant: SidebarVariant;
148
+ sidebarVariant: import('./PluginWorkspaceView.props').PluginWorkspaceSidebarVariant;
294
149
  showSidebarWhenEmpty: boolean;
295
150
  showSidebar: boolean;
296
151
  sidebarContentId: string;
@@ -11,8 +11,8 @@ interface Props {
11
11
  ariaLabel?: string;
12
12
  }
13
13
  declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
14
- size: "sm" | "md" | "lg";
15
14
  label: string;
15
+ size: "sm" | "md" | "lg";
16
16
  color: "primary" | "success" | "warning" | "error" | "info";
17
17
  value: number;
18
18
  variant: "rail" | "segmented";
@@ -0,0 +1,4 @@
1
+ import { ProtocolStepType } from '../types';
2
+ export declare const PROTOCOL_STEP_TYPE_ICONS: Record<ProtocolStepType, string>;
3
+ export declare const PROTOCOL_STEP_TYPE_COLORS: Record<ProtocolStepType, string>;
4
+ export declare function formatProtocolDuration(minutes: number | undefined): string;
@@ -0,0 +1,18 @@
1
+ import { ProtocolStep } from '../types';
2
+ import { ParameterDefinition, StepTemplate } from '../composables/useProtocolTemplates';
3
+ export interface ProtocolStepEditorFields {
4
+ name: string;
5
+ description: string;
6
+ duration?: number;
7
+ parameters: Record<string, unknown>;
8
+ }
9
+ export interface InitializedProtocolStepEditorState {
10
+ selectedTemplateId: string | null;
11
+ fields: ProtocolStepEditorFields;
12
+ }
13
+ export type ProtocolParameterFormatter = (value: unknown, parameter: ParameterDefinition) => string;
14
+ export declare function buildProtocolTemplateDefaults(template: StepTemplate): ProtocolStepEditorFields;
15
+ export declare function buildProtocolStepEditorState(step: ProtocolStep, getTemplateByType: (type: ProtocolStep['type']) => StepTemplate | undefined): InitializedProtocolStepEditorState;
16
+ export declare function buildProtocolStepPreview(template: StepTemplate, fields: ProtocolStepEditorFields, sourceStep?: ProtocolStep): ProtocolStep;
17
+ export declare function buildProtocolPreviewParams(template: StepTemplate, parameters: Record<string, unknown>, formatParameterValue: ProtocolParameterFormatter): string;
18
+ export declare function buildCustomProtocolTemplate(template: StepTemplate, fields: ProtocolStepEditorFields, templateId?: string): StepTemplate;
@@ -0,0 +1,12 @@
1
+ import { ParameterDefinition } from '../composables/useProtocolTemplates';
2
+ interface Props {
3
+ parameter: ParameterDefinition;
4
+ modelValue?: unknown;
5
+ error?: string;
6
+ }
7
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ "update:modelValue": (value: unknown) => any;
9
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
10
+ "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
12
+ export default _default;