@morscherlab/mint-sdk 1.4.0-beta.2 → 1.4.0-beta.20

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 (330) hide show
  1. package/README.md +14 -3
  2. package/dist/{ActionMenu-CScINahU.js → AlertBox-CzLg0UaL.js} +40 -209
  3. package/dist/AlertBox-CzLg0UaL.js.map +1 -0
  4. package/dist/{AppSidebar-BmiiPfz9.js → AppSidebar-6oTT-gPO.js} +1249 -239
  5. package/dist/AppSidebar-6oTT-gPO.js.map +1 -0
  6. package/dist/{ConfirmDialog-CJ7hqYUP.js → ConfirmDialog-CSls2Nuv.js} +2 -2
  7. package/dist/{ConfirmDialog-CJ7hqYUP.js.map → ConfirmDialog-CSls2Nuv.js.map} +1 -1
  8. package/dist/ExperimentPopover-9l4QZlvQ.js +337 -0
  9. package/dist/ExperimentPopover-9l4QZlvQ.js.map +1 -0
  10. package/dist/{ExperimentSelectorModal-D-9z7cNx.js → ExperimentSelectorModal-pR5fK3pA.js} +244 -211
  11. package/dist/ExperimentSelectorModal-pR5fK3pA.js.map +1 -0
  12. package/dist/{SegmentedControl-DERBN-Xd.js → SegmentedControl-CJ7EAmOq.js} +2 -2
  13. package/dist/{SegmentedControl-DERBN-Xd.js.map → SegmentedControl-CJ7EAmOq.js.map} +1 -1
  14. package/dist/{SettingsModal-CSLE31yg.js → SettingsModal-Dyitgzfp.js} +28 -27
  15. package/dist/SettingsModal-Dyitgzfp.js.map +1 -0
  16. package/dist/__stories__/experiment-helpers.d.ts +10 -0
  17. package/dist/__tests__/components/AppTopBarOnboarding.test.d.ts +1 -0
  18. package/dist/__tests__/composables/useOnboarding.test.d.ts +1 -0
  19. package/dist/__tests__/styles/paletteTokens.test.d.ts +1 -0
  20. package/dist/__tests__/styles/v2AuditRules.test.d.ts +1 -0
  21. package/dist/components/AppSidebar.vue.d.ts +1 -1
  22. package/dist/components/AppTopBar.vue.d.ts +20 -5
  23. package/dist/components/ArtifactSaveDialog.vue.d.ts +9 -1
  24. package/dist/components/AuditTrail.vue.d.ts +1 -1
  25. package/dist/components/BaseButton.vue.d.ts +4 -2
  26. package/dist/components/BaseSelect.vue.d.ts +2 -2
  27. package/dist/components/ChartContainer.vue.d.ts +2 -0
  28. package/dist/components/DatePicker.vue.d.ts +1 -1
  29. package/dist/components/ExperimentPopover.vue.d.ts +18 -0
  30. package/dist/components/ExperimentSelectorModal.vue.d.ts +15 -5
  31. package/dist/components/FilePicker.vue.d.ts +1 -1
  32. package/dist/components/FileUploader.vue.d.ts +2 -2
  33. package/dist/components/JobsStatusTray.vue.d.ts +15 -4
  34. package/dist/components/PluginIcon.vue.d.ts +2 -2
  35. package/dist/components/PluginWorkspaceView.props.d.ts +3 -0
  36. package/dist/components/PluginWorkspaceView.vue.d.ts +3 -0
  37. package/dist/components/SampleSelector.vue.d.ts +6 -6
  38. package/dist/components/SequenceProgressBar.vue.d.ts +3 -0
  39. package/dist/components/SmartGroupFieldRecipe.vue.d.ts +1 -1
  40. package/dist/components/StepWizard.vue.d.ts +3 -0
  41. package/dist/components/internal/AppTopBarOnboardingInternal.vue.d.ts +7 -0
  42. package/dist/components/internal/AppTopBarPageSelectorInternal.vue.d.ts +2 -1
  43. package/dist/components/internal/AutoGroupModalInternal.vue.d.ts +1 -1
  44. package/dist/components/internal/DatePickerTimeInternal.vue.d.ts +1 -1
  45. package/dist/components/internal/OnboardingLayerInternal.vue.d.ts +7 -0
  46. package/dist/components/internal/ResourcePickerListInternal.vue.d.ts +2 -7
  47. package/dist/components/internal/SelectMultipleInternal.vue.d.ts +4 -0
  48. package/dist/components/internal/WorkspaceShellInternal.vue.d.ts +8 -0
  49. package/dist/composables/createClient.d.ts +2 -0
  50. package/dist/composables/index.d.ts +1 -0
  51. package/dist/composables/pluginIdentity.d.ts +24 -0
  52. package/dist/composables/pluginWorkspaceModel.d.ts +2 -2
  53. package/dist/composables/useAppExperiment.d.ts +8 -0
  54. package/dist/composables/useCalendarGrid.d.ts +1 -1
  55. package/dist/composables/useExperimentSelector.d.ts +6 -2
  56. package/dist/composables/useJobCenter.d.ts +41 -3
  57. package/dist/composables/useOnboarding.d.ts +119 -0
  58. package/dist/composables/usePlatform.d.ts +1 -0
  59. package/dist/{controlSchemaModel-CP5-_nAj.js → controlSchemaModel-DCUOx8ll.js} +2 -2
  60. package/dist/{controlSchemaModel-CP5-_nAj.js.map → controlSchemaModel-DCUOx8ll.js.map} +1 -1
  61. package/dist/{data-C2PwI_dn.js → data-DBnmeBZX.js} +179 -125
  62. package/dist/data-DBnmeBZX.js.map +1 -0
  63. package/dist/data.js +8 -8
  64. package/dist/{experiment-43OJtH7R.js → experiment-DyO54FQB.js} +25 -61
  65. package/dist/experiment-DyO54FQB.js.map +1 -0
  66. package/dist/{experimentStatus-BZmU4czV.js → experimentStatus-BFrKpHAH.js} +3 -3
  67. package/dist/{experimentStatus-BZmU4czV.js.map → experimentStatus-BFrKpHAH.js.map} +1 -1
  68. package/dist/index.js +20 -20
  69. package/dist/{install-DAID6c2-.js → install-qjELyNwc.js} +15 -14
  70. package/dist/{install-DAID6c2-.js.map → install-qjELyNwc.js.map} +1 -1
  71. package/dist/install.js +1 -1
  72. package/dist/{lab-DLwRl_Ql.js → lab-UyTbokQC.js} +136 -148
  73. package/dist/lab-UyTbokQC.js.map +1 -0
  74. package/dist/lab.js +4 -3
  75. package/dist/{records-BzTcxekG.js → records-CR_pYzIP.js} +533 -335
  76. package/dist/records-CR_pYzIP.js.map +1 -0
  77. package/dist/{runtime-D6gVat6r.js → runtime-CoHhBP10.js} +417 -54
  78. package/dist/runtime-CoHhBP10.js.map +1 -0
  79. package/dist/runtime.d.ts +1 -1
  80. package/dist/runtime.js +7 -7
  81. package/dist/{shell-5ju97nOS.js → shell-BDuZf2zb.js} +10 -5
  82. package/dist/{shell-5ju97nOS.js.map → shell-BDuZf2zb.js.map} +1 -1
  83. package/dist/shell.d.ts +1 -0
  84. package/dist/shell.js +6 -6
  85. package/dist/stores/index.d.ts +1 -1
  86. package/dist/stores/index.js +2 -2
  87. package/dist/stores/settings.d.ts +4 -12
  88. package/dist/styles.css +2732 -2083
  89. package/dist/types/componentWorkflowTypes.d.ts +2 -0
  90. package/dist/types/components.d.ts +2 -0
  91. package/dist/types/generated/platformContext.d.ts +1 -0
  92. package/dist/types/generated-ui.d.ts +4 -0
  93. package/dist/types/index.d.ts +1 -1
  94. package/dist/types/jobs.d.ts +9 -0
  95. package/dist/types/platform.d.ts +1 -1
  96. package/dist/{BaseModal-DfRIuVoj.js → useDropdownState-Bb2N4m40.js} +74 -4
  97. package/dist/useDropdownState-Bb2N4m40.js.map +1 -0
  98. package/dist/{useExperimentSamples-CxcnxZ8h.js → useExperimentSamples-Dno1fFMq.js} +4 -4
  99. package/dist/{useExperimentSamples-CxcnxZ8h.js.map → useExperimentSamples-Dno1fFMq.js.map} +1 -1
  100. package/dist/{useListReorder-CcbEYxX-.js → useListReorder-CQ9OCScc.js} +183 -351
  101. package/dist/useListReorder-CQ9OCScc.js.map +1 -0
  102. package/dist/{useRackEditor-BD5NIo5s.js → useRackEditor-wL3kPrRT.js} +73 -59
  103. package/dist/useRackEditor-wL3kPrRT.js.map +1 -0
  104. package/dist/useRealtime-C3whhVvb.js +508 -0
  105. package/dist/useRealtime-C3whhVvb.js.map +1 -0
  106. package/dist/useRequest-CDkrXNU7.js +244 -0
  107. package/dist/useRequest-CDkrXNU7.js.map +1 -0
  108. package/dist/utils/time.d.ts +7 -0
  109. package/package.json +1 -1
  110. package/src/__stories__/experiment-helpers.ts +3 -3
  111. package/src/__tests__/components/AppTopBar.test.ts +257 -3
  112. package/src/__tests__/components/AppTopBarOnboarding.test.ts +160 -0
  113. package/src/__tests__/components/AppTopBarPageSelector.test.ts +125 -9
  114. package/src/__tests__/components/AppTopBarPillNav.test.ts +35 -0
  115. package/src/__tests__/components/ArtifactSaveDialog.test.ts +78 -0
  116. package/src/__tests__/components/BaseButton.test.ts +19 -0
  117. package/src/__tests__/components/BaseSelect.multiple.test.ts +87 -32
  118. package/src/__tests__/components/BaseSelect.test.ts +2 -1
  119. package/src/__tests__/components/BatchProgressList.test.ts +16 -0
  120. package/src/__tests__/components/CalendarGridPanel.test.ts +2 -2
  121. package/src/__tests__/components/ChartContainer.test.ts +11 -0
  122. package/src/__tests__/components/ChemicalFormula.test.ts +6 -3
  123. package/src/__tests__/components/DatePicker.datetime.test.ts +6 -0
  124. package/src/__tests__/components/DatePicker.test.ts +21 -0
  125. package/src/__tests__/components/DatePicker.time.test.ts +2 -2
  126. package/src/__tests__/components/EmptyState.test.ts +1 -1
  127. package/src/__tests__/components/ExperimentPopover.test.ts +125 -16
  128. package/src/__tests__/components/ExperimentSelectorModal.test.ts +153 -14
  129. package/src/__tests__/components/GeneratedPluginView.test.ts +23 -2
  130. package/src/__tests__/components/InstrumentStateBadge.test.ts +4 -4
  131. package/src/__tests__/components/JobsStatusTray.test.ts +373 -71
  132. package/src/__tests__/components/PluginWorkspaceView.test.ts +63 -1
  133. package/src/__tests__/components/ResourcePickerListInternal.test.ts +0 -20
  134. package/src/__tests__/components/SampleSelector.test.ts +33 -8
  135. package/src/__tests__/components/SequenceProgressBar.test.ts +12 -0
  136. package/src/__tests__/components/SettingsModal.test.ts +9 -2
  137. package/src/__tests__/components/StepWizard.test.ts +11 -0
  138. package/src/__tests__/components/WellPlate.decoration.test.ts +11 -4
  139. package/src/__tests__/components/deprecationTags.test.ts +1 -1
  140. package/src/__tests__/composables/useAppExperiment.test.ts +27 -1
  141. package/src/__tests__/composables/useCalendarGrid.test.ts +4 -2
  142. package/src/__tests__/composables/useExperimentSelector.test.ts +111 -0
  143. package/src/__tests__/composables/useJobCenter.test.ts +262 -3
  144. package/src/__tests__/composables/useOnboarding.test.ts +317 -0
  145. package/src/__tests__/docs/frontendDocsCatalog.test.ts +4 -3
  146. package/src/__tests__/stores/settings.test.ts +21 -21
  147. package/src/__tests__/styles/baseControlsRules.test.ts +6 -2
  148. package/src/__tests__/styles/controlRefreshRules.test.ts +0 -6
  149. package/src/__tests__/styles/cssTokens.test.ts +6 -3
  150. package/src/__tests__/styles/menusShellRefresh.test.ts +22 -12
  151. package/src/__tests__/styles/paletteTokens.test.ts +44 -0
  152. package/src/__tests__/styles/v2AuditRules.test.ts +104 -0
  153. package/src/__tests__/utils/plotlyTemplate.test.ts +4 -4
  154. package/src/__tests__/utils/time.test.ts +18 -1
  155. package/src/components/AdductText.story.vue +7 -0
  156. package/src/components/AdductText.vue +1 -1
  157. package/src/components/AlertBox.story.vue +2 -2
  158. package/src/components/AlertBox.vue +18 -16
  159. package/src/components/AppSidebar.story.vue +0 -28
  160. package/src/components/AppTopBar.onboarding.story.vue +69 -0
  161. package/src/components/AppTopBar.story.vue +105 -15
  162. package/src/components/AppTopBar.vue +248 -122
  163. package/src/components/ArtifactSaveDialog.story.vue +23 -0
  164. package/src/components/ArtifactSaveDialog.vue +102 -12
  165. package/src/components/AuditTrail.story.vue +2 -1
  166. package/src/components/AuditTrail.vue +2 -21
  167. package/src/components/Avatar.vue +10 -14
  168. package/src/components/BaseButton.vue +16 -2
  169. package/src/components/BaseSelect.multiple.story.vue +13 -2
  170. package/src/components/BaseSelect.vue +4 -3
  171. package/src/components/BatchProgressList.vue +35 -25
  172. package/src/components/ChartContainer.story.vue +2 -1
  173. package/src/components/ChartContainer.vue +8 -6
  174. package/src/components/ConfirmDialog.story.vue +1 -1
  175. package/src/components/EmptyState.vue +1 -1
  176. package/src/components/ExperimentPopover.story.vue +165 -53
  177. package/src/components/ExperimentPopover.vue +169 -187
  178. package/src/components/ExperimentSelectorModal.story.vue +73 -31
  179. package/src/components/ExperimentSelectorModal.vue +144 -111
  180. package/src/components/FormField.story.vue +8 -48
  181. package/src/components/GeneratedPluginView.vue +11 -10
  182. package/src/components/GeneratedResultRenderer.vue +3 -4
  183. package/src/components/InstrumentStateBadge.vue +1 -1
  184. package/src/components/JobsStatusTray.story.vue +97 -43
  185. package/src/components/JobsStatusTray.vue +287 -290
  186. package/src/components/LayoutResizeHandle.story.vue +65 -4
  187. package/src/components/LoadingSpinner.vue +1 -1
  188. package/src/components/NumberInput.vue +3 -6
  189. package/src/components/PluginIcon.story.vue +2 -10
  190. package/src/components/PluginIcon.vue +2 -2
  191. package/src/components/PluginWorkspaceView.props.ts +3 -0
  192. package/src/components/PluginWorkspaceView.story.vue +1 -1
  193. package/src/components/PluginWorkspaceView.vue +17 -0
  194. package/src/components/RuntimeUpdateNotice.vue +1 -1
  195. package/src/components/SampleSelector.story.vue +22 -7
  196. package/src/components/SampleSelector.vue +34 -37
  197. package/src/components/SampleSelectorGroupNode.vue +1 -1
  198. package/src/components/SectionCard.story.vue +35 -2
  199. package/src/components/SequenceProgressBar.story.vue +9 -0
  200. package/src/components/SequenceProgressBar.vue +6 -1
  201. package/src/components/SettingsModal.schema.ts +1 -1
  202. package/src/components/SettingsModal.vue +9 -14
  203. package/src/components/SmartGroupFieldRecipe.story.vue +1 -1
  204. package/src/components/SmartGroupManual.story.vue +1 -1
  205. package/src/components/StepWizard.story.vue +33 -0
  206. package/src/components/StepWizard.vue +8 -1
  207. package/src/components/WellPlate.story.vue +3 -1
  208. package/src/components/WellPlate.vue +7 -0
  209. package/src/components/internal/AppTopBarOnboardingInternal.vue +172 -0
  210. package/src/components/internal/AppTopBarPageSelectorInternal.vue +140 -72
  211. package/src/components/internal/AppTopBarPillNavInternal.vue +33 -2
  212. package/src/components/internal/DatePickerDateInternal.vue +16 -40
  213. package/src/components/internal/DatePickerDateTimeInternal.vue +3 -13
  214. package/src/components/internal/DatePickerTimeInternal.vue +5 -8
  215. package/src/components/internal/OnboardingLayerInternal.vue +173 -0
  216. package/src/components/internal/ResourcePickerListInternal.vue +45 -85
  217. package/src/components/internal/SelectMultipleInternal.vue +182 -65
  218. package/src/components/internal/SelectSearchableInternal.vue +2 -3
  219. package/src/components/internal/WorkspaceShellInternal.vue +12 -0
  220. package/src/composables/createClient.ts +2 -0
  221. package/src/composables/index.ts +1 -0
  222. package/src/composables/pluginIdentity.ts +31 -0
  223. package/src/composables/pluginWorkspaceModel.ts +2 -2
  224. package/src/composables/useAppExperiment.ts +20 -0
  225. package/src/composables/useCalendarGrid.ts +4 -3
  226. package/src/composables/useExperimentSelector.ts +77 -31
  227. package/src/composables/useJobCenter.ts +188 -6
  228. package/src/composables/useOnboarding.ts +465 -0
  229. package/src/composables/usePluginWorkspace.ts +1 -1
  230. package/src/runtime.ts +2 -1
  231. package/src/shell.ts +17 -0
  232. package/src/stores/index.ts +0 -2
  233. package/src/stores/settings.ts +20 -50
  234. package/src/styles/components/adduct-text.css +13 -5
  235. package/src/styles/components/alert-box.css +39 -58
  236. package/src/styles/components/app-layout.css +7 -5
  237. package/src/styles/components/app-page-selector.css +121 -44
  238. package/src/styles/components/app-pill-nav.css +11 -12
  239. package/src/styles/components/app-sidebar.css +9 -18
  240. package/src/styles/components/app-top-bar.css +219 -55
  241. package/src/styles/components/artifact-save-dialog.css +153 -2
  242. package/src/styles/components/audit-trail.css +16 -19
  243. package/src/styles/components/avatar.css +6 -4
  244. package/src/styles/components/batch-progress-list.css +38 -36
  245. package/src/styles/components/button.css +36 -59
  246. package/src/styles/components/calendar.css +12 -12
  247. package/src/styles/components/chart-container.css +34 -23
  248. package/src/styles/components/checkbox.css +2 -12
  249. package/src/styles/components/collapsible-card.css +27 -29
  250. package/src/styles/components/confirm-dialog.css +13 -14
  251. package/src/styles/components/dataframe.css +13 -5
  252. package/src/styles/components/date-picker.css +80 -92
  253. package/src/styles/components/datetime-picker.css +31 -43
  254. package/src/styles/components/divider.css +20 -20
  255. package/src/styles/components/dose-calculator.css +3 -3
  256. package/src/styles/components/empty-state.css +20 -17
  257. package/src/styles/components/experiment-code-badge.css +2 -0
  258. package/src/styles/components/experiment-popover.css +174 -329
  259. package/src/styles/components/experiment-selector-modal.css +88 -56
  260. package/src/styles/components/file-picker.css +3 -3
  261. package/src/styles/components/file-uploader.css +38 -49
  262. package/src/styles/components/form-builder.css +3 -3
  263. package/src/styles/components/formula-input.css +1 -1
  264. package/src/styles/components/icon-button.css +18 -24
  265. package/src/styles/components/input.css +5 -4
  266. package/src/styles/components/instrument-monitor.css +13 -15
  267. package/src/styles/components/jobs-status-tray.css +140 -296
  268. package/src/styles/components/layout-resize-handle.css +59 -16
  269. package/src/styles/components/modal.css +4 -6
  270. package/src/styles/components/molecule-input.css +2 -2
  271. package/src/styles/components/multi-select.css +65 -117
  272. package/src/styles/components/number-input.css +26 -19
  273. package/src/styles/components/onboarding.css +368 -0
  274. package/src/styles/components/pill.css +3 -2
  275. package/src/styles/components/plate-editor.css +0 -1
  276. package/src/styles/components/plugin-icon.css +26 -23
  277. package/src/styles/components/popover.css +2 -2
  278. package/src/styles/components/presence-avatars.css +1 -1
  279. package/src/styles/components/progress-bar.css +3 -3
  280. package/src/styles/components/protocol-step-editor.css +1 -3
  281. package/src/styles/components/resource-card.css +2 -2
  282. package/src/styles/components/resource-picker-list.css +6 -57
  283. package/src/styles/components/sample-hierarchy-tree.css +4 -4
  284. package/src/styles/components/sample-selector.css +138 -79
  285. package/src/styles/components/schedule-calendar.css +8 -8
  286. package/src/styles/components/searchable-select.css +12 -12
  287. package/src/styles/components/section-card.css +54 -49
  288. package/src/styles/components/segmented-control.css +18 -15
  289. package/src/styles/components/select.css +3 -3
  290. package/src/styles/components/sequence-input.css +2 -2
  291. package/src/styles/components/sequence-progress-bar.css +17 -8
  292. package/src/styles/components/settings-modal.css +7 -2
  293. package/src/styles/components/smart-group.css +18 -18
  294. package/src/styles/components/step-wizard.css +52 -16
  295. package/src/styles/components/tabs.css +2 -2
  296. package/src/styles/components/textarea.css +3 -3
  297. package/src/styles/components/time-picker.css +36 -21
  298. package/src/styles/components/toast.css +12 -10
  299. package/src/styles/components/toggle.css +1 -11
  300. package/src/styles/components/tooltip.css +10 -9
  301. package/src/styles/components/unit-input.css +8 -7
  302. package/src/styles/components/well-plate.css +9 -2
  303. package/src/styles/index.css +1 -0
  304. package/src/styles/variables.css +241 -78
  305. package/src/types/componentWorkflowTypes.ts +2 -0
  306. package/src/types/components.ts +2 -0
  307. package/src/types/generated/platformContext.ts +1 -0
  308. package/src/types/generated-ui.ts +4 -0
  309. package/src/types/index.ts +1 -0
  310. package/src/types/jobs.ts +10 -0
  311. package/src/types/platform.ts +1 -1
  312. package/src/utils/time.ts +21 -0
  313. package/dist/ActionMenu-CScINahU.js.map +0 -1
  314. package/dist/AppSidebar-BmiiPfz9.js.map +0 -1
  315. package/dist/BaseModal-DfRIuVoj.js.map +0 -1
  316. package/dist/ExperimentPopover-C4sGw-is.js +0 -359
  317. package/dist/ExperimentPopover-C4sGw-is.js.map +0 -1
  318. package/dist/ExperimentSelectorModal-D-9z7cNx.js.map +0 -1
  319. package/dist/SettingsModal-CSLE31yg.js.map +0 -1
  320. package/dist/data-C2PwI_dn.js.map +0 -1
  321. package/dist/experiment-43OJtH7R.js.map +0 -1
  322. package/dist/lab-DLwRl_Ql.js.map +0 -1
  323. package/dist/records-BzTcxekG.js.map +0 -1
  324. package/dist/runtime-D6gVat6r.js.map +0 -1
  325. package/dist/useListReorder-CcbEYxX-.js.map +0 -1
  326. package/dist/useRackEditor-BD5NIo5s.js.map +0 -1
  327. package/dist/useRealtime-PalKue84.js +0 -696
  328. package/dist/useRealtime-PalKue84.js.map +0 -1
  329. package/dist/useRequest-D5JDfsgZ.js +0 -76
  330. package/dist/useRequest-D5JDfsgZ.js.map +0 -1
