@morscherlab/mint-sdk 1.4.0-beta.8 → 1.4.0

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
@@ -6,14 +6,14 @@
6
6
  overflow: hidden;
7
7
  color: var(--text-muted);
8
8
  font-variant-numeric: tabular-nums;
9
- font-weight: 600;
9
+ font-weight: 400;
10
10
  letter-spacing: 0;
11
11
  text-overflow: ellipsis;
12
12
  white-space: nowrap;
13
13
  }
14
14
 
15
15
  .mint-adduct-text--mono { font-family: var(--font-mono); font-feature-settings: 'liga' 0, 'calt' 0; }
16
- .mint-adduct-text--sans { font-family: var(--font-sans); font-feature-settings: 'liga' 1, 'calt' 1; font-weight: 650; }
16
+ .mint-adduct-text--sans { font-family: var(--font-sans); font-feature-settings: 'liga' 1, 'calt' 1; }
17
17
 
18
18
  .mint-adduct-text--xs {
19
19
  font-size: 0.6875rem;
@@ -26,9 +26,16 @@
26
26
  }
27
27
 
28
28
  .mint-adduct-text--badge {
29
- padding: 0.125rem 0.25rem;
29
+ height: 1.25rem;
30
+ padding: 0 0.375rem;
30
31
  border-radius: var(--radius-sm);
31
32
  background: var(--bg-tertiary);
33
+ color: var(--text-secondary-strong);
34
+ }
35
+
36
+ .mint-adduct-text--badge.mint-adduct-text--xs {
37
+ font-size: 0.75rem;
38
+ line-height: 1.25rem;
32
39
  }
33
40
 
34
41
  /* On a filled surface the text inherits that surface's ink (9c: the old
@@ -44,8 +51,9 @@
44
51
  /* Charge as a superscript by relative offset, so the line box keeps its height. */
