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

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 (353) hide show
  1. package/README.md +14 -3
  2. package/dist/{ActionMenu-CScINahU.js → AlertBox-DwgNTEqf.js} +40 -209
  3. package/dist/AlertBox-DwgNTEqf.js.map +1 -0
  4. package/dist/{AppSidebar-BmiiPfz9.js → AppSidebar-CZZaxni0.js} +1249 -239
  5. package/dist/AppSidebar-CZZaxni0.js.map +1 -0
  6. package/dist/{ConfirmDialog-CJ7hqYUP.js → ConfirmDialog-CjWoxAD1.js} +2 -2
  7. package/dist/{ConfirmDialog-CJ7hqYUP.js.map → ConfirmDialog-CjWoxAD1.js.map} +1 -1
  8. package/dist/ExperimentPopover-DujiuQIO.js +337 -0
  9. package/dist/ExperimentPopover-DujiuQIO.js.map +1 -0
  10. package/dist/{ExperimentSelectorModal-D-9z7cNx.js → ExperimentSelectorModal-B4j4eUOJ.js} +244 -211
  11. package/dist/ExperimentSelectorModal-B4j4eUOJ.js.map +1 -0
  12. package/dist/{SegmentedControl-DERBN-Xd.js → SegmentedControl-DyUPH3I5.js} +2 -2
  13. package/dist/{SegmentedControl-DERBN-Xd.js.map → SegmentedControl-DyUPH3I5.js.map} +1 -1
  14. package/dist/{SettingsModal-CSLE31yg.js → SettingsModal-D2MOOtuO.js} +28 -27
  15. package/dist/SettingsModal-D2MOOtuO.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__/components/FloatingPanelsInModal.test.d.ts +1 -0
  19. package/dist/__tests__/composables/useFloatingPanel.test.d.ts +1 -0
  20. package/dist/__tests__/composables/useOnboarding.test.d.ts +1 -0
  21. package/dist/__tests__/styles/paletteTokens.test.d.ts +1 -0
  22. package/dist/__tests__/styles/v2AuditRules.test.d.ts +1 -0
  23. package/dist/components/AppSidebar.vue.d.ts +1 -1
  24. package/dist/components/AppTopBar.vue.d.ts +20 -5
  25. package/dist/components/ArtifactSaveDialog.vue.d.ts +9 -1
  26. package/dist/components/AuditTrail.vue.d.ts +1 -1
  27. package/dist/components/BaseButton.vue.d.ts +4 -2
  28. package/dist/components/BaseSelect.vue.d.ts +2 -2
  29. package/dist/components/ChartContainer.vue.d.ts +2 -0
  30. package/dist/components/DatePicker.vue.d.ts +1 -1
  31. package/dist/components/ExperimentPopover.vue.d.ts +18 -0
  32. package/dist/components/ExperimentSelectorModal.vue.d.ts +15 -5
  33. package/dist/components/FilePicker.vue.d.ts +1 -1
  34. package/dist/components/FileUploader.vue.d.ts +2 -2
  35. package/dist/components/JobsStatusTray.vue.d.ts +15 -4
  36. package/dist/components/PluginIcon.vue.d.ts +2 -2
  37. package/dist/components/PluginWorkspaceView.props.d.ts +3 -0
  38. package/dist/components/PluginWorkspaceView.vue.d.ts +3 -0
  39. package/dist/components/SampleSelector.vue.d.ts +6 -6
  40. package/dist/components/SequenceProgressBar.vue.d.ts +3 -0
  41. package/dist/components/SmartGroupFieldRecipe.vue.d.ts +3 -3
  42. package/dist/components/StepWizard.vue.d.ts +3 -0
  43. package/dist/components/internal/AppTopBarOnboardingInternal.vue.d.ts +7 -0
  44. package/dist/components/internal/AppTopBarPageSelectorInternal.vue.d.ts +2 -1
  45. package/dist/components/internal/AutoGroupModalInternal.vue.d.ts +3 -3
  46. package/dist/components/internal/DatePickerTimeInternal.vue.d.ts +1 -1
  47. package/dist/components/internal/OnboardingLayerInternal.vue.d.ts +7 -0
  48. package/dist/components/internal/ResourcePickerListInternal.vue.d.ts +2 -7
  49. package/dist/components/internal/SelectMultipleInternal.vue.d.ts +4 -0
  50. package/dist/components/internal/WorkspaceShellInternal.vue.d.ts +8 -0
  51. package/dist/composables/createClient.d.ts +2 -0
  52. package/dist/composables/index.d.ts +1 -0
  53. package/dist/composables/pluginIdentity.d.ts +24 -0
  54. package/dist/composables/pluginWorkspaceModel.d.ts +2 -2
  55. package/dist/composables/useAppExperiment.d.ts +8 -0
  56. package/dist/composables/useCalendarGrid.d.ts +1 -1
  57. package/dist/composables/useExperimentSelector.d.ts +6 -2
  58. package/dist/composables/useFileImport.d.ts +7 -0
  59. package/dist/composables/useFloatingPanel.d.ts +29 -0
  60. package/dist/composables/useJobCenter.d.ts +41 -3
  61. package/dist/composables/useOnboarding.d.ts +119 -0
  62. package/dist/composables/usePlatform.d.ts +1 -0
  63. package/dist/{controlSchemaModel-CP5-_nAj.js → controlSchemaModel-Bsg0t5Ab.js} +2 -2
  64. package/dist/{controlSchemaModel-CP5-_nAj.js.map → controlSchemaModel-Bsg0t5Ab.js.map} +1 -1
  65. package/dist/{data-C2PwI_dn.js → data-Boeh4uPI.js} +180 -125
  66. package/dist/data-Boeh4uPI.js.map +1 -0
  67. package/dist/data.d.ts +1 -1
  68. package/dist/data.js +9 -9
  69. package/dist/{experiment-43OJtH7R.js → experiment-DyO54FQB.js} +25 -61
  70. package/dist/experiment-DyO54FQB.js.map +1 -0
  71. package/dist/{experimentStatus-BZmU4czV.js → experimentStatus-DCn2QKG7.js} +3 -3
  72. package/dist/{experimentStatus-BZmU4czV.js.map → experimentStatus-DCn2QKG7.js.map} +1 -1
  73. package/dist/index.js +20 -20
  74. package/dist/{install-DAID6c2-.js → install-BEHp7Mo-.js} +15 -14
  75. package/dist/{install-DAID6c2-.js.map → install-BEHp7Mo-.js.map} +1 -1
  76. package/dist/install.js +1 -1
  77. package/dist/{lab-DLwRl_Ql.js → lab-D61eaX6f.js} +136 -148
  78. package/dist/lab-D61eaX6f.js.map +1 -0
  79. package/dist/lab.js +4 -3
  80. package/dist/{records-BzTcxekG.js → records-D4aQXyZu.js} +647 -389
  81. package/dist/records-D4aQXyZu.js.map +1 -0
  82. package/dist/{runtime-D6gVat6r.js → runtime-q-R0CNLh.js} +417 -54
  83. package/dist/runtime-q-R0CNLh.js.map +1 -0
  84. package/dist/runtime.d.ts +1 -1
  85. package/dist/runtime.js +7 -7
  86. package/dist/{shell-5ju97nOS.js → shell-6CGFvUUw.js} +10 -5
  87. package/dist/{shell-5ju97nOS.js.map → shell-6CGFvUUw.js.map} +1 -1
  88. package/dist/shell.d.ts +1 -0
  89. package/dist/shell.js +6 -6
  90. package/dist/stores/index.d.ts +1 -1
  91. package/dist/stores/index.js +2 -2
  92. package/dist/stores/settings.d.ts +4 -12
  93. package/dist/styles.css +2753 -2101
  94. package/dist/types/componentWorkflowTypes.d.ts +2 -0
  95. package/dist/types/components.d.ts +2 -0
  96. package/dist/types/generated/platformContext.d.ts +1 -0
  97. package/dist/types/generated-ui.d.ts +4 -0
  98. package/dist/types/index.d.ts +1 -1
  99. package/dist/types/jobs.d.ts +9 -0
  100. package/dist/types/platform.d.ts +1 -1
  101. package/dist/{BaseModal-DfRIuVoj.js → useDropdownState-uFIz6Yv8.js} +75 -5
  102. package/dist/useDropdownState-uFIz6Yv8.js.map +1 -0
  103. package/dist/{useExperimentSamples-CxcnxZ8h.js → useExperimentSamples-QEFoq4tf.js} +48 -6
  104. package/dist/useExperimentSamples-QEFoq4tf.js.map +1 -0
  105. package/dist/{useListReorder-CcbEYxX-.js → useListReorder-DsuzwWGS.js} +219 -437
  106. package/dist/useListReorder-DsuzwWGS.js.map +1 -0
  107. package/dist/{useRackEditor-BD5NIo5s.js → useRackEditor-KpZ4iJ6o.js} +85 -81
  108. package/dist/useRackEditor-KpZ4iJ6o.js.map +1 -0
  109. package/dist/useRealtime-B58Lo-Tm.js +508 -0
  110. package/dist/useRealtime-B58Lo-Tm.js.map +1 -0
  111. package/dist/useRequest-BuDmW8Jc.js +215 -0
  112. package/dist/useRequest-BuDmW8Jc.js.map +1 -0
  113. package/dist/utils/time.d.ts +7 -0
  114. package/package.json +3 -2
  115. package/src/__stories__/experiment-helpers.ts +3 -3
  116. package/src/__tests__/components/ActionMenu.test.ts +2 -2
  117. package/src/__tests__/components/AppTopBar.test.ts +257 -3
  118. package/src/__tests__/components/AppTopBarOnboarding.test.ts +160 -0
  119. package/src/__tests__/components/AppTopBarPageSelector.test.ts +125 -9
  120. package/src/__tests__/components/AppTopBarPillNav.test.ts +35 -0
  121. package/src/__tests__/components/ArtifactSaveDialog.test.ts +78 -0
  122. package/src/__tests__/components/BaseButton.test.ts +19 -0
  123. package/src/__tests__/components/BaseModal.test.ts +13 -0
  124. package/src/__tests__/components/BaseSelect.multiple.test.ts +87 -32
  125. package/src/__tests__/components/BaseSelect.test.ts +2 -1
  126. package/src/__tests__/components/BatchProgressList.test.ts +16 -0
  127. package/src/__tests__/components/CalendarGridPanel.test.ts +2 -2
  128. package/src/__tests__/components/ChartContainer.test.ts +11 -0
  129. package/src/__tests__/components/ChemicalFormula.test.ts +6 -3
  130. package/src/__tests__/components/DatePicker.datetime.test.ts +6 -0
  131. package/src/__tests__/components/DatePicker.test.ts +21 -0
  132. package/src/__tests__/components/DatePicker.time.test.ts +2 -2
  133. package/src/__tests__/components/EmptyState.test.ts +1 -1
  134. package/src/__tests__/components/ExperimentPopover.test.ts +125 -16
  135. package/src/__tests__/components/ExperimentSelectorModal.test.ts +153 -14
  136. package/src/__tests__/components/FloatingPanelsInModal.test.ts +94 -0
  137. package/src/__tests__/components/GeneratedPluginView.test.ts +23 -2
  138. package/src/__tests__/components/InstrumentStateBadge.test.ts +4 -4
  139. package/src/__tests__/components/JobsStatusTray.test.ts +373 -71
  140. package/src/__tests__/components/PluginWorkspaceView.test.ts +63 -1
  141. package/src/__tests__/components/ResourcePickerListInternal.test.ts +0 -20
  142. package/src/__tests__/components/SampleSelector.test.ts +33 -8
  143. package/src/__tests__/components/SequenceProgressBar.test.ts +12 -0
  144. package/src/__tests__/components/SettingsModal.test.ts +9 -2
  145. package/src/__tests__/components/StepWizard.test.ts +11 -0
  146. package/src/__tests__/components/WellPlate.decoration.test.ts +11 -4
  147. package/src/__tests__/components/deprecationTags.test.ts +1 -1
  148. package/src/__tests__/composables/useAppExperiment.test.ts +27 -1
  149. package/src/__tests__/composables/useCalendarGrid.test.ts +4 -2
  150. package/src/__tests__/composables/useExperimentSelector.test.ts +111 -0
  151. package/src/__tests__/composables/useFileImport.test.ts +36 -0
  152. package/src/__tests__/composables/useFloatingPanel.test.ts +68 -0
  153. package/src/__tests__/composables/useJobCenter.test.ts +262 -3
  154. package/src/__tests__/composables/useOnboarding.test.ts +317 -0
  155. package/src/__tests__/docs/frontendDocsCatalog.test.ts +4 -3
  156. package/src/__tests__/fixtures/table-import/cells.xlsx +0 -0
  157. package/src/__tests__/fixtures/table-import/samples.xlsx +0 -0
  158. package/src/__tests__/stores/settings.test.ts +21 -21
  159. package/src/__tests__/styles/baseControlsRules.test.ts +6 -2
  160. package/src/__tests__/styles/controlRefreshRules.test.ts +0 -6
  161. package/src/__tests__/styles/cssTokens.test.ts +6 -3
  162. package/src/__tests__/styles/menusShellRefresh.test.ts +22 -12
  163. package/src/__tests__/styles/paletteTokens.test.ts +44 -0
  164. package/src/__tests__/styles/v2AuditRules.test.ts +104 -0
  165. package/src/__tests__/utils/plotlyTemplate.test.ts +4 -4
  166. package/src/__tests__/utils/time.test.ts +18 -1
  167. package/src/components/ActionMenu.vue +6 -37
  168. package/src/components/AdductText.story.vue +7 -0
  169. package/src/components/AdductText.vue +1 -1
  170. package/src/components/AlertBox.story.vue +2 -2
  171. package/src/components/AlertBox.vue +18 -16
  172. package/src/components/AppSidebar.story.vue +0 -28
  173. package/src/components/AppTopBar.onboarding.story.vue +69 -0
  174. package/src/components/AppTopBar.story.vue +105 -15
  175. package/src/components/AppTopBar.vue +248 -122
  176. package/src/components/ArtifactSaveDialog.story.vue +23 -0
  177. package/src/components/ArtifactSaveDialog.vue +102 -12
  178. package/src/components/AuditTrail.story.vue +2 -1
  179. package/src/components/AuditTrail.vue +2 -21
  180. package/src/components/Avatar.vue +10 -14
  181. package/src/components/BaseButton.vue +16 -2
  182. package/src/components/BaseModal.vue +2 -1
  183. package/src/components/BaseSelect.multiple.story.vue +13 -2
  184. package/src/components/BaseSelect.vue +4 -3
  185. package/src/components/BatchProgressList.vue +35 -25
  186. package/src/components/ChartContainer.story.vue +2 -1
  187. package/src/components/ChartContainer.vue +8 -6
  188. package/src/components/ConfirmDialog.story.vue +1 -1
  189. package/src/components/EmptyState.vue +1 -1
  190. package/src/components/ExperimentPopover.story.vue +165 -53
  191. package/src/components/ExperimentPopover.vue +169 -187
  192. package/src/components/ExperimentSelectorModal.story.vue +73 -31
  193. package/src/components/ExperimentSelectorModal.vue +144 -111
  194. package/src/components/FormField.story.vue +8 -48
  195. package/src/components/GeneratedPluginView.vue +11 -10
  196. package/src/components/GeneratedResultRenderer.vue +3 -4
  197. package/src/components/InstrumentStateBadge.vue +1 -1
  198. package/src/components/JobsStatusTray.story.vue +97 -43
  199. package/src/components/JobsStatusTray.vue +287 -290
  200. package/src/components/LayoutResizeHandle.story.vue +65 -4
  201. package/src/components/LoadingSpinner.vue +1 -1
  202. package/src/components/NumberInput.vue +3 -6
  203. package/src/components/PluginIcon.story.vue +2 -10
  204. package/src/components/PluginIcon.vue +2 -2
  205. package/src/components/PluginWorkspaceView.props.ts +3 -0
  206. package/src/components/PluginWorkspaceView.story.vue +1 -1
  207. package/src/components/PluginWorkspaceView.vue +17 -0
  208. package/src/components/RuntimeUpdateNotice.vue +1 -1
  209. package/src/components/SampleSelector.story.vue +22 -7
  210. package/src/components/SampleSelector.vue +34 -37
  211. package/src/components/SampleSelectorGroupNode.vue +1 -1
  212. package/src/components/SectionCard.story.vue +35 -2
  213. package/src/components/SequenceProgressBar.story.vue +9 -0
  214. package/src/components/SequenceProgressBar.vue +6 -1
  215. package/src/components/SettingsModal.schema.ts +1 -1
  216. package/src/components/SettingsModal.vue +9 -14
  217. package/src/components/SmartGroupFieldRecipe.story.vue +1 -1
  218. package/src/components/SmartGroupManual.story.vue +1 -1
  219. package/src/components/StepWizard.story.vue +33 -0
  220. package/src/components/StepWizard.vue +8 -1
  221. package/src/components/Tooltip.vue +9 -32
  222. package/src/components/WellPlate.story.vue +3 -1
  223. package/src/components/WellPlate.vue +7 -0
  224. package/src/components/internal/AppTopBarOnboardingInternal.vue +172 -0
  225. package/src/components/internal/AppTopBarPageSelectorInternal.vue +140 -72
  226. package/src/components/internal/AppTopBarPillNavInternal.vue +33 -2
  227. package/src/components/internal/DatePickerDateInternal.vue +23 -85
  228. package/src/components/internal/DatePickerDateTimeInternal.vue +10 -14
  229. package/src/components/internal/DatePickerTimeInternal.vue +13 -9
  230. package/src/components/internal/NumberUnitInputInternal.vue +4 -18
  231. package/src/components/internal/OnboardingLayerInternal.vue +173 -0
  232. package/src/components/internal/ResourcePickerListInternal.vue +45 -85
  233. package/src/components/internal/SelectMultipleInternal.vue +187 -65
  234. package/src/components/internal/SelectSearchableInternal.vue +8 -4
  235. package/src/components/internal/WellEditPopupInternal.vue +11 -22
  236. package/src/components/internal/WorkspaceShellInternal.vue +12 -0
  237. package/src/composables/createClient.ts +2 -0
  238. package/src/composables/index.ts +1 -0
  239. package/src/composables/pluginIdentity.ts +31 -0
  240. package/src/composables/pluginWorkspaceModel.ts +2 -2
  241. package/src/composables/useAppExperiment.ts +20 -0
  242. package/src/composables/useCalendarGrid.ts +4 -3
  243. package/src/composables/useExperimentSelector.ts +77 -31
  244. package/src/composables/useFileImport.ts +51 -1
  245. package/src/composables/useFloatingPanel.ts +107 -0
  246. package/src/composables/useJobCenter.ts +188 -6
  247. package/src/composables/useOnboarding.ts +465 -0
  248. package/src/composables/usePluginWorkspace.ts +1 -1
  249. package/src/data.ts +1 -0
  250. package/src/runtime.ts +2 -1
  251. package/src/shell.ts +17 -0
  252. package/src/stores/index.ts +0 -2
  253. package/src/stores/settings.ts +20 -50
  254. package/src/styles/components/action-menu.css +1 -1
  255. package/src/styles/components/adduct-text.css +13 -5
  256. package/src/styles/components/alert-box.css +39 -58
  257. package/src/styles/components/app-layout.css +10 -6
  258. package/src/styles/components/app-page-selector.css +121 -44
  259. package/src/styles/components/app-pill-nav.css +11 -12
  260. package/src/styles/components/app-sidebar.css +9 -18
  261. package/src/styles/components/app-top-bar.css +219 -55
  262. package/src/styles/components/artifact-save-dialog.css +153 -2
  263. package/src/styles/components/audit-trail.css +16 -19
  264. package/src/styles/components/avatar.css +6 -4
  265. package/src/styles/components/batch-progress-list.css +38 -36
  266. package/src/styles/components/button.css +36 -59
  267. package/src/styles/components/calendar.css +12 -12
  268. package/src/styles/components/chart-container.css +34 -23
  269. package/src/styles/components/checkbox.css +2 -12
  270. package/src/styles/components/collapsible-card.css +27 -29
  271. package/src/styles/components/confirm-dialog.css +13 -14
  272. package/src/styles/components/dataframe.css +13 -5
  273. package/src/styles/components/date-picker.css +84 -94
  274. package/src/styles/components/datetime-picker.css +35 -47
  275. package/src/styles/components/divider.css +20 -20
  276. package/src/styles/components/dose-calculator.css +3 -3
  277. package/src/styles/components/empty-state.css +20 -17
  278. package/src/styles/components/experiment-code-badge.css +2 -0
  279. package/src/styles/components/experiment-popover.css +174 -329
  280. package/src/styles/components/experiment-selector-modal.css +88 -56
  281. package/src/styles/components/file-picker.css +3 -3
  282. package/src/styles/components/file-uploader.css +38 -49
  283. package/src/styles/components/form-builder.css +3 -3
  284. package/src/styles/components/formula-input.css +1 -1
  285. package/src/styles/components/icon-button.css +18 -24
  286. package/src/styles/components/input.css +5 -4
  287. package/src/styles/components/instrument-monitor.css +13 -15
  288. package/src/styles/components/jobs-status-tray.css +140 -296
  289. package/src/styles/components/layout-resize-handle.css +59 -16
  290. package/src/styles/components/modal.css +5 -7
  291. package/src/styles/components/molecule-input.css +2 -2
  292. package/src/styles/components/multi-select.css +65 -117
  293. package/src/styles/components/number-input.css +26 -19
  294. package/src/styles/components/onboarding.css +368 -0
  295. package/src/styles/components/pill.css +3 -2
  296. package/src/styles/components/plate-editor.css +0 -1
  297. package/src/styles/components/plugin-icon.css +26 -23
  298. package/src/styles/components/popover.css +2 -2
  299. package/src/styles/components/presence-avatars.css +1 -1
  300. package/src/styles/components/progress-bar.css +3 -3
  301. package/src/styles/components/protocol-step-editor.css +1 -3
  302. package/src/styles/components/resource-card.css +2 -2
  303. package/src/styles/components/resource-picker-list.css +6 -57
  304. package/src/styles/components/sample-hierarchy-tree.css +4 -4
  305. package/src/styles/components/sample-selector.css +138 -79
  306. package/src/styles/components/schedule-calendar.css +8 -8
  307. package/src/styles/components/searchable-select.css +15 -19
  308. package/src/styles/components/section-card.css +54 -49
  309. package/src/styles/components/segmented-control.css +18 -15
  310. package/src/styles/components/select.css +3 -3
  311. package/src/styles/components/sequence-input.css +2 -2
  312. package/src/styles/components/sequence-progress-bar.css +17 -8
  313. package/src/styles/components/settings-modal.css +7 -2
  314. package/src/styles/components/smart-group.css +18 -18
  315. package/src/styles/components/step-wizard.css +52 -16
  316. package/src/styles/components/tabs.css +2 -2
  317. package/src/styles/components/textarea.css +3 -3
  318. package/src/styles/components/time-picker.css +37 -25
  319. package/src/styles/components/toast.css +13 -11
  320. package/src/styles/components/toggle.css +1 -11
  321. package/src/styles/components/tooltip.css +12 -11
  322. package/src/styles/components/unit-input.css +9 -8
  323. package/src/styles/components/well-edit-popup.css +2 -2
  324. package/src/styles/components/well-plate.css +9 -2
  325. package/src/styles/index.css +1 -0
  326. package/src/styles/variables.css +247 -78
  327. package/src/types/componentWorkflowTypes.ts +2 -0
  328. package/src/types/components.ts +2 -0
  329. package/src/types/generated/platformContext.ts +1 -0
  330. package/src/types/generated-ui.ts +4 -0
  331. package/src/types/index.ts +1 -0
  332. package/src/types/jobs.ts +10 -0
  333. package/src/types/platform.ts +1 -1
  334. package/src/utils/time.ts +21 -0
  335. package/dist/ActionMenu-CScINahU.js.map +0 -1
  336. package/dist/AppSidebar-BmiiPfz9.js.map +0 -1
  337. package/dist/BaseModal-DfRIuVoj.js.map +0 -1
  338. package/dist/ExperimentPopover-C4sGw-is.js +0 -359
  339. package/dist/ExperimentPopover-C4sGw-is.js.map +0 -1
  340. package/dist/ExperimentSelectorModal-D-9z7cNx.js.map +0 -1
  341. package/dist/SettingsModal-CSLE31yg.js.map +0 -1
  342. package/dist/data-C2PwI_dn.js.map +0 -1
  343. package/dist/experiment-43OJtH7R.js.map +0 -1
  344. package/dist/lab-DLwRl_Ql.js.map +0 -1
  345. package/dist/records-BzTcxekG.js.map +0 -1
  346. package/dist/runtime-D6gVat6r.js.map +0 -1
  347. package/dist/useExperimentSamples-CxcnxZ8h.js.map +0 -1
  348. package/dist/useListReorder-CcbEYxX-.js.map +0 -1
  349. package/dist/useRackEditor-BD5NIo5s.js.map +0 -1
  350. package/dist/useRealtime-PalKue84.js +0 -696
  351. package/dist/useRealtime-PalKue84.js.map +0 -1
  352. package/dist/useRequest-D5JDfsgZ.js +0 -76
  353. package/dist/useRequest-D5JDfsgZ.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  /* BatchProgressList Component Styles (6b)
2
- Rows + hairlines, status by shape, counts in mono. Progress fill is
3
- --color-primary; --mint-info appears only on the "processing" dot. */
2
+ Rows + hairlines, status by icon, counts in mono. Progress and the
3
+ "processing" state are --color-primary. */
4
4
 
