@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,6 +1,6 @@
1
1
  /* ResourceCard Component Styles */
2
2
 
3
- .mld-resource-card {
3
+ .mint-resource-card {
4
4
  background-color: var(--bg-card);
5
5
  border: 1px solid var(--border-color);
6
6
  border-radius: var(--radius-lg);
@@ -10,13 +10,13 @@
10
10
  overflow: hidden;
11
11
  }
12
12
 
13
- .mld-resource-card:hover {
13
+ .mint-resource-card:hover {
14
14
  box-shadow: var(--shadow-md);
15
15
  border-color: rgba(59, 130, 246, 0.3);
16
16
  }
17
17
 
18
18
  /* Compact mode */
19
- .mld-resource-card--compact {
19
+ .mint-resource-card--compact {
20
20
  border-radius: 0;
21
21
  box-shadow: none;
22
22
  border: none;
@@ -28,14 +28,14 @@
28
28
  min-height: 40px;
29
29
  }
30
30
 
31
- .mld-resource-card--compact:hover {
31
+ .mint-resource-card--compact:hover {
32
32
  box-shadow: none;
33
33
  border-color: var(--border-color);
34
34
  background-color: var(--bg-hover);
35
35
  }
36
36
 
37
37
  /* Card layout (non-compact) */
38
- .mld-resource-card__header {
38
+ .mint-resource-card__header {
39
39
  display: flex;
40
40
  align-items: flex-start;
41
41
  gap: 0.75rem;
@@ -44,20 +44,20 @@
44
44
  }
45
45
 
46
46
  /* Size variants for header padding */
47
- .mld-resource-card--sm .mld-resource-card__header {
47
+ .mint-resource-card--sm .mint-resource-card__header {
48
48
  padding: 0.75rem;
49
49
  padding-bottom: 0;
50
50
  gap: 0.625rem;
51
51
  }
52
52
 
53
- .mld-resource-card--lg .mld-resource-card__header {
53
+ .mint-resource-card--lg .mint-resource-card__header {
54
54
  padding: 1.25rem;
55
55
  padding-bottom: 0;
56
56
  gap: 1rem;
57
57
  }
58
58
 
59
59
  /* Image / fallback icon */
60
- .mld-resource-card__image {
60
+ .mint-resource-card__image {
61
61
  width: 64px;
62
62
  height: 64px;
63
63
  border-radius: var(--radius-md);
@@ -65,23 +65,23 @@
65
65
  flex-shrink: 0;
66
66
  }
67
67
 
68
- .mld-resource-card--sm .mld-resource-card__image {
68
+ .mint-resource-card--sm .mint-resource-card__image {
69
69
  width: 48px;
70
70
  height: 48px;
71
71
  }
72
72
 
73
- .mld-resource-card--lg .mld-resource-card__image {
73
+ .mint-resource-card--lg .mint-resource-card__image {
74
74
  width: 80px;
75
75
  height: 80px;
76
76
  }
77
77
 
78
- .mld-resource-card__image img {
78
+ .mint-resource-card__image img {
79
79
  width: 100%;
80
80
  height: 100%;
81
81
  object-fit: cover;
82
82
  }
83
83
 
84
- .mld-resource-card__image-fallback {
84
+ .mint-resource-card__image-fallback {
85
85
  width: 100%;
86
86
  height: 100%;
87
87
  display: flex;
@@ -91,25 +91,25 @@
91
91
  color: var(--text-muted);
92
92
  }
93
93
 
94
- .mld-resource-card__image-fallback svg {
94
+ .mint-resource-card__image-fallback svg {
95
95
  width: 50%;
96
96
  height: 50%;
97
97
  }
98
98
 
99
99
  /* Body section */
100
- .mld-resource-card__body {
100
+ .mint-resource-card__body {
101
101
  flex: 1;
102
102
  min-width: 0;
103
103
  }
104
104
 
105
- .mld-resource-card__title-row {
105
+ .mint-resource-card__title-row {
106
106
  display: flex;
107
107
  align-items: center;
108
108
  justify-content: space-between;
109
109
  gap: 0.75rem;
110
110
  }
111
111
 
112
- .mld-resource-card__name {
112
+ .mint-resource-card__name {
113
113
  font-size: 0.9375rem;
114
114
  font-weight: 600;
115
115
  color: var(--text-primary);
@@ -124,15 +124,15 @@
124
124
  white-space: nowrap;
125
125
  }
126
126
 
127
- .mld-resource-card--sm .mld-resource-card__name {
127
+ .mint-resource-card--sm .mint-resource-card__name {
128
128
  font-size: 0.8125rem;
129
129
  }
130
130
 
131
- .mld-resource-card--lg .mld-resource-card__name {
131
+ .mint-resource-card--lg .mint-resource-card__name {
132
132
  font-size: 1.0625rem;
133
133
  }
134
134
 
135
- .mld-resource-card__description {
135
+ .mint-resource-card__description {
136
136
  font-size: 0.8125rem;
137
137
  color: var(--text-secondary);
138
138
  margin-top: 0.125rem !important;
@@ -146,7 +146,7 @@
146
146
  white-space: nowrap;
147
147
  }
148
148
 
149
- .mld-resource-card__location {
149
+ .mint-resource-card__location {
150
150
  font-size: 0.75rem;
151
151
  color: var(--text-muted);
152
152
  margin-top: 0.25rem !important;
@@ -157,65 +157,65 @@
157
157
  }
158
158
 
159
159
  /* Status indicator */
160
- .mld-resource-card__status {
160
+ .mint-resource-card__status {
161
161
  display: inline-flex;
162
162
  align-items: center;
163
163
  gap: 0.375rem;
164
164
  flex-shrink: 0;
165
165
  }
166
166
 
167
- .mld-resource-card__status-dot {
167
+ .mint-resource-card__status-dot {
168
168
  width: 8px;
169
169
  height: 8px;
170
170
  border-radius: 50%;
171
171
  flex-shrink: 0;
172
172
  }
173
173
 
174
- .mld-resource-card__status-dot--available {
174
+ .mint-resource-card__status-dot--available {
175
175
  background-color: var(--mint-success);
176
176
  color: var(--mint-success);
177
177
  }
178
178
 
179
- .mld-resource-card__status-dot--in-use {
179
+ .mint-resource-card__status-dot--in-use {
180
180
  background-color: var(--color-primary);
181
181
  color: var(--color-primary);
182
- animation: mld-resource-pulse 2s ease-in-out infinite;
182
+ animation: mint-resource-pulse 2s ease-in-out infinite;
183
183
  }
184
184
 
185
- .mld-resource-card__status-dot--maintenance {
185
+ .mint-resource-card__status-dot--maintenance {
186
186
  background-color: var(--mint-warning);
187
187
  color: var(--mint-warning);
188
188
  }
189
189
 
190
- .mld-resource-card__status-dot--offline {
190
+ .mint-resource-card__status-dot--offline {
191
191
  background-color: var(--mint-error);
192
192
  color: var(--mint-error);
193
193
  }
194
194
 
195
- .mld-resource-card__status-label {
195
+ .mint-resource-card__status-label {
196
196
  font-size: 0.75rem;
197
197
  font-weight: 500;
198
198
  color: var(--text-secondary);
199
199
  }
200
200
 
201
201
  /* Compact status: colored text only */
202
- .mld-resource-card--compact .mld-resource-card__status-label--available {
202
+ .mint-resource-card--compact .mint-resource-card__status-label--available {
203
203
  color: var(--mint-success);
204
204
  }
205
205
 
206
- .mld-resource-card--compact .mld-resource-card__status-label--in-use {
206
+ .mint-resource-card--compact .mint-resource-card__status-label--in-use {
207
207
  color: var(--color-primary);
208
208
  }
209
209
 
210
- .mld-resource-card--compact .mld-resource-card__status-label--maintenance {
210
+ .mint-resource-card--compact .mint-resource-card__status-label--maintenance {
211
211
  color: var(--mint-warning);
212
212
  }
213
213
 
214
- .mld-resource-card--compact .mld-resource-card__status-label--offline {
214
+ .mint-resource-card--compact .mint-resource-card__status-label--offline {
215
215
  color: var(--mint-error);
216
216
  }
217
217
 
218
- .mld-resource-card__next-available {
218
+ .mint-resource-card__next-available {
219
219
  font-size: 0.75rem;
220
220
  color: var(--text-muted);
221
221
  margin-top: 0.125rem !important;
@@ -226,44 +226,44 @@
226
226
  }
227
227
 
228
228
  /* Specs grid */
229
- .mld-resource-card__specs {
229
+ .mint-resource-card__specs {
230
230
  display: grid;
231
231
  grid-template-columns: repeat(2, 1fr);
232
232
  gap: 0.5rem 1rem;
233
233
  padding: 0.75rem 1rem;
234
234
  }
235
235
 
236
- .mld-resource-card--sm .mld-resource-card__specs {
236
+ .mint-resource-card--sm .mint-resource-card__specs {
237
237
  padding: 0.5rem 0.75rem;
238
238
  gap: 0.375rem 0.75rem;
239
239
  }
240
240
 
241
- .mld-resource-card--lg .mld-resource-card__specs {
241
+ .mint-resource-card--lg .mint-resource-card__specs {
242
242
  padding: 0.75rem 1.25rem;
243
243
  gap: 0.5rem 1.25rem;
244
244
  }
245
245
 
246
- .mld-resource-card__spec {
246
+ .mint-resource-card__spec {
247
247
  display: flex;
248
248
  flex-direction: column;
249
249
  gap: 0.0625rem;
250
250
  }
251
251
 
252
- .mld-resource-card__spec-label {
252
+ .mint-resource-card__spec-label {
253
253
  font-size: 0.6875rem;
254
254
  color: var(--text-muted);
255
255
  text-transform: uppercase;
256
256
  letter-spacing: 0.025em;
257
257
  }
258
258
 
259
- .mld-resource-card__spec-value {
259
+ .mint-resource-card__spec-value {
260
260
  font-size: 0.8125rem;
261
261
  font-weight: 500;
262
262
  color: var(--text-primary);
263
263
  }
264
264
 
265
265
  /* Footer (tags + action) */
266
- .mld-resource-card__footer {
266
+ .mint-resource-card__footer {
267
267
  display: flex;
268
268
  align-items: center;
269
269
  justify-content: space-between;
@@ -272,17 +272,17 @@
272
272
  padding-top: 0;
273
273
  }
274
274
 
275
- .mld-resource-card--sm .mld-resource-card__footer {
275
+ .mint-resource-card--sm .mint-resource-card__footer {
276
276
  padding: 0.5rem 0.75rem;
277
277
  padding-top: 0;
278
278
  }
279
279
 
280
- .mld-resource-card--lg .mld-resource-card__footer {
280
+ .mint-resource-card--lg .mint-resource-card__footer {
281
281
  padding: 0.75rem 1.25rem;
282
282
  padding-top: 0;
283
283
  }
284
284
 
285
- .mld-resource-card__tags {
285
+ .mint-resource-card__tags {
286
286
  display: flex;
287
287
  flex-wrap: wrap;
288
288
  gap: 0.375rem;
@@ -290,12 +290,12 @@
290
290
  min-width: 0;
291
291
  }
292
292
 
293
- .mld-resource-card__action {
293
+ .mint-resource-card__action {
294
294
  flex-shrink: 0;
295
295
  }
296
296
 
297
297
  /* Book button */
298
- .mld-resource-card__book-btn {
298
+ .mint-resource-card__book-btn {
299
299
  display: inline-flex;
300
300
  align-items: center;
301
301
  gap: 0.25rem;
@@ -312,12 +312,12 @@
312
312
  white-space: nowrap;
313
313
  }
314
314
 
315
- .mld-resource-card__book-btn:hover {
315
+ .mint-resource-card__book-btn:hover {
316
316
  background-color: var(--color-primary-hover);
317
317
  }
318
318
 
319
319
  /* Compact book button: ghost style */
320
- .mld-resource-card--compact .mld-resource-card__book-btn {
320
+ .mint-resource-card--compact .mint-resource-card__book-btn {
321
321
  background-color: transparent;
322
322
  color: var(--color-primary);
323
323
  font-size: 0.75rem;
@@ -325,25 +325,25 @@
325
325
  border-radius: var(--radius-sm);
326
326
  }
327
327
 
328
- .mld-resource-card--compact .mld-resource-card__book-btn:hover {
328
+ .mint-resource-card--compact .mint-resource-card__book-btn:hover {
329
329
  background-color: rgba(59, 130, 246, 0.1);
330
330
  }
331
331
 
332
332
  /* Compact layout overrides */
333
- .mld-resource-card--compact .mld-resource-card__name {
333
+ .mint-resource-card--compact .mint-resource-card__name {
334
334
  font-size: 0.875rem;
335
335
  flex: 1;
336
336
  min-width: 0;
337
337
  }
338
338
 
339
339
  /* Spacer between header and specs/footer */
340
- .mld-resource-card__content {
340
+ .mint-resource-card__content {
341
341
  display: flex;
342
342
  flex-direction: column;
343
343
  }
344
344
 
345
345
  /* Pulse animation for in-use status */
346
- @keyframes mld-resource-pulse {
346
+ @keyframes mint-resource-pulse {
347
347
  0%, 100% {
348
348
  box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 40%, transparent);
349
349
  }
@@ -354,7 +354,7 @@
354
354
 
355
355
  /* Reduced motion */
356
356
  @media (prefers-reduced-motion: reduce) {
357
- .mld-resource-card__status-dot--in-use {
357
+ .mint-resource-card__status-dot--in-use {
358
358
  animation: none;
359
359
  }
360
360
  }
@@ -1,24 +1,24 @@
1
1
  /* SampleHierarchyTree Component Styles */
2
2
 
3
- .mld-sample-tree {
3
+ .mint-sample-tree {
4
4
  font-size: 0.875rem;
5
5
  }
6
6
 
7
- .mld-sample-tree--sm {
7
+ .mint-sample-tree--sm {
8
8
  font-size: 0.75rem;
9
9
  }
10
10
 
11
- .mld-sample-tree--lg {
11
+ .mint-sample-tree--lg {
12
12
  font-size: 1rem;
13
13
  }
14
14
 
15
15
  /* Node */
16
- .mld-sample-tree__node {
16
+ .mint-sample-tree__node {
17
17
  user-select: none;
18
18
  }
19
19
 
20
20
  /* Node header (clickable row) */
21
- .mld-sample-tree__node-header {
21
+ .mint-sample-tree__node-header {
22
22
  display: flex;
23
23
  align-items: center;
24
24
  gap: 0.375rem;
@@ -28,26 +28,26 @@
28
28
  transition: background-color 0.15s ease;
29
29
  }
30
30
 
31
- .mld-sample-tree__node-header:hover {
31
+ .mint-sample-tree__node-header:hover {
32
32
  background-color: var(--bg-hover);
33
33
  }
34
34
 
35
- .mld-sample-tree__node--selected > .mld-sample-tree__node-header {
35
+ .mint-sample-tree__node--selected > .mint-sample-tree__node-header {
36
36
  background-color: rgba(59, 130, 246, 0.1);
37
37
  }
38
38
 
39
- .mld-sample-tree--sm .mld-sample-tree__node-header {
39
+ .mint-sample-tree--sm .mint-sample-tree__node-header {
40
40
  padding: 0.25rem 0.375rem;
41
41
  gap: 0.25rem;
42
42
  }
43
43
 
44
- .mld-sample-tree--lg .mld-sample-tree__node-header {
44
+ .mint-sample-tree--lg .mint-sample-tree__node-header {
45
45
  padding: 0.5rem 0.625rem;
46
46
  gap: 0.5rem;
47
47
  }
48
48
 
49
49
  /* Toggle button */
50
- .mld-sample-tree__toggle {
50
+ .mint-sample-tree__toggle {
51
51
  display: flex;
52
52
  align-items: center;
53
53
  justify-content: center;
@@ -63,57 +63,57 @@
63
63
  flex-shrink: 0;
64
64
  }
65
65
 
66
- .mld-sample-tree__toggle:hover {
66
+ .mint-sample-tree__toggle:hover {
67
67
  color: var(--text-primary);
68
68
  background-color: var(--bg-tertiary);
69
69
  }
70
70
 
71
- .mld-sample-tree__toggle svg {
71
+ .mint-sample-tree__toggle svg {
72
72
  width: 0.875rem;
73
73
  height: 0.875rem;
74
74
  transition: transform 0.15s ease;
75
75
  }
76
76
 
77
- .mld-sample-tree__node--expanded > .mld-sample-tree__node-header .mld-sample-tree__toggle svg {
77
+ .mint-sample-tree__node--expanded > .mint-sample-tree__node-header .mint-sample-tree__toggle svg {
78
78
  transform: rotate(90deg);
79
79
  }
80
80
 
81
- .mld-sample-tree--sm .mld-sample-tree__toggle {
81
+ .mint-sample-tree--sm .mint-sample-tree__toggle {
82
82
  width: 1rem;
83
83
  height: 1rem;
84
84
  }
85
85
 
86
- .mld-sample-tree--sm .mld-sample-tree__toggle svg {
86
+ .mint-sample-tree--sm .mint-sample-tree__toggle svg {
87
87
  width: 0.75rem;
88
88
  height: 0.75rem;
89
89
  }
90
90
 
91
- .mld-sample-tree--lg .mld-sample-tree__toggle {
91
+ .mint-sample-tree--lg .mint-sample-tree__toggle {
92
92
  width: 1.5rem;
93
93
  height: 1.5rem;
94
94
  }
95
95
 
96
- .mld-sample-tree--lg .mld-sample-tree__toggle svg {
96
+ .mint-sample-tree--lg .mint-sample-tree__toggle svg {
97
97
  width: 1rem;
98
98
  height: 1rem;
99
99
  }
100
100
 
101
101
  /* Placeholder for leaf nodes (no toggle) */
102
- .mld-sample-tree__toggle-placeholder {
102
+ .mint-sample-tree__toggle-placeholder {
103
103
  width: 1.25rem;
104
104
  flex-shrink: 0;
105
105
  }
106
106
 
107
- .mld-sample-tree--sm .mld-sample-tree__toggle-placeholder {
107
+ .mint-sample-tree--sm .mint-sample-tree__toggle-placeholder {
108
108
  width: 1rem;
109
109
  }
110
110
 
111
- .mld-sample-tree--lg .mld-sample-tree__toggle-placeholder {
111
+ .mint-sample-tree--lg .mint-sample-tree__toggle-placeholder {
112
112
  width: 1.5rem;
113
113
  }
114
114
 
115
115
  /* Icon */
116
- .mld-sample-tree__icon {
116
+ .mint-sample-tree__icon {
117
117
  display: flex;
118
118
  align-items: center;
119
119
  justify-content: center;
@@ -122,74 +122,74 @@
122
122
  flex-shrink: 0;
123
123
  }
124
124
 
125
- .mld-sample-tree__icon svg {
125
+ .mint-sample-tree__icon svg {
126
126
  width: 1rem;
127
127
  height: 1rem;
128
128
  }
129
129
 
130
- .mld-sample-tree--sm .mld-sample-tree__icon {
130
+ .mint-sample-tree--sm .mint-sample-tree__icon {
131
131
  width: 1rem;
132
132
  height: 1rem;
133
133
  }
134
134
 
135
- .mld-sample-tree--sm .mld-sample-tree__icon svg {
135
+ .mint-sample-tree--sm .mint-sample-tree__icon svg {
136
136
  width: 0.75rem;
137
137
  height: 0.75rem;
138
138
  }
139
139
 
140
- .mld-sample-tree--lg .mld-sample-tree__icon {
140
+ .mint-sample-tree--lg .mint-sample-tree__icon {
141
141
  width: 1.5rem;
142
142
  height: 1.5rem;
143
143
  }
144
144
 
145
- .mld-sample-tree--lg .mld-sample-tree__icon svg {
145
+ .mint-sample-tree--lg .mint-sample-tree__icon svg {
146
146
  width: 1.25rem;
147
147
  height: 1.25rem;
148
148
  }
149
149
 
150
150
  /* Icon colors by type */
151
- .mld-sample-tree__icon--study {
151
+ .mint-sample-tree__icon--study {
152
152
  color: var(--text-muted);
153
153
  }
154
154
 
155
- .mld-sample-tree__icon--experiment {
155
+ .mint-sample-tree__icon--experiment {
156
156
  color: var(--color-primary);
157
157
  }
158
158
 
159
- .mld-sample-tree__icon--plate {
159
+ .mint-sample-tree__icon--plate {
160
160
  color: var(--mint-info);
161
161
  }
162
162
 
163
- .mld-sample-tree__icon--sample {
163
+ .mint-sample-tree__icon--sample {
164
164
  color: var(--mint-success);
165
165
  }
166
166
 
167
- .mld-sample-tree__icon--cell_line {
167
+ .mint-sample-tree__icon--cell_line {
168
168
  color: var(--color-purple);
169
169
  }
170
170
 
171
- .mld-sample-tree__icon--passage {
171
+ .mint-sample-tree__icon--passage {
172
172
  color: var(--text-secondary);
173
173
  }
174
174
 
175
- .mld-sample-tree__icon--clone {
175
+ .mint-sample-tree__icon--clone {
176
176
  color: var(--mint-warning);
177
177
  }
178
178
 
179
- .mld-sample-tree__icon--treatment {
179
+ .mint-sample-tree__icon--treatment {
180
180
  color: var(--color-cta);
181
181
  }
182
182
 
183
- .mld-sample-tree__icon--folder {
183
+ .mint-sample-tree__icon--folder {
184
184
  color: var(--text-muted);
185
185
  }
186
186
 
187
- .mld-sample-tree__icon--custom {
187
+ .mint-sample-tree__icon--custom {
188
188
  color: var(--text-secondary);
189
189
  }
190
190
 
191
191
  /* Label */
192
- .mld-sample-tree__label {
192
+ .mint-sample-tree__label {
193
193
  flex: 1;
194
194
  min-width: 0;
195
195
  color: var(--text-primary);
@@ -199,7 +199,7 @@
199
199
  }
200
200
 
201
201
  /* Badge */
202
- .mld-sample-tree__badge {
202
+ .mint-sample-tree__badge {
203
203
  display: inline-flex;
204
204
  align-items: center;
205
205
  justify-content: center;
@@ -211,66 +211,66 @@
211
211
  flex-shrink: 0;
212
212
  }
213
213
 
214
- .mld-sample-tree--sm .mld-sample-tree__badge {
214
+ .mint-sample-tree--sm .mint-sample-tree__badge {
215
215
  min-width: 1rem;
216
216
  padding: 0.0625rem 0.25rem;
217
217
  font-size: 0.5rem;
218
218
  }
219
219
 
220
- .mld-sample-tree--lg .mld-sample-tree__badge {
220
+ .mint-sample-tree--lg .mint-sample-tree__badge {
221
221
  min-width: 1.5rem;
222
222
  padding: 0.125rem 0.5rem;
223
223
  font-size: 0.75rem;
224
224
  }
225
225
 
226
- .mld-sample-tree__badge--default {
226
+ .mint-sample-tree__badge--default {
227
227
  background-color: var(--bg-tertiary);
228
228
  color: var(--text-secondary);
229
229
  }
230
230
 
231
- .mld-sample-tree__badge--success {
231
+ .mint-sample-tree__badge--success {
232
232
  background-color: var(--mint-success-bg);
233
233
  color: var(--mint-success);
234
234
  }
235
235
 
236
- .mld-sample-tree__badge--warning {
236
+ .mint-sample-tree__badge--warning {
237
237
  background-color: var(--mint-warning-bg);
238
238
  color: var(--mint-warning);
239
239
  }
240
240
 
241
- .mld-sample-tree__badge--error {
241
+ .mint-sample-tree__badge--error {
242
242
  background-color: var(--mint-error-bg);
243
243
  color: var(--mint-error);
244
244
  }
245
245
 
246
246
  /* Children container */
247
- .mld-sample-tree__children {
247
+ .mint-sample-tree__children {
248
248
  margin-left: 1.25rem;
249
249
  padding-left: 0.75rem;
250
250
  border-left: 1px solid var(--border-color);
251
251
  overflow: hidden;
252
252
  }
253
253
 
254
- .mld-sample-tree--sm .mld-sample-tree__children {
254
+ .mint-sample-tree--sm .mint-sample-tree__children {
255
255
  margin-left: 1rem;
256
256
  padding-left: 0.5rem;
257
257
  }
258
258
 
259
- .mld-sample-tree--lg .mld-sample-tree__children {
259
+ .mint-sample-tree--lg .mint-sample-tree__children {
260
260
  margin-left: 1.5rem;
261
261
  padding-left: 1rem;
262
262
  }
263
263
 
264
264
  /* Animation */
265
- .mld-sample-tree__children--entering {
266
- animation: mld-tree-expand 0.15s ease-out;
265
+ .mint-sample-tree__children--entering {
266
+ animation: mint-tree-expand 0.15s ease-out;
267
267
  }
268
268
 
269
- .mld-sample-tree__children--leaving {
270
- animation: mld-tree-collapse 0.15s ease-out forwards;
269
+ .mint-sample-tree__children--leaving {
270
+ animation: mint-tree-collapse 0.15s ease-out forwards;
271
271
  }
272
272
 
273
- @keyframes mld-tree-expand {
273
+ @keyframes mint-tree-expand {
274
274
  from {
275
275
  opacity: 0;
276
276
  max-height: 0;
@@ -281,7 +281,7 @@
281
281
  }
282
282
  }
283
283
 
284
- @keyframes mld-tree-collapse {
284
+ @keyframes mint-tree-collapse {
285
285
  from {
286
286
  opacity: 1;
287
287
  max-height: 1000px;
@@ -293,20 +293,20 @@
293
293
  }
294
294
 
295
295
  /* Empty state */
296
- .mld-sample-tree__empty {
296
+ .mint-sample-tree__empty {
297
297
  padding: 1rem;
298
298
  text-align: center;
299
299
  color: var(--text-muted);
300
300
  }
301
301
 
302
- .mld-sample-tree__empty-icon {
302
+ .mint-sample-tree__empty-icon {
303
303
  width: 2rem;
304
304
  height: 2rem;
305
305
  margin: 0 auto 0.5rem;
306
306
  opacity: 0.5;
307
307
  }
308
308
 
309
- .mld-sample-tree__empty-text {
309
+ .mint-sample-tree__empty-text {
310
310
  font-size: 0.875rem;
311
311
  margin-top: 0 !important;
312
312
  margin-bottom: 0 !important;