@@ -1,15 +1,15 @@
1
- import { a as __exportAll, i as BaseButton_default, n as useFocusTrap, r as useEventListener } from "./BaseModal-DfRIuVoj.js";
2
- import { a as authenticationRequiredError, d as tryUseSettingsStore, i as AuthenticationRequiredError, m as mintApiErrorFromResponse, o as useApi, t as useExperimentStore, u as tableDensityToSize } from "./experiment-43OJtH7R.js";
3
- import { A as useRovingFocus, L as BaseInput_default, O as FormField_default, P as useListSelection, h as FORMAT_KEY, i as getInjectedPlatformContext, j as BaseCheckbox_default, k as EmptyState_default } from "./records-BzTcxekG.js";
4
- import { A as createGeneratedAnalysisTransport, B as defineDataFrame, G as useSortedItems, L as formatTime, M as createEventStream, N as NumberInput_default, O as _plugin_vue_export_helper_default, U as defineWellPlate, b as useConcentrationUnits, i as useReorderAnnouncer, n as reorderList, o as usePlatform, r as useListReorder, y as ConcentrationInput_default, z as applySpecDefaults } from "./useListReorder-CcbEYxX-.js";
5
- import { t as SegmentedControl_default } from "./SegmentedControl-DERBN-Xd.js";
6
- import { i as LoadingSpinner_default, r as DataStateInternal_default, s as useTextSearch, t as ActionMenu_default } from "./ActionMenu-CScINahU.js";
1
+ import { a as BaseButton_default, i as useEventListener, o as __exportAll, r as useFocusTrap } from "./useDropdownState-Bb2N4m40.js";
2
+ import { a as authenticationRequiredError, c as tableDensityToSize, f as mintApiErrorFromResponse, i as AuthenticationRequiredError, l as tryUseSettingsStore, o as useApi, t as useExperimentStore } from "./experiment-DyO54FQB.js";
3
+ import { G as BaseInput_default, H as useListSelection, I as FormField_default, R as useRovingFocus, i as getInjectedPlatformContext, j as formatTime, l as FORMAT_KEY, z as BaseCheckbox_default } from "./records-CR_pYzIP.js";
4
+ import { D as _plugin_vue_export_helper_default, F as applySpecDefaults, I as defineDataFrame, M as usePlatform, N as NumberInput_default, V as useSortedItems, i as useReorderAnnouncer, j as createEventStream, k as createGeneratedAnalysisTransport, n as reorderList, r as useListReorder, v as ConcentrationInput_default, y as useConcentrationUnits, z as defineWellPlate } from "./useListReorder-CQ9OCScc.js";
5
+ import { t as SegmentedControl_default } from "./SegmentedControl-CJ7EAmOq.js";
6
+ import { n as DataStateInternal_default, o as useTextSearch, r as LoadingSpinner_default } from "./AlertBox-CzLg0UaL.js";
7
+ import { n as ActionMenu_default, t as useRequest } from "./useRequest-CDkrXNU7.js";
7
8
  import { r as useAuthStore } from "./auth-SliLnFre.js";
