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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/README.md +218 -6
  2. package/dist/__tests__/components/ActionItem.test.d.ts +1 -0
  3. package/dist/__tests__/components/AppAvatarMenu.test.d.ts +1 -0
  4. package/dist/__tests__/components/AppPageSelector.test.d.ts +1 -0
  5. package/dist/__tests__/components/AppPillNav.test.d.ts +1 -0
  6. package/dist/__tests__/components/AppPluginSwitcher.test.d.ts +1 -0
  7. package/dist/__tests__/components/AppToastContainer.test.d.ts +1 -0
  8. package/dist/__tests__/components/BaseRadioGroup.test.d.ts +1 -0
  9. package/dist/__tests__/components/BaseSelect.test.d.ts +1 -0
  10. package/dist/__tests__/components/BaseTabs.test.d.ts +1 -0
  11. package/dist/__tests__/components/BatchProgressList.test.d.ts +1 -0
  12. package/dist/__tests__/components/BioTemplateExperimentWorkspaceView.test.d.ts +1 -0
  13. package/dist/__tests__/components/BioTemplatePackWorkspaceView.test.d.ts +1 -0
  14. package/dist/__tests__/components/BioTemplatePresetWorkspaceView.test.d.ts +1 -0
  15. package/dist/__tests__/components/BioTemplateRenderer.test.d.ts +1 -0
  16. package/dist/__tests__/components/Breadcrumb.test.d.ts +1 -0
  17. package/dist/__tests__/components/CalendarGridPanel.test.d.ts +1 -0
  18. package/dist/__tests__/components/ConcentrationInput.test.d.ts +1 -0
  19. package/dist/__tests__/components/ControlWorkspaceView.test.d.ts +1 -0
  20. package/dist/__tests__/components/DatePicker.test.d.ts +1 -0
  21. package/dist/__tests__/components/DateTimePicker.test.d.ts +1 -0
  22. package/dist/__tests__/components/EmptyState.test.d.ts +1 -0
  23. package/dist/__tests__/components/ExperimentPopover.test.d.ts +1 -0
  24. package/dist/__tests__/components/FormBuilder.test.d.ts +1 -0
  25. package/dist/__tests__/components/FormCompatibility.test.d.ts +1 -0
  26. package/dist/__tests__/components/GroupAssigner.test.d.ts +1 -0
  27. package/dist/__tests__/components/GroupingModal.test.d.ts +1 -0
  28. package/dist/__tests__/components/MultiSelect.test.d.ts +1 -0
  29. package/dist/__tests__/components/PluginIcon.test.d.ts +1 -0
  30. package/dist/__tests__/components/ProtocolStepEditor.test.d.ts +1 -0
  31. package/dist/__tests__/components/ReagentList.test.d.ts +1 -0
  32. package/dist/__tests__/components/SampleHierarchyTree.test.d.ts +1 -0
  33. package/dist/__tests__/components/SampleSelector.test.d.ts +1 -0
  34. package/dist/__tests__/components/SegmentedControl.test.d.ts +1 -0
  35. package/dist/__tests__/components/SettingsButton.test.d.ts +1 -0
  36. package/dist/__tests__/components/SettingsModal.test.d.ts +1 -0
  37. package/dist/__tests__/components/TagsInput.test.d.ts +1 -0
  38. package/dist/__tests__/components/ThemeToggle.test.d.ts +1 -0
  39. package/dist/__tests__/components/TimePicker.test.d.ts +1 -0
  40. package/dist/__tests__/composables/useBioTemplatePackWorkspace.test.d.ts +1 -0
  41. package/dist/__tests__/composables/useBioTemplatePresetWorkspace.test.d.ts +1 -0
  42. package/dist/__tests__/composables/useBioTemplateWorkspace.test.d.ts +1 -0
  43. package/dist/__tests__/composables/useCalendarGrid.test.d.ts +1 -0
  44. package/dist/__tests__/composables/useControlSchema.test.d.ts +1 -0
  45. package/dist/__tests__/composables/useDebouncedWatch.test.d.ts +1 -0
  46. package/dist/__tests__/composables/useDropdownState.test.d.ts +1 -0
  47. package/dist/__tests__/composables/useEventListener.test.d.ts +1 -0
  48. package/dist/__tests__/composables/useExpansionSet.test.d.ts +1 -0
  49. package/dist/__tests__/composables/useExperimentData.test.d.ts +1 -0
  50. package/dist/__tests__/composables/useExperimentSelector.test.d.ts +1 -0
  51. package/dist/__tests__/composables/useGroupAssignment.test.d.ts +1 -0
  52. package/dist/__tests__/composables/useListSelection.test.d.ts +1 -0
  53. package/dist/__tests__/composables/usePluginClient.test.d.ts +1 -0
  54. package/dist/__tests__/composables/usePluginConfig.test.d.ts +1 -0
  55. package/dist/__tests__/composables/useRequestSyncState.test.d.ts +1 -0
  56. package/dist/__tests__/composables/useSampleGroups.test.d.ts +1 -0
  57. package/dist/__tests__/composables/useSelectionLimit.test.d.ts +1 -0
  58. package/dist/__tests__/composables/useSortedItems.test.d.ts +1 -0
  59. package/dist/__tests__/composables/useTemplateCollection.test.d.ts +1 -0
  60. package/dist/__tests__/composables/useTextSearch.test.d.ts +1 -0
  61. package/dist/__tests__/composables/useTheme.test.d.ts +1 -0
  62. package/dist/__tests__/composables/useTimeUtils.test.d.ts +1 -0
  63. package/dist/__tests__/docs/frontendDocsCatalog.test.d.ts +1 -0
  64. package/dist/__tests__/templates/templates.test.d.ts +1 -0
  65. package/dist/{auth-DsI0rQ7_.js → auth-QQj2kkze.js} +12 -5
  66. package/dist/auth-QQj2kkze.js.map +1 -0
  67. package/dist/components/ActionItem.vue.d.ts +32 -0
  68. package/dist/components/AppAvatarMenu.vue.d.ts +2 -7
  69. package/dist/components/AppPageSelector.vue.d.ts +3 -6
  70. package/dist/components/AppPillNav.vue.d.ts +2 -2
  71. package/dist/components/AppSidebar.vue.d.ts +56 -3
  72. package/dist/components/AppToastContainer.vue.d.ts +2 -0
  73. package/dist/components/AppTopBar.vue.d.ts +43 -10
  74. package/dist/components/BaseButton.vue.d.ts +2 -2
  75. package/dist/components/BaseCheckbox.vue.d.ts +1 -1
  76. package/dist/components/BaseInput.vue.d.ts +2 -2
  77. package/dist/components/BasePill.vue.d.ts +3 -3
  78. package/dist/components/BaseRadioGroup.vue.d.ts +4 -4
  79. package/dist/components/BaseSelect.vue.d.ts +4 -4
  80. package/dist/components/BaseSlider.vue.d.ts +1 -1
  81. package/dist/components/BaseTabs.vue.d.ts +2 -2
  82. package/dist/components/BaseTextarea.vue.d.ts +2 -2
  83. package/dist/components/BaseToggle.vue.d.ts +1 -1
  84. package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +117 -0
  85. package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +92 -0
  86. package/dist/components/BioTemplatePresetWorkspaceView.vue.d.ts +82 -0
  87. package/dist/components/BioTemplateRenderer.vue.d.ts +29 -0
  88. package/dist/components/Breadcrumb.vue.d.ts +2 -2
  89. package/dist/components/Calendar.vue.d.ts +1 -1
  90. package/dist/components/CalendarGridPanel.vue.d.ts +25 -0
  91. package/dist/components/CollapsibleCard.vue.d.ts +1 -1
  92. package/dist/components/ColorSlider.vue.d.ts +1 -1
  93. package/dist/components/ConcentrationInput.vue.d.ts +2 -2
  94. package/dist/components/ConfirmDialog.vue.d.ts +2 -2
  95. package/dist/components/ControlWorkspaceView.vue.d.ts +130 -0
  96. package/dist/components/DatePicker.vue.d.ts +2 -2
  97. package/dist/components/DateTimePicker.vue.d.ts +3 -3
  98. package/dist/components/DropdownButton.vue.d.ts +4 -4
  99. package/dist/components/EmptyState.vue.d.ts +1 -2
  100. package/dist/components/ExperimentDataViewer.vue.d.ts +1 -1
  101. package/dist/components/ExperimentTimeline.vue.d.ts +2 -2
  102. package/dist/components/FileUploader.vue.d.ts +2 -2
  103. package/dist/components/FitPanel.vue.d.ts +1 -1
  104. package/dist/components/FormActions.vue.d.ts +4 -4
  105. package/dist/components/FormBuilder.vue.d.ts +22 -8
  106. package/dist/components/FormFieldRenderer.vue.d.ts +7 -10
  107. package/dist/components/FormSection.vue.d.ts +11 -24
  108. package/dist/components/FormulaInput.vue.d.ts +2 -2
  109. package/dist/components/IconButton.vue.d.ts +1 -1
  110. package/dist/components/LoadingSpinner.vue.d.ts +1 -1
  111. package/dist/components/MoleculeInput.vue.d.ts +2 -2
  112. package/dist/components/MultiSelect.vue.d.ts +3 -3
  113. package/dist/components/NumberInput.vue.d.ts +2 -2
  114. package/dist/components/PluginIcon.vue.d.ts +11 -0
  115. package/dist/components/ProgressBar.vue.d.ts +2 -2
  116. package/dist/components/ProtocolStepEditor.vue.d.ts +3 -1
  117. package/dist/components/RackEditor.vue.d.ts +2 -2
  118. package/dist/components/ReagentEditor.vue.d.ts +1 -1
  119. package/dist/components/ResourceCard.vue.d.ts +1 -1
  120. package/dist/components/SampleLegend.vue.d.ts +2 -2
  121. package/dist/components/SampleSelector.vue.d.ts +1 -1
  122. package/dist/components/ScheduleCalendar.vue.d.ts +2 -2
  123. package/dist/components/ScientificNumber.vue.d.ts +1 -1
  124. package/dist/components/SegmentedControl.vue.d.ts +3 -3
  125. package/dist/components/SequenceInput.vue.d.ts +3 -3
  126. package/dist/components/SettingsButton.vue.d.ts +2 -2
  127. package/dist/components/SettingsModal.vue.d.ts +32 -4
  128. package/dist/components/StatusIndicator.vue.d.ts +1 -1
  129. package/dist/components/TagsInput.vue.d.ts +3 -2
  130. package/dist/components/TimePicker.vue.d.ts +3 -3
  131. package/dist/components/TimeRangeInput.vue.d.ts +2 -2
  132. package/dist/components/UnitInput.vue.d.ts +2 -2
  133. package/dist/components/WellPlate.vue.d.ts +8 -8
  134. package/dist/components/index.d.ts +12 -1
  135. package/dist/components/index.js +3 -3
  136. package/dist/components/internal/FormFieldRendererInternal.vue.d.ts +31 -0
  137. package/dist/components/internal/FormSectionRenderer.vue.d.ts +43 -0
  138. package/dist/{components-CzbQQPCb.js → components-D_Sr0adg.js} +9629 -8647
  139. package/dist/components-D_Sr0adg.js.map +1 -0
  140. package/dist/composables/index.d.ts +21 -2
  141. package/dist/composables/index.js +4 -3
  142. package/dist/composables/platformContextHelpers.d.ts +14 -0
  143. package/dist/composables/useBioTemplateComponents.d.ts +20 -0
  144. package/dist/composables/useBioTemplateControls.d.ts +6 -0
  145. package/dist/composables/useBioTemplatePackWorkspace.d.ts +45 -0
  146. package/dist/composables/useBioTemplatePresetWorkspace.d.ts +74 -0
  147. package/dist/composables/useBioTemplateWorkspace.d.ts +50 -0
  148. package/dist/composables/useCalendarGrid.d.ts +26 -0
  149. package/dist/composables/useControlSchema.d.ts +321 -0
  150. package/dist/composables/useDebouncedWatch.d.ts +20 -0
  151. package/dist/composables/useDropdownState.d.ts +19 -0
  152. package/dist/composables/useEventListener.d.ts +13 -0
  153. package/dist/composables/useExpansionSet.d.ts +21 -0
  154. package/dist/composables/useExperimentData.d.ts +10 -0
  155. package/dist/composables/useExperimentSave.d.ts +31 -2
  156. package/dist/composables/useExperimentSelector.d.ts +20 -0
  157. package/dist/composables/useForm.d.ts +2 -0
  158. package/dist/composables/useGroupAssignment.d.ts +31 -0
  159. package/dist/composables/useListSelection.d.ts +35 -0
  160. package/dist/composables/usePlatformContext.d.ts +24 -3
  161. package/dist/composables/usePluginApi.d.ts +7 -14
  162. package/dist/composables/usePluginClient.d.ts +109 -0
  163. package/dist/composables/usePluginConfig.d.ts +12 -0
  164. package/dist/composables/useRequestSyncState.d.ts +34 -0
  165. package/dist/composables/useSampleGroups.d.ts +32 -0
  166. package/dist/composables/useSelectionLimit.d.ts +17 -0
  167. package/dist/composables/useSortedItems.d.ts +32 -0
  168. package/dist/composables/useTemplateCollection.d.ts +58 -0
  169. package/dist/composables/useTextSearch.d.ts +18 -0
  170. package/dist/composables/useTimeUtils.d.ts +8 -0
  171. package/dist/{composables-BXklV5ii.js → composables-C3dpXQN5.js} +228 -146
  172. package/dist/composables-C3dpXQN5.js.map +1 -0
  173. package/dist/index.d.ts +12 -3
  174. package/dist/index.js +6 -5
  175. package/dist/install.d.ts +7 -2
  176. package/dist/install.js +2 -2
  177. package/dist/install.js.map +1 -1
  178. package/dist/stores/auth.d.ts +1 -1
  179. package/dist/stores/index.js +1 -1
  180. package/dist/stores/settings.d.ts +4 -1
  181. package/dist/styles.css +5255 -5654
  182. package/dist/templates/adapters.d.ts +43 -0
  183. package/dist/templates/builders.d.ts +63 -0
  184. package/dist/templates/catalog.d.ts +188 -0
  185. package/dist/templates/componentBindings.d.ts +58 -0
  186. package/dist/templates/controlSchemas.d.ts +25 -0
  187. package/dist/templates/index.d.ts +15 -0
  188. package/dist/templates/index.js +2 -0
  189. package/dist/templates/lookup.d.ts +4 -0
  190. package/dist/templates/packs.d.ts +18 -0
  191. package/dist/templates/presets.d.ts +90 -0
  192. package/dist/templates/types.d.ts +531 -0
  193. package/dist/templates-50NPjaxL.js +9333 -0
  194. package/dist/templates-50NPjaxL.js.map +1 -0
  195. package/dist/types/components.d.ts +62 -1
  196. package/dist/types/form-builder.d.ts +6 -8
  197. package/dist/types/index.d.ts +2 -2
  198. package/dist/types/platform.d.ts +8 -1
  199. package/dist/useScheduleDrag-D4oWdh41.js +4371 -0
  200. package/dist/useScheduleDrag-D4oWdh41.js.map +1 -0
  201. package/dist/utils/formModelSync.d.ts +5 -0
  202. package/dist/utils/items.d.ts +8 -0
  203. package/dist/utils/options.d.ts +6 -0
  204. package/dist/utils/pluginIcon.d.ts +9 -0
  205. package/package.json +7 -2
  206. package/src/__tests__/components/ActionItem.test.ts +99 -0
  207. package/src/__tests__/components/AppAvatarMenu.test.ts +27 -0
  208. package/src/__tests__/components/AppPageSelector.test.ts +134 -0
  209. package/src/__tests__/components/AppPillNav.test.ts +78 -0
  210. package/src/__tests__/components/AppPluginSwitcher.test.ts +44 -0
  211. package/src/__tests__/components/AppSidebar.test.ts +370 -0
  212. package/src/__tests__/components/AppToastContainer.test.ts +48 -0
  213. package/src/__tests__/components/AppTopBar.test.ts +414 -13
  214. package/src/__tests__/components/BaseRadioGroup.test.ts +25 -0
  215. package/src/__tests__/components/BaseSelect.test.ts +21 -0
  216. package/src/__tests__/components/BaseTabs.test.ts +25 -0
  217. package/src/__tests__/components/BatchProgressList.test.ts +52 -0
  218. package/src/__tests__/components/BioTemplateExperimentWorkspaceView.test.ts +153 -0
  219. package/src/__tests__/components/BioTemplatePackWorkspaceView.test.ts +161 -0
  220. package/src/__tests__/components/BioTemplatePresetWorkspaceView.test.ts +281 -0
  221. package/src/__tests__/components/BioTemplateRenderer.test.ts +71 -0
  222. package/src/__tests__/components/Breadcrumb.test.ts +23 -0
  223. package/src/__tests__/components/CalendarGridPanel.test.ts +36 -0
  224. package/src/__tests__/components/ConcentrationInput.test.ts +45 -0
  225. package/src/__tests__/components/ControlWorkspaceView.test.ts +1031 -0
  226. package/src/__tests__/components/DataFrame.test.ts +11 -0
  227. package/src/__tests__/components/DatePicker.test.ts +45 -0
  228. package/src/__tests__/components/DateTimePicker.test.ts +48 -0
  229. package/src/__tests__/components/DropdownButton.test.ts +23 -0
  230. package/src/__tests__/components/EmptyState.test.ts +23 -0
  231. package/src/__tests__/components/ExperimentPopover.test.ts +56 -0
  232. package/src/__tests__/components/FormBuilder.test.ts +296 -0
  233. package/src/__tests__/components/FormCompatibility.test.ts +94 -0
  234. package/src/__tests__/components/GroupAssigner.test.ts +30 -0
  235. package/src/__tests__/components/GroupingModal.test.ts +73 -0
  236. package/src/__tests__/components/MultiSelect.test.ts +48 -0
  237. package/src/__tests__/components/PluginIcon.test.ts +119 -0
  238. package/src/__tests__/components/ProtocolStepEditor.test.ts +33 -0
  239. package/src/__tests__/components/ReagentList.test.ts +82 -0
  240. package/src/__tests__/components/SampleHierarchyTree.test.ts +53 -0
  241. package/src/__tests__/components/SampleSelector.test.ts +60 -0
  242. package/src/__tests__/components/SegmentedControl.test.ts +24 -0
  243. package/src/__tests__/components/SettingsButton.test.ts +44 -0
  244. package/src/__tests__/components/SettingsModal.test.ts +296 -0
  245. package/src/__tests__/components/TagsInput.test.ts +75 -0
  246. package/src/__tests__/components/ThemeToggle.test.ts +47 -0
  247. package/src/__tests__/components/TimePicker.test.ts +38 -0
  248. package/src/__tests__/composables/useBioTemplatePackWorkspace.test.ts +122 -0
  249. package/src/__tests__/composables/useBioTemplatePresetWorkspace.test.ts +199 -0
  250. package/src/__tests__/composables/useBioTemplateWorkspace.test.ts +99 -0
  251. package/src/__tests__/composables/useCalendarGrid.test.ts +38 -0
  252. package/src/__tests__/composables/useControlSchema.test.ts +919 -0
  253. package/src/__tests__/composables/useDebouncedWatch.test.ts +93 -0
  254. package/src/__tests__/composables/useDropdownState.test.ts +95 -0
  255. package/src/__tests__/composables/useEventListener.test.ts +116 -0
  256. package/src/__tests__/composables/useExpansionSet.test.ts +62 -0
  257. package/src/__tests__/composables/useExperimentData.test.ts +4 -0
  258. package/src/__tests__/composables/useExperimentSave.test.ts +203 -8
  259. package/src/__tests__/composables/useExperimentSelector.test.ts +164 -0
  260. package/src/__tests__/composables/useForm.test.ts +58 -0
  261. package/src/__tests__/composables/useFormBuilder.test.ts +77 -0
  262. package/src/__tests__/composables/useGroupAssignment.test.ts +73 -0
  263. package/src/__tests__/composables/useListSelection.test.ts +66 -0
  264. package/src/__tests__/composables/usePluginClient.test.ts +444 -0
  265. package/src/__tests__/composables/usePluginConfig.test.ts +5 -0
  266. package/src/__tests__/composables/useRequestSyncState.test.ts +92 -0
  267. package/src/__tests__/composables/useSampleGroups.test.ts +66 -0
  268. package/src/__tests__/composables/useSelectionLimit.test.ts +41 -0
  269. package/src/__tests__/composables/useSortedItems.test.ts +87 -0
  270. package/src/__tests__/composables/useTemplateCollection.test.ts +147 -0
  271. package/src/__tests__/composables/useTextSearch.test.ts +55 -0
  272. package/src/__tests__/composables/useTheme.test.ts +91 -0
  273. package/src/__tests__/composables/useTimeUtils.test.ts +35 -0
  274. package/src/__tests__/docs/frontendDocsCatalog.test.ts +229 -0
  275. package/src/__tests__/fixtures/templates/dose-response.json +81 -0
  276. package/src/__tests__/fixtures/templates/plate-map.json +54 -0
  277. package/src/__tests__/fixtures/templates/qpcr-plate.json +96 -0
  278. package/src/__tests__/fixtures/templates/sample-sheet.json +71 -0
  279. package/src/__tests__/templates/templates.test.ts +1043 -0
  280. package/src/components/ActionItem.vue +82 -0
  281. package/src/components/AppAvatarMenu.vue +15 -69
  282. package/src/components/AppLayout.story.vue +25 -25
  283. package/src/components/AppPageSelector.vue +63 -94
  284. package/src/components/AppPillNav.vue +44 -39
  285. package/src/components/AppPluginSwitcher.vue +41 -145
  286. package/src/components/AppSidebar.story.vue +94 -0
  287. package/src/components/AppSidebar.vue +187 -12
  288. package/src/components/{ToastNotification.story.vue → AppToastContainer.story.vue} +6 -6
  289. package/src/components/AppToastContainer.vue +62 -0
  290. package/src/components/AppTopBar.story.vue +7 -30
  291. package/src/components/AppTopBar.vue +283 -84
  292. package/src/components/BaseModal.vue +3 -5
  293. package/src/components/BaseRadioGroup.vue +7 -3
  294. package/src/components/BaseSelect.vue +11 -7
  295. package/src/components/BaseTabs.vue +6 -4
  296. package/src/components/BatchProgressList.vue +5 -8
  297. package/src/components/BioTemplateExperimentWorkspaceView.story.vue +123 -0
  298. package/src/components/BioTemplateExperimentWorkspaceView.vue +337 -0
  299. package/src/components/BioTemplatePackWorkspaceView.story.vue +107 -0
  300. package/src/components/BioTemplatePackWorkspaceView.vue +176 -0
  301. package/src/components/BioTemplatePresetWorkspaceView.story.vue +151 -0
  302. package/src/components/BioTemplatePresetWorkspaceView.vue +392 -0
  303. package/src/components/BioTemplateRenderer.story.vue +57 -0
  304. package/src/components/BioTemplateRenderer.vue +269 -0
  305. package/src/components/Breadcrumb.vue +14 -8
  306. package/src/components/CalendarGridPanel.vue +120 -0
  307. package/src/components/ConcentrationInput.vue +27 -64
  308. package/src/components/ControlWorkspaceView.story.vue +336 -0
  309. package/src/components/ControlWorkspaceView.vue +347 -0
  310. package/src/components/DataFrame.vue +34 -50
  311. package/src/components/DatePicker.vue +59 -192
  312. package/src/components/DateTimePicker.vue +50 -171
  313. package/src/components/DropdownButton.vue +14 -32
  314. package/src/components/EmptyState.vue +4 -2
  315. package/src/components/ExperimentPopover.vue +5 -22
  316. package/src/components/FormBuilder.vue +124 -27
  317. package/src/components/FormFieldRenderer.vue +15 -38
  318. package/src/components/FormSection.vue +20 -73
  319. package/src/components/GroupAssigner.vue +24 -56
  320. package/src/components/GroupingModal.story.vue +3 -3
  321. package/src/components/GroupingModal.vue +30 -391
  322. package/src/components/MultiSelect.vue +17 -12
  323. package/src/components/PlateMapEditor.vue +3 -8
  324. package/src/components/PluginIcon.story.vue +71 -0
  325. package/src/components/PluginIcon.vue +68 -0
  326. package/src/components/ProtocolStepEditor.vue +13 -22
  327. package/src/components/ReagentList.vue +25 -33
  328. package/src/components/SampleHierarchyTree.vue +12 -23
  329. package/src/components/SampleSelector.vue +42 -122
  330. package/src/components/SegmentedControl.vue +7 -3
  331. package/src/components/SettingsButton.story.vue +1 -1
  332. package/src/components/SettingsButton.vue +15 -27
  333. package/src/components/SettingsModal.story.vue +337 -45
  334. package/src/components/SettingsModal.vue +344 -66
  335. package/src/components/TagsInput.vue +29 -14
  336. package/src/components/ThemeToggle.vue +9 -7
  337. package/src/components/TimePicker.vue +19 -41
  338. package/src/components/ToastNotification.vue +4 -57
  339. package/src/components/Tooltip.vue +7 -12
  340. package/src/components/WellEditPopup.vue +3 -8
  341. package/src/components/WellPlate.vue +4 -10
  342. package/src/components/index.ts +12 -1
  343. package/src/components/internal/FormFieldRendererInternal.vue +50 -0
  344. package/src/components/internal/FormSectionRenderer.vue +78 -0
  345. package/src/composables/index.ts +212 -0
  346. package/src/composables/platformContextHelpers.ts +74 -0
  347. package/src/composables/useBioTemplateComponents.ts +93 -0
  348. package/src/composables/useBioTemplateControls.ts +41 -0
  349. package/src/composables/useBioTemplatePackWorkspace.ts +181 -0
  350. package/src/composables/useBioTemplatePresetWorkspace.ts +337 -0
  351. package/src/composables/useBioTemplateWorkspace.ts +139 -0
  352. package/src/composables/useCalendarGrid.ts +140 -0
  353. package/src/composables/useControlSchema.ts +1274 -0
  354. package/src/composables/useDebouncedWatch.ts +119 -0
  355. package/src/composables/useDropdownState.ts +83 -0
  356. package/src/composables/useEventListener.ts +111 -0
  357. package/src/composables/useExpansionSet.ts +117 -0
  358. package/src/composables/useExperimentData.ts +20 -11
  359. package/src/composables/useExperimentSave.ts +202 -50
  360. package/src/composables/useExperimentSelector.ts +86 -72
  361. package/src/composables/useForm.ts +49 -4
  362. package/src/composables/useFormBuilder.ts +93 -42
  363. package/src/composables/useGroupAssignment.ts +148 -0
  364. package/src/composables/useListSelection.ts +158 -0
  365. package/src/composables/usePluginApi.ts +7 -14
  366. package/src/composables/usePluginClient.ts +425 -0
  367. package/src/composables/usePluginConfig.ts +34 -13
  368. package/src/composables/useRequestSyncState.ts +126 -0
  369. package/src/composables/useSampleGroups.ts +126 -0
  370. package/src/composables/useSelectionLimit.ts +57 -0
  371. package/src/composables/useSortedItems.ts +118 -0
  372. package/src/composables/useTemplateCollection.ts +229 -0
  373. package/src/composables/useTextSearch.ts +60 -0
  374. package/src/composables/useTheme.ts +2 -28
  375. package/src/composables/useTimeUtils.ts +26 -2
  376. package/src/composables/useWellPlateEditor.ts +13 -9
  377. package/src/index.ts +228 -4
  378. package/src/install.ts +11 -4
  379. package/src/stores/settings.ts +13 -9
  380. package/src/styles/components/app-page-selector.css +23 -0
  381. package/src/styles/components/app-pill-nav.css +8 -2
  382. package/src/styles/components/app-top-bar.css +35 -2
  383. package/src/styles/components/button.css +3 -7
  384. package/src/styles/components/concentration-input.css +3 -142
  385. package/src/styles/components/dropdown-button.css +4 -4
  386. package/src/styles/components/empty-state.css +0 -16
  387. package/src/styles/components/input.css +4 -5
  388. package/src/styles/components/number-input.css +3 -3
  389. package/src/styles/components/plugin-icon.css +38 -0
  390. package/src/styles/components/segmented-control.css +4 -7
  391. package/src/styles/components/settings-button.css +3 -66
  392. package/src/styles/components/settings-modal.css +184 -0
  393. package/src/styles/components/tabs.css +1 -2
  394. package/src/styles/components/textarea.css +4 -5
  395. package/src/styles/components/theme-toggle.css +3 -66
  396. package/src/styles/components/unit-input.css +3 -3
  397. package/src/styles/index.css +0 -1
  398. package/src/templates/adapters.ts +785 -0
  399. package/src/templates/builders.ts +2149 -0
  400. package/src/templates/catalog.ts +245 -0
  401. package/src/templates/componentBindings.ts +615 -0
  402. package/src/templates/controlSchemas.ts +718 -0
  403. package/src/templates/index.ts +314 -0
  404. package/src/templates/lookup.ts +18 -0
  405. package/src/templates/packs.ts +156 -0
  406. package/src/templates/presets.ts +146 -0
  407. package/src/templates/types.ts +668 -0
  408. package/src/types/components.ts +80 -1
  409. package/src/types/form-builder.ts +7 -2
  410. package/src/types/index.ts +17 -0
  411. package/src/types/platform.ts +8 -1
  412. package/src/utils/formModelSync.ts +52 -0
  413. package/src/utils/items.ts +28 -0
  414. package/src/utils/options.ts +23 -0
  415. package/src/utils/pluginIcon.ts +30 -0
  416. package/dist/auth-DsI0rQ7_.js.map +0 -1
  417. package/dist/components-CzbQQPCb.js.map +0 -1
  418. package/dist/composables-BXklV5ii.js.map +0 -1
  419. package/dist/useScheduleDrag-CxBeqYcu.js +0 -7181
  420. package/dist/useScheduleDrag-CxBeqYcu.js.map +0 -1
  421. package/src/styles/components/grouping-modal.css +0 -323