5
5
  .mint-batch-progress {
6
6
  display: flex;
@@ -45,14 +45,14 @@
45
45
  width: 100%;
46
46
  height: 4px;
47
47
  background-color: var(--bg-tertiary);
48
- border-radius: 9999px;
48
+ border-radius: 2px;
49
49
  overflow: hidden;
50
50
  }
51
51
 
52
52
  .mint-batch-progress__overall-bar {
53
53
  height: 100%;
54
54
  background-color: var(--color-primary);
55
- transition: width 0.18s ease;
55
+ transition: width var(--mint-transition);
56
56
  }
57
57
 
58
58
  /* One line of shape + mono count + word. */
@@ -98,22 +98,11 @@
98
98
  .mint-batch-progress__error-disc { fill: var(--mint-error); }
99
99
 
100
100
  .mint-batch-progress__error-mark {
101
- stroke: white;
101
+ stroke: var(--bg-card);
102
102
  stroke-width: 1.8;
103
103
  stroke-linecap: round;
104
104
  }
105
105
 
106
- .mint-batch-progress__arc-track {
107
- stroke: var(--bg-tertiary);
108
- stroke-width: 2;
109
- }
110
-
111
- .mint-batch-progress__arc {
112
- stroke: var(--color-primary);
113
- stroke-width: 2;
114
- stroke-linecap: round;
115
- }
116
-
117
106
  .mint-batch-progress__dash {
118
107
  stroke: var(--text-secondary);
119
108
  stroke-width: 2;
@@ -124,7 +113,7 @@
124
113
  width: 0.375rem;
125
114
  height: 0.375rem;
126
115
  border-radius: 9999px;
127
- background: var(--mint-info);
116
+ background: var(--color-primary);
128
117
  }