8
- import { t as ConfirmDialog_default } from "./ConfirmDialog-CJ7hqYUP.js";
9
- import { t as useRequest } from "./useRequest-D5JDfsgZ.js";
9
+ import { t as ConfirmDialog_default } from "./ConfirmDialog-CSls2Nuv.js";
10
10
  import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineComponent, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onUnmounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toRaw, unref, vModelText, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
11
+ import { ChartLine, ChevronRight, Download, Move, Plus, Redo2, Trash2, Undo2, Upload, X } from "lucide-vue-next";
11
12
  import { computePosition, flip, shift } from "@floating-ui/dom";
12
- import { ChevronRight, Download, Move, Plus, Redo2, Trash2, Undo2, Upload, X } from "lucide-vue-next";
13
13
  //#region src/components/DataFrame.vue?vue&type=script&setup=true&lang.ts
14
14
  var _hoisted_1$9 = {
15
15
  key: 0,
@@ -37,15 +37,15 @@ var _hoisted_11$5 = {
37
37
  key: 1,
38
38
  d: "M12 5v14m6-6-6 6-6-6"
39
39
  };
40
- var _hoisted_12$4 = { key: 2 };
41
- var _hoisted_13$4 = [
40
+ var _hoisted_12$5 = { key: 2 };
41
+ var _hoisted_13$5 = [
42
42
  "aria-label",
43
43
  "aria-valuemin",
44
44
  "aria-valuenow",
45
45
  "onMousedown",
46
46
  "onKeydown"
47
47
  ];
48
- var _hoisted_14$4 = [
48
+ var _hoisted_14$5 = [
49
49
  "tabindex",
50
50
  "role",
51
51
  "onClick",
@@ -79,7 +79,7 @@ var _hoisted_21$4 = {
79
79
  };
80
80
  var _hoisted_22$4 = { class: "mint-dataframe__page-info" };
81
81
  var _hoisted_23$4 = { class: "mint-dataframe__page-controls" };
82
- var _hoisted_24$3 = ["disabled"];
82
+ var _hoisted_24$4 = ["disabled"];
83
83
  var _hoisted_25$3 = { class: "mint-dataframe__page-number" };
84
84
  var _hoisted_26$2 = ["disabled"];
85
85
  /** Inbox glyph kept from the pre-1.2 hand-rolled empty state. */
@@ -412,7 +412,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
412
412
  "stroke-width": "2",
413
413
  "stroke-linecap": "round",
414
414
  "stroke-linejoin": "round"
415
- }, [activeSort.value?.key === col.key && activeSort.value?.direction === "asc" ? (openBlock(), createElementBlock("path", _hoisted_10$5)) : activeSort.value?.key === col.key && activeSort.value?.direction === "desc" ? (openBlock(), createElementBlock("path", _hoisted_11$5)) : (openBlock(), createElementBlock("g", _hoisted_12$4, [..._cache[6] || (_cache[6] = [
415
+ }, [activeSort.value?.key === col.key && activeSort.value?.direction === "asc" ? (openBlock(), createElementBlock("path", _hoisted_10$5)) : activeSort.value?.key === col.key && activeSort.value?.direction === "desc" ? (openBlock(), createElementBlock("path", _hoisted_11$5)) : (openBlock(), createElementBlock("g", _hoisted_12$5, [..._cache[6] || (_cache[6] = [
416
416
  createElementVNode("path", { d: "m21 16-4 4-4-4" }, null, -1),
417
417
  createElementVNode("path", { d: "M17 20V4" }, null, -1),
418
418
  createElementVNode("path", { d: "m3 8 4-4 4 4" }, null, -1),
@@ -436,7 +436,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
436
436
  onMousedown: ($event) => startResize(col, $event),
437
437
  onKeydown: ($event) => handleResizeKeydown($event, col),
438
438
  onClick: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"]))
439
- }, null, 40, _hoisted_13$4)) : createCommentVNode("", true)], 14, _hoisted_6$6);
439
+ }, null, 40, _hoisted_13$5)) : createCommentVNode("", true)], 14, _hoisted_6$6);
440
440
  }), 128)),
