@morscherlab/mint-sdk 1.0.0-alpha.8 → 1.0.0-alpha.9

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 (217) hide show
  1. package/README.md +15 -15
  2. package/dist/{auth-BYmxZdJl.js → auth-DsI0rQ7_.js} +6 -6
  3. package/dist/auth-DsI0rQ7_.js.map +1 -0
  4. package/dist/components/index.js +2 -2
  5. package/dist/{components-CKf-UpGi.js → components-CzbQQPCb.js} +1429 -1429
  6. package/dist/components-CzbQQPCb.js.map +1 -0
  7. package/dist/composables/index.js +2 -2
  8. package/dist/composables/usePlatformContext.d.ts +3 -3
  9. package/dist/{composables-D0QfFzq1.js → composables-BXklV5ii.js} +3 -3
  10. package/dist/{composables-D0QfFzq1.js.map → composables-BXklV5ii.js.map} +1 -1
  11. package/dist/index.js +4 -4
  12. package/dist/install.d.ts +3 -3
  13. package/dist/install.js +5 -5
  14. package/dist/install.js.map +1 -1
  15. package/dist/stores/auth.d.ts +1 -1
  16. package/dist/stores/index.js +1 -1
  17. package/dist/stores/settings.d.ts +1 -1
  18. package/dist/styles.css +5388 -5388
  19. package/dist/types/platform.d.ts +1 -1
  20. package/dist/{useScheduleDrag-DAJueTbK.js → useScheduleDrag-CxBeqYcu.js} +331 -331
  21. package/dist/useScheduleDrag-CxBeqYcu.js.map +1 -0
  22. package/package.json +2 -2
  23. package/src/__tests__/components/AppLayout.test.ts +23 -23
  24. package/src/__tests__/components/AppSidebar.test.ts +29 -29
  25. package/src/__tests__/components/AppTopBar.test.ts +45 -45
  26. package/src/__tests__/components/BaseInput.test.ts +2 -2
  27. package/src/__tests__/components/BasePill.test.ts +37 -37
  28. package/src/__tests__/components/Calendar.test.ts +52 -52
  29. package/src/__tests__/components/CollapsibleCard.test.ts +81 -81
  30. package/src/__tests__/components/DataFrame.test.ts +80 -80
  31. package/src/__tests__/components/DropdownButton.test.ts +80 -80
  32. package/src/__tests__/composables/usePlatformContext.test.ts +1 -1
  33. package/src/components/AlertBox.story.vue +1 -1
  34. package/src/components/AlertBox.vue +14 -14
  35. package/src/components/AppAvatarMenu.vue +26 -26
  36. package/src/components/AppContainer.vue +3 -3
  37. package/src/components/AppLayout.vue +7 -7
  38. package/src/components/AppPageSelector.vue +30 -30
  39. package/src/components/AppPillNav.vue +10 -10
  40. package/src/components/AppPluginSwitcher.vue +31 -31
  41. package/src/components/AppSidebar.vue +8 -8
  42. package/src/components/AppTopBar.story.vue +7 -7
  43. package/src/components/AppTopBar.vue +102 -102
  44. package/src/components/AuditTrail.vue +19 -19
  45. package/src/components/AutoGroupModal.vue +76 -76
  46. package/src/components/Avatar.vue +6 -6
  47. package/src/components/BaseButton.vue +6 -6
  48. package/src/components/BaseCheckbox.vue +9 -9
  49. package/src/components/BaseInput.vue +4 -4
  50. package/src/components/BaseModal.story.vue +1 -1
  51. package/src/components/BaseModal.vue +14 -14
  52. package/src/components/BasePill.vue +9 -9
  53. package/src/components/BaseRadioGroup.vue +21 -21
  54. package/src/components/BaseSelect.vue +6 -6
  55. package/src/components/BaseSlider.vue +8 -8
  56. package/src/components/BaseTabs.vue +7 -7
  57. package/src/components/BaseTextarea.vue +5 -5
  58. package/src/components/BaseToggle.vue +10 -10
  59. package/src/components/BatchProgressList.vue +25 -25
  60. package/src/components/Breadcrumb.vue +8 -8
  61. package/src/components/Calendar.vue +19 -19
  62. package/src/components/ChartContainer.vue +9 -9
  63. package/src/components/ChemicalFormula.vue +7 -7
  64. package/src/components/CollapsibleCard.vue +20 -20
  65. package/src/components/ColorSlider.vue +6 -6
  66. package/src/components/ConcentrationInput.vue +12 -12
  67. package/src/components/ConfirmDialog.story.vue +1 -1
  68. package/src/components/ConfirmDialog.vue +7 -7
  69. package/src/components/DataFrame.vue +40 -40
  70. package/src/components/DatePicker.vue +29 -29
  71. package/src/components/DateTimePicker.vue +41 -41
  72. package/src/components/Divider.vue +9 -9
  73. package/src/components/DoseCalculator.vue +66 -66
  74. package/src/components/DropdownButton.vue +19 -19
  75. package/src/components/EmptyState.vue +9 -9
  76. package/src/components/ExperimentCodeBadge.vue +3 -3
  77. package/src/components/ExperimentDataViewer.vue +25 -25
  78. package/src/components/ExperimentPopover.vue +35 -35
  79. package/src/components/ExperimentSelectorModal.vue +40 -40
  80. package/src/components/ExperimentTimeline.vue +48 -48
  81. package/src/components/FileUploader.vue +31 -31
  82. package/src/components/FitPanel.vue +9 -9
  83. package/src/components/FormActions.vue +1 -1
  84. package/src/components/FormBuilder.vue +2 -2
  85. package/src/components/FormField.vue +7 -7
  86. package/src/components/FormSection.vue +7 -7
  87. package/src/components/FormulaInput.vue +10 -10
  88. package/src/components/GroupAssigner.vue +40 -40
  89. package/src/components/GroupingModal.vue +45 -45
  90. package/src/components/IconButton.vue +6 -6
  91. package/src/components/LoadingSpinner.vue +5 -5
  92. package/src/components/MoleculeInput.vue +21 -21
  93. package/src/components/MultiSelect.vue +13 -13
  94. package/src/components/NumberInput.vue +13 -13
  95. package/src/components/PlateMapEditor.vue +63 -63
  96. package/src/components/ProgressBar.vue +18 -18
  97. package/src/components/ProtocolStepEditor.vue +57 -57
  98. package/src/components/RackEditor.vue +28 -28
  99. package/src/components/ReagentEditor.vue +61 -61
  100. package/src/components/ReagentList.vue +49 -49
  101. package/src/components/ResourceCard.vue +28 -28
  102. package/src/components/SampleHierarchyTree.vue +13 -13
  103. package/src/components/SampleLegend.vue +12 -12
  104. package/src/components/SampleSelector.vue +104 -104
  105. package/src/components/ScheduleCalendar.vue +42 -42
  106. package/src/components/ScientificNumber.vue +11 -11
  107. package/src/components/SegmentedControl.vue +12 -12
  108. package/src/components/SequenceInput.vue +32 -32
  109. package/src/components/SettingsButton.vue +5 -5
  110. package/src/components/SettingsModal.vue +17 -17
  111. package/src/components/StatusIndicator.vue +5 -5
  112. package/src/components/StepWizard.vue +16 -16
  113. package/src/components/TagsInput.vue +20 -20
  114. package/src/components/ThemeToggle.vue +3 -3
  115. package/src/components/TimePicker.vue +21 -21
  116. package/src/components/TimeRangeInput.vue +5 -5
  117. package/src/components/ToastNotification.vue +8 -8
  118. package/src/components/Tooltip.vue +7 -7
  119. package/src/components/UnitInput.vue +12 -12
  120. package/src/components/WellEditPopup.vue +28 -28
  121. package/src/components/WellPlate.vue +37 -37
  122. package/src/composables/useAppExperiment.ts +1 -1
  123. package/src/composables/usePlatformContext.ts +16 -16
  124. package/src/composables/useProtocolTemplates.ts +1 -1
  125. package/src/install.ts +3 -3
  126. package/src/stores/auth.ts +3 -3
  127. package/src/stores/settings.ts +2 -2
  128. package/src/styles/components/alert-box.css +30 -30
  129. package/src/styles/components/app-avatar-menu.css +23 -23
  130. package/src/styles/components/app-container.css +6 -6
  131. package/src/styles/components/app-layout.css +15 -15
  132. package/src/styles/components/app-page-selector.css +26 -26
  133. package/src/styles/components/app-pill-nav.css +7 -7
  134. package/src/styles/components/app-plugin-switcher.css +27 -27
  135. package/src/styles/components/app-sidebar.css +24 -24
  136. package/src/styles/components/app-top-bar.css +65 -65
  137. package/src/styles/components/audit-trail.css +29 -29
  138. package/src/styles/components/auto-group-modal.css +91 -91
  139. package/src/styles/components/avatar.css +15 -15
  140. package/src/styles/components/batch-progress-list.css +40 -40
  141. package/src/styles/components/breadcrumb.css +8 -8
  142. package/src/styles/components/button.css +31 -31
  143. package/src/styles/components/calendar.css +27 -27
  144. package/src/styles/components/chart-container.css +9 -9
  145. package/src/styles/components/checkbox.css +20 -20
  146. package/src/styles/components/chemical-formula.css +8 -8
  147. package/src/styles/components/collapsible-card.css +35 -35
  148. package/src/styles/components/color-slider.css +8 -8
  149. package/src/styles/components/concentration-input.css +27 -27
  150. package/src/styles/components/confirm-dialog.css +32 -32
  151. package/src/styles/components/dataframe.css +66 -66
  152. package/src/styles/components/date-picker.css +40 -40
  153. package/src/styles/components/datetime-picker.css +37 -37
  154. package/src/styles/components/divider.css +13 -13
  155. package/src/styles/components/dose-calculator.css +43 -43
  156. package/src/styles/components/dropdown-button.css +46 -46
  157. package/src/styles/components/empty-state.css +44 -44
  158. package/src/styles/components/experiment-code-badge.css +8 -8
  159. package/src/styles/components/experiment-data-viewer.css +23 -23
  160. package/src/styles/components/experiment-popover.css +97 -97
  161. package/src/styles/components/experiment-selector-modal.css +39 -39
  162. package/src/styles/components/experiment-timeline.css +98 -98
  163. package/src/styles/components/file-uploader.css +44 -44
  164. package/src/styles/components/fit-panel.css +12 -12
  165. package/src/styles/components/form-builder.css +11 -11
  166. package/src/styles/components/form-field.css +7 -7
  167. package/src/styles/components/formula-input.css +17 -17
  168. package/src/styles/components/group-assigner.css +26 -26
  169. package/src/styles/components/grouping-modal.css +51 -51
  170. package/src/styles/components/icon-button.css +41 -41
  171. package/src/styles/components/input.css +13 -13
  172. package/src/styles/components/loading-spinner.css +12 -12
  173. package/src/styles/components/modal.css +69 -69
  174. package/src/styles/components/molecule-input.css +27 -27
  175. package/src/styles/components/multi-select.css +23 -23
  176. package/src/styles/components/number-input.css +32 -32
  177. package/src/styles/components/pill.css +37 -37
  178. package/src/styles/components/plate-map-editor.css +67 -67
  179. package/src/styles/components/progress-bar.css +41 -41
  180. package/src/styles/components/protocol-step-editor.css +63 -63
  181. package/src/styles/components/rack-editor.css +34 -34
  182. package/src/styles/components/radio-group.css +41 -41
  183. package/src/styles/components/reagent-editor.css +70 -70
  184. package/src/styles/components/reagent-list.css +65 -65
  185. package/src/styles/components/resource-card.css +52 -52
  186. package/src/styles/components/sample-hierarchy-tree.css +56 -56
  187. package/src/styles/components/sample-legend.css +37 -37
  188. package/src/styles/components/sample-selector.css +121 -121
  189. package/src/styles/components/schedule-calendar.css +67 -67
  190. package/src/styles/components/scientific-number.css +11 -11
  191. package/src/styles/components/segmented-control.css +33 -33
  192. package/src/styles/components/select.css +11 -11
  193. package/src/styles/components/sequence-input.css +29 -29
  194. package/src/styles/components/settings-button.css +16 -16
  195. package/src/styles/components/settings-modal.css +14 -14
  196. package/src/styles/components/skeleton.css +2 -2
  197. package/src/styles/components/slider.css +10 -10
  198. package/src/styles/components/status-indicator.css +12 -12
  199. package/src/styles/components/step-wizard.css +32 -32
  200. package/src/styles/components/tabs.css +16 -16
  201. package/src/styles/components/tags-input.css +46 -46
  202. package/src/styles/components/textarea.css +17 -17
  203. package/src/styles/components/theme-toggle.css +13 -13
  204. package/src/styles/components/time-picker.css +28 -28
  205. package/src/styles/components/time-range-input.css +8 -8
  206. package/src/styles/components/toast.css +18 -18
  207. package/src/styles/components/toggle.css +27 -27
  208. package/src/styles/components/tooltip.css +18 -18
  209. package/src/styles/components/unit-input.css +25 -25
  210. package/src/styles/components/well-edit-popup.css +32 -32
  211. package/src/styles/components/well-plate.css +49 -49
  212. package/src/styles/index.css +1 -1
  213. package/src/styles/variables.css +3 -3
  214. package/src/types/platform.ts +6 -6
  215. package/dist/auth-BYmxZdJl.js.map +0 -1
  216. package/dist/components-CKf-UpGi.js.map +0 -1
  217. package/dist/useScheduleDrag-DAJueTbK.js.map +0 -1