129
118
 
130
119
  .mint-batch-progress__pending-ring {
@@ -152,44 +141,53 @@
152
141
  .mint-batch-progress__item-row {
153
142
  display: grid;
154
143
  grid-template-columns: 1rem minmax(0, 1fr) auto;
144
+ grid-template-areas:
145
+ "icon name pct"
146
+ ". bar bar";
155
147
  align-items: center;
156
- gap: 0.625rem;
157
- min-height: 2.25rem;
158
- padding: 0.5rem 0;
148
+ column-gap: 0.625rem;
149
+ row-gap: 0.3125rem;
150
+ padding: 0.4375rem 0;
159
151
  }
160
152
 
161
153
  .mint-batch-progress__item-icon {
162
- display: flex;
163
- align-items: center;
164
- justify-content: center;
154
+ grid-area: icon;
155
+ display: block;
165
156
  }
166
157
 
167
- .mint-batch-progress__item-icon--processing .mint-batch-progress__shape {
168
- animation: mint-batch-spin 1s linear infinite;
158
+ .mint-batch-progress__item-icon--completed { color: var(--mint-success); }
159
+ .mint-batch-progress__item-icon--processing {
160
+ color: var(--color-primary);
161
+ animation: mint-batch-spin 1.6s linear infinite;
169
162
  }
163
+ .mint-batch-progress__item-icon--pending,
164
+ .mint-batch-progress__item-icon--skipped { color: var(--text-muted); }
165
+ .mint-batch-progress__item-icon--error { color: var(--mint-error); }
170
166
 
171
167
  @keyframes mint-batch-spin {
172
168
  to { transform: rotate(360deg); }
173
169
  }
174
170
 
175
171
  .mint-batch-progress__item-label {
172
+ grid-area: name;
176
173
  min-width: 0;
177
174
  overflow: hidden;
178
- font-family: var(--font-mono);
179
- font-size: 0.75rem;
175
+ font-size: 0.8125rem;
180
176
  color: var(--text-primary);
181
177
  text-overflow: ellipsis;
182
178
  white-space: nowrap;
183
179
  }
184
180
 
185
- .mint-batch-progress__item--processing .mint-batch-progress__item-label,
186
- .mint-batch-progress__item--error .mint-batch-progress__item-label {
187
- font-weight: 600;
181
+ .mint-batch-progress__item--pending .mint-batch-progress__item-label,
182
+ .mint-batch-progress__item--skipped .mint-batch-progress__item-label {
183
+ color: var(--text-muted);
188
184
  }
189
185
 
190
186
  .mint-batch-progress__item-meta {
187
+ grid-area: pct;
191
188
  display: flex;
192
189
  align-items: center;
190
+ justify-content: flex-end;
193
191
  gap: 0.625rem;
194
192
  font-family: var(--font-mono);
195
193
  font-size: 0.6875rem;
@@ -198,10 +196,10 @@
198
196
  }
199
197
 
200
198
  .mint-batch-progress__item-progress {
201
- width: 4.5rem;
202
- height: 2px;
199
+ grid-area: bar;
200
+ height: 4px;
203
201
  background-color: var(--bg-tertiary);
204
- border-radius: 9999px;
202
+ border-radius: 2px;
205
203
  overflow: hidden;
206
204
  }
207
205
 
@@ -209,7 +207,11 @@
209
207
  display: block;
210
208
  height: 100%;
211
209
  background-color: var(--color-primary);
212
- transition: width 0.18s ease;
210
+ transition: width var(--mint-transition);
211
+ }
212
+
213
+ .mint-batch-progress__item--error .mint-batch-progress__item-progress-bar {
214
+ background-color: var(--mint-error);
213
215
  }
214
216
 
215
217
  /* Failed rows show the error in place. */
@@ -237,7 +239,7 @@
237
239
  font-size: 0.75rem;
238
240
  font-weight: 500;
239
241
  cursor: pointer;
240
- transition: background-color 0.15s ease;
242
+ transition: background-color var(--mint-transition);
241
243
  }
242
244
 
243
245
  .mint-batch-progress__retry-btn,
@@ -269,7 +271,7 @@
269
271
  }