441
441
  config.value.deletable ? (openBlock(), createElementBlock("th", {
442
442
  key: 1,
@@ -502,7 +502,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
502
502
  title: config.value.deleteLabel,
503
503
  onClick: withModifiers(($event) => handleDeleteRow(row, rowIndex), ["stop"])
504
504
  }, [..._cache[7] || (_cache[7] = [createStaticVNode("<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 6h18\"></path><path d=\"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"></path><path d=\"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6\"></path><path d=\"M10 11v6\"></path><path d=\"M14 11v6\"></path></svg>", 1)])], 8, _hoisted_17$4)], 2)) : createCommentVNode("", true)
505
- ], 42, _hoisted_14$4);
505
+ ], 42, _hoisted_14$5);
506
506
  }), 128))])]),
507
507
  __props.error ? (openBlock(), createElementBlock("div", _hoisted_18$4, [renderSlot(_ctx.$slots, "error", { error: __props.error }, () => [createVNode(DataStateInternal_default, {
508
508
  state: "error",
@@ -527,7 +527,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
527
527
  "stroke-width": "2",
528
528
  "stroke-linecap": "round",
529
529
  "stroke-linejoin": "round"
530
- }, [createElementVNode("path", { d: "m15 18-6-6 6-6" })], -1)])], 8, _hoisted_24$3),
530
+ }, [createElementVNode("path", { d: "m15 18-6-6 6-6" })], -1)])], 8, _hoisted_24$4),
531
531
  createElementVNode("span", _hoisted_25$3, toDisplayString(currentPage.value) + " / " + toDisplayString(totalPages.value), 1),