45
52
  .mint-adduct-text__charge {
46
53
  position: relative;
47
- top: -0.5em;
48
- font-size: 0.72em;
54
+ top: -0.45em;
55
+ margin-left: 1px;
56
+ font-size: 0.78em;
49
57
  line-height: 0;
50
58
  vertical-align: baseline;
51
59
  color: inherit;
@@ -1,84 +1,58 @@
1
- /* AlertBox Component Styles */
1
+ /* AlertBox Component Styles — neutral card; tone lives only in the 22px icon tile (v2 callout). */
2
2
 
3
3
  .mint-alert {
4
4
  display: flex;
5
5
  align-items: flex-start;
6
6
  gap: 0.625rem;
7
- padding: 0.75rem 0.875rem;
8
- border: 1px solid;
7
+ padding: 0.625rem 0.75rem;
8
+ background-color: var(--bg-card);
9
+ border: 1px solid var(--border-color);
9
10
  border-radius: var(--radius-md);
10
11
  }
11
12
 
12
- .mint-alert--success {
13
- background-color: var(--mint-success-bg);
14
- border-color: var(--mint-success-border);
15
- }
16
-
17
- .mint-alert--error {
18
- background-color: var(--mint-error-bg);
19
- border-color: var(--mint-error-border);
20
- }
21
-
22
- .mint-alert--warning {
23
- background-color: var(--mint-warning-bg);
24
- border-color: var(--mint-warning-border);
25
- }
26
-
27
- .mint-alert--info {
28
- background-color: var(--mint-info-bg);
29
- border-color: var(--mint-info-border);
30
- }
31
-
32
- .mint-alert--neutral {
33
- background-color: var(--bg-tertiary);
34
- border-color: var(--border-color);
35
- }
36
-
37
- .mint-alert--primary {
38
- background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
39
- border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
40
- }
41
-
42
- .mint-alert--cta {
43
- background-color: color-mix(in srgb, var(--color-cta) 10%, transparent);
44
- border-color: color-mix(in srgb, var(--color-cta) 30%, transparent);
45
- }
46
-
47
- /* Semantic color stays in the surface and the icon only (1h, same rule as Toast). */
48
13
  .mint-alert__icon {
49
- width: 1rem;
50
- height: 1rem;
51
- margin-top: 0.125rem; /* centers on the first 13px/1.5 text line */
14
+ display: flex;
15
+ align-items: center;
16
+ justify-content: center;
17
+ width: 1.375rem;
18
+ height: 1.375rem;
52
19
  flex-shrink: 0;
20
+ border-radius: var(--radius);
53
21
  }
54
22
 
55
- .mint-alert__icon--success { color: var(--mint-success-hover); }
56
- .mint-alert__icon--error { color: var(--_ink-error); }
57
- .mint-alert__icon--warning { color: var(--mint-warning-text); }
58
- .mint-alert__icon--info { color: var(--mint-info); }
59
- .mint-alert__icon--neutral { color: var(--text-secondary); }
60
- .mint-alert__icon--primary { color: var(--color-primary); }
61
- .mint-alert__icon--cta { color: var(--color-cta-hover); }
23
+ .mint-alert__icon svg {
24
+ width: 0.875rem;
25
+ height: 0.875rem;
26
+ }
27
+
28
+ .mint-alert__icon--success { background-color: var(--mint-success-bg); color: var(--mint-success-hover); }
29
+ .mint-alert__icon--error { background-color: var(--mint-error-bg); color: var(--_ink-error); }
30
+ .mint-alert__icon--warning { background-color: var(--mint-warning-bg); color: var(--mint-warning-text); }
31
+ .mint-alert__icon--info { background-color: var(--mint-info-bg); color: var(--mint-info); }
32
+ .mint-alert__icon--neutral { background-color: var(--bg-tertiary); color: var(--text-secondary); }
33
+ .mint-alert__icon--primary { background-color: var(--color-primary-soft); color: var(--color-primary); }
34
+ .mint-alert__icon--cta { background-color: var(--color-primary-soft); color: var(--color-cta-hover); }
62
35
 
63
36
  .mint-alert__content {
64
37
  flex: 1;
65
38
  min-width: 0;
39
+ padding-top: 0.125rem;
66
40
  }
67
41
 
68
42
  .mint-alert__title {
69
43
  font-size: 0.8125rem;
70
44
  font-weight: 600;
71
45
  color: var(--text-primary);
72
- line-height: 1.5;
46
+ line-height: 1.35;
73
47
  margin-top: 0 !important;
74
- margin-bottom: 0.125rem !important;
48
+ margin-bottom: 0.0625rem !important;
75
49
  padding: 0 !important;
76
50
  }
77
51
 
78
52
  .mint-alert__message {
79
53
  font-size: 0.8125rem;
80
- line-height: 1.5;
81
- color: var(--text-secondary-strong);
54
+ line-height: 1.45;
55
+ color: var(--text-secondary);
82
56
  margin-top: 0 !important;
83
57
  margin-bottom: 0 !important;
84
58
  padding: 0 !important;
@@ -86,24 +60,31 @@
86
60
 
87
61
  .mint-alert__actions {
88
62
  display: flex;
63
+ align-self: center;
89
64
  align-items: center;
90
- gap: 0.5rem;
65
+ gap: 0.375rem;
91
66
  flex-shrink: 0;
92
67
  }
93
68
 
94
69
  .mint-alert__dismiss {
95
- padding: 0.25rem;
96
- border-radius: var(--radius-sm);
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: center;
73
+ width: 1.375rem;
74
+ height: 1.375rem;
75
+ flex-shrink: 0;
76
+ padding: 0;
77
+ border: 0;
78
+ border-radius: var(--radius);
97
79
  color: var(--text-muted);
98
80
  background: transparent;
99
- border: none;
100
81
  cursor: pointer;
101
82
  transition: color 0.15s ease, background-color 0.15s ease;
102
83
  }
103
84
 
104
85
  .mint-alert__dismiss:hover {
105
86
  color: var(--text-primary);
106
- background-color: var(--bg-tertiary);
87
+ background-color: var(--bg-hover);
107
88
  }
108
89
 
109
90
  .mint-alert__dismiss:focus-visible {
@@ -59,11 +59,13 @@
59
59
  border-bottom: 1px solid var(--border-color);
60
60
  }
61
61
 
62
- /* Floating variant: all sections appear as separate cards on a background */
62
+ /* Floating variant: all sections appear as separate cards on a background,
63
+ 16px from the window edge and spaced by the density gutter (8px, 12px
64
+ comfortable). */
63
65
  .mint-layout--floating {
64
66
  background-color: var(--bg-primary);
65
- padding: 1rem;
66
- gap: 1rem;
67
+ padding: var(--mint-page-inset);
68
+ gap: var(--mint-gutter);
67
69
  }
68
70
 
69
71
  .mint-layout--floating .mint-layout__topbar {
@@ -73,7 +75,7 @@
73
75
  }
74
76
 
75
77
  .mint-layout--floating .mint-layout__body {
76
- gap: 1rem;
78
+ gap: var(--mint-gutter);
77
79
  }
78
80
 
79
81
  .mint-layout--floating .mint-layout__sidebar {
@@ -85,7 +87,7 @@
85
87
  }
86
88
 
87
89
  .mint-layout--floating .mint-layout__main {
88
- gap: 1rem;
90
+ gap: var(--mint-gutter);
89
91
  }
90
92
 
91
93
  /* In floating mode, inner components don't need borders since the wrapper provides them */
@@ -122,8 +124,10 @@
122
124
  transform: translateX(calc(100% + 1rem));
123
125
  }
124
126
 
127
+ /* `none`, not translateX(0): any transform makes the sidebar the containing
128
+ block of its fixed dropdown panels, and its overflow would clip them. */
125
129
  .mint-layout--responsive-sidebar.mint-layout--sidebar-open .mint-layout__sidebar {
126
- transform: translateX(0);
130
+ transform: none;
127
131
  }
128
132
 
129
133
  .mint-layout--responsive-sidebar .mint-layout__sidebar-toggle {
@@ -1,50 +1,76 @@
1
- /* AppTopBar page selector — left-side route/page dropdown.
2
- Trigger speaks the field language (5a): 36px (the identity tile height), hover changes the background
3
- only, open = field focus, inline 12px chevron. The menu keeps the 1.2 panel
4
- (own card, tinted active row) rather than .mint-popover + .mint-menu-item. */
1
+ /* AppTopBar page selector — design v2 option C: "<plugin> / <page>" as one switcher.
2
+ The crumb holds the plugin name, a slash and the tinted 32px trigger. The menu keeps its own
3
+ card (not .mint-popover): a "<plugin> pages" title, then one row per page with its hint and number key. */
5
4
 
5
+ /* Shrinks with the bar: the plugin name and the page label truncate instead of overlapping the nav. */
6
+ .mint-page-selector__crumb {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ gap: 0.375rem;
10
+ min-width: 0;
11
+ flex-shrink: 1;
12
+ }
13
+
14
+ .mint-page-selector__plugin {
15
+ min-width: 0;
16
+ font-size: 0.875rem;
17
+ font-weight: 600;
18
+ color: var(--text-primary);
19
+ white-space: nowrap;
20
+ overflow: hidden;
21
+ text-overflow: ellipsis;
22
+ }
23
+
24
+ .mint-page-selector__slash {
25
+ flex-shrink: 0;
26
+ font-size: 1.125rem;
27
+ font-weight: 300;
28
+ line-height: 1;
29
+ color: var(--text-muted);
30
+ }
31
+
32
+ /* Anchors the menu under the trigger, not under the plugin name. */
6
33
  .mint-page-selector {
7
34
  position: relative;
8
- flex-shrink: 0;
35
+ display: flex;
36
+ min-width: 0;
9
37
  }
10
38
 
11
39
  .mint-page-selector__trigger {
12
40
  display: inline-flex;
13
41
  align-items: center;
14
- gap: 0.5rem;
15
- width: 100%;
16
- height: 2.25rem;
17
- padding: 0 0.5rem 0 0.4375rem;
18
- border: 1px solid var(--border-color);
19
- background: var(--bg-card);
42
+ gap: 0.375rem;
43
+ min-width: 0;
44
+ max-width: 100%;
45
+ height: 2rem;
46
+ padding: 0 0.5rem 0 0.375rem;
47
+ border: 0;
48
+ background: var(--color-primary-soft);
20
49
  color: var(--text-primary);
21
50
  border-radius: var(--radius-md);
22
51
  font-size: 0.8125rem;
23
- font-weight: 500;
52
+ font-weight: 600;
24
53
  font-family: inherit;
25
54
  cursor: pointer;
26
55
  transition:
27
56
  background-color var(--mint-transition),
28
- border-color var(--mint-transition),
29
57
  box-shadow var(--mint-transition);
30
58
  }
31
59
 
32
- .mint-page-selector__trigger:hover:not(.mint-page-selector__trigger--open) {
33
- background: var(--bg-hover);
60
+ .mint-page-selector__trigger:hover {
61
+ background: color-mix(in srgb, var(--color-primary) 16%, transparent);
34
62
  }
35
63
 
36
- .mint-page-selector__trigger:focus-visible,
37
- .mint-page-selector__trigger--open {
64
+ .mint-page-selector__trigger:focus-visible {
38
65
  outline: none;
39
- border-color: var(--color-primary);
40
- box-shadow: var(--focus-ring-soft);
66
+ box-shadow: var(--focus-ring-offset);
41
67
  }
42
68
 
43
69
  /* Page icon tile is neutral; the plugin carries the color. */
44
70
  .mint-page-selector__icon {
45
71
  width: 1.25rem;
46
72
  height: 1.25rem;
47
- border-radius: var(--radius-sm);
73
+ border-radius: var(--radius);
48
74
  background: var(--bg-tertiary);
49
75
  color: var(--text-secondary-strong);
50
76
  display: grid;
@@ -65,7 +91,7 @@
65
91
  .mint-page-selector__trigger-metadata-icon.mint-plugin-icon--sm {
66
92
  width: 1.25rem;
67
93
  height: 1.25rem;
68
- border-radius: var(--radius-sm);
94
+ border-radius: var(--radius);
69
95
  }
70
96
 
71
97
  .mint-page-selector__icon-fallback {
@@ -75,14 +101,13 @@
75
101
  }
76
102
 
77
103
  .mint-page-selector__label {
78
- flex: 1;
104
+ min-width: 0;
79
105
  text-align: left;
80
106
  white-space: nowrap;
81
107
  overflow: hidden;
82
108
  text-overflow: ellipsis;
83
109
  }
84
110
 
85
- /* The chevron sits inline; the wrap no longer draws a tile. */
86
111
  .mint-page-selector__chevron-wrap {
87
112
  display: inline-flex;
88
113
  color: var(--text-secondary);
@@ -99,38 +124,46 @@
99
124
  transform: rotate(180deg);
100
125
  }
101
126
 
127
+ /* max-height: 8 two-line hint rows (8 x 68px) + title (~25px) + padding (8px) = ~577px; a 9th row scrolls. A short window caps it. */
102
128
  .mint-page-selector__menu {
103
129
  position: absolute;
130
+ box-sizing: border-box;
104
131
  top: calc(100% + 0.375rem);
105
132
  left: 0;
106
- width: 16.25rem;
133
+ width: 18.75rem;
134
+ max-height: min(36.25rem, calc(100vh - 6rem));
135
+ overflow-y: auto;
107
136
  background: var(--bg-card);
108
137
  border: 1px solid var(--border-color);
109
138
  border-radius: var(--radius-lg);
110
139
  box-shadow: var(--shadow-md);
111
- padding: 0.375rem;
140
+ padding: 0.25rem;
112
141
  z-index: 50;
113
142
  }
114
143
 
144
+ /* The mockup's 10px uppercase eyebrow breaks rules 2a (no uppercase) and 8d (UI text >= 11px): 11px, sentence case. */
115
145
  .mint-page-selector__menu-title {
116
- padding: 0.375rem 0.625rem 0.5rem;
117
- font-size: 0.75rem;
146
+ padding: 0.375rem 0.5rem 0.25rem;
147
+ font-family: var(--font-mono);
148
+ font-size: 0.6875rem;
118
149
  font-weight: 500;
119
- color: var(--text-secondary);
150
+ letter-spacing: 0.06em;
151
+ color: var(--text-muted);
120
152
  }
121
153
 
122
154
  .mint-page-selector__item {
123
155
  display: flex;
124
- align-items: center;
156
+ box-sizing: border-box;
157
+ align-items: flex-start;
125
158
  gap: 0.625rem;
126
159
  width: 100%;
127
- padding: 0.5rem 0.625rem;
160
+ padding: 0.5rem;
128
161
  border: 0;
129
162
  background: transparent;
130
- border-radius: 0.4375rem;
163
+ border-radius: var(--radius);
131
164
  color: var(--text-primary);
132
165
  font-size: 0.8125rem;
133
- font-weight: 500;
166
+ line-height: 1.4;
134
167
  font-family: inherit;
135
168
  text-align: left;
136
169
  text-decoration: none;
@@ -138,13 +171,22 @@
138
171
  transition: background-color var(--mint-transition);
139
172
  }
140
173
 
141
- .mint-page-selector__item:hover:not(.mint-page-selector__item--disabled) {
174
+ /* A row without a hint has one line: centre it on the icon tile. */
175
+ .mint-page-selector__item:not(:has(.mint-page-selector__item-hint)) {
176
+ align-items: center;
177
+ }
178
+
179
+ .mint-page-selector__item:hover:not(.mint-page-selector__item--disabled):not(.mint-page-selector__item--active) {
142
180
  background: var(--bg-hover);
143
181
  }
144
182
 
183
+ .mint-page-selector__item:focus-visible {
184
+ outline: 2px solid var(--color-primary);
185
+ outline-offset: -2px;
186
+ }
187
+
145
188
  .mint-page-selector__item--active {
146
- background: var(--bg-tertiary);
147
- font-weight: 600;
189
+ background: var(--color-primary-soft);
148
190
  }
149
191
 
150
192
  .mint-page-selector__item--disabled {
@@ -153,9 +195,9 @@
153
195
  }
154
196
 
155
197
  .mint-page-selector__item-icon {
156
- width: 1.375rem;
157
- height: 1.375rem;
158
- border-radius: 0.3125rem;
198
+ width: 1.75rem;
199
+ height: 1.75rem;
200
+ border-radius: var(--radius-md);
159
201
  background: var(--bg-tertiary);
160
202
  color: var(--text-secondary);
161
203
  display: grid;
@@ -163,6 +205,10 @@
163
205
  flex-shrink: 0;
164
206
  }
165
207
 
208
+ .mint-page-selector__item-icon .mint-page-selector__icon-fallback {
209
+ font-size: 0.8125rem;
210
+ }
211
+
166
212
  .mint-page-selector__item--active .mint-page-selector__item-icon {
167
213
  background: var(--color-primary-soft);
168
214
  color: var(--color-primary);
@@ -175,24 +221,55 @@
175
221
  }
176
222
 
177
223
  .mint-page-selector__item-icon svg {
178
- width: 0.8125rem;
179
- height: 0.8125rem;
224
+ width: 0.9375rem;
225
+ height: 0.9375rem;
180
226
  }
181
227
 
182
228
  .mint-page-selector__metadata-icon.mint-plugin-icon--sm {
183
- width: 1.375rem;
184
- height: 1.375rem;
185
- border-radius: 0.3125rem;
229
+ width: 1.75rem;
230
+ height: 1.75rem;
231
+ border-radius: var(--radius-md);
186
232
  }
187
233
 
188
- .mint-page-selector__item-label {
234
+ .mint-page-selector__item-text {
189
235
  flex: 1;
190
236
  min-width: 0;
237
+ display: grid;
238
+ gap: 1px;
239
+ }
240
+
241
+ .mint-page-selector__item-label {
242
+ font-weight: 600;
191
243
  overflow: hidden;
192
244
  text-overflow: ellipsis;
193
245
  white-space: nowrap;
194
246
  }
195
247
 
248
+ /* --_ink-primary is --color-primary-hover in light mode and stays legible in dark mode. */
249
+ .mint-page-selector__item--active .mint-page-selector__item-label {
250
+ color: var(--_ink-primary);
251
+ }
252
+
253
+ .mint-page-selector__item-hint {
254
+ font-size: 0.75rem;
255
+ line-height: 1.35;
256
+ color: var(--text-secondary);
257
+ }
258
+
259
+ /* 11px, the rule 8d floor (the mockup has 10.5px). */
260
+ .mint-page-selector__item-key {
261
+ flex-shrink: 0;
262
+ margin-top: 0.125rem;
263
+ padding: 0 0.25rem;
264
+ border: 1px solid var(--border-color);
265
+ border-radius: var(--radius);
266
+ font-family: var(--font-mono);
267
+ font-size: 0.6875rem;
268
+ font-weight: 500;
269
+ line-height: 1rem;
270
+ color: var(--text-muted);
271
+ }
272
+
196
273
  @media (prefers-reduced-motion: reduce) {
197
274
  .mint-page-selector__trigger,
198
275
  .mint-page-selector__chevron {
@@ -1,14 +1,14 @@
1
- /* AppTopBar pillNav — centered top-level navigation pills.
2
- Keeps the pill shape (the only pill in the bar, 5a); items are 26px to fit
3
- the 52px bar. Dropdown = .mint-popover + .mint-menu-item (2d). */
1
+ /* AppTopBar pillNav — centred top-level navigation as a segmented track:
2
+ 26px items + 2px track padding + 1px border = 32px.
3
+ Dropdown = .mint-popover + .mint-menu-item (2d). */
4
4
 
5
5
  .mint-pill-nav {
6
6
  display: inline-flex;
7
- gap: 2px;
8
- padding: 0.1875rem;
9
- border-radius: 9999px;
7
+ gap: 0;
8
+ padding: 2px;
9
+ border-radius: var(--radius-lg);
10
10
  background: var(--bg-tertiary);
11
- border: 1px solid var(--border-light);
11
+ border: 1px solid transparent;
12
12
  flex-shrink: 0;
13
13
  }
14
14
 
@@ -21,10 +21,10 @@
21
21
  display: inline-flex;
22
22
  align-items: center;
23
23
  gap: 0.375rem;
24
- height: 1.75rem;
24
+ height: 1.625rem;
25
25
  border: 0;
26
- padding: 0 0.875rem;
27
- border-radius: 9999px;
26
+ padding: 0 0.75rem;
27
+ border-radius: var(--radius-md);
28
28
  font-size: 0.8125rem;
29
29
  font-weight: 500;
30
30
  font-family: inherit;
@@ -52,8 +52,7 @@
52
52
  .mint-pill-nav__item--active {
53
53
  color: var(--text-primary);
54
54
  background: var(--bg-card);
55
- box-shadow: var(--shadow-sm);
56
- font-weight: 600;
55
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 0 0 1px var(--border-color);
57
56
  }
58
57
 
59
58
  .mint-pill-nav__item--disabled {
@@ -96,7 +96,7 @@
96
96
  flex-shrink: 0;
97
97
  min-width: 1.375rem;
98
98
  padding: 0.125rem 0.375rem;
99
- border-radius: 9999px;
99
+ border-radius: var(--radius);
100
100
  background: color-mix(in srgb, var(--color-cta) 14%, transparent);
101
101
  color: var(--color-cta);
102
102
  font-size: 0.6875rem;
@@ -277,7 +277,7 @@
277
277
  min-width: 1.125rem;
278
278
  height: 1rem;
279
279
  padding: 0 0.25rem;
280
- border-radius: 0.1875rem;
280
+ border-radius: var(--radius-sm);
281
281
  background: color-mix(in srgb, var(--mint-sidebar-tone) 14%, transparent);
282
282
  color: var(--mint-sidebar-tone);
283
283
  font-family: var(--font-mono);
@@ -428,14 +428,11 @@
428
428
  color: var(--text-secondary);
429
429
  background: transparent;
430
430
  cursor: pointer;
431
- transition:
432
- background-color 150ms ease,
433
- transform 150ms ease;
431
+ transition: background-color var(--mint-transition);
434
432
  }
435
433
 
436
434
  .mint-sidebar__rail-item:hover {
437
435
  background: var(--bg-tertiary);
438
- transform: translateY(-1px);
439
436
  }
440
437
 
441
438
  .mint-sidebar__rail-item:focus-visible {
@@ -450,11 +447,6 @@
450
447
  width: 1.75rem;
451
448
  height: 1.75rem;
452
449
  border-radius: var(--radius-md);
453
- transition: transform 150ms ease;
454
- }
455
-
456
- .mint-sidebar__rail-item:hover .mint-sidebar__rail-icon {
457
- transform: scale(1.04);
458
450
  }
459
451
 
460
452
  .mint-sidebar__rail-svg {
@@ -475,7 +467,7 @@
475
467
  min-width: 1rem;
476
468
  height: 1rem;
477
469
  padding: 0 0.25rem;
478
- border-radius: 9999px;
470
+ border-radius: var(--radius);
479
471
  background: var(--mint-sidebar-tone);
480
472
  color: white;
481
473
  font-size: 0.6875rem;
@@ -485,6 +477,11 @@
485
477
  font-variant-numeric: tabular-nums;
486
478
  }
487
479
 
480
+ .mint-sidebar__rail-badge--primary,
481
+ .mint-sidebar__rail-badge--cta {
482
+ color: var(--text-on-accent);
483
+ }
484
+
488
485
  /* Semantic tones shared by the rail badge, the inline tag and section actions. */
489
486
  .mint-sidebar__rail-badge--primary,
490
487
  .mint-sidebar__tag--primary,
@@ -539,15 +536,9 @@
539
536
  @media (prefers-reduced-motion: reduce) {
540
537
  .mint-sidebar,
541
538
  .mint-sidebar__rail-item,
542
- .mint-sidebar__rail-icon,
543
539
  .mint-sidebar__chevron,
544
540
  .mint-sidebar__switch,
545
541
  .mint-sidebar__switch-knob {
546
542
  transition: none;
547
543
  }
548
-
549
- .mint-sidebar__rail-item:hover,
550
- .mint-sidebar__rail-item:hover .mint-sidebar__rail-icon {
551
- transform: none;
552
- }
553
544
  }