270
272
 
271
273
  @media (prefers-reduced-motion: reduce) {
272
- .mint-batch-progress__item-icon--processing .mint-batch-progress__shape {
274
+ .mint-batch-progress__item-icon--processing {
273
275
  animation: none;
274
276
  }
275
277
 
@@ -7,38 +7,17 @@
7
7
  gap: 0.5rem;
8
8
  border-radius: var(--radius-md);
9
9
  font-weight: 500;
10
- /* Tactile physicality: 150ms ease-out-quart for rising states (default → hover).
11
- Dimension comes from a soft colored shadow (added per-variant below) plus a
12
- 1px translateY lift on hover — no gradient overlay. Press is snapped to 50ms
13
- via the :active override so the down-stroke feels instantaneous. */
10
+ /* Flat surface: hover is one surface step or a darker fill, press a darker
11
+ fill still. No lift, no coloured shadow; colour transitions only. */
14
12
  transition:
15
- color 0.15s var(--mint-ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1)),
16
- background-color 0.15s var(--mint-ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1)),
17
- border-color 0.15s var(--mint-ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1)),
18
- box-shadow 0.15s var(--mint-ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1)),
19
- transform 0.15s var(--mint-ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1));
13
+ color var(--mint-transition),
14
+ background-color var(--mint-transition),
15
+ border-color var(--mint-transition);
20
16
  line-height: 1.25;