@@ -1,19 +1,19 @@
1
1
  /* ExperimentPopover — aligned with refresh design (AppPluginSwitcher / AppPageSelector) */
2
2
 
3
3
  /* Container */
4
- .mld-experiment-popover {
4
+ .mint-experiment-popover {
5
5
  position: relative;
6
6
  }
7
7
 
8
8
  /* Split trigger container */
9
- .mld-experiment-popover__split {
9
+ .mint-experiment-popover__split {
10
10
  display: inline-flex;
11
11
  align-items: stretch;
12
12
  }
13
13
 
14
14
  /* When split has save, trigger loses its right border and radii so it meets
15
15
  the save button flush. */
16
- .mld-experiment-popover__split--with-save .mld-experiment-popover__trigger {
16
+ .mint-experiment-popover__split--with-save .mint-experiment-popover__trigger {
17
17
  border-right: none;
18
18
  border-top-right-radius: 0;
19
19
  border-bottom-right-radius: 0;
@@ -23,7 +23,7 @@
23
23
  Shows only the experiment code (e.g., "EXP-001") for maximum topbar
24
24
  compactness. The trigger is now sized to its content — no fixed max-width
25
25
  is needed once the long name is gone. */
26
- .mld-experiment-popover__trigger {
26
+ .mint-experiment-popover__trigger {
27
27
  display: inline-flex;
28
28
  align-items: center;
29
29
  gap: 0.5rem;
@@ -51,46 +51,46 @@
51
51
 
52
52
  /* Hover (single-trigger mode) — lift + soft shadow. Gated :not(--active) so
53
53
  the chip doesn't bounce while its panel is open. */
54
- .mld-experiment-popover__split:not(.mld-experiment-popover__split--with-save)
55
- .mld-experiment-popover__trigger:hover:not(.mld-experiment-popover__trigger--active) {
54
+ .mint-experiment-popover__split:not(.mint-experiment-popover__split--with-save)
55
+ .mint-experiment-popover__trigger:hover:not(.mint-experiment-popover__trigger--active) {
56
56
  background: var(--bg-hover);
57
57
  box-shadow: var(--shadow-sm);
58
58
  transform: translateY(-1px);
59
59
  }
60
60
 
61
- .mld-experiment-popover__split:not(.mld-experiment-popover__split--with-save)
62
- .mld-experiment-popover__trigger:active:not(.mld-experiment-popover__trigger--active) {
61
+ .mint-experiment-popover__split:not(.mint-experiment-popover__split--with-save)
62
+ .mint-experiment-popover__trigger:active:not(.mint-experiment-popover__trigger--active) {
63
63
  transform: translateY(0);
64
64
  box-shadow: none;
65
65
  transition-duration: 0.05s;
66
66
  }
67
67
 
68
68
  /* Active (panel open) — ring treatment, same language as PluginSwitcher/PageSelector */
69
- .mld-experiment-popover__trigger--active {
69
+ .mint-experiment-popover__trigger--active {
70
70
  border-color: var(--color-primary);
71
71
  box-shadow: 0 0 0 3px var(--color-primary-soft);
72
72
  }
73
73
 
74
- .mld-experiment-popover__trigger--empty {
74
+ .mint-experiment-popover__trigger--empty {
75
75
  color: var(--text-muted);
76
76
  }
77
77
 
78
- .mld-experiment-popover__trigger-icon {
78
+ .mint-experiment-popover__trigger-icon {
79
79
  width: 1rem;
80
80
  height: 1rem;
81
81
  flex-shrink: 0;
82
82
  color: var(--color-primary);
83
83
  }
84
84
 
85
- .mld-experiment-popover__trigger--empty .mld-experiment-popover__trigger-icon {
85
+ .mint-experiment-popover__trigger--empty .mint-experiment-popover__trigger-icon {
86
86
  color: var(--text-muted);
87
87
  }
88
88
 
89
- .mld-experiment-popover__trigger--active .mld-experiment-popover__trigger-icon {
89
+ .mint-experiment-popover__trigger--active .mint-experiment-popover__trigger-icon {
90
90
  color: var(--color-primary);
91
91
  }
92
92
 
93
- .mld-experiment-popover__trigger-text {
93
+ .mint-experiment-popover__trigger-text {
94
94
  flex: 1;
95
95
  min-width: 0;
96
96
  overflow: hidden;
@@ -100,7 +100,7 @@
100
100
  }
101
101
 
102
102
  /* Experiment code in the trigger — monospace, tabular, slightly tighter tracking */
103
- .mld-experiment-popover__trigger-code {
103
+ .mint-experiment-popover__trigger-code {
104
104
  font-family: var(--font-mono, 'Fira Code', monospace);
105
105
  font-size: 0.75rem;
106
106
  font-weight: 600;
@@ -109,15 +109,15 @@
109
109
  font-variant-numeric: tabular-nums;
110
110
  }
111
111
 
112
- .mld-experiment-popover__trigger--empty .mld-experiment-popover__trigger-code {
112
+ .mint-experiment-popover__trigger--empty .mint-experiment-popover__trigger-code {
113
113
  color: var(--text-muted);
114
114
  }
115
115
 
116
- .mld-experiment-popover__trigger--active .mld-experiment-popover__trigger-code {
116
+ .mint-experiment-popover__trigger--active .mint-experiment-popover__trigger-code {
117
117
  color: var(--color-primary);
118
118
  }
119
119
 
120
- .mld-experiment-popover__trigger-chevron {
120
+ .mint-experiment-popover__trigger-chevron {
121
121
  width: 0.8125rem;
122
122
  height: 0.8125rem;
123
123
  flex-shrink: 0;
@@ -126,13 +126,13 @@
126
126
  color 0.15s var(--mint-ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1));
127
127
  }
128
128
 
129
- .mld-experiment-popover__trigger--active .mld-experiment-popover__trigger-chevron {
129
+ .mint-experiment-popover__trigger--active .mint-experiment-popover__trigger-chevron {
130
130
  transform: rotate(180deg);
131
131
  color: var(--color-primary);
132
132
  }
133
133
 
134
134
  /* ─── Save trigger (right half of split) — filled-button treatment ─── */
135
- .mld-experiment-popover__save-trigger {
135
+ .mint-experiment-popover__save-trigger {
136
136
  display: flex;
137
137
  align-items: center;
138
138
  justify-content: center;
@@ -163,92 +163,92 @@
163
163
  }
164
164
 
165
165
  /* Save trigger: press-to-flat (gradient cleared) */
166
- .mld-experiment-popover__save-trigger:active:not(:disabled):not(.mld-experiment-popover__save-trigger--disabled) {
166
+ .mint-experiment-popover__save-trigger:active:not(:disabled):not(.mint-experiment-popover__save-trigger--disabled) {
167
167
  transform: translateY(0);
168
168
  box-shadow: none;
169
169
  background-image: none;
170
170
  transition-duration: 0.05s;
171
171
  }
172
172
 
173
- .mld-experiment-popover__save-trigger--disabled {
173
+ .mint-experiment-popover__save-trigger--disabled {
174
174
  opacity: 0.4;
175
175
  cursor: not-allowed;
176
176
  }
177
177
 
178
- .mld-experiment-popover__save-trigger--loading {
178
+ .mint-experiment-popover__save-trigger--loading {
179
179
  opacity: 0.7;
180
180
  pointer-events: none;
181
181
  }
182
182
 
183
183
  /* Success state: green surface + keep the catch-of-light */
184
- .mld-experiment-popover__save-trigger--success {
184
+ .mint-experiment-popover__save-trigger--success {
185
185
  background-color: var(--mint-success, #10b981);
186
186
  border-color: var(--mint-success, #10b981);
187
187
  border-left-color: rgba(255, 255, 255, 0.3);
188
188
  }
189
189
 
190
- .mld-experiment-popover__save-trigger-icon {
190
+ .mint-experiment-popover__save-trigger-icon {
191
191
  width: 0.9375rem;
192
192
  height: 0.9375rem;
193
193
  }
194
194
 
195
- .mld-experiment-popover__spinner--inline {
195
+ .mint-experiment-popover__spinner--inline {
196
196
  width: 0.8125rem;
197
197
  height: 0.8125rem;
198
198
  border: 2px solid rgba(255, 255, 255, 0.3);
199
199
  border-top-color: white;
200
200
  border-radius: 50%;
201
- animation: mld-experiment-popover-spin 0.6s linear infinite;
201
+ animation: mint-experiment-popover-spin 0.6s linear infinite;
202
202
  }
203
203
 
204
204
  /* ─── Split unit cohesion ─── */
205
205
  /* When split has both halves, hovering either half lifts BOTH together so the
206
206
  visually attached unit moves as one object. Color changes stay per-half so
207
207
  "which action is hot" is still readable. */
208
- .mld-experiment-popover__split--with-save:hover
209
- > .mld-experiment-popover__trigger:not(.mld-experiment-popover__trigger--active),
210
- .mld-experiment-popover__split--with-save:hover
211
- > .mld-experiment-popover__save-trigger:not(:disabled):not(.mld-experiment-popover__save-trigger--disabled) {
208
+ .mint-experiment-popover__split--with-save:hover
209
+ > .mint-experiment-popover__trigger:not(.mint-experiment-popover__trigger--active),
210
+ .mint-experiment-popover__split--with-save:hover
211
+ > .mint-experiment-popover__save-trigger:not(:disabled):not(.mint-experiment-popover__save-trigger--disabled) {
212
212
  transform: translateY(-1px);
213
213
  box-shadow: var(--shadow-sm);
214
214
  }
215
215
 
216
- .mld-experiment-popover__split--with-save:active
217
- > .mld-experiment-popover__trigger:not(.mld-experiment-popover__trigger--active),
218
- .mld-experiment-popover__split--with-save:active
219
- > .mld-experiment-popover__save-trigger:not(:disabled):not(.mld-experiment-popover__save-trigger--disabled) {
216
+ .mint-experiment-popover__split--with-save:active
217
+ > .mint-experiment-popover__trigger:not(.mint-experiment-popover__trigger--active),
218
+ .mint-experiment-popover__split--with-save:active
219
+ > .mint-experiment-popover__save-trigger:not(:disabled):not(.mint-experiment-popover__save-trigger--disabled) {
220
220
  transform: translateY(0);
221
221
  box-shadow: none;
222
222
  transition-duration: 0.05s;
223
223
  }
224
224
 
225
225
  /* Per-half color-on-hover (only when the SPECIFIC half is being pointed at) */
226
- .mld-experiment-popover__split--with-save
227
- .mld-experiment-popover__trigger:hover:not(.mld-experiment-popover__trigger--active) {
226
+ .mint-experiment-popover__split--with-save
227
+ .mint-experiment-popover__trigger:hover:not(.mint-experiment-popover__trigger--active) {
228
228
  background: var(--bg-hover);
229
229
  border-color: var(--color-primary);
230
230
  }
231
231
 
232
- .mld-experiment-popover__split--with-save
233
- .mld-experiment-popover__save-trigger:hover:not(:disabled):not(.mld-experiment-popover__save-trigger--disabled) {
232
+ .mint-experiment-popover__split--with-save
233
+ .mint-experiment-popover__save-trigger:hover:not(:disabled):not(.mint-experiment-popover__save-trigger--disabled) {
234
234
  background-color: var(--color-primary-hover);
235
235
  border-color: var(--color-primary-hover);
236
236
  }
237
237
 
238
- .mld-experiment-popover__split--with-save
239
- .mld-experiment-popover__save-trigger--success:hover:not(:disabled) {
238
+ .mint-experiment-popover__split--with-save
239
+ .mint-experiment-popover__save-trigger--success:hover:not(:disabled) {
240
240
  background-color: var(--mint-success-hover, #059669);
241
241
  border-color: var(--mint-success-hover, #059669);
242
242
  }
243
243
 
244
244
  /* Flatten the gradient on active save press */
245
- .mld-experiment-popover__split--with-save:active
246
- > .mld-experiment-popover__save-trigger:not(:disabled):not(.mld-experiment-popover__save-trigger--disabled) {
245
+ .mint-experiment-popover__split--with-save:active
246
+ > .mint-experiment-popover__save-trigger:not(:disabled):not(.mint-experiment-popover__save-trigger--disabled) {
247
247
  background-image: none;
248
248
  }
249
249
 
250
250
  /* ─── Popover panel ─── */
251
- .mld-experiment-popover__panel {
251
+ .mint-experiment-popover__panel {
252
252
  position: absolute;
253
253
  top: calc(100% + 0.5rem);
254
254
  right: 0;
@@ -262,7 +262,7 @@
262
262
  }
263
263
 
264
264
  /* Header */
265
- .mld-experiment-popover__header {
265
+ .mint-experiment-popover__header {
266
266
  display: flex;
267
267
  flex-direction: column;
268
268
  gap: 0.125rem;
@@ -270,24 +270,24 @@
270
270
  border-bottom: 1px solid var(--border-light);
271
271
  }
272
272
 
273
- .mld-experiment-popover__title {
273
+ .mint-experiment-popover__title {
274
274
  font-size: 0.8125rem;
275
275
  font-weight: 600;
276
276
  color: var(--text-primary);
277
277
  }
278
278
 
279
- .mld-experiment-popover__subtitle {
279
+ .mint-experiment-popover__subtitle {
280
280
  font-size: 0.6875rem;
281
281
  font-weight: 400;
282
282
  color: var(--text-muted);
283
283
  }
284
284
 
285
- .mld-experiment-popover__body {
285
+ .mint-experiment-popover__body {
286
286
  padding: 0.75rem 1rem;
287
287
  }
288
288
 
289
289
  /* Select experiment button (no experiment state) */
290
- .mld-experiment-popover__select-btn {
290
+ .mint-experiment-popover__select-btn {
291
291
  display: inline-flex;
292
292
  align-items: center;
293
293
  justify-content: center;
@@ -310,21 +310,21 @@
310
310
  transform 0.15s var(--mint-ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1));
311
311
  }
312
312
 
313
- .mld-experiment-popover__select-btn:hover {
313
+ .mint-experiment-popover__select-btn:hover {
314
314
  background-color: var(--color-primary);
315
315
  color: white;
316
316
  box-shadow: var(--shadow-sm);
317
317
  transform: translateY(-1px);
318
318
  }
319
319
 
320
- .mld-experiment-popover__select-btn:active {
320
+ .mint-experiment-popover__select-btn:active {
321
321
  transform: translateY(0);
322
322
  box-shadow: none;
323
323
  transition-duration: 0.05s;
324
324
  }
325
325
 
326
326
  /* Experiment card (selected state) */
327
- .mld-experiment-popover__card {
327
+ .mint-experiment-popover__card {
328
328
  display: flex;
329
329
  align-items: flex-start;
330
330
  gap: 0.625rem;
@@ -333,7 +333,7 @@
333
333
  border-radius: var(--radius-md);
334
334
  }
335
335
 
336
- .mld-experiment-popover__card-icon {
336
+ .mint-experiment-popover__card-icon {
337
337
  width: 2rem;
338
338
  height: 2rem;
339
339
  flex-shrink: 0;
@@ -343,13 +343,13 @@
343
343
  place-items: center;
344
344
  }
345
345
 
346
- .mld-experiment-popover__card-icon svg {
346
+ .mint-experiment-popover__card-icon svg {
347
347
  width: 1rem;
348
348
  height: 1rem;
349
349
  color: var(--color-primary);
350
350
  }
351
351
 
352
- .mld-experiment-popover__card-info {
352
+ .mint-experiment-popover__card-info {
353
353
  flex: 1;
354
354
  min-width: 0;
355
355
  display: flex;
@@ -358,7 +358,7 @@
358
358
  }
359
359
 
360
360
  /* Experiment code in the card — small mono badge at the top of info */
361
- .mld-experiment-popover__card-code {
361
+ .mint-experiment-popover__card-code {
362
362
  align-self: flex-start;
363
363
  font-family: var(--font-mono, 'Fira Code', monospace);
364
364
  font-size: 0.625rem;
@@ -372,7 +372,7 @@
372
372
  font-variant-numeric: tabular-nums;
373
373
  }
374
374
 
375
- .mld-experiment-popover__card-name {
375
+ .mint-experiment-popover__card-name {
376
376
  font-size: 0.8125rem;
377
377
  font-weight: 600;
378
378
  color: var(--text-primary);
@@ -382,7 +382,7 @@
382
382
  line-height: 1.3;
383
383
  }
384
384
 
385
- .mld-experiment-popover__card-status {
385
+ .mint-experiment-popover__card-status {
386
386
  font-size: 0.6875rem;
387
387
  color: var(--text-muted);
388
388
  line-height: 1.3;
@@ -390,7 +390,7 @@
390
390
 
391
391
  /* Action row sits BELOW the card (was inside) so the buttons have
392
392
  room to breathe and don't compete with the info stack. */
393
- .mld-experiment-popover__card-actions {
393
+ .mint-experiment-popover__card-actions {
394
394
  display: flex;
395
395
  justify-content: flex-end;
396
396
  align-items: center;
@@ -398,8 +398,8 @@
398
398
  margin-top: 0.5rem;
399
399
  }
400
400
 
401
- .mld-experiment-popover__change-btn,
402
- .mld-experiment-popover__detach-btn {
401
+ .mint-experiment-popover__change-btn,
402
+ .mint-experiment-popover__detach-btn {
403
403
  padding: 0.3125rem 0.625rem;
404
404
  border: none;
405
405
  background: transparent;
@@ -413,37 +413,37 @@
413
413
  color 0.15s var(--mint-ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1));
414
414
  }
415
415
 
416
- .mld-experiment-popover__change-btn {
416
+ .mint-experiment-popover__change-btn {
417
417
  color: var(--color-primary);
418
418
  }
419
419
 
420
- .mld-experiment-popover__change-btn:hover {
420
+ .mint-experiment-popover__change-btn:hover {
421
421
  background: var(--color-primary-soft);
422
422
  }
423
423
 
424
- .mld-experiment-popover__detach-btn {
424
+ .mint-experiment-popover__detach-btn {
425
425
  color: var(--text-muted);
426
426
  font-weight: 400;
427
427
  }
428
428
 
429
- .mld-experiment-popover__detach-btn:hover {
429
+ .mint-experiment-popover__detach-btn:hover {
430
430
  color: var(--mint-error);
431
431
  background: rgba(239, 68, 68, 0.08);
432
432
  }
433
433
 
434
- /* Divider (legacy, kept for backward compat) */
435
- .mld-experiment-popover__divider {
434
+ /* Divider */
435
+ .mint-experiment-popover__divider {
436
436
  height: 1px;
437
437
  background: var(--border-light);
438
438
  margin: 0;
439
439
  }
440
440
 
441
- /* Legacy footer (save section, used when showSave without split context) */
442
- .mld-experiment-popover__footer {
441
+ /* Save footer */
442
+ .mint-experiment-popover__footer {
443
443
  padding: 0.75rem 1rem;
444
444
  }
445
445
 
446
- .mld-experiment-popover__save-btn {
446
+ .mint-experiment-popover__save-btn {
447
447
  display: flex;
448
448
  align-items: center;
449
449
  justify-content: center;
@@ -473,90 +473,90 @@
473
473
  background-image 0.15s var(--mint-ease-out-quart, cubic-bezier(0.25, 1, 0.5, 1));
474
474
  }
475
475
 
476
- .mld-experiment-popover__save-btn:hover:not(:disabled) {
476
+ .mint-experiment-popover__save-btn:hover:not(:disabled) {
477
477
  background-color: var(--color-primary-hover);
478
478
  box-shadow: var(--shadow-sm);
479
479
  transform: translateY(-1px);
480
480
  }
481
481
 
482
- .mld-experiment-popover__save-btn:active:not(:disabled) {
482
+ .mint-experiment-popover__save-btn:active:not(:disabled) {
483
483
  transform: translateY(0);
484
484
  box-shadow: none;
485
485
  background-image: none;
486
486
  transition-duration: 0.05s;
487
487
  }
488
488
 
489
- .mld-experiment-popover__save-btn:disabled {
489
+ .mint-experiment-popover__save-btn:disabled {
490
490
  opacity: 0.45;
491
491
  cursor: not-allowed;
492
492
  background-image: none;
493
493
  }
494
494
 
495
- .mld-experiment-popover__save-btn--loading {
495
+ .mint-experiment-popover__save-btn--loading {
496
496
  opacity: 0.8;
497
497
  pointer-events: none;
498
498
  }
499
499
 
500
- .mld-experiment-popover__save-btn--success {
500
+ .mint-experiment-popover__save-btn--success {
501
501
  background-color: var(--color-primary-soft);
502
502
  background-image: none;
503
503
  border: 1px solid rgba(16, 185, 129, 0.3);
504
504
  color: var(--mint-success, #10b981);
505
505
  }
506
506
 
507
- .mld-experiment-popover__save-btn--success:hover {
507
+ .mint-experiment-popover__save-btn--success:hover {
508
508
  background-color: rgba(16, 185, 129, 0.18);
509
509
  }
510
510
 
511
- .mld-experiment-popover__save-icon,
512
- .mld-experiment-popover__check-icon {
511
+ .mint-experiment-popover__save-icon,
512
+ .mint-experiment-popover__check-icon {
513
513
  width: 1rem;
514
514
  height: 1rem;
515
515
  }
516
516
 
517
- .mld-experiment-popover__save-hint {
517
+ .mint-experiment-popover__save-hint {
518
518
  font-size: 0.6875rem;
519
519
  color: var(--text-muted);
520
520
  text-align: center;
521
521
  margin-top: 0.5rem;
522
522
  }
523
523
 
524
- .mld-experiment-popover__spinner {
524
+ .mint-experiment-popover__spinner {
525
525
  width: 0.875rem;
526
526
  height: 0.875rem;
527
527
  border: 2px solid rgba(255, 255, 255, 0.3);
528
528
  border-top-color: white;
529
529
  border-radius: 50%;
530
- animation: mld-experiment-popover-spin 0.6s linear infinite;
530
+ animation: mint-experiment-popover-spin 0.6s linear infinite;
531
531
  }
532
532
 
533
- @keyframes mld-experiment-popover-spin {
533
+ @keyframes mint-experiment-popover-spin {
534
534
  to { transform: rotate(360deg); }
535
535
  }
536
536
 
537
537
  /* Respect motion preferences */
538
538
  @media (prefers-reduced-motion: reduce) {
539
- .mld-experiment-popover__trigger,
540
- .mld-experiment-popover__save-trigger,
541
- .mld-experiment-popover__select-btn,
542
- .mld-experiment-popover__save-btn {
539
+ .mint-experiment-popover__trigger,
540
+ .mint-experiment-popover__save-trigger,
541
+ .mint-experiment-popover__select-btn,
542
+ .mint-experiment-popover__save-btn {
543
543
  transition-property: background-color, border-color, box-shadow, color, opacity;
544
544
  transition-duration: 0.15s;
545
545
  transition-timing-function: ease;
546
546
  }
547
- .mld-experiment-popover__split--with-save:hover > *,
548
- .mld-experiment-popover__split--with-save:active > *,
549
- .mld-experiment-popover__trigger:hover,
550
- .mld-experiment-popover__trigger:active,
551
- .mld-experiment-popover__save-trigger:hover,
552
- .mld-experiment-popover__save-trigger:active,
553
- .mld-experiment-popover__select-btn:hover,
554
- .mld-experiment-popover__select-btn:active,
555
- .mld-experiment-popover__save-btn:hover,
556
- .mld-experiment-popover__save-btn:active {
547
+ .mint-experiment-popover__split--with-save:hover > *,
548
+ .mint-experiment-popover__split--with-save:active > *,
549
+ .mint-experiment-popover__trigger:hover,
550
+ .mint-experiment-popover__trigger:active,
551
+ .mint-experiment-popover__save-trigger:hover,
552
+ .mint-experiment-popover__save-trigger:active,
553
+ .mint-experiment-popover__select-btn:hover,
554
+ .mint-experiment-popover__select-btn:active,
555
+ .mint-experiment-popover__save-btn:hover,
556
+ .mint-experiment-popover__save-btn:active {
557
557
  transform: none;
558
558
  }
559
- .mld-experiment-popover__trigger-chevron {
559
+ .mint-experiment-popover__trigger-chevron {
560
560
  transition: none;
561
561
  }
562
562
  }