@morscherlab/mint-sdk 1.0.16 → 1.0.17

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.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as SampleLegend_default, A as ReagentEditor_default, B as ProgressBar_default, C as formatSequenceRemaining, Ct as BaseTabs_default, D as ScientificNumber_default, E as ChemicalFormula_default, F as BioTemplateExperimentWorkspaceView_default, G as ControlWorkspaceView_default, H as Divider_default, I as BioTemplateRenderer_default, J as SampleSelector_default, K as ComponentBindingRenderer_default, L as ChartContainer_default, M as RackEditor_default, N as BioTemplatePresetWorkspaceView_default, O as ProtocolStepEditor_default, P as BioTemplatePackWorkspaceView_default, Q as PlateMapEditor_default, R as Breadcrumb_default, S as formatSequenceEta, St as SegmentedControl_default, T as sequenceSamplesRemaining, U as AppContainer_default, V as StatusIndicator_default, W as DoseDesignWorkspaceView_default, X as LoadingSpinner_default, Y as AutoGroupModal_default, Z as ReagentList_default, _ as InstrumentStateBadge_default, _t as AppToastContainer_default, a as ExperimentDataViewer_default, at as AppLayout_default, b as estimateSequenceFinishDate, bt as Calendar_default, c as LcmsSequenceTable_default, ct as FormActions_default, d as extractLcmsCommonPrefix, dt as AppPluginSwitcher_default, et as WellPlate_default, f as extractLcmsSampleName, ft as AppAvatarMenu_default, g as InstrumentStatusCard_default, gt as IconButton_default, h as reconstructLcmsPlateCellsFromSequenceItems, ht as ThemeToggle_default, i as TimeRangeInput_default, it as MobileSupportGate_default, j as GroupAssigner_default, k as SampleHierarchyTree_default, l as DEFAULT_LCMS_SEQUENCE_COLUMNS, lt as StepWizard_default, m as lcmsWellIdFromPosition, mt as CollapsibleCard_default, n as FitPanel_default, nt as DoseCalculator_default, o as BatchProgressList_default, ot as AppSidebar_default, p as inferLcmsPlateTypeFromWellIds, pt as PluginIcon_default, q as ScheduleCalendar_default, r as ResourceCard_default, rt as PluginWorkspaceView_default, s as AuditTrail_default, st as FormBuilder_default, tt as ExperimentTimeline_default, u as basenameFromWindowsPath, ut as AppTopBar_default, v as InstrumentAlertLog_default, vt as AlertBox_default, w as sequenceProgressPercent, wt as ColorSlider_default, x as estimateSequenceRemainingSeconds, xt as DropdownButton_default, y as SequenceProgressBar_default, yt as DataFrame_default, z as Avatar_default } from "./components-D0CzE0XK.js";
1
+ import { $ as SampleLegend_default, A as ReagentEditor_default, B as ProgressBar_default, C as formatSequenceRemaining, Ct as BaseTabs_default, D as ScientificNumber_default, E as ChemicalFormula_default, F as BioTemplateExperimentWorkspaceView_default, G as ControlWorkspaceView_default, H as Divider_default, I as BioTemplateRenderer_default, J as SampleSelector_default, K as ComponentBindingRenderer_default, L as ChartContainer_default, M as RackEditor_default, N as BioTemplatePresetWorkspaceView_default, O as ProtocolStepEditor_default, P as BioTemplatePackWorkspaceView_default, Q as PlateMapEditor_default, R as Breadcrumb_default, S as formatSequenceEta, St as SegmentedControl_default, T as sequenceSamplesRemaining, U as AppContainer_default, V as StatusIndicator_default, W as DoseDesignWorkspaceView_default, X as LoadingSpinner_default, Y as AutoGroupModal_default, Z as ReagentList_default, _ as InstrumentStateBadge_default, _t as AppToastContainer_default, a as ExperimentDataViewer_default, at as AppLayout_default, b as estimateSequenceFinishDate, bt as Calendar_default, c as LcmsSequenceTable_default, ct as FormActions_default, d as extractLcmsCommonPrefix, dt as AppPluginSwitcher_default, et as WellPlate_default, f as extractLcmsSampleName, ft as AppAvatarMenu_default, g as InstrumentStatusCard_default, gt as IconButton_default, h as reconstructLcmsPlateCellsFromSequenceItems, ht as ThemeToggle_default, i as TimeRangeInput_default, it as MobileSupportGate_default, j as GroupAssigner_default, k as SampleHierarchyTree_default, l as DEFAULT_LCMS_SEQUENCE_COLUMNS, lt as StepWizard_default, m as lcmsWellIdFromPosition, mt as CollapsibleCard_default, n as FitPanel_default, nt as DoseCalculator_default, o as BatchProgressList_default, ot as AppSidebar_default, p as inferLcmsPlateTypeFromWellIds, pt as PluginIcon_default, q as ScheduleCalendar_default, r as ResourceCard_default, rt as PluginWorkspaceView_default, s as AuditTrail_default, st as FormBuilder_default, tt as ExperimentTimeline_default, u as basenameFromWindowsPath, ut as AppTopBar_default, v as InstrumentAlertLog_default, vt as AlertBox_default, w as sequenceProgressPercent, wt as ColorSlider_default, x as estimateSequenceRemainingSeconds, xt as DropdownButton_default, y as SequenceProgressBar_default, yt as DataFrame_default, z as Avatar_default } from "./components-CzdeV1xe.js";
2
2
  import { a as BasePill_default, i as Skeleton_default, n as ExperimentCodeBadge_default, o as BaseButton_default, r as EmptyState_default, t as ExperimentSelectorModal_default } from "./ExperimentSelectorModal-CX0oBzpV.js";