21
17
  white-space: nowrap;
22
18
  cursor: pointer;
23
19
  border: none;
24
20
  box-sizing: border-box;
25
- /* Pre-stage transform so initial paint and active state share the same
26
- transform layer — prevents a 1px flicker on first press. */
27
- transform: translateY(0);
28
- }
29
-
30
- /* Hover: gentle lift. Per-variant shadows deepen on hover below. */
31
- .mint-button:hover:not(.mint-button--disabled) {
32
- transform: translateY(-1px);
33
- }
34
-
35
- /* Press: 50ms snap back to baseline, shadow off.
36
- The asymmetry between 50ms press and 150ms rise creates the spring-release
37
- sensation users recognize from mechanical keyboards. */
38
- .mint-button:active:not(.mint-button--disabled) {
39
- transform: translateY(0);
40
- box-shadow: none;
41
- transition-duration: 0.05s;
42
21
  }
43
22
 
44
23
  .mint-button:focus-visible {
@@ -67,61 +46,60 @@
67
46
  /* Variants */
68
47
  .mint-button--primary {
69
48
  background-color: var(--color-primary);
70
- color: white;
71
- box-shadow: 0 1px 2px rgba(20, 184, 166, 0.20);
49
+ color: var(--text-on-accent);
72
50
  }
73
51
 
74
52
  .mint-button--primary:hover:not(.mint-button--disabled) {
75
53
  background-color: var(--color-primary-hover);
76
- box-shadow: 0 2px 5px rgba(20, 184, 166, 0.28);
77
54
  }
78
55
 
79
56
  .mint-button--secondary {
80
57
  background-color: var(--bg-secondary);
81
- color: var(--text-secondary-strong);
58
+ color: var(--text-primary);
82
59
  border: 1px solid var(--border-color);
83
- /* Secondary is lower-emphasis through surface, border, and shadow, but keeps
60
+ /* Secondary is lower-emphasis through surface and border, but keeps
84
61
  medium label weight so it still reads as an actionable button. */
85
62
  font-weight: 500;
86
- box-shadow: 0 1px 1px rgba(15, 23, 42, 0.03);
87
63
  }
88
64
 
89
65
  .mint-button--secondary:hover:not(.mint-button--disabled) {
90
66
  background-color: var(--bg-tertiary);
91
- box-shadow: 0 2px 4px rgba(15, 23, 42, 0.06);
67
+ border-color: var(--border-strong);
92
68
  }
93
69
 
94
70
  .mint-button--cta {
95
71
  background-color: var(--color-cta);
96
- color: white;
97
- box-shadow: 0 1px 2px rgba(249, 115, 22, 0.20);
72
+ color: var(--text-on-accent);
98
73
  }
99
74
 
100
75
  .mint-button--cta:hover:not(.mint-button--disabled) {
101
76
  background-color: var(--color-cta-hover);
102
- box-shadow: 0 2px 5px rgba(249, 115, 22, 0.28);
103
77
  }
104
78
 
105
79
  .mint-button--danger {
106
80
  background-color: var(--mint-error);
107
81
  color: white;
108
- box-shadow: 0 1px 2px rgba(239, 68, 68, 0.20);
109
82
  }
110
83
 
111
84
  .mint-button--danger:hover:not(.mint-button--disabled) {
112
85
  background-color: var(--mint-error-hover);
113
- box-shadow: 0 2px 5px rgba(239, 68, 68, 0.28);
114
86
  }
115
87
 
88
+ /* Success shares the accent fill (one accent). */
116
89
  .mint-button--success {
117
- background-color: var(--mint-success);
118
- color: white;
119
- box-shadow: 0 1px 2px rgba(16, 185, 129, 0.20);
90
+ background-color: var(--color-primary);
91
+ color: var(--text-on-accent);
120
92
  }
121
93
 
122
94
  .mint-button--success:hover:not(.mint-button--disabled) {
123
- background-color: var(--mint-success-hover);
124
- box-shadow: 0 2px 5px rgba(16, 185, 129, 0.28);
95
+ background-color: var(--color-primary-hover);
96
+ }
97
+
98
+ /* Pressed: one step darker than hover. */
99
+ .mint-button--primary:active:not(.mint-button--disabled),
100
+ .mint-button--cta:active:not(.mint-button--disabled),
101
+ .mint-button--success:active:not(.mint-button--disabled) {
102
+ background-color: var(--color-primary-pressed);
125
103
  }
126
104
 
127
105
  .mint-button--ghost {
@@ -135,10 +113,11 @@
135
113
  background-color: var(--bg-tertiary);
136
114
  }
137
115
 
138
- /* Sizes */
116
+ /* Sizes — the vertical padding stays under --form-height-*, so the
117
+ density token sets the height (28/32/40px, comfortable 32/36/48px). */
139
118
  .mint-button--sm {
140
- padding: 0.375rem 0.75rem;
141
- font-size: 0.875rem;
119
+ padding: 0.25rem 0.75rem;
120
+ font-size: 0.8125rem;
142
121
  font-weight: 500;
143
122
  min-height: var(--form-height-sm);
144
123
  }
@@ -148,13 +127,13 @@
148
127
  }