532
532
  createElementVNode("button", {
533
533
  type: "button",
@@ -1656,12 +1656,12 @@ var _hoisted_8$4 = ["colspan"];
1656
1656
  var _hoisted_9$4 = ["colspan"];
1657
1657
  var _hoisted_10$4 = { key: 1 };
1658
1658
  var _hoisted_11$4 = ["rowspan"];
1659
- var _hoisted_12$3 = {
1659
+ var _hoisted_12$4 = {
1660
1660
  key: 0,
1661
1661
  class: "mint-well-plate__row-condition-wrap"
1662
1662
  };
1663
- var _hoisted_13$3 = { class: "mint-well-plate__row-condition-text" };
1664
- var _hoisted_14$3 = [
1663
+ var _hoisted_13$4 = { class: "mint-well-plate__row-condition-text" };
1664
+ var _hoisted_14$4 = [
1665
1665
  "aria-label",
1666
1666
  "aria-selected",
1667
1667
  "aria-disabled",
@@ -1684,19 +1684,23 @@ var _hoisted_16$3 = {
1684
1684
  key: 1,
1685
1685
  class: "mint-well-plate__well-id"
1686
1686
  };
1687
- var _hoisted_17$3 = ["title"];
1688
- var _hoisted_18$3 = {
1687
+ var _hoisted_17$3 = {
1688
+ key: 2,
1689
+ class: "mint-well-plate__indicator"
1690
+ };
1691
+ var _hoisted_18$3 = ["title"];
1692
+ var _hoisted_19$3 = {
1689
1693
  key: 0,
1690
1694
  class: "mint-well-plate__legend"
1691
1695
  };
1692
- var _hoisted_19$3 = { class: "mint-well-plate__legend-label" };
1693
- var _hoisted_20$3 = { class: "mint-well-plate__legend-bar" };
1694
- var _hoisted_21$3 = { class: "mint-well-plate__legend-label" };
1695
- var _hoisted_22$3 = {
1696
+ var _hoisted_20$3 = { class: "mint-well-plate__legend-label" };
1697
+ var _hoisted_21$3 = { class: "mint-well-plate__legend-bar" };
1698
+ var _hoisted_22$3 = { class: "mint-well-plate__legend-label" };
1699
+ var _hoisted_23$3 = {
1696
1700
  key: 1,
1697
1701
  class: "mint-well-plate__sample-legend"
1698
1702
  };
1699
- var _hoisted_23$3 = { class: "mint-well-plate__sample-legend-text" };
1703
+ var _hoisted_24$3 = { class: "mint-well-plate__sample-legend-text" };
1700
1704
  //#endregion
1701
1705
  //#region src/components/WellPlate.vue
1702
1706
  var WellPlate_default = /* @__PURE__ */ defineComponent({
@@ -1936,7 +1940,7 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
1936
1940
  fontSize: sizeConfig.value.fontSize,
1937
1941
  ..."condition" in span ? { color: span.condition.color } : {}
1938
1942
  })
1939
- }, ["condition" in span ? (openBlock(), createElementBlock("div", _hoisted_12$3, [createElementVNode("span", _hoisted_13$3, toDisplayString(span.condition.label), 1)])) : createCommentVNode("", true)], 14, _hoisted_11$4);
1943
+ }, ["condition" in span ? (openBlock(), createElementBlock("div", _hoisted_12$4, [createElementVNode("span", _hoisted_13$4, toDisplayString(span.condition.label), 1)])) : createCommentVNode("", true)], 14, _hoisted_11$4);
1940
1944
  }), 128)) : createCommentVNode("", true),
