@morscherlab/mint-sdk 1.0.0-alpha.8 → 1.0.0-beta.1

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,7 +1,7 @@
1
1
  /* Avatar Component Styles */
2
2
 
3
3
  /* Outer wrapper — anchors the status dot; NO overflow hidden */
4
- .mld-avatar {
4
+ .mint-avatar {
5
5
  position: relative;
6
6
  display: inline-block;
7
7
  flex-shrink: 0;
@@ -9,7 +9,7 @@
9
9
  }
10
10
 
11
11
  /* Inner face — holds photo/initials; CLIPS its own contents */
12
- .mld-avatar__face {
12
+ .mint-avatar__face {
13
13
  display: inline-flex;
14
14
  align-items: center;
15
15
  justify-content: center;
@@ -27,34 +27,34 @@
27
27
  /* Sizes — applied on the wrapper so face fills 100%.
28
28
  md = 32px to match the platform's canonical w-8 h-8 admin/user listing
29
29
  size. Pre-0.16.5, md was 40px. */
30
- .mld-avatar--xs { width: 24px; height: 24px; font-size: 0.625rem; }
31
- .mld-avatar--sm { width: 28px; height: 28px; font-size: 0.75rem; }
32
- .mld-avatar--md { width: 32px; height: 32px; font-size: 0.875rem; }
33
- .mld-avatar--lg { width: 40px; height: 40px; font-size: 1rem; }
34
- .mld-avatar--xl { width: 56px; height: 56px; font-size: 1.25rem; }
30
+ .mint-avatar--xs { width: 24px; height: 24px; font-size: 0.625rem; }
31
+ .mint-avatar--sm { width: 28px; height: 28px; font-size: 0.75rem; }
32
+ .mint-avatar--md { width: 32px; height: 32px; font-size: 0.875rem; }
33
+ .mint-avatar--lg { width: 40px; height: 40px; font-size: 1rem; }
34
+ .mint-avatar--xl { width: 56px; height: 56px; font-size: 1.25rem; }
35
35
 
36
36
  /* Image */
37
- .mld-avatar__image {
37
+ .mint-avatar__image {
38
38
  width: 100%;
39
39
  height: 100%;
40
40
  object-fit: cover;
41
41
  }
42
42
 
43
43
  /* Initials */
44
- .mld-avatar__initials {
44
+ .mint-avatar__initials {
45
45
  line-height: 1;
46
46
  user-select: none;
47
47
  }
48
48
 
49
49
  /* Fallback SVG icon */
50
- .mld-avatar__fallback {
50
+ .mint-avatar__fallback {
51
51
  width: 60%;
52
52
  height: 60%;
53
53
  color: var(--text-muted);
54
54
  }
55
55
 
56
56
  /* Status dot — absolutely positioned on the outer wrapper, unclipped by face */
57
- .mld-avatar__status {
57
+ .mint-avatar__status {
58
58
  position: absolute;
59
59
  right: -2px;
60
60
  bottom: -2px;
@@ -67,7 +67,7 @@
67
67
  box-sizing: border-box;
68
68
  }
69
69
 
70
- .mld-avatar__status--online { background-color: var(--mint-success); }
71
- .mld-avatar__status--away { background-color: var(--mint-warning); }
72
- .mld-avatar__status--busy { background-color: var(--mint-error); }
73
- .mld-avatar__status--offline { background-color: var(--text-muted); }
70
+ .mint-avatar__status--online { background-color: var(--mint-success); }
71
+ .mint-avatar__status--away { background-color: var(--mint-warning); }
72
+ .mint-avatar__status--busy { background-color: var(--mint-error); }
73
+ .mint-avatar__status--offline { background-color: var(--text-muted); }
@@ -1,30 +1,30 @@
1
1
  /* BatchProgressList Component Styles */
2
2
 
3
- .mld-batch-progress {
3
+ .mint-batch-progress {
4
4
  display: flex;
5
5
  flex-direction: column;
6
6
  gap: 0.75rem;
7
7
  }
8
8
 
9
- .mld-batch-progress__header {
9
+ .mint-batch-progress__header {
10
10
  display: flex;
11
11
  align-items: center;
12
12
  justify-content: space-between;
13
13
  }
14
14
 
15
- .mld-batch-progress__title {
15
+ .mint-batch-progress__title {
16
16
  font-weight: 600;
17
17
  font-size: 0.875rem;
18
18
  color: var(--text-primary);
19
19
  }
20
20
 
21
- .mld-batch-progress__percent {
21
+ .mint-batch-progress__percent {
22
22
  font-size: 0.75rem;
23
23
  font-weight: 500;
24
24
  color: var(--text-muted);
25
25
  }
26
26
 
27
- .mld-batch-progress__overall {
27
+ .mint-batch-progress__overall {
28
28
  width: 100%;
29
29
  height: 0.375rem;
30
30
  background-color: var(--bg-tertiary);
@@ -32,20 +32,20 @@
32
32
  overflow: hidden;
33
33
  }
34
34
 
35
- .mld-batch-progress__overall-bar {
35
+ .mint-batch-progress__overall-bar {
36
36
  height: 100%;
37
37
  background-color: var(--color-primary);
38
38
  border-radius: 9999px;
39
39
  transition: width 0.3s ease;
40
40
  }
41
41
 
42
- .mld-batch-progress__summary {
42
+ .mint-batch-progress__summary {
43
43
  display: flex;
44
44
  flex-wrap: wrap;
45
45
  gap: 0.5rem;
46
46
  }
47
47
 
48
- .mld-batch-progress__summary-item {
48
+ .mint-batch-progress__summary-item {
49
49
  display: inline-flex;
50
50
  align-items: center;
51
51
  gap: 0.25rem;
@@ -54,19 +54,19 @@
54
54
  border-radius: 9999px;
55
55
  }
56
56
 
57
- .mld-batch-progress__summary-item--completed { background-color: var(--mint-success-bg); color: var(--mint-success); }
58
- .mld-batch-progress__summary-item--processing { background-color: var(--mint-info-bg); color: var(--mint-info); }
59
- .mld-batch-progress__summary-item--error { background-color: var(--mint-error-bg); color: var(--mint-error); }
60
- .mld-batch-progress__summary-item--pending { background-color: var(--bg-tertiary); color: var(--text-muted); }
61
- .mld-batch-progress__summary-item--skipped { background-color: var(--bg-tertiary); color: var(--text-muted); }
57
+ .mint-batch-progress__summary-item--completed { background-color: var(--mint-success-bg); color: var(--mint-success); }
58
+ .mint-batch-progress__summary-item--processing { background-color: var(--mint-info-bg); color: var(--mint-info); }
59
+ .mint-batch-progress__summary-item--error { background-color: var(--mint-error-bg); color: var(--mint-error); }
60
+ .mint-batch-progress__summary-item--pending { background-color: var(--bg-tertiary); color: var(--text-muted); }
61
+ .mint-batch-progress__summary-item--skipped { background-color: var(--bg-tertiary); color: var(--text-muted); }
62
62
 
63
- .mld-batch-progress__list {
63
+ .mint-batch-progress__list {
64
64
  display: flex;
65
65
  flex-direction: column;
66
66
  gap: 0.25rem;
67
67
  }
68
68
 
69
- .mld-batch-progress__item {
69
+ .mint-batch-progress__item {
70
70
  display: flex;
71
71
  flex-direction: column;
72
72
  padding: 0.5rem 0.75rem;
@@ -76,43 +76,43 @@
76
76
  transition: background-color 0.15s ease;
77
77
  }
78
78
 
79
- .mld-batch-progress__item-row {
79
+ .mint-batch-progress__item-row {
80
80
  display: flex;
81
81
  align-items: center;
82
82
  gap: 0.5rem;
83
83
  }
84
84
 
85
- .mld-batch-progress__item--processing {
85
+ .mint-batch-progress__item--processing {
86
86
  border-color: rgba(59, 130, 246, 0.3);
87
87
  background-color: var(--mint-info-bg);
88
88
  }
89
89
 
90
- .mld-batch-progress__item--error {
90
+ .mint-batch-progress__item--error {
91
91
  border-color: rgba(239, 68, 68, 0.3);
92
92
  }
93
93
 
94
- .mld-batch-progress__item--completed {
94
+ .mint-batch-progress__item--completed {
95
95
  opacity: 0.7;
96
96
  }
97
97
 
98
- .mld-batch-progress__item-icon {
98
+ .mint-batch-progress__item-icon {
99
99
  flex-shrink: 0;
100
100
  width: 1rem;
101
101
  height: 1rem;
102
102
  }
103
103
 
104
- .mld-batch-progress__item-icon--pending { color: var(--text-muted); }
105
- .mld-batch-progress__item-icon--processing { color: var(--mint-info); animation: mld-batch-spin 1s linear infinite; }
106
- .mld-batch-progress__item-icon--completed { color: var(--mint-success); }
107
- .mld-batch-progress__item-icon--error { color: var(--mint-error); }
108
- .mld-batch-progress__item-icon--skipped { color: var(--text-muted); }
104
+ .mint-batch-progress__item-icon--pending { color: var(--text-muted); }
105
+ .mint-batch-progress__item-icon--processing { color: var(--mint-info); animation: mint-batch-spin 1s linear infinite; }
106
+ .mint-batch-progress__item-icon--completed { color: var(--mint-success); }
107
+ .mint-batch-progress__item-icon--error { color: var(--mint-error); }
108
+ .mint-batch-progress__item-icon--skipped { color: var(--text-muted); }
109
109
 
110
- @keyframes mld-batch-spin {
110
+ @keyframes mint-batch-spin {
111
111
  from { transform: rotate(0deg); }
112
112
  to { transform: rotate(360deg); }
113
113
  }
114
114
 
115
- .mld-batch-progress__item-label {
115
+ .mint-batch-progress__item-label {
116
116
  flex: 1;
117
117
  font-size: 0.8125rem;
118
118
  color: var(--text-primary);
@@ -122,7 +122,7 @@
122
122
  white-space: nowrap;
123
123
  }
124
124
 
125
- .mld-batch-progress__item-progress {
125
+ .mint-batch-progress__item-progress {
126
126
  width: 4rem;
127
127
  height: 0.25rem;
128
128
  background-color: var(--bg-tertiary);
@@ -131,17 +131,17 @@
131
131
  flex-shrink: 0;
132
132
  }
133
133
 
134
- .mld-batch-progress__item-progress-bar {
134
+ .mint-batch-progress__item-progress-bar {
135
135
  height: 100%;
136
136
  background-color: var(--color-primary);
137
137
  transition: width 0.3s ease;
138
138
  }
139
139
 
140
- .mld-batch-progress__item-error {
140
+ .mint-batch-progress__item-error {
141
141
  padding: 0.25rem 0 0 1.5rem;
142
142
  }
143
143
 
144
- .mld-batch-progress__error-toggle {
144
+ .mint-batch-progress__error-toggle {
145
145
  font-size: 0.6875rem;
146
146
  color: var(--text-muted);
147
147
  background: none;
@@ -151,24 +151,24 @@
151
151
  text-decoration: underline;
152
152
  }
153
153
 
154
- .mld-batch-progress__error-toggle:hover {
154
+ .mint-batch-progress__error-toggle:hover {
155
155
  color: var(--text-secondary);
156
156
  }
157
157
 
158
- .mld-batch-progress__item-message {
158
+ .mint-batch-progress__item-message {
159
159
  font-size: 0.75rem;
160
160
  color: var(--mint-error);
161
161
  margin-top: 0.25rem;
162
162
  }
163
163
 
164
- .mld-batch-progress__item-actions {
164
+ .mint-batch-progress__item-actions {
165
165
  display: flex;
166
166
  gap: 0.25rem;
167
167
  flex-shrink: 0;
168
168
  }
169
169
 
170
- .mld-batch-progress__retry-btn,
171
- .mld-batch-progress__cancel-btn {
170
+ .mint-batch-progress__retry-btn,
171
+ .mint-batch-progress__cancel-btn {
172
172
  padding: 0.125rem 0.5rem;
173
173
  font-size: 0.6875rem;
174
174
  border-radius: var(--radius-sm);
@@ -178,19 +178,19 @@
178
178
  transition: background-color 0.15s ease;
179
179
  }
180
180
 
181
- .mld-batch-progress__retry-btn {
181
+ .mint-batch-progress__retry-btn {
182
182
  background-color: var(--mint-warning-bg);
183
183
  color: var(--mint-warning);
184
184
  }
185
- .mld-batch-progress__retry-btn:hover {
185
+ .mint-batch-progress__retry-btn:hover {
186
186
  background-color: rgba(245, 158, 11, 0.2);
187
187
  }
188
188
 
189
- .mld-batch-progress__cancel-btn {
189
+ .mint-batch-progress__cancel-btn {
190
190
  background-color: var(--bg-tertiary);
191
191
  color: var(--text-muted);
192
192
  }
193
- .mld-batch-progress__cancel-btn:hover {
193
+ .mint-batch-progress__cancel-btn:hover {
194
194
  background-color: var(--bg-hover);
195
195
  color: var(--text-primary);
196
196
  }
@@ -1,6 +1,6 @@
1
1
  /* Breadcrumb Component Styles */
2
2
 
3
- .mld-breadcrumb__list {
3
+ .mint-breadcrumb__list {
4
4
  display: flex;
5
5
  align-items: center;
6
6
  list-style: none;
@@ -10,14 +10,14 @@
10
10
  gap: 0;
11
11
  }
12
12
 
13
- .mld-breadcrumb__item {
13
+ .mint-breadcrumb__item {
14
14
  display: flex;
15
15
  align-items: center;
16
16
  font-size: 0.8125rem;
17
17
  }
18
18
 
19
19
  /* Ancestor link — text-secondary at rest, promoted to text-primary + soft pill on hover */
20
- .mld-breadcrumb__link {
20
+ .mint-breadcrumb__link {
21
21
  color: var(--text-secondary);
22
22
  cursor: pointer;
23
23
  text-decoration: none;
@@ -31,18 +31,18 @@
31
31
  font-size: 0.8125rem;
32
32
  }
33
33
 
34
- .mld-breadcrumb__link:hover {
34
+ .mint-breadcrumb__link:hover {
35
35
  color: var(--text-primary);
36
36
  background-color: var(--bg-secondary);
37
37
  }
38
38
 
39
- .mld-breadcrumb__link:focus-visible {
39
+ .mint-breadcrumb__link:focus-visible {
40
40
  outline: none;
41
41
  box-shadow: var(--focus-ring);
42
42
  }
43
43
 
44
44
  /* Current segment — text-primary + 500 weight */
45
- .mld-breadcrumb__current {
45
+ .mint-breadcrumb__current {
46
46
  color: var(--text-primary);
47
47
  font-weight: 500;
48
48
  padding: 0.1875rem 0.5rem;
@@ -50,7 +50,7 @@
50
50
  }
51
51
 
52
52
  /* Chevron separator — thin, text-muted */
53
- .mld-breadcrumb__separator {
53
+ .mint-breadcrumb__separator {
54
54
  color: var(--text-muted);
55
55
  user-select: none;
56
56
  display: inline-flex;
@@ -58,7 +58,7 @@
58
58
  padding: 0 0.25rem;
59
59
  }
60
60
 
61
- .mld-breadcrumb__chevron {
61
+ .mint-breadcrumb__chevron {
62
62
  width: 0.875rem;
63
63
  height: 0.875rem;
64
64
  }
@@ -1,6 +1,6 @@
1
1
  /* BaseButton Component Styles */
2
2
 
3
- .mld-button {
3
+ .mint-button {
4
4
  display: inline-flex;
5
5
  align-items: center;
6
6
  justify-content: center;
@@ -28,55 +28,55 @@
28
28
  }
29
29
 
30
30
  /* Hover: gentle lift. Per-variant shadows deepen on hover below. */
31
- .mld-button:hover:not(.mld-button--disabled) {
31
+ .mint-button:hover:not(.mint-button--disabled) {
32
32
  transform: translateY(-1px);
33
33
  }
34
34
 
35
35
  /* Press: 50ms snap back to baseline, shadow off.
36
36
  The asymmetry between 50ms press and 150ms rise creates the spring-release
37
37
  sensation users recognize from mechanical keyboards. */
38
- .mld-button:active:not(.mld-button--disabled) {
38
+ .mint-button:active:not(.mint-button--disabled) {
39
39
  transform: translateY(0);
40
40
  box-shadow: none;
41
41
  transition-duration: 0.05s;
42
42
  }
43
43
 
44
- .mld-button:focus-visible {
44
+ .mint-button:focus-visible {
45
45
  outline: none;
46
46
  box-shadow: var(--focus-ring-offset);
47
47
  }
48
48
 
49
- .mld-button--disabled {
49
+ .mint-button--disabled {
50
50
  opacity: var(--mint-disabled-opacity);
51
51
  cursor: not-allowed;
52
52
  }
53
53
 
54
54
  /* Colored variants shift to neutral bg when disabled for WCAG AA contrast */
55
- .mld-button--primary.mld-button--disabled,
56
- .mld-button--cta.mld-button--disabled,
57
- .mld-button--danger.mld-button--disabled,
58
- .mld-button--success.mld-button--disabled {
55
+ .mint-button--primary.mint-button--disabled,
56
+ .mint-button--cta.mint-button--disabled,
57
+ .mint-button--danger.mint-button--disabled,
58
+ .mint-button--success.mint-button--disabled {
59
59
  background-color: var(--bg-tertiary);
60
60
  color: var(--text-muted);
61
61
  }
62
62
 
63
- .mld-button--full-width {
63
+ .mint-button--full-width {
64
64
  width: 100%;
65
65
  }
66
66
 
67
67
  /* Variants */
68
- .mld-button--primary {
68
+ .mint-button--primary {
69
69
  background-color: var(--color-primary);
70
70
  color: white;
71
71
  box-shadow: 0 1px 2px rgba(99, 102, 241, 0.20);
72
72
  }
73
73
 
74
- .mld-button--primary:hover:not(.mld-button--disabled) {
74
+ .mint-button--primary:hover:not(.mint-button--disabled) {
75
75
  background-color: var(--color-primary-hover);
76
76
  box-shadow: 0 2px 5px rgba(99, 102, 241, 0.28);
77
77
  }
78
78
 
79
- .mld-button--secondary {
79
+ .mint-button--secondary {
80
80
  background-color: var(--bg-secondary);
81
81
  color: var(--text-primary);
82
82
  border: 1px solid var(--border-color);
@@ -85,50 +85,50 @@
85
85
  box-shadow: 0 1px 1px rgba(15, 23, 42, 0.03);
86
86
  }
87
87
 
88
- .mld-button--secondary:hover:not(.mld-button--disabled) {
88
+ .mint-button--secondary:hover:not(.mint-button--disabled) {
89
89
  background-color: var(--bg-tertiary);
90
90
  box-shadow: 0 2px 4px rgba(15, 23, 42, 0.06);
91
91
  }
92
92
 
93
- .mld-button--cta {
93
+ .mint-button--cta {
94
94
  background-color: var(--color-cta);
95
95
  color: white;
96
96
  box-shadow: 0 1px 2px rgba(249, 115, 22, 0.20);
97
97
  }
98
98
 
99
- .mld-button--cta:hover:not(.mld-button--disabled) {
99
+ .mint-button--cta:hover:not(.mint-button--disabled) {
100
100
  background-color: var(--color-cta-hover);
101
101
  box-shadow: 0 2px 5px rgba(249, 115, 22, 0.28);
102
102
  }
103
103
 
104
- .mld-button--danger {
104
+ .mint-button--danger {
105
105
  background-color: var(--mint-error);
106
106
  color: white;
107
107
  box-shadow: 0 1px 2px rgba(239, 68, 68, 0.20);
108
108
  }
109
109
 
110
- .mld-button--danger:hover:not(.mld-button--disabled) {
110
+ .mint-button--danger:hover:not(.mint-button--disabled) {
111
111
  background-color: var(--mint-error-hover);
112
112
  box-shadow: 0 2px 5px rgba(239, 68, 68, 0.28);
113
113
  }
114
114
 
115
- .mld-button--success {
115
+ .mint-button--success {
116
116
  background-color: var(--mint-success);
117
117
  color: white;
118
118
  box-shadow: 0 1px 2px rgba(16, 185, 129, 0.20);
119
119
  }
120
120
 
121
- .mld-button--success:hover:not(.mld-button--disabled) {
121
+ .mint-button--success:hover:not(.mint-button--disabled) {
122
122
  background-color: var(--mint-success-hover);
123
123
  box-shadow: 0 2px 5px rgba(16, 185, 129, 0.28);
124
124
  }
125
125
 
126
- .mld-button--ghost {
126
+ .mint-button--ghost {
127
127
  background-color: transparent;
128
128
  color: var(--text-primary);
129
129
  }
130
130
 
131
- .mld-button--ghost:hover:not(.mld-button--disabled) {
131
+ .mint-button--ghost:hover:not(.mint-button--disabled) {
132
132
  background-color: var(--bg-tertiary);
133
133
  }
134
134
 
@@ -137,32 +137,32 @@
137
137
  Old rule (pre-0.16) compensated with a 2px upward shift; user testing showed
138
138
  that read as "too high" across sizes. New rule: 1px upward shift universally.
139
139
  See CLAUDE.md § Optical Centering. */
140
- .mld-button--sm {
140
+ .mint-button--sm {
141
141
  padding: 0.3125rem 0.75rem 0.4375rem;
142
142
  font-size: 0.875rem;
143
143
  min-height: var(--form-height-sm);
144
144
  }
145
145
 
146
- .mld-button--md {
146
+ .mint-button--md {
147
147
  padding: 0.4375rem 1rem 0.5625rem;
148
148
  font-size: 0.875rem;
149
149
  min-height: var(--form-height-md);
150
150
  }
151
151
 
152
- .mld-button--lg {
152
+ .mint-button--lg {
153
153
  padding: 0.6875rem 1.5rem 0.8125rem;
154
154
  font-size: 1rem;
155
155
  min-height: var(--form-height-lg);
156
156
  }
157
157
 
158
158
  /* Spinner */
159
- .mld-button__spinner {
160
- animation: mld-button-spin 1s linear infinite;
159
+ .mint-button__spinner {
160
+ animation: mint-button-spin 1s linear infinite;
161
161
  width: 1rem;
162
162
  height: 1rem;
163
163
  }
164
164
 
165
- @keyframes mld-button-spin {
165
+ @keyframes mint-button-spin {
166
166
  from {
167
167
  transform: rotate(0deg);
168
168
  }
@@ -174,15 +174,15 @@
174
174
  /* Respect motion preferences: disable lift/press but keep color/shadow
175
175
  transitions (those don't trigger vestibular responses). */
176
176
  @media (prefers-reduced-motion: reduce) {
177
- .mld-button {
177
+ .mint-button {
178
178
  transition:
179
179
  color 0.15s ease,
180
180
  background-color 0.15s ease,
181
181
  border-color 0.15s ease,
182
182
  box-shadow 0.15s ease;
183
183
  }
184
- .mld-button:hover:not(.mld-button--disabled),
185
- .mld-button:active:not(.mld-button--disabled) {
184
+ .mint-button:hover:not(.mint-button--disabled),
185
+ .mint-button:active:not(.mint-button--disabled) {
186
186
  transform: none;
187
187
  }
188
188
  }