@morscherlab/mint-sdk 1.0.14 → 1.0.15

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 ColorSlider_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 BaseTabs_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 AlertBox_default, a as ExperimentDataViewer_default, at as AppSidebar_default, b as estimateSequenceFinishDate, bt as DropdownButton_default, c as LcmsSequenceTable_default, ct as StepWizard_default, d as extractLcmsCommonPrefix, dt as AppAvatarMenu_default, et as WellPlate_default, f as extractLcmsSampleName, ft as PluginIcon_default, g as InstrumentStatusCard_default, gt as AppToastContainer_default, h as reconstructLcmsPlateCellsFromSequenceItems, ht as IconButton_default, i as TimeRangeInput_default, it as AppLayout_default, j as GroupAssigner_default, k as SampleHierarchyTree_default, l as DEFAULT_LCMS_SEQUENCE_COLUMNS, lt as AppTopBar_default, m as lcmsWellIdFromPosition, mt as ThemeToggle_default, n as FitPanel_default, nt as DoseCalculator_default, o as BatchProgressList_default, ot as FormBuilder_default, p as inferLcmsPlateTypeFromWellIds, pt as CollapsibleCard_default, q as ScheduleCalendar_default, r as ResourceCard_default, rt as PluginWorkspaceView_default, s as AuditTrail_default, st as FormActions_default, tt as ExperimentTimeline_default, u as basenameFromWindowsPath, ut as AppPluginSwitcher_default, v as InstrumentAlertLog_default, vt as DataFrame_default, w as sequenceProgressPercent, x as estimateSequenceRemainingSeconds, xt as SegmentedControl_default, y as SequenceProgressBar_default, yt as Calendar_default, z as Avatar_default } from "./components-Dq02EVZH.js";
1
+ import { $ as SampleLegend_default, A as ReagentEditor_default, B as ProgressBar_default, C as formatSequenceRemaining, Ct as ColorSlider_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 BaseTabs_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 AlertBox_default, a as ExperimentDataViewer_default, at as AppSidebar_default, b as estimateSequenceFinishDate, bt as DropdownButton_default, c as LcmsSequenceTable_default, ct as StepWizard_default, d as extractLcmsCommonPrefix, dt as AppAvatarMenu_default, et as WellPlate_default, f as extractLcmsSampleName, ft as PluginIcon_default, g as InstrumentStatusCard_default, gt as AppToastContainer_default, h as reconstructLcmsPlateCellsFromSequenceItems, ht as IconButton_default, i as TimeRangeInput_default, it as AppLayout_default, j as GroupAssigner_default, k as SampleHierarchyTree_default, l as DEFAULT_LCMS_SEQUENCE_COLUMNS, lt as AppTopBar_default, m as lcmsWellIdFromPosition, mt as ThemeToggle_default, n as FitPanel_default, nt as DoseCalculator_default, o as BatchProgressList_default, ot as FormBuilder_default, p as inferLcmsPlateTypeFromWellIds, pt as CollapsibleCard_default, q as ScheduleCalendar_default, r as ResourceCard_default, rt as PluginWorkspaceView_default, s as AuditTrail_default, st as FormActions_default, tt as ExperimentTimeline_default, u as basenameFromWindowsPath, ut as AppPluginSwitcher_default, v as InstrumentAlertLog_default, vt as DataFrame_default, w as sequenceProgressPercent, x as estimateSequenceRemainingSeconds, xt as SegmentedControl_default, y as SequenceProgressBar_default, yt as Calendar_default, z as Avatar_default } from "./components-Cyk8QEyL.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-CHsU-LIh.js";
3
3
  import { r as BaseInput_default, t as BaseSelect_default } from "./BaseSelect-DksaKYq_.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-0n8Bcftq.js";
package/dist/install.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as components_exports } from "./components-Dq02EVZH.js";
1
+ import { t as components_exports } from "./components-Cyk8QEyL.js";
2
2
  import "./ExperimentSelectorModal-CHsU-LIh.js";
3
3
  import "./BaseSelect-DksaKYq_.js";
4
4
  import "./useControlSchema-0n8Bcftq.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@morscherlab/mint-sdk",