1941
1945
  config.value.showLabels ? (openBlock(), createElementBlock("td", {
1942
1946
  key: 1,
@@ -1998,35 +2002,35 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
1998
2002
  "prevent"
1999
2003
  ]), ["space"])
2000
2004
  ]
2001
- }, [getWellLabel(well) ? (openBlock(), createElementBlock("span", _hoisted_15$3, toDisplayString(getWellLabel(well)), 1)) : config.value.showWellIds ? (openBlock(), createElementBlock("span", _hoisted_16$3, toDisplayString(well.id), 1)) : createCommentVNode("", true), getWellBadge(well) ? (openBlock(), createElementBlock("span", {
2002
- key: 2,
2005
+ }, [getWellLabel(well) ? (openBlock(), createElementBlock("span", _hoisted_15$3, toDisplayString(getWellLabel(well)), 1)) : config.value.showWellIds ? (openBlock(), createElementBlock("span", _hoisted_16$3, toDisplayString(well.id), 1)) : well.sampleType === "qc" || well.sampleType === "iqc" ? (openBlock(), createElementBlock("span", _hoisted_17$3, toDisplayString(well.sampleType === "qc" ? "Q" : "i"), 1)) : createCommentVNode("", true), getWellBadge(well) ? (openBlock(), createElementBlock("span", {
2006
+ key: 3,
2003
2007
  class: "mint-well-plate__badge",
2004
2008
  style: normalizeStyle({ backgroundColor: getWellBadge(well)?.color }),
2005
2009
  title: getWellBadge(well)?.text === "+" ? "Custom method" : `${getWellBadge(well)?.text ?? ""}x injections`
2006
- }, toDisplayString(getWellBadge(well)?.text), 13, _hoisted_17$3)) : createCommentVNode("", true)], 46, _hoisted_14$3)]);
2010
+ }, toDisplayString(getWellBadge(well)?.text), 13, _hoisted_18$3)) : createCommentVNode("", true)], 46, _hoisted_14$4)]);
2007
2011
  }), 128))
2008
2012
  ]);
2009
2013
  }), 128))])
2010
2014
  ], 12, _hoisted_6$4),