@@ -0,0 +1,82 @@
1
+ import { BioTemplateControlValues, TemplatePresetId } from '../templates';
2
+ import { UseBioTemplatePresetWorkspaceOptions, UseBioTemplatePresetWorkspaceReturn } from '../composables/useBioTemplatePresetWorkspace';
3
+ interface BioTemplatePresetWorkspaceSlotProps {
4
+ workspace: UseBioTemplatePresetWorkspaceReturn;
5
+ bindings: UseBioTemplatePresetWorkspaceReturn['bindings'];
6
+ collection: UseBioTemplatePresetWorkspaceReturn['collection']['value'];
7
+ renderer: UseBioTemplatePresetWorkspaceReturn['renderer']['value'];
8
+ componentProps: UseBioTemplatePresetWorkspaceReturn['componentProps']['value'];
9
+ componentPropsById: UseBioTemplatePresetWorkspaceReturn['componentPropsById']['value'];
10
+ componentPropsByComponent: UseBioTemplatePresetWorkspaceReturn['componentPropsByComponent']['value'];
11
+ getComponentProps: UseBioTemplatePresetWorkspaceReturn['getComponentProps'];
12
+ }
13
+ interface Props {
14
+ /** Workspace returned by useBioTemplatePresetWorkspace(). Use for full manual control. */
15
+ workspace?: UseBioTemplatePresetWorkspaceReturn;
16
+ /** Built-in preset id used to create the workspace when workspace is not provided. */
17
+ preset?: TemplatePresetId;
18
+ /** Options passed to the internally generated useBioTemplatePresetWorkspace() call. */
19
+ workspaceOptions?: UseBioTemplatePresetWorkspaceOptions;
20
+ /** Initial control values for the internally generated preset workspace. */
21
+ initialValues?: BioTemplateControlValues;
22
+ /** External control values for the internally generated preset workspace. Supports default v-model. */
23
+ modelValue?: BioTemplateControlValues;
24
+ /** External control values for the internally generated preset workspace. Supports v-model:values. */
25
+ values?: BioTemplateControlValues;
26
+ /** Label shown in the status banner. Defaults to the humanized preset id. */
27
+ label?: string;
28
+ /** Sidebar CSS width. */
29
+ sidebarWidth?: string;
30
+ /** Compact sidebar and preview layout. */
31
+ dense?: boolean;
32
+ /** Render preview components in read-only mode. */
33
+ readonly?: boolean;
34
+ /** Show save timestamp. */
35
+ showStatus?: boolean;
36
+ /** Show cards for templates included in the preset collection. */
37
+ showTemplateSummary?: boolean;
38
+ /** Show component binding count. */
39
+ showComponentSummary?: boolean;
40
+ saveLabel?: string;
41
+ resetLabel?: string;
42
+ }
43
+ declare function __VLS_template(): {
44
+ attrs: Partial<{}>;
45
+ slots: Readonly<{
46
+ default?: (props: BioTemplatePresetWorkspaceSlotProps) => unknown;
47
+ }> & {
48
+ default?: (props: BioTemplatePresetWorkspaceSlotProps) => unknown;
49
+ };
50
+ refs: {};
51
+ rootEl: HTMLDivElement;
52
+ };
53
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
54
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
55
+ "update:modelValue": (values: BioTemplateControlValues) => any;
56
+ "update:values": (values: BioTemplateControlValues) => any;
57
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
58
+ "onUpdate:modelValue"?: ((values: BioTemplateControlValues) => any) | undefined;
59
+ "onUpdate:values"?: ((values: BioTemplateControlValues) => any) | undefined;
60
+ }>, {
61
+ values: BioTemplateControlValues;
62
+ modelValue: BioTemplateControlValues;
63
+ readonly: boolean;
64
+ initialValues: BioTemplateControlValues;
65
+ dense: boolean;
66
+ sidebarWidth: string;
67
+ workspace: UseBioTemplatePresetWorkspaceReturn;
68
+ preset: TemplatePresetId;
69
+ showStatus: boolean;
70
+ showTemplateSummary: boolean;
71
+ resetLabel: string;
72
+ saveLabel: string;
73
+ workspaceOptions: UseBioTemplatePresetWorkspaceOptions;
74
+ showComponentSummary: boolean;
75
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
76
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
77
+ export default _default;
78
+ type __VLS_WithTemplateSlots<T, S> = T & {
79
+ new (): {
80
+ $slots: S;
81
+ };
82
+ };
@@ -0,0 +1,29 @@
1
+ import { BioTemplateEnvelope, TemplateCollectionEnvelope } from '../templates/types';
2
+ interface Props {
3
+ /** Template envelope or template collection to render. */
4
+ target: BioTemplateEnvelope<unknown> | TemplateCollectionEnvelope;
5
+ /** Optional allow-list of component names, for example ['WellPlate', 'DataFrame']. */
6
+ include?: string[];
7
+ /** Optional deny-list of component names. */
8
+ exclude?: string[];
9
+ /** Compact child component sizing. */
10
+ dense?: boolean;
11
+ /** Prefer preview-safe props for editable components. */
12
+ readonly?: boolean;
13
+ /** Show component/template labels above each rendered component. */
14
+ showHeaders?: boolean;
15
+ /** Show binding descriptions in each header. */
16
+ showDescriptions?: boolean;
17
+ /** Message shown when the target has no renderable bindings. */
18
+ emptyText?: string;
19
+ }
20
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
21
+ readonly: boolean;
22
+ include: string[];
23
+ exclude: string[];
24
+ emptyText: string;
25
+ dense: boolean;
26
+ showHeaders: boolean;
27
+ showDescriptions: boolean;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
29
+ export default _default;
@@ -1,6 +1,6 @@
1
- import { BreadcrumbItem } from '../types';
1
+ import { BreadcrumbItem, BreadcrumbItemInput } from '../types';
2
2
  interface Props {
3
- items: BreadcrumbItem[];
3
+ items: BreadcrumbItemInput[];
4
4
  separator?: string;
5
5
  }
6
6
  declare function __VLS_template(): {
@@ -89,6 +89,7 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
89
89
  "onDay-click"?: ((context: CalendarDayContext) => any) | undefined;
90
90
  onNavigate?: ((direction: "prev" | "next", month: number, year: number) => any) | undefined;
91
91
  }>, {
92
+ locale: string;
92
93
  selectionMode: CalendarSelectionMode;
93
94
  fixedWeeks: boolean;
94
95
  weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;
@@ -96,7 +97,6 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
96
97
  showNavigation: boolean;
97
98
  markers: CalendarMarker[];
98
99
  disabledDates: Array<Date | string>;
99
- locale: string;
100
100
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
101
101
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
102
102
  export default _default;
@@ -0,0 +1,25 @@
1
+ import { CalendarGridDay } from '../composables/useCalendarGrid';
2
+ interface Props {
3
+ weekDays: readonly string[];
4
+ monthYear: string;
5
+ days: CalendarGridDay[];
6
+ selectedDate?: Date | null;
7
+ locale?: string;
8
+ previousLabel?: string;
9
+ nextLabel?: string;
10
+ }
11
+ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ select: (day: CalendarGridDay) => any;
13
+ "previous-month": () => any;
14
+ "next-month": () => any;
15
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
16
+ onSelect?: ((day: CalendarGridDay) => any) | undefined;
17
+ "onPrevious-month"?: (() => any) | undefined;
18
+ "onNext-month"?: (() => any) | undefined;
19
+ }>, {
20
+ selectedDate: Date | null;
21
+ locale: string;
22
+ previousLabel: string;
23
+ nextLabel: string;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
25
+ export default _default;
@@ -27,8 +27,8 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
27
27
  }>, {
28
28
  disabled: boolean;
29
29
  defaultOpen: boolean;
30
- dense: boolean;
31
30
  showToggle: boolean;
31
+ dense: boolean;
32
32
  toggleValue: boolean;
33
33
  toggleColor: string;
34
34
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
@@ -23,10 +23,10 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
23
23
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
24
24
  "onUpdate:modelValue"?: ((value: number) => any) | undefined;
25
25
  }>, {
26
- disabled: boolean;
27
26
  size: "sm" | "md" | "lg";
28
27
  min: number;
29
28
  max: number;
29
+ disabled: boolean;
30
30
  step: number;
31
31
  showValue: boolean;
32
32
  showLabels: boolean;
@@ -16,10 +16,10 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
16
16
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
17
17
  "onUpdate:modelValue"?: ((value: ConcentrationValue | undefined) => any) | undefined;
18
18
  }>, {
19
- error: boolean;
20
- disabled: boolean;
21
19
  size: "sm" | "md" | "lg";
22
20
  placeholder: string;
21
+ disabled: boolean;
22
+ error: boolean;
23
23
  showConversion: boolean;
24
24
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
25
25
  export default _default;
@@ -27,11 +27,11 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
27
27
  onCancel?: (() => any) | undefined;
28
28
  onConfirm?: (() => any) | undefined;
29
29
  }>, {
30
+ title: string;
30
31
  variant: "danger" | "warning" | "info";
32
+ cancelLabel: string;
31
33
  loading: boolean;
32
- title: string;
33
34
  confirmLabel: string;
34
- cancelLabel: string;
35
35
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
36
36
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
37
37
  export default _default;
@@ -0,0 +1,130 @@
1
+ import { TopBarVariant } from '../types';
2
+ import { FormEnhancements } from '../types/form-builder';
3
+ import { ControlComponentPropsByIdMap, ControlComponentPropsMap, ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions, UseControlWorkspaceReturn } from '../composables/useControlSchema';
4
+ type ControlWorkspaceNavigation = 'tabs' | 'pill';
5
+ type ResolvedControlWorkspace = UseControlWorkspaceReturn<ControlSchema>;
6
+ interface ControlWorkspaceDefaultSlotProps {
7
+ workspace: ResolvedControlWorkspace;
8
+ bindings: ResolvedControlWorkspace['bindings'];
9
+ values: ResolvedControlWorkspace['values'];
10
+ componentProps: ReturnType<ResolvedControlWorkspace['getComponentProps']>;
11
+ componentPropsById: ReturnType<ResolvedControlWorkspace['getComponentPropsById']>;
12
+ }
13
+ interface ControlWorkspaceTopbarSlotProps {
14
+ workspace: ResolvedControlWorkspace;
15
+ bindings: ResolvedControlWorkspace['bindings'];
16
+ topBar: ResolvedControlWorkspace['topBar'];
17
+ }
18
+ interface ControlWorkspaceSidebarSlotProps {
19
+ workspace: ResolvedControlWorkspace;
20
+ bindings: ResolvedControlWorkspace['bindings'];
21
+ sidebar: ResolvedControlWorkspace['sidebar'];
22
+ }
23
+ interface Props {
24
+ /** Model returned by defineControlModel()/defineDoseDesignControlModel(), or a raw nested ControlModel. */
25
+ model?: ControlModel | ControlModelBinding;
26
+ /** Workspace returned by useControlWorkspace(). Use for full manual control. */
27
+ workspace?: UseControlWorkspaceReturn<ControlSchema>;
28
+ /** Compact controls schema. When provided without workspace, the view creates the workspace internally. */
29
+ controls?: ControlSchema;
30
+ /** Options passed to the internally generated useControlWorkspace() call. */
31
+ controlOptions?: ControlWorkspaceOptions;
32
+ /** Initial values for the internally generated workspace. Merged over controlOptions.initialValues. */
33
+ initialValues?: Record<string, unknown>;
34
+ /** External values for the internally generated workspace. Supports default v-model. */
35
+ modelValue?: Record<string, unknown>;
36
+ /** External values for the internally generated workspace. Supports v-model:values. */
37
+ values?: Record<string, unknown>;
38
+ /** AppTopBar title. */
39
+ title?: string;
40
+ /** AppTopBar subtitle. */
41
+ subtitle?: string;
42
+ /** AppTopBar visual variant. */
43
+ topBarVariant?: TopBarVariant;
44
+ /** AppTopBar generated navigation style. "pill" uses the preferred AppPillNav surface; "tabs" keeps the legacy prop surface. */
45
+ navigation?: ControlWorkspaceNavigation;
46
+ /** AppSidebar/AppLayout sidebar width. */
47
+ sidebarWidth?: string;
48
+ /** Sidebar position in AppLayout. */
49
+ sidebarPosition?: 'left' | 'right';
50
+ /** Floating AppLayout style. */
51
+ floating?: boolean;
52
+ /** Compact AppSidebar density. */
53
+ dense?: boolean;
54
+ /** Whether AppTopBar should show generated settings. */
55
+ showSettings?: boolean;
56
+ /** Render FormBuilder actions in the default content. */
57
+ showFormActions?: boolean;
58
+ /** Runtime FormBuilder enhancements passed to generated forms. */
59
+ formEnhancements?: FormEnhancements<Record<string, unknown>>;
60
+ /** Optional mapping from workspace values to component props exposed to the default slot. */
61
+ componentProps?: ControlComponentPropsMap;
62
+ /** Optional named mappings from workspace values to component props exposed to the default slot. */
63
+ componentPropsById?: ControlComponentPropsByIdMap;
64
+ /** Loading/saving state passed to generated forms. */
65
+ formLoading?: boolean;
66
+ /** Disabled state passed to generated forms. */
67
+ formDisabled?: boolean;
68
+ /** Readonly state passed to generated forms. */
69
+ formReadonly?: boolean;
70
+ /** FormBuilder size in the default content. */
71
+ formSize?: 'sm' | 'md' | 'lg';
72
+ }
73
+ declare function __VLS_template(): {
74
+ attrs: Partial<{}>;
75
+ slots: Readonly<{
76
+ default?: (props: ControlWorkspaceDefaultSlotProps) => unknown;
77
+ topbar?: (props: ControlWorkspaceTopbarSlotProps) => unknown;
78
+ sidebar?: (props: ControlWorkspaceSidebarSlotProps) => unknown;
79
+ }> & {
80
+ default?: (props: ControlWorkspaceDefaultSlotProps) => unknown;
81
+ topbar?: (props: ControlWorkspaceTopbarSlotProps) => unknown;
82
+ sidebar?: (props: ControlWorkspaceSidebarSlotProps) => unknown;
83
+ };
84
+ refs: {};
85
+ rootEl: HTMLDivElement;
86
+ };
87
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
88
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
89
+ "update:modelValue": (values: Record<string, unknown>) => any;
90
+ submit: (values: Record<string, unknown>) => any;
91
+ cancel: () => any;
92
+ "update:values": (values: Record<string, unknown>) => any;
93
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
94
+ "onUpdate:modelValue"?: ((values: Record<string, unknown>) => any) | undefined;
95
+ onSubmit?: ((values: Record<string, unknown>) => any) | undefined;
96
+ onCancel?: (() => any) | undefined;
97
+ "onUpdate:values"?: ((values: Record<string, unknown>) => any) | undefined;
98
+ }>, {
99
+ values: Record<string, unknown>;
100
+ modelValue: Record<string, unknown>;
101
+ title: string;
102
+ subtitle: string;
103
+ initialValues: Record<string, unknown>;
104
+ controls: ControlSchema;
105
+ controlOptions: ControlWorkspaceOptions;
106
+ model: ControlModel | ControlModelBinding;
107
+ componentProps: ControlComponentPropsMap;
108
+ componentPropsById: ControlComponentPropsByIdMap;
109
+ dense: boolean;
110
+ showSettings: boolean;
111
+ navigation: ControlWorkspaceNavigation;
112
+ floating: boolean;
113
+ formEnhancements: FormEnhancements<Record<string, unknown>>;
114
+ showFormActions: boolean;
115
+ formLoading: boolean;
116
+ formDisabled: boolean;
117
+ formReadonly: boolean;
118
+ formSize: "sm" | "md" | "lg";
119
+ sidebarPosition: "left" | "right";
120
+ sidebarWidth: string;
121
+ workspace: UseControlWorkspaceReturn<ControlSchema>;
122
+ topBarVariant: TopBarVariant;
123
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
124
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
125
+ export default _default;
126
+ type __VLS_WithTemplateSlots<T, S> = T & {
127
+ new (): {
128
+ $slots: S;
129
+ };
130
+ };
@@ -13,9 +13,9 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
13
13
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
14
14
  "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
15
15
  }>, {
16
- error: boolean;
17
- disabled: boolean;
18
16
  size: "sm" | "md" | "lg";
17
+ disabled: boolean;
18
+ error: boolean;
19
19
  clearable: boolean;
20
20
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
21
21
  containerRef: HTMLDivElement;
@@ -16,15 +16,15 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
16
16
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
17
17
  "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
18
18
  }>, {
19
- error: boolean;
20
- disabled: boolean;
21
19
  size: "sm" | "md" | "lg";
22
20
  placeholder: string;
21
+ disabled: boolean;
22
+ error: boolean;
23
23
  locale: string;
24
24
  clearable: boolean;
25
25
  timeStep: number;
26
26
  timeFormat: "12h" | "24h";
27
27
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
28
- containerRef: HTMLDivElement;
28
+ rootRef: HTMLDivElement;
29
29
  }, HTMLDivElement>;
30
30
  export default _default;
@@ -1,4 +1,4 @@
1
- import { SelectOption, ButtonVariant, ButtonSize } from '../types';
1
+ import { SelectOption, SelectOptionInput, ButtonVariant, ButtonSize } from '../types';
2
2
  /**
3
3
  * DropdownButton - Button-style select with dropdown menu for option selection.
4
4
  *
@@ -18,7 +18,7 @@ interface Props {
18
18
  /** Selected option value */
19
19
  modelValue?: string | number;
20
20
  /** Available options */
21
- options: SelectOption<string | number>[];
21
+ options: SelectOptionInput<string | number>[];
22
22
  /** Placeholder text when no option is selected */
23
23
  placeholder?: string;
24
24
  /** Button style variant */
@@ -37,11 +37,11 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
37
37
  onSelect?: ((option: SelectOption<string | number>) => any) | undefined;
38
38
  "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
39
39
  }>, {
40
- disabled: boolean;
41
40
  size: ButtonSize;
41
+ disabled: boolean;
42
42
  variant: ButtonVariant;
43
43
  loading: boolean;
44
44
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
45
- containerRef: HTMLDivElement;
45
+ rootRef: HTMLDivElement;
46
46
  }, HTMLDivElement>;