149
128
 
150
129
  .mint-button--md {
151
- padding: 0.5rem 1rem;
130
+ padding: 0.375rem 1rem;
152
131
  font-size: 0.875rem;
153
132
  min-height: var(--form-height-md);
154
133
  }
155
134
 
156
135
  .mint-button--lg {
157
- padding: 0.75rem 1.5rem;
136
+ padding: 0.5rem 1.5rem;
158
137
  font-size: 1rem;
159
138
  min-height: var(--form-height-lg);
160
139
  }
@@ -171,6 +150,14 @@
171
150
  height: 1.25rem;
172
151
  }
173
152
 
153
+ /* Flex centring centres the line box, and Geist's ascender puts the caps
154
+ about 1.6px above the middle. Trim the text box to cap height and baseline
155
+ so the caps sit on the centre line. Browsers without text-box keep the
156
+ untrimmed box. */
157
+ .mint-button__label {
158
+ text-box: trim-both cap alphabetic;
159
+ }
160
+
174
161
  /* Spinner */
175
162
  .mint-button__spinner {
176
163
  animation: mint-button-spin 1s linear infinite;
@@ -187,18 +174,8 @@
187
174
  }
188
175
  }
189
176
 
190
- /* Respect motion preferences: disable lift/press but keep color/shadow
191
- transitions (those don't trigger vestibular responses). */
192
177
  @media (prefers-reduced-motion: reduce) {
193
178
  .mint-button {
194
- transition:
195
- color 0.15s ease,
196
- background-color 0.15s ease,
197
- border-color 0.15s ease,
198
- box-shadow 0.15s ease;
199
- }
200
- .mint-button:hover:not(.mint-button--disabled),
201
- .mint-button:active:not(.mint-button--disabled) {
202
- transform: none;
179
+ transition: none;
203
180
  }
204
181
  }