3
- "version": "1.0.14",
3
+ "version": "1.0.15",
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",
@@ -7,7 +7,7 @@ describe('SampleSelector', () => {
7
7
  it('uses shared list selection for select-all and individual sample toggles', async () => {
8
8
  const wrapper = mount(SampleSelector, {
9
9
  props: {
10
- samples: ['S1', 'S2'],
10
+ samples: ['S1', 'A very long sample name that gets truncated'],
11
11
  modelValue: [],
12
12
  enableGrouping: false,
13
13
  enableSmartGroup: false,
@@ -20,14 +20,17 @@ describe('SampleSelector', () => {
20
20
  })
21
21
 
22
22
  await wrapper.find('.mint-sample-selector__select-all input').trigger('change')
23
- expect(wrapper.emitted('update:modelValue')?.[0]).toEqual([['S1', 'S2']])
23
+ expect(wrapper.emitted('update:modelValue')?.[0]).toEqual([['S1', 'A very long sample name that gets truncated']])
24
24
 
25
25
  await wrapper.setProps({ modelValue: ['S1'] })
26
26
  await wrapper.findAll('.mint-sample-selector__flat-item input')[0].trigger('change')
27
27
  expect(wrapper.emitted('update:modelValue')?.[1]).toEqual([[]])
28
28
 
29
29
  await wrapper.findAll('.mint-sample-selector__flat-item input')[1].trigger('change')
30
- expect(wrapper.emitted('update:modelValue')?.[2]).toEqual([['S1', 'S2']])
30
+ expect(wrapper.emitted('update:modelValue')?.[2]).toEqual([['S1', 'A very long sample name that gets truncated']])
31
+ expect(wrapper.findAll('.mint-sample-selector__flat-item')[1].attributes('title')).toBe(
32
+ 'A very long sample name that gets truncated',
33
+ )
31
34
  })
32
35
 
33
36
  it('uses shared expansion state for grouped sample sections', async () => {
@@ -4,9 +4,10 @@ import SampleSelectorSampleRow from '../../components/SampleSelectorSampleRow.vu
4
4
 
5
5
  describe('SampleSelectorSampleRow', () => {
6
6
  it('renders selected and dragging states', () => {
7
+ const sampleName = 'A very long sample name that gets truncated in narrow panes'
7
8
  const wrapper = mount(SampleSelectorSampleRow, {
8
9
  props: {
9
- sample: 'S1',
10
+ sample: sampleName,
10
11
  selected: true,
11
12
  dragging: true,
12
13
  accentColor: '#3B82F6',
@@ -16,7 +17,9 @@ describe('SampleSelectorSampleRow', () => {
16
17
  expect(wrapper.classes()).toContain('mint-sample-selector__sample--dragging')
17
18
  expect((wrapper.get('input').element as HTMLInputElement).checked).toBe(true)
18
19
  expect(wrapper.get('input').attributes('style')).toContain('accent-color')
19
- expect(wrapper.text()).toContain('S1')
20
+ expect(wrapper.text()).toContain(sampleName)
21
+ expect(wrapper.attributes('title')).toBe(sampleName)
22
+ expect(wrapper.attributes('aria-label')).toBe(`Sample: ${sampleName}`)
20
23
  })
21
24
 
22
25
  it('emits toggle and remove actions', async () => {
@@ -673,6 +673,8 @@ defineExpose({ handleSmartGroupApply })
673
673
  v-for="sample in filteredSamples"
674
674
  :key="sample"
675
675
  class="mint-sample-selector__flat-item"
676
+ :title="sample"
677
+ :aria-label="`Sample: ${sample}`"
676
678
  >
677
679
  <input
678
680
  type="checkbox"
@@ -36,6 +36,8 @@ const checkboxClasses = computed(() => [
36
36
  'mint-sample-selector__sample',
37
37
  dragging ? 'mint-sample-selector__sample--dragging' : '',
38
38
  ]"
39
+ :title="sample"
40
+ :aria-label="`Sample: ${sample}`"
39
41
  draggable="true"
40
42
  >
41
43
  <svg class="mint-sample-selector__drag-handle" fill="none" stroke="currentColor" viewBox="0 0 24 24">