47
47
  export default _default;
@@ -1,4 +1,3 @@
1
- /** Empty-state placeholder with icon badge, headline, description, default slot, and optional CTA button. */
2
1
  interface Props {
3
2
  title?: string;
4
3
  description?: string;
@@ -24,8 +23,8 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
24
23
  onAction?: (() => any) | undefined;
25
24
  }>, {
26
25
  size: "sm" | "md" | "lg";
27
- variant: "illustrated" | "inline";
28
26
  color: "primary" | "cta" | "success" | "warning" | "error" | "muted";
27
+ variant: "illustrated" | "inline";
29
28
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
30
29
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
31
30
  export default _default;
@@ -22,8 +22,8 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
22
22
  "onDownload-json"?: (() => any) | undefined;
23
23
  "onDownload-csv"?: (() => any) | undefined;
24
24
  }>, {
25
- loading: boolean;
26
25
  title: string;
27
26
  defaultView: "summary" | "tree" | "table";
27
+ loading: boolean;
28
28
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
29
29
  export default _default;
@@ -32,11 +32,11 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
32
32
  }>, {
33
33
  size: "sm" | "md" | "lg";
34
34
  modelValue: ProtocolStep[];
35
- editable: boolean;
35
+ collapsible: boolean;
36
36
  orientation: "horizontal" | "vertical";
37
+ editable: boolean;
37
38
  showDuration: boolean;
38
39
  showTime: boolean;
39
- collapsible: boolean;
40
40
  expandedStepId: string;
41
41
  colorByStatus: boolean;
42
42
  colorByType: boolean;
@@ -24,10 +24,10 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
24
24
  onError?: ((message: string) => any) | undefined;
25
25
  onUpload?: ((files: File[]) => any) | undefined;
26
26
  }>, {
27
- disabled: boolean;
28
- multiple: boolean;
29
27
  size: "sm" | "md" | "lg";
28
+ disabled: boolean;
30
29
  mode: "file" | "folder";
30
+ multiple: boolean;
31
31
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
32
32
  inputRef: HTMLInputElement;
33
33
  }, HTMLDivElement>;