@@ -4,8 +4,8 @@
4
4
  display: inline-block;
5
5
  background-color: var(--bg-secondary);
6
6
  border: 1px solid var(--border-color);
7
- border-radius: var(--radius-md);
8
- padding: 0.75rem;
7
+ border-radius: var(--radius-lg);
8
+ padding: 0.5rem;
9
9
  user-select: none;
10
10
  }
11
11
 
@@ -14,11 +14,11 @@
14
14
  display: flex;
15
15
  align-items: center;
16
16
  justify-content: space-between;
17
- margin-bottom: 0.5rem;
17
+ margin-bottom: 0.375rem;
18
18
  }
19
19
 
20
20
  .mint-calendar__title {
21
- font-size: 0.875rem;
21
+ font-size: 0.8125rem;
22
22
  font-weight: 600;
23
23
  color: var(--text-primary);
24
24
  }
@@ -30,11 +30,11 @@
30
30
  width: 1.75rem;
31
31
  height: 1.75rem;
32
32
  border: none;
33
- border-radius: var(--radius-sm);
33
+ border-radius: var(--radius);
34
34
  background: transparent;
35
35
  color: var(--text-secondary);
36
36
  cursor: pointer;
37
- transition: background-color 0.15s ease, color 0.15s ease;
37
+ transition: background-color var(--mint-transition), color var(--mint-transition);
38
38
  }
39
39
 
40
40
  .mint-calendar__nav-btn:hover {
@@ -64,7 +64,7 @@
64
64
  text-align: center;
65
65
  font-size: 0.6875rem;
66
66
  font-weight: 600;
67
- color: var(--text-secondary);
67
+ color: var(--text-muted);
68
68
  padding: 0.25rem 0;
69
69
  }
70
70
 
@@ -85,10 +85,11 @@
85
85
  width: 2.25rem;
86
86
  height: 2.25rem;
87
87
  border: none;
88
- border-radius: var(--radius-sm);
88
+ border-radius: var(--radius);
89
89
  background: transparent;
90
90
  color: var(--text-primary);
91
91
  font-size: 0.8125rem;
92
+ font-variant-numeric: tabular-nums;
92
93
  cursor: default;