2011
- config.value.heatmap?.enabled && config.value.heatmap.showLegend ? (openBlock(), createElementBlock("div", _hoisted_18$3, [
2012
- createElementVNode("span", _hoisted_19$3, toDisplayString(config.value.heatmap.min ?? 0), 1),
2013
- createElementVNode("div", _hoisted_20$3, [(openBlock(true), createElementBlock(Fragment, null, renderList(config.value.heatmap.colorScale === "custom" && config.value.heatmap.customColors?.length ? config.value.heatmap.customColors : unref(HEATMAP_COLORS)[config.value.heatmap.colorScale || "viridis"], (color, index) => {
2015
+ config.value.heatmap?.enabled && config.value.heatmap.showLegend ? (openBlock(), createElementBlock("div", _hoisted_19$3, [
2016
+ createElementVNode("span", _hoisted_20$3, toDisplayString(config.value.heatmap.min ?? 0), 1),
2017
+ createElementVNode("div", _hoisted_21$3, [(openBlock(true), createElementBlock(Fragment, null, renderList(config.value.heatmap.colorScale === "custom" && config.value.heatmap.customColors?.length ? config.value.heatmap.customColors : unref(HEATMAP_COLORS)[config.value.heatmap.colorScale || "viridis"], (color, index) => {
2014
2018
  return openBlock(), createElementBlock("div", {
2015
2019
  key: index,
2016
2020
  class: "mint-well-plate__legend-segment",
2017
2021
  style: normalizeStyle({ backgroundColor: color })
2018
2022
  }, null, 4);
2019
2023
  }), 128))]),
2020
- createElementVNode("span", _hoisted_21$3, toDisplayString(config.value.heatmap.max ?? 1), 1)
2024
+ createElementVNode("span", _hoisted_22$3, toDisplayString(config.value.heatmap.max ?? 1), 1)
2021
2025
  ])) : createCommentVNode("", true),
2022
- config.value.showLegend ? (openBlock(), createElementBlock("div", _hoisted_22$3, [(openBlock(true), createElementBlock(Fragment, null, renderList(activeLegendItems.value, (item) => {
2026
+ config.value.showLegend ? (openBlock(), createElementBlock("div", _hoisted_23$3, [(openBlock(true), createElementBlock(Fragment, null, renderList(activeLegendItems.value, (item) => {
2023
2027
  return openBlock(), createElementBlock("div", {
2024
2028
  key: item.type,
2025
2029
  class: "mint-well-plate__sample-legend-item"
2026
2030
  }, [createElementVNode("span", {
2027
2031
  class: "mint-well-plate__sample-legend-dot",
2028
2032
  style: normalizeStyle(unref(sampleTint)(item.color))
2029
- }, null, 4), createElementVNode("span", _hoisted_23$3, toDisplayString(item.label), 1)]);
2033
+ }, null, 4), createElementVNode("span", _hoisted_24$3, toDisplayString(item.label), 1)]);
2030
2034
  }), 128))])) : createCommentVNode("", true)
2031
2035
  ])])),
2032
2036
  config.value.editable && unref(editingWellId) ? renderSlot(_ctx.$slots, "well-editor", {
@@ -2247,16 +2251,16 @@ var _hoisted_11$3 = {
2247
2251
  key: 0,
2248
2252
  class: "mint-plate-editor__field mint-plate-editor__field--format"
2249
2253
  };
2250
- var _hoisted_12$2 = {
2254
+ var _hoisted_12$3 = {
2251
2255
  key: 1,
2252
2256
  class: "mint-plate-editor__field"
2253
2257
  };
2254
- var _hoisted_13$2 = {
2258
+ var _hoisted_13$3 = {
2255
2259
  class: "mint-plate-editor__slots",
2256
2260
  role: "group",
2257
2261
  "aria-label": "Slot"
2258
2262
  };
2259
- var _hoisted_14$2 = ["aria-pressed", "onClick"];
2263
+ var _hoisted_14$3 = ["aria-pressed", "onClick"];
2260
2264
  var _hoisted_15$2 = { class: "mint-plate-editor__toolbar-end" };
2261
2265
  var _hoisted_16$2 = ["disabled", "title"];
2262
2266
  var _hoisted_17$2 = ["aria-pressed"];
@@ -2765,7 +2769,7 @@ var PlateEditor_default = /* @__PURE__ */ defineComponent({
2765
2769
  "aria-label": "Format",
2766
2770
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => emit("update:format", activeRack.value.id, Number($event)))
2767
2771
  }, null, 8, ["model-value", "options"])])) : createCommentVNode("", true),
2768
- slotOptions.value.length ? (openBlock(), createElementBlock("div", _hoisted_12$2, [_cache[22] || (_cache[22] = createElementVNode("span", { class: "mint-plate-editor__label" }, "Slot", -1)), createElementVNode("div", _hoisted_13$2, [(openBlock(true), createElementBlock(Fragment, null, renderList(slotOptions.value, (slot) => {
2772
+ slotOptions.value.length ? (openBlock(), createElementBlock("div", _hoisted_12$3, [_cache[22] || (_cache[22] = createElementVNode("span", { class: "mint-plate-editor__label" }, "Slot", -1)), createElementVNode("div", _hoisted_13$3, [(openBlock(true), createElementBlock(Fragment, null, renderList(slotOptions.value, (slot) => {
2769
2773
  return openBlock(), createElementBlock("button", {
2770
2774
  key: slot,
2771
2775
  type: "button",
@@ -2776,7 +2780,7 @@ var PlateEditor_default = /* @__PURE__ */ defineComponent({
2776
2780
  { "mint-plate-editor__slot--active": activeRack.value.slot === slot }
2777
2781
  ]),
2778
2782
  onClick: ($event) => emit("update:slot", activeRack.value.id, slot)
2779
- }, toDisplayString(slot), 11, _hoisted_14$2);
2783
+ }, toDisplayString(slot), 11, _hoisted_14$3);
2780
2784
  }), 128))])])) : createCommentVNode("", true),
2781
2785
  createElementVNode("div", _hoisted_15$2, [
2782
2786
  config.value.fillSeries ? (openBlock(), createElementBlock("button", {
@@ -3321,12 +3325,12 @@ var _hoisted_8$2 = { class: "mint-dose-calculator__result-value" };
3321
3325
  var _hoisted_9$2 = { class: "mint-dose-calculator__result-row" };
3322
3326
  var _hoisted_10$2 = { class: "mint-dose-calculator__result-value" };
3323
3327
  var _hoisted_11$2 = { class: "mint-dose-calculator__result-row" };
3324
- var _hoisted_12$1 = { class: "mint-dose-calculator__result-value" };
3325
- var _hoisted_13$1 = {
3328
+ var _hoisted_12$2 = { class: "mint-dose-calculator__result-value" };
3329
+ var _hoisted_13$2 = {
3326
3330
  key: 1,
3327
3331
  class: "mint-dose-calculator__error"
3328
3332
  };
3329
- var _hoisted_14$1 = {
3333
+ var _hoisted_14$2 = {
3330
3334
  key: 2,
3331
3335
  class: "mint-dose-calculator__form",
3332
3336
  role: "tabpanel"
@@ -3546,9 +3550,9 @@ var DoseCalculator_default = /* @__PURE__ */ defineComponent({
3546
3550
  _cache[13] || (_cache[13] = createElementVNode("div", { class: "mint-dose-calculator__result-title" }, "Result", -1)),
3547
3551
  createElementVNode("div", _hoisted_7$2, [_cache[10] || (_cache[10] = createElementVNode("span", { class: "mint-dose-calculator__result-label" }, "Stock volume", -1)), createElementVNode("span", _hoisted_8$2, toDisplayString(unref(formatVolume)(dilutionResult.value.stockVolume)), 1)]),
3548
3552
  createElementVNode("div", _hoisted_9$2, [_cache[11] || (_cache[11] = createElementVNode("span", { class: "mint-dose-calculator__result-label" }, "Diluent volume", -1)), createElementVNode("span", _hoisted_10$2, toDisplayString(unref(formatVolume)(dilutionResult.value.diluentVolume)), 1)]),
3549
- createElementVNode("div", _hoisted_11$2, [_cache[12] || (_cache[12] = createElementVNode("span", { class: "mint-dose-calculator__result-label" }, "Dilution factor", -1)), createElementVNode("span", _hoisted_12$1, toDisplayString(dilutionResult.value.dilutionFactor.toFixed(1)) + "× ", 1)])
3550
- ])) : dilutionResult.value?.error ? (openBlock(), createElementBlock("div", _hoisted_13$1, toDisplayString(dilutionResult.value.error), 1)) : createCommentVNode("", true)
3551
- ])) : activeMode.value === "serial" ? (openBlock(), createElementBlock("div", _hoisted_14$1, [
3553
+ createElementVNode("div", _hoisted_11$2, [_cache[12] || (_cache[12] = createElementVNode("span", { class: "mint-dose-calculator__result-label" }, "Dilution factor", -1)), createElementVNode("span", _hoisted_12$2, toDisplayString(dilutionResult.value.dilutionFactor.toFixed(1)) + "× ", 1)])
3554
+ ])) : dilutionResult.value?.error ? (openBlock(), createElementBlock("div", _hoisted_13$2, toDisplayString(dilutionResult.value.error), 1)) : createCommentVNode("", true)
3555
+ ])) : activeMode.value === "serial" ? (openBlock(), createElementBlock("div", _hoisted_14$2, [
3552
3556
  createVNode(FormField_default, { label: "Starting Concentration" }, {
3553
3557
  default: withCtx(() => [createVNode(ConcentrationInput_default, {
3554
3558
  modelValue: serialStartConcentration.value,
@@ -3702,11 +3706,17 @@ var _hoisted_9$1 = {
3702
3706
  key: 0,
3703
3707
  class: "mint-chart__loading-overlay"
3704
3708
  };
3705
- var _hoisted_10$1 = {
3709
+ var _hoisted_10$1 = { class: "mint-chart__empty" };
3710
+ var _hoisted_11$1 = { class: "mint-chart__empty-title" };
3711
+ var _hoisted_12$1 = {
3712
+ key: 0,
3713
+ class: "mint-chart__empty-hint"
3714
+ };
3715
+ var _hoisted_13$1 = {
3706
3716
  key: 1,
3707
3717
  class: "mint-chart__legend"
3708
3718
  };
3709
- var _hoisted_11$1 = {
3719
+ var _hoisted_14$1 = {
3710
3720
  key: 2,
3711
3721
  class: "mint-chart__footer"
3712
3722
  };
@@ -3726,6 +3736,7 @@ var ChartContainer_default = /* @__PURE__ */ defineComponent({
3726
3736
  default: false
3727
3737
  },
3728
3738
  emptyText: { default: "No data available" },
3739
+ emptyHint: {},
3729
3740
  variant: { default: "card" },
3730
3741
  legendItems: {}
3731
3742
  },
@@ -3753,13 +3764,16 @@ var ChartContainer_default = /* @__PURE__ */ defineComponent({
3753
3764
  _ctx.$slots.toolbar ? (openBlock(), createElementBlock("div", _hoisted_7$1, [renderSlot(_ctx.$slots, "toolbar")])) : createCommentVNode("", true)
3754
3765
  ])) : createCommentVNode("", true),
3755
3766
  renderSlot(_ctx.$slots, "subhead"),
3756
- createElementVNode("div", _hoisted_8$1, [__props.loading ? (openBlock(), createElementBlock("div", _hoisted_9$1, [createVNode(LoadingSpinner_default, { size: "lg" })])) : __props.empty ? renderSlot(_ctx.$slots, "empty", {}, () => [createVNode(EmptyState_default, {
3757
- title: __props.emptyText,
3758
- size: "sm",
3759
- "icon-path": "M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 013 19.875v-6.75zM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 01-1.125-1.125V8.625zM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 01-1.125-1.125V4.125z"
3760
- }, null, 8, ["title"])], void 0, 1) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 2)]),
3761
- _ctx.$slots.legend ? (openBlock(), createElementBlock("div", _hoisted_10$1, [renderSlot(_ctx.$slots, "legend")])) : createCommentVNode("", true),
3762
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_11$1, [renderSlot(_ctx.$slots, "footer")])) : createCommentVNode("", true)
3767
+ createElementVNode("div", _hoisted_8$1, [__props.loading ? (openBlock(), createElementBlock("div", _hoisted_9$1, [createVNode(LoadingSpinner_default, { size: "lg" })])) : __props.empty ? renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("div", _hoisted_10$1, [
3768
+ createVNode(unref(ChartLine), {
3769
+ size: 22,
3770
+ "aria-hidden": "true"
3771
+ }),
3772
+ createElementVNode("span", _hoisted_11$1, toDisplayString(__props.emptyText), 1),
3773
+ __props.emptyHint ? (openBlock(), createElementBlock("span", _hoisted_12$1, toDisplayString(__props.emptyHint), 1)) : createCommentVNode("", true)
3774
+ ])], void 0, 1) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 2)]),
3775
+ _ctx.$slots.legend ? (openBlock(), createElementBlock("div", _hoisted_13$1, [renderSlot(_ctx.$slots, "legend")])) : createCommentVNode("", true),
3776
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_14$1, [renderSlot(_ctx.$slots, "footer")])) : createCommentVNode("", true)
3763
3777
  ], 2);
3764
3778
  };
3765
3779
  }
@@ -4750,7 +4764,7 @@ var GeneratedResultRenderer_default = /*#__PURE__*/ _plugin_vue_export_helper_de
4750
4764
  }, [createElementVNode("span", null, toDisplayString(__props.result.name), 1), createElementVNode("small", null, toDisplayString(__props.result.media_type), 1)], 8, _hoisted_5$1))]);
4751
4765
  };
4752
4766
  }
4753
- }), [["__scopeId", "data-v-d4b8e2aa"]]);
4767
+ }), [["__scopeId", "data-v-f242a75c"]]);
4754
4768
  //#endregion