@@ -31,8 +31,8 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {},
31
31
  disabled: boolean;
32
32
  progress: number;
33
33
  indeterminate: boolean;
34
- state: FitState;
35
34
  cancelLabel: string;
35
+ state: FitState;
36
36
  results: FitResultSummary[];
37
37
  progressLabel: string;
38
38
  runLabel: string;
@@ -21,13 +21,13 @@ declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, imp
21
21
  onBack?: (() => any) | undefined;
22
22
  }>, {
23
23
  disabled: boolean;
24
- loading: boolean;
24
+ submitLabel: string;
25
25
  cancelLabel: string;
26
- canProceed: boolean;
26
+ showCancel: boolean;
27
+ loading: boolean;
27
28
  isWizard: boolean;
28
29
  isFirst: boolean;
29
30
  isLast: boolean;
30
- submitLabel: string;
31
- showCancel: boolean;
31
+ canProceed: boolean;
32
32
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
33
33
  export default _default;
@@ -1,18 +1,28 @@
1
1
  import { FormSchema, FormEnhancements, UseFormBuilderReturn } from '../types/form-builder';
2
2
  import { WizardStep } from '../types';
3
+ import { ControlModel, ControlModelBinding, ControlSchema, ControlWorkspaceOptions } from '../composables/useControlSchema';
3
4
  interface Props {
4
- schema: FormSchema;
5
+ /** Full form or wizard schema. Takes precedence when `controls` is also provided. */
6
+ schema?: FormSchema;
7
+ /** Model returned by defineControlModel(), or a raw nested ControlModel for one-step form generation. */
8
+ model?: ControlModel | ControlModelBinding;
9
+ /** Compact control schema used to generate a flat FormSchema. */
10
+ controls?: ControlSchema;
11
+ /** Options passed to compact control schema generation, including shared initialValues. */
12
+ controlOptions?: ControlWorkspaceOptions;
5
13
  modelValue?: Record<string, unknown>;
6
14
  enhancements?: FormEnhancements<Record<string, unknown>>;
7
15
  loading?: boolean;
8
16
  disabled?: boolean;
9
17
  size?: 'sm' | 'md' | 'lg';
10
18
  readonly?: boolean;
19
+ /** Show the default or slotted form actions. */
20
+ showActions?: boolean;
11
21
  }
12
22
  declare function __VLS_template(): {
13
23
  attrs: Partial<{}>;
14
24
  slots: Partial<Record<`field:${string}`, (_: {
15
- field: import('../types').FormFieldSchema;
25
+ field: import('..').FormFieldSchema;
16
26
  form: import('../composables').UseFormReturn<Record<string, unknown>>;
17
27
  fieldProps: {
18
28
  modelValue: unknown;
@@ -21,12 +31,12 @@ declare function __VLS_template(): {
21
31
  error: string | null;
22
32
  };
23
33
  }) => any>> & Partial<Record<`section:${string}`, (_: {
24
- section: import('../types').FormSectionSchema;
34
+ section: import('..').FormSectionSchema;
25
35
  form: import('../composables').UseFormReturn<Record<string, unknown>>;
26
36
  }) => any>> & Partial<Record<`section:${string}:after`, (_: {
27
37
  form: import('../composables').UseFormReturn<Record<string, unknown>>;
28
38
  }) => any>> & Partial<Record<`field:${string}`, (_: {
29
- field: import('../types').FormFieldSchema;
39
+ field: import('..').FormFieldSchema;
30
40
  form: import('../composables').UseFormReturn<Record<string, unknown>>;
31
41
  fieldProps: {
32
42
  modelValue: unknown;
@@ -35,7 +45,7 @@ declare function __VLS_template(): {
35
45
  error: string | null;
36
46
  };
37
47
  }) => any>> & Partial<Record<`section:${string}`, (_: {
38
- section: import('../types').FormSectionSchema;
48
+ section: import('..').FormSectionSchema;
39
49
  form: import('../composables').UseFormReturn<Record<string, unknown>>;
40
50
  }) => any>> & Partial<Record<`section:${string}:after`, (_: {
41
51
  form: import('../composables').UseFormReturn<Record<string, unknown>>;
@@ -159,22 +169,26 @@ declare const __VLS_component: import('vue').DefineComponent<Props, {
159
169
  form: import('../composables').UseFormReturn<Record<string, unknown>>;
160
170
  validate: () => boolean;
161
171
  reset: (values?: Partial<Record<string, unknown>> | undefined) => void;
172
+ updateSchema: (schema: FormSchema, values?: Partial<Record<string, unknown>> | undefined) => void;
162
173
  goNext: () => boolean;
163
174
  goBack: () => void;
164
175
  goToStep: (index: number) => void;
165
176
  builder: UseFormBuilderReturn<Record<string, unknown>>;
166
177
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
167
- submit: (data: Record<string, unknown>) => any;
168
178
  "update:modelValue": (data: Record<string, unknown>) => any;
179
+ submit: (data: Record<string, unknown>) => any;
169
180
  cancel: () => any;
170
181
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
171
- onSubmit?: ((data: Record<string, unknown>) => any) | undefined;
172
182
  "onUpdate:modelValue"?: ((data: Record<string, unknown>) => any) | undefined;
183
+ onSubmit?: ((data: Record<string, unknown>) => any) | undefined;
173
184
  onCancel?: (() => any) | undefined;
174
185
  }>, {
175
186
  disabled: boolean;
176
- loading: boolean;
177
187
  readonly: boolean;
188
+ controlOptions: ControlWorkspaceOptions;
189
+ model: ControlModel | ControlModelBinding;
190
+ loading: boolean;
191
+ showActions: boolean;
178
192
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
179
193
  wizardRef: ({
180
194
  $: import('vue').ComponentInternalInstance;
@@ -7,16 +7,13 @@ interface Props {
7
7
  }
8
8
  declare function __VLS_template(): {
9
9
  attrs: Partial<{}>;
10
- slots: Partial<Record<`field:${string}`, (_: {
11
- field: FormFieldSchema;
12
- form: UseFormReturn<Record<string, unknown>>;
13
- fieldProps: {
14
- modelValue: unknown;
15
- 'onUpdate:modelValue': (value: unknown) => void;
16
- onBlur: () => void;
17
- error: string | null;
18
- };
19
- }) => any>>;
10
+ slots: Readonly<{
11
+ [name: string]: ((props: Record<string, unknown>) => unknown) | undefined;
12
+ '`field:${field.name}`'?: (props: Record<string, unknown>) => unknown;
13
+ }> & {
14
+ [name: string]: ((props: Record<string, unknown>) => unknown) | undefined;
15
+ '`field:${field.name}`'?: (props: Record<string, unknown>) => unknown;
16
+ };
20
17
  refs: {};
21
18
  rootEl: HTMLDivElement;
22
19
  };
@@ -5,30 +5,17 @@ interface Props {
5
5
  }
6
6
  declare function __VLS_template(): {
7
7
  attrs: Partial<{}>;
8
- slots: Partial<Record<`section:${string}`, (_: {
9
- section: FormSectionSchema;
10
- form: import('../composables').UseFormReturn<Record<string, unknown>>;
11
- }) => any>> & Partial<Record<`field:${string}`, (_: {
12
- field: import('../types').FormFieldSchema;
13
- form: import('../composables').UseFormReturn<Record<string, unknown>>;
14
- fieldProps: {
15
- modelValue: unknown;
16
- 'onUpdate:modelValue': (value: unknown) => void;
17
- onBlur: () => void;
18
- error: string | null;
19
- };
20
- }) => any>> & Partial<Record<`field:${string}`, (_: {
21
- field: import('../types').FormFieldSchema;
22
- form: import('../composables').UseFormReturn<Record<string, unknown>>;
23
- fieldProps: {
24
- modelValue: unknown;
25
- 'onUpdate:modelValue': (value: unknown) => void;
26
- onBlur: () => void;
27
- error: string | null;
28
- };
29
- }) => any>> & Partial<Record<`section:${string}:after`, (_: {
30
- form: import('../composables').UseFormReturn<Record<string, unknown>>;
31
- }) => any>>;
8
+ slots: Readonly<{
9
+ [name: string]: ((props: Record<string, unknown>) => unknown) | undefined;
10
+ '`section:${section.id}`'?: (props: Record<string, unknown>) => unknown;
11
+ '`field:${field.name}`'?: (props: Record<string, unknown>) => unknown;
12
+ '`section:${section.id}:after`'?: (props: Record<string, unknown>) => unknown;
13
+ }> & {
14
+ [name: string]: ((props: Record<string, unknown>) => unknown) | undefined;
15
+ '`section:${section.id}`'?: (props: Record<string, unknown>) => unknown;
16
+ '`field:${field.name}`'?: (props: Record<string, unknown>) => unknown;
17
+ '`section:${section.id}:after`'?: (props: Record<string, unknown>) => unknown;
18
+ };
32
19
  refs: {};
33
20
  rootEl: any;
34
21
  };