3
3
  import { r as BaseInput_default, t as BaseSelect_default } from "./BaseSelect-ekgr9fDo.js";
4
4
  import { $ as parseTime, A as useConcentrationUnits, B as TagsInput_default, C as controlsToViewIds, D as getTypeDefault, E as getFieldRegistryEntry, F as ATOMIC_WEIGHTS, G as findAvailableSlots, H as addMinutes, I as useChemicalFormula, J as formatTime, K as findNearestTimeSlotIndex, L as DateTimePicker_default, M as SequenceInput_default, N as useSequenceUtils, O as ConcentrationInput_default, P as FormulaInput_default, Q as isTimeInRange, R as FileUploader_default, S as controlsToTopBarSettingsConfig, T as getDefaultControlView, U as compareTime, V as TimePicker_default, W as durationMinutes, X as fromMinutes, Y as formatTimeSlot, Z as generateTimeSlots, _ as controlsToFormSchema, a as defineDoseCalculatorControlProps, at as MultiSelect_default, b as controlsToSettingsSchema, c as defineWellPlateDoseComponentBindings, ct as BaseSlider_default, d as defineControlModel, dt as BaseCheckbox_default, et as rangesOverlap, ft as Tooltip_default, h as controlValuesToComponentProps, i as useControlSchema, it as DatePicker_default, j as MoleculeInput_default, k as UnitInput_default, l as defineWellPlateDoseControlProps, lt as BaseRadioGroup_default, m as controlValuesToComponentBindingsById, n as defineControls, nt as toMinutes, o as defineDoseDesignControlModel, ot as useListSelection, p as controlValuesToComponentBindings, pt as BaseTextarea_default, q as formatDuration, r as getControlDefaults, rt as useTimeUtils, s as defineWellPlateControlProps, st as useSelectionLimit, t as defineControlComponentBindings, tt as snapToSlot, u as useControlWorkspace, ut as BaseToggle_default, v as controlsToSectionFormSchema, w as controlsToViewItems, x as controlsToSidebarPanels, y as controlsToSectionFormSchemas, z as NumberInput_default } from "./useControlSchema-Dkm-W_lg.js";