4755
4769
  //#region src/composables/useScheduleDrag.ts
4756
4770
  /** Handles pointer-driven create, move, and resize drag interactions for the ScheduleCalendar grid. */
@@ -5913,4 +5927,4 @@ function useRackEditor(initialRacks, options) {
5913
5927
  //#endregion
5914
5928
  export { hexToHsl as C, DataFrame_default as D, sampleTypeMarker as E, deriveShade as S, WellPlate_default as T, mintPlotlyTemplate as _, GeneratedPlotlyResult_default as a, PlateEditor_default as b, downloadEndpoint as c, useEventStream as d, useSettingsEndpoint as f, ChartContainer_default as g, PlotlyChart_default as h, GeneratedResultRenderer_default as i, pluginFormDataFromPayload as l, resolvePluginBaseUrl as m, ScheduleCalendar_default as n, createClient as o, buildEndpointUrl as p, useScheduleDrag as r, downloadBlob as s, useRackEditor as t, uploadEndpoint as u, DoseCalculator_default as v, hslToHex as w, SAMPLE_GROUP_TOKENS as x, dose_exports as y };
5915
5929
 
5916
- //# sourceMappingURL=useRackEditor-BD5NIo5s.js.map
5930
+ //# sourceMappingURL=useRackEditor-wL3kPrRT.js.map