93
94
  padding: 0;
94
95
  transition: background-color 0.1s ease, color 0.1s ease;
@@ -102,16 +103,15 @@
102
103
  background-color: var(--bg-hover);
103
104
  }
104
105
 
105
- /* Today */
106
+ /* Today = hairline ring; selected = filled. */
106
107
  .mint-calendar__day--today:not(.mint-calendar__day--selected) {
107
- font-weight: 700;
108
- box-shadow: inset 0 0 0 1.5px var(--color-primary);
108
+ box-shadow: inset 0 0 0 1px var(--border-strong);
109
109
  }
110
110
 
111
111
  /* Selected */
112
112
  .mint-calendar__day--selected {
113
113
  background-color: var(--color-primary);
114
- color: white;
114
+ color: var(--text-on-accent);
115
115
  font-weight: 600;
116
116
  }
117
117
 
@@ -22,14 +22,16 @@
22
22
  background: var(--bg-card);
23
23
  }
24
24
 
25
- /* One header for both variants (9a): 13px 600 title + 12px description on one line,
26
- legend items, then tools. */
25
+ /* One header for both variants (9a): a 44px strip with a 13px 600 title + 12px
26
+ description on one line, legend items, then tools. */
27
27
  .mint-chart__header {
28
28
  display: flex;
29
29
  align-items: center;
30
- gap: 0.75rem;
31
- padding: 0.625rem 0.875rem;
32
- border-bottom: 1px solid var(--border-light);
30
+ gap: 0.625rem;
31
+ min-height: 2.75rem;
32
+ padding: 0.25rem 0.5rem 0.25rem 0.75rem;
33
+ box-sizing: border-box;
34
+ border-bottom: 1px solid var(--border-color);
33
35
  flex-shrink: 0;
34
36
  }
35
37
 
@@ -85,7 +87,7 @@
85
87
  font-family: inherit;
86
88
  font-size: 0.75rem;
87
89
  cursor: pointer;
88
- transition: background-color 0.15s ease, opacity 0.15s ease;
90
+ transition: background-color var(--mint-transition), opacity var(--mint-transition);
89
91
  }
90
92
 
91
93
  .mint-chart__legend-item:hover {
@@ -105,7 +107,7 @@
105
107
  flex-shrink: 0;
106
108
  width: 0.625rem;
107
109
  height: 0.625rem;
108
- border-radius: 3px;
110
+ border-radius: var(--radius-sm);
109
111
  }
110
112
 
111
113
  .mint-chart__toolbar {
@@ -157,24 +159,24 @@
157
159
  padding: 1.5rem;
158
160
  }
159
161
 
160
- .mint-chart--frame .mint-chart__body > .mint-empty-state {
162
+ .mint-chart__empty {
161
163
  position: absolute;
162
164
  inset: 0;
163
- z-index: 10;
164
- max-width: none;
165
- padding: 1.5rem;
166
- background: var(--bg-card);
167
- }
168
-
169
- .mint-chart--frame .mint-empty-state__icon-wrapper {
170
- width: 2.5rem;
171
- height: 2.5rem;
172
- margin-bottom: 0.5rem;
173
- background: transparent;
165
+ display: flex;
166
+ flex-direction: column;
167
+ align-items: center;
168
+ justify-content: center;
169
+ gap: 4px;
170
+ padding: 1rem;
171
+ text-align: center;
172
+ color: var(--text-muted);
173
+ font-size: 0.75rem;
174
174
  }
175
175
 
176
- .mint-chart--frame .mint-empty-state__title {
176
+ .mint-chart__empty-title {
177
+ color: var(--text-primary);
177
178
  font-size: 0.8125rem;
179
+ font-weight: 600;
178
180
  }
179
181
 
180
182
  .mint-chart__legend {
@@ -185,7 +187,7 @@
185
187
  }
186
188
 
187
189
  .mint-chart__footer {
188
- padding: 0.625rem 0.875rem;
190
+ padding: 0.625rem 0.75rem;
189
191
  border-top: 1px solid var(--border-color);
190
192
  color: var(--text-secondary);
191
193
  font-size: 0.75rem;
@@ -194,11 +196,20 @@
194
196
  .mint-chart--frame .mint-chart__footer {
195
197
  display: flex;
196
198
  align-items: center;
197
- gap: 0.75rem;
198
- padding: 0.4375rem 0.875rem;
199
+ gap: 0.875rem;
200
+ min-height: 1.875rem;
201
+ padding: 0 0.75rem;
202
+ box-sizing: border-box;
203
+ overflow: hidden;
199
204
  background: var(--bg-primary);
200
205
  color: var(--text-secondary);
201
206
  font-family: var(--font-mono);
202
207
  font-size: 0.6875rem;
208
+ white-space: nowrap;
203
209
  flex-shrink: 0;
204
210
  }
211
+
212
+ .mint-chart--frame .mint-chart__footer b {
213
+ font-weight: 500;
214
+ color: var(--text-primary);
215
+ }
@@ -45,13 +45,7 @@
45
45
  width: 0.875rem;
46
46
  height: 0.875rem;
47
47
  flex-shrink: 0;
48
- transition:
49
- color 0.15s ease,
50
- transform 0.15s ease;
51
- }
52
-
53
- .mint-checkbox--row:hover .mint-checkbox__row-icon {
54
- transform: scale(1.04);
48
+ transition: color 0.15s ease;
55
49
  }
56
50
 
57
51
  .mint-checkbox__row-svg {
@@ -122,7 +116,7 @@
122
116
  .mint-checkbox__box--indeterminate {
123
117
  background-color: var(--color-primary);
124
118
  border-color: var(--color-primary);
125
- color: #FFFFFF;
119
+ color: var(--text-on-accent);
126
120
  }
127
121
 
128
122
  .mint-checkbox__native:focus-visible + .mint-checkbox__box {
@@ -205,8 +199,4 @@
205
199
  .mint-checkbox__box {
206
200
  transition: none;
207
201
  }
208
-
209
- .mint-checkbox--row:hover .mint-checkbox__row-icon {
210
- transform: none;
211
- }
212
202
  }