package/dist/install.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as components_exports } from "./components-D0CzE0XK.js";
1
+ import { t as components_exports } from "./components-CzdeV1xe.js";
2
2
  import "./ExperimentSelectorModal-CX0oBzpV.js";
3
3
  import "./BaseSelect-ekgr9fDo.js";
4
4
  import "./useControlSchema-Dkm-W_lg.js";
package/dist/styles.css CHANGED
@@ -10925,6 +10925,14 @@ to {
10925
10925
  min-height: 0;
10926
10926
  min-width: 0;
10927
10927
  }
10928
+ .mint-modal__body:has(> .mint-auto-group .mint-auto-group__manual-mode) {
10929
+ overflow: hidden;
10930
+ }
10931
+ .mint-auto-group:has(.mint-auto-group__manual-mode) {
10932
+ height: min(34rem, calc(100vh - 12rem));
10933
+ min-height: min(26rem, calc(100vh - 12rem));
10934
+ overflow: hidden;
10935
+ }
10928
10936
 
10929
10937
  /* --- Workflow tabs --- */
10930
10938
  .mint-auto-group__workflow-bar {
@@ -10971,11 +10979,13 @@ to {
10971
10979
  color: var(--color-primary);
10972
10980
  }
10973
10981
  .mint-auto-group__manual-mode {
10982
+ flex: 1;
10974
10983
  display: flex;
10975
10984
  flex-direction: column;
10976
10985
  gap: 0.625rem;
10977
10986
  min-height: 0;
10978
10987
  min-width: 0;
10988
+ overflow: hidden;
10979
10989
  }
10980
10990
  .mint-auto-group__manual-summary {
10981
10991
  display: flex;
@@ -11036,12 +11046,15 @@ to {
11036
11046
  display: grid;
11037
11047
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
11038
11048
  gap: 0.625rem;
11039
- min-height: 31rem;
11049
+ flex: 1;
11050
+ min-height: 0;
11040
11051
  min-width: 0;
11052
+ overflow: hidden;
11041
11053
  }
11042
11054
  .mint-auto-group__manual-panel {
11043
11055
  min-width: 0;
11044
11056
  min-height: 0;
11057
+ overflow: hidden;
11045
11058
  display: flex;
11046
11059
  flex-direction: column;
11047
11060
  gap: 0.5rem;
@@ -11437,13 +11450,13 @@ to {
11437
11450
  flex-shrink: 0;
11438
11451
  }
11439
11452
  .mint-auto-group__manual-cohorts {
11440
- flex: 1;
11453
+ flex: 0 1 auto;
11441
11454
  min-height: 0;
11442
- overflow-y: auto;
11455
+ overflow: visible;
11443
11456
  display: flex;
11444
11457
  flex-direction: column;
11445
11458
  gap: 0.25rem;
11446
- padding-right: 0.25rem;
11459
+ padding-right: 0;
11447
11460
  }
11448
11461
  .mint-auto-group__manual-cohorts-head {
11449
11462
  position: sticky;
@@ -12149,8 +12162,7 @@ to {
12149
12162
  .mint-auto-group__manual-grid {
12150
12163
  min-height: 0;
12151
12164
  }
12152
- .mint-auto-group__manual-list,
12153
- .mint-auto-group__manual-cohorts {
12165
+ .mint-auto-group__manual-list {
12154
12166
  max-height: 18rem;
12155
12167
  }
12156
12168
  .mint-auto-group__manual-sample {
@@ -12248,24 +12260,30 @@ to {
12248
12260
  position: relative;
12249
12261
  }
12250
12262
  .mint-sample-selector__actions-row {
12251
- display: flex;
12263
+ display: grid;
12264
+ grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
12252
12265
  align-items: center;
12253
- gap: 0.5rem;
12254
- flex-wrap: nowrap; /* Ensure buttons stay on one line */
12266
+ gap: 0.375rem;
12267
+ min-width: 0;
12268
+ }
12269
+ .mint-sample-selector__actions-row--single-primary {
12270
+ grid-template-columns: minmax(0, 1fr) auto;
12255
12271
  }
12256
12272
 
12257
12273
  /* BaseButton overrides for action buttons */
12258
12274
  .mint-sample-selector__action-btn {
12259
- flex: 1 1 auto;
12260
- display: flex;
12275
+ width: 100%;
12276
+ min-width: 0; /* Allow labels to ellipsize inside tight containers */
12261
12277
  align-items: center;
12262
12278
  justify-content: center;
12263
- gap: 0.5rem;
12264
- min-width: 0; /* Allow buttons to shrink below content size */
12279
+ gap: 0.375rem;
12280
+ padding-inline: 0.5rem;
12281
+ font-size: 0.8125rem;
12265
12282
  }
12266
12283
  .mint-sample-selector__action-btn--reset {
12267
- flex: 0 0 auto; /* Don't grow or shrink */
12268
- min-width: auto;
12284
+ width: var(--form-height-sm);
12285
+ min-width: var(--form-height-sm);
12286
+ aspect-ratio: 1;
12269
12287
  padding: 0.5rem;
12270
12288
  }
12271
12289
  .mint-sample-selector__action-icon {
@@ -12273,6 +12291,12 @@ to {
12273
12291
  height: 1rem;
12274
12292
  flex-shrink: 0;
12275
12293
  }
12294
+ .mint-sample-selector__action-label {
12295
+ min-width: 0;
12296
+ overflow: hidden;
12297
+ text-overflow: ellipsis;
12298
+ white-space: nowrap;
12299
+ }
12276
12300
 
12277
12301
  /* Level Popover */
12278
12302
  .mint-sample-selector__popover {
@@ -24389,23 +24413,29 @@ html.dark .mint-toast__item .mint-toast__message {
24389
24413
  position: relative;
24390
24414
  }
24391
24415
  .mint-sample-selector__actions-row {
24392
- display: flex;
24416
+ display: grid;
24417
+ grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
24393
24418
  align-items: center;
24394
- gap: 0.5rem;
24395
- flex-wrap: nowrap; /* Ensure buttons stay on one line */
24419
+ gap: 0.375rem;
24420
+ min-width: 0;
24421
+ }
24422
+ .mint-sample-selector__actions-row--single-primary {
24423
+ grid-template-columns: minmax(0, 1fr) auto;
24396
24424
  }
24397
24425
  /* BaseButton overrides for action buttons */
24398
24426
  .mint-sample-selector__action-btn {
24399
- flex: 1 1 auto;
24400
- display: flex;
24427
+ width: 100%;
24428
+ min-width: 0; /* Allow labels to ellipsize inside tight containers */
24401
24429
  align-items: center;
24402
24430
  justify-content: center;
24403
- gap: 0.5rem;
24404
- min-width: 0; /* Allow buttons to shrink below content size */
24431
+ gap: 0.375rem;
24432
+ padding-inline: 0.5rem;
24433
+ font-size: 0.8125rem;
24405
24434
  }
24406
24435
  .mint-sample-selector__action-btn--reset {
24407
- flex: 0 0 auto; /* Don't grow or shrink */
24408
- min-width: auto;
24436
+ width: var(--form-height-sm);
24437
+ min-width: var(--form-height-sm);
24438
+ aspect-ratio: 1;
24409
24439
  padding: 0.5rem;
24410
24440
  }
24411
24441
  .mint-sample-selector__action-icon {
@@ -24413,6 +24443,12 @@ html.dark .mint-toast__item .mint-toast__message {
24413
24443
  height: 1rem;
24414
24444
  flex-shrink: 0;
24415
24445
  }
24446
+ .mint-sample-selector__action-label {
24447
+ min-width: 0;
24448
+ overflow: hidden;
24449
+ text-overflow: ellipsis;
24450
+ white-space: nowrap;
24451
+ }
24416
24452
  /* Level Popover */
24417
24453
  .mint-sample-selector__popover {
24418
24454
  position: absolute;
@@ -24978,6 +25014,14 @@ html.dark .mint-toast__item .mint-toast__message {
24978
25014
  min-height: 0;
24979
25015
  min-width: 0;
24980
25016
  }
25017
+ .mint-modal__body:has(> .mint-auto-group .mint-auto-group__manual-mode) {
25018
+ overflow: hidden;
25019
+ }
25020
+ .mint-auto-group:has(.mint-auto-group__manual-mode) {
25021
+ height: min(34rem, calc(100vh - 12rem));
25022
+ min-height: min(26rem, calc(100vh - 12rem));
25023
+ overflow: hidden;
25024
+ }
24981
25025
  /* --- Workflow tabs --- */
24982
25026
  .mint-auto-group__workflow-bar {
24983
25027
  display: flex;
@@ -25023,11 +25067,13 @@ html.dark .mint-toast__item .mint-toast__message {
25023
25067
  color: var(--color-primary);
25024
25068
  }
25025
25069
  .mint-auto-group__manual-mode {
25070
+ flex: 1;
25026
25071
  display: flex;
25027
25072
  flex-direction: column;
25028
25073
  gap: 0.625rem;
25029
25074
  min-height: 0;
25030
25075
  min-width: 0;
25076
+ overflow: hidden;
25031
25077
  }
25032
25078
  .mint-auto-group__manual-summary {
25033
25079
  display: flex;
@@ -25088,12 +25134,15 @@ html.dark .mint-toast__item .mint-toast__message {
25088
25134
  display: grid;
25089
25135
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
25090
25136
  gap: 0.625rem;
25091
- min-height: 31rem;
25137
+ flex: 1;
25138
+ min-height: 0;
25092
25139
  min-width: 0;
25140
+ overflow: hidden;
25093
25141
  }
25094
25142
  .mint-auto-group__manual-panel {
25095
25143
  min-width: 0;
25096
25144
  min-height: 0;
25145
+ overflow: hidden;
25097
25146
  display: flex;
25098
25147
  flex-direction: column;
25099
25148
  gap: 0.5rem;
@@ -25489,13 +25538,13 @@ html.dark .mint-toast__item .mint-toast__message {
25489
25538
  flex-shrink: 0;
25490
25539
  }
25491
25540
  .mint-auto-group__manual-cohorts {
25492
- flex: 1;
25541
+ flex: 0 1 auto;
25493
25542
  min-height: 0;
25494
- overflow-y: auto;
25543
+ overflow: visible;
25495
25544
  display: flex;
25496
25545
  flex-direction: column;
25497
25546
  gap: 0.25rem;
25498
- padding-right: 0.25rem;
25547
+ padding-right: 0;
25499
25548
  }
25500
25549
  .mint-auto-group__manual-cohorts-head {
25501
25550
  position: sticky;
@@ -26126,8 +26175,7 @@ html.dark .mint-toast__item .mint-toast__message {
26126
26175
  min-height: 0;
26127
26176
  }
26128
26177
 
26129
- .mint-auto-group__manual-list,
26130
- .mint-auto-group__manual-cohorts {
26178
+ .mint-auto-group__manual-list {
26131
26179
  max-height: 18rem;
26132
26180
  }
26133
26181
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@morscherlab/mint-sdk",
3
- "version": "1.0.16",
3
+ "version": "1.0.17",
4
4
  "description": "MINT Platform SDK — Vue 3 components, composables, and types for plugin development. MINT = Mass-spec INtegrated Toolkit.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -92,7 +92,7 @@ function handleSmartGroup(result: AutoGroupResult, state: { groups: SampleGroup[
92
92
  </template>
93
93
  <template #controls="{ state }">
94
94
  <HstCheckbox v-model="state.enableGrouping" title="Enable Grouping" />
95
- <HstCheckbox v-model="state.enableSmartGroup" title="Enable Smart Group" />
95
+ <HstCheckbox v-model="state.enableSmartGroup" title="Enable Smart" />
96
96
  </template>
97
97
  </Variant>
98
98
 
@@ -106,7 +106,17 @@ function handleSmartGroup(result: AutoGroupResult, state: { groups: SampleGroup[
106
106
  </div>
107
107
  </Variant>
108
108
 
109
- <Variant title="With Manual Group Button">
109
+ <Variant title="Narrow Action Bar">
110
+ <div style="padding: 2rem; width: 320px;">
111
+ <SampleSelector
112
+ :model-value="['Control_Rep1']"
113
+ :samples="mockSamples"
114
+ :groups="mockGroups"
115
+ />
116
+ </div>
117
+ </Variant>
118
+
119
+ <Variant title="With Manual Button">
110
120
  <div style="padding: 2rem; max-width: 1040px;">
111
121
  <SampleSelector
112
122
  :model-value="[]"
@@ -245,8 +245,13 @@ defineExpose({ handleSmartGroupApply })
245
245
 
246
246
  <!-- Action Buttons Row -->
247
247
  <div v-if="enableGrouping" class="mint-sample-selector__actions">
248
- <div class="mint-sample-selector__actions-row">
249
- <!-- Smart Group Button -->
248
+ <div
249
+ :class="[
250
+ 'mint-sample-selector__actions-row',
251
+ !enableSmartGroup ? 'mint-sample-selector__actions-row--single-primary' : '',
252
+ ]"
253
+ >
254
+ <!-- Smart Button -->
250
255
  <BaseButton
251
256
  v-if="enableSmartGroup"
252
257
  :variant="groupingEnabled ? 'primary' : 'secondary'"
@@ -258,7 +263,7 @@ defineExpose({ handleSmartGroupApply })
258
263
  <svg class="mint-sample-selector__action-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24">
259
264
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z" />
260
265
  </svg>
261
- <span>Smart Group</span>
266
+ <span class="mint-sample-selector__action-label">Smart</span>
262
267
  </BaseButton>
263
268
 
264
269
  <BaseButton
@@ -271,7 +276,7 @@ defineExpose({ handleSmartGroupApply })
271
276
  <svg class="mint-sample-selector__action-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24">
272
277
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 3 3 7.5l9 4.5 9-4.5L12 3ZM3 12l9 4.5 9-4.5M3 16.5l9 4.5 9-4.5" />
273
278
  </svg>
274
- <span>Manual Group</span>
279
+ <span class="mint-sample-selector__action-label">Manual</span>
275
280
  </BaseButton>
276
281
 
277
282
  <!-- Reset Button -->
@@ -599,7 +604,7 @@ defineExpose({ handleSmartGroupApply })
599
604
 
600
605
  <!-- Empty state -->
601
606
  <div v-if="internalGroups.length === 0" class="mint-sample-selector__empty">
602
- Click Smart Group to auto-group samples
607
+ Click Smart to auto-group samples
603
608
  </div>
604
609
  </div>
605
610
 
@@ -710,7 +715,7 @@ defineExpose({ handleSmartGroupApply })
710
715
  </div>
711
716
  </div>
712
717
 
713
- <!-- Smart Grouping Modal -->
718
+ <!-- Smart grouping modal -->
714
719
  <AutoGroupModal
715
720
  v-model="showSmartGroupModal"
716
721
  :samples="resolvedSamples"
@@ -9,6 +9,16 @@
9
9
  min-width: 0;
10
10
  }
11
11
 
12
+ .mint-modal__body:has(> .mint-auto-group .mint-auto-group__manual-mode) {
13
+ overflow: hidden;
14
+ }
15
+
16
+ .mint-auto-group:has(.mint-auto-group__manual-mode) {
17
+ height: min(34rem, calc(100vh - 12rem));
18
+ min-height: min(26rem, calc(100vh - 12rem));
19
+ overflow: hidden;
20
+ }
21
+
12
22
  /* --- Workflow tabs --- */
13
23
  .mint-auto-group__workflow-bar {
14
24
  display: flex;
@@ -61,11 +71,13 @@
61
71
  }
62
72
 
63
73
  .mint-auto-group__manual-mode {
74
+ flex: 1;
64
75
  display: flex;
65
76
  flex-direction: column;
66
77
  gap: 0.625rem;
67
78
  min-height: 0;
68
79
  min-width: 0;
80
+ overflow: hidden;
69
81
  }
70
82
 
71
83
  .mint-auto-group__manual-summary {
@@ -134,13 +146,16 @@
134
146
  display: grid;
135
147
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
136
148
  gap: 0.625rem;
137
- min-height: 31rem;
149
+ flex: 1;
150
+ min-height: 0;
138
151
  min-width: 0;
152
+ overflow: hidden;
139
153
  }
140
154
 
141
155
  .mint-auto-group__manual-panel {
142
156
  min-width: 0;
143
157
  min-height: 0;
158
+ overflow: hidden;
144
159
  display: flex;
145
160
  flex-direction: column;
146
161
  gap: 0.5rem;
@@ -591,13 +606,13 @@
591
606
  }
592
607
 
593
608
  .mint-auto-group__manual-cohorts {
594
- flex: 1;
609
+ flex: 0 1 auto;
595
610
  min-height: 0;
596
- overflow-y: auto;
611
+ overflow: visible;
597
612
  display: flex;
598
613
  flex-direction: column;
599
614
  gap: 0.25rem;
600
- padding-right: 0.25rem;
615
+ padding-right: 0;
601
616
  }
602
617
 
603
618
  .mint-auto-group__manual-cohorts-head {
@@ -1286,8 +1301,7 @@
1286
1301
  min-height: 0;
1287
1302
  }
1288
1303
 
1289
- .mint-auto-group__manual-list,
1290
- .mint-auto-group__manual-cohorts {
1304
+ .mint-auto-group__manual-list {
1291
1305
  max-height: 18rem;
1292
1306
  }
1293
1307
 
@@ -72,25 +72,32 @@
72
72
  }
73
73
 
74
74
  .mint-sample-selector__actions-row {
75
- display: flex;
75
+ display: grid;
76
+ grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
76
77
  align-items: center;
77
- gap: 0.5rem;
78
- flex-wrap: nowrap; /* Ensure buttons stay on one line */
78
+ gap: 0.375rem;
79
+ min-width: 0;
80
+ }
81
+
82
+ .mint-sample-selector__actions-row--single-primary {
83
+ grid-template-columns: minmax(0, 1fr) auto;
79
84
  }
80
85
 
81
86
  /* BaseButton overrides for action buttons */
82
87
  .mint-sample-selector__action-btn {
83
- flex: 1 1 auto;
84
- display: flex;
88
+ width: 100%;
89
+ min-width: 0; /* Allow labels to ellipsize inside tight containers */
85
90
  align-items: center;
86
91
  justify-content: center;
87
- gap: 0.5rem;
88
- min-width: 0; /* Allow buttons to shrink below content size */
92
+ gap: 0.375rem;
93
+ padding-inline: 0.5rem;
94
+ font-size: 0.8125rem;
89
95
  }
90
96
 
91
97
  .mint-sample-selector__action-btn--reset {
92
- flex: 0 0 auto; /* Don't grow or shrink */
93
- min-width: auto;
98
+ width: var(--form-height-sm);
99
+ min-width: var(--form-height-sm);
100
+ aspect-ratio: 1;
94
101
  padding: 0.5rem;
95
102
  }
96
103
 
@@ -100,6 +107,13 @@
100
107
  flex-shrink: 0;
101
108
  }
102
109
 
110
+ .mint-sample-selector__action-label {
111
+ min-width: 0;
112
+ overflow: hidden;
113
+ text-overflow: ellipsis;
114
+ white-space: nowrap;
115
+ }
116
+
103
117
  /* Level Popover */
104
118
  .mint-sample-selector__popover {
105
119
  position: absolute;