@morscherlab/mint-sdk 1.3.0-beta.1 → 1.3.0-beta.11

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 (136) hide show
  1. package/README.md +23 -140
  2. package/dist/{ResourcePickerListInternal-c3IT8PIu.js → ResourcePickerListInternal-CFAw4vTZ.js} +26 -19
  3. package/dist/ResourcePickerListInternal-CFAw4vTZ.js.map +1 -0
  4. package/dist/components/FilePicker.vue.d.ts +4 -1
  5. package/dist/components/SettingsModal.schema.d.ts +1 -1
  6. package/dist/components/SettingsModal.vue.d.ts +2 -0
  7. package/dist/components/WellPlate.colors.d.ts +1 -5
  8. package/dist/components/WellPlate.rendering.d.ts +5 -2
  9. package/dist/components/index.d.ts +32 -17
  10. package/dist/components/index.js +3 -3
  11. package/dist/components/internal/FilePickerListInternal.vue.d.ts +2 -0
  12. package/dist/components/internal/ResourcePickerListInternal.vue.d.ts +9 -3
  13. package/dist/{components-CvY105kJ.js → components-vHfxV2PB.js} +425 -392
  14. package/dist/components-vHfxV2PB.js.map +1 -0
  15. package/dist/composables/createFilePickerAdapter.d.ts +5 -1
  16. package/dist/composables/filePicker/usePickerNavigation.d.ts +3 -2
  17. package/dist/composables/index.d.ts +0 -3
  18. package/dist/composables/index.js +4 -4
  19. package/dist/composables/useAutoGroup.d.ts +1 -1
  20. package/dist/composables/useBioTemplateComponents.d.ts +15 -3
  21. package/dist/composables/useBioTemplateControls.d.ts +5 -1
  22. package/dist/composables/useBioTemplatePackWorkspace.d.ts +2 -0
  23. package/dist/composables/useBioTemplatePresetWorkspace.d.ts +5 -1
  24. package/dist/composables/useBioTemplateWorkspace.d.ts +5 -1
  25. package/dist/composables/useExperimentSave.d.ts +5 -1
  26. package/dist/composables/useFilePicker.d.ts +4 -1
  27. package/dist/composables/useGroupAssignment.d.ts +5 -1
  28. package/dist/composables/usePlatformContext.d.ts +3 -0
  29. package/dist/composables/useTemplateCollection.d.ts +5 -1
  30. package/dist/composables-D6uqp0UF.js +591 -0
  31. package/dist/composables-D6uqp0UF.js.map +1 -0
  32. package/dist/index.js +24 -24
  33. package/dist/index.js.map +1 -1
  34. package/dist/install.js +1 -1
  35. package/dist/lcms.d.ts +11 -11
  36. package/dist/styles.css +228 -214
  37. package/dist/templates/index.js +1 -1
  38. package/dist/{templates-Bj9hZ7iV.js → templates-BU1pet28.js} +31 -44
  39. package/dist/templates-BU1pet28.js.map +1 -0
  40. package/dist/types/auth.d.ts +0 -27
  41. package/dist/types/components.d.ts +8 -0
  42. package/dist/types/fileBrowserTypes.d.ts +13 -0
  43. package/dist/types/filePicker.d.ts +8 -1
  44. package/dist/types/index.d.ts +2 -2
  45. package/dist/types/platform.d.ts +2 -0
  46. package/dist/utils/rack.d.ts +16 -16
  47. package/dist/{validation-B4Y8_eEe.js → validation-Dmp9Q5W0.js} +50 -12
  48. package/dist/validation-Dmp9Q5W0.js.map +1 -0
  49. package/package.json +1 -6
  50. package/src/__tests__/components/ActionMenu.test.ts +10 -0
  51. package/src/__tests__/components/AppTopBar.test.ts +24 -8
  52. package/src/__tests__/components/AppTopBarPageSelector.test.ts +4 -4
  53. package/src/__tests__/components/EmptyState.test.ts +15 -0
  54. package/src/__tests__/components/ExperimentSelectorModal.test.ts +12 -5
  55. package/src/__tests__/components/FilePicker.test.ts +65 -1
  56. package/src/__tests__/components/FileUploader.test.ts +6 -9
  57. package/src/__tests__/components/ResourcePickerListInternal.test.ts +23 -4
  58. package/src/__tests__/components/SettingsModal.test.ts +22 -0
  59. package/src/__tests__/components/WellPlate.decoration.test.ts +4 -28
  60. package/src/__tests__/components/WellPlate.rendering.test.ts +20 -33
  61. package/src/__tests__/components/WellPlate.sampleTypeIndicator.test.ts +7 -7
  62. package/src/__tests__/composables/createFilePickerAdapter.test.ts +92 -1
  63. package/src/__tests__/composables/usePickerNavigation.test.ts +61 -1
  64. package/src/__tests__/composables/usePlatformFilePickerAdapter.test.ts +18 -6
  65. package/src/__tests__/docs/frontendDocsCatalog.test.ts +2 -2
  66. package/src/__tests__/styles/controlRefreshRules.test.ts +21 -8
  67. package/src/__tests__/styles/menusShellRefresh.test.ts +20 -5
  68. package/src/__tests__/templates/templatesDeprecation.test.ts +58 -11
  69. package/src/components/ActionMenu.vue +10 -2
  70. package/src/components/AppTopBar.vue +6 -4
  71. package/src/components/EmptyState.vue +3 -1
  72. package/src/components/ExperimentSelectorModal.vue +4 -1
  73. package/src/components/FilePicker.vue +42 -0
  74. package/src/components/FileUploader.vue +30 -46
  75. package/src/components/SettingsModal.schema.ts +4 -2
  76. package/src/components/SettingsModal.vue +4 -2
  77. package/src/components/WellPlate.colors.ts +6 -10
  78. package/src/components/WellPlate.legend.ts +4 -4
  79. package/src/components/WellPlate.rendering.ts +9 -8
  80. package/src/components/WellPlate.vue +5 -22
  81. package/src/components/index.ts +32 -17
  82. package/src/components/internal/AppTopBarPageSelectorInternal.vue +3 -6
  83. package/src/components/internal/FilePickerListInternal.vue +11 -2
  84. package/src/components/internal/ResourcePickerListInternal.vue +21 -27
  85. package/src/composables/autoGroup/index.ts +1 -1
  86. package/src/composables/createFilePickerAdapter.ts +82 -22
  87. package/src/composables/filePicker/usePickerNavigation.ts +29 -2
  88. package/src/composables/index.ts +0 -7
  89. package/src/composables/useAutoGroup.ts +1 -1
  90. package/src/composables/useBioTemplateComponents.ts +15 -3
  91. package/src/composables/useBioTemplateControls.ts +5 -1
  92. package/src/composables/useBioTemplatePackWorkspace.ts +2 -0
  93. package/src/composables/useBioTemplatePresetWorkspace.ts +5 -1
  94. package/src/composables/useBioTemplateWorkspace.ts +5 -1
  95. package/src/composables/useExperimentSave.ts +5 -1
  96. package/src/composables/useFilePicker.ts +8 -1
  97. package/src/composables/useGroupAssignment.ts +5 -1
  98. package/src/composables/usePlatformFilePickerAdapter.ts +26 -4
  99. package/src/composables/useTemplateCollection.ts +5 -1
  100. package/src/index.ts +1 -1
  101. package/src/lcms.ts +11 -11
  102. package/src/styles/components/action-menu.css +10 -0
  103. package/src/styles/components/app-page-selector.css +61 -17
  104. package/src/styles/components/app-pill-nav.css +1 -1
  105. package/src/styles/components/app-top-bar.css +18 -38
  106. package/src/styles/components/empty-state.css +3 -2
  107. package/src/styles/components/experiment-selector-modal.css +3 -9
  108. package/src/styles/components/file-picker.css +23 -1
  109. package/src/styles/components/file-uploader.css +22 -55
  110. package/src/styles/components/resource-picker-list.css +70 -36
  111. package/src/styles/components/well-plate.css +18 -55
  112. package/src/types/auth.ts +0 -37
  113. package/src/types/components.ts +8 -0
  114. package/src/types/fileBrowserTypes.ts +15 -0
  115. package/src/types/filePicker.ts +8 -1
  116. package/src/types/index.ts +2 -5
  117. package/src/types/platform.ts +2 -0
  118. package/src/utils/rack.ts +16 -16
  119. package/dist/ResourcePickerListInternal-c3IT8PIu.js.map +0 -1
  120. package/dist/__tests__/composables/useAuth.test.d.ts +0 -1
  121. package/dist/__tests__/composables/usePasskey.test.d.ts +0 -1
  122. package/dist/components-CvY105kJ.js.map +0 -1
  123. package/dist/composables/useAuth.d.ts +0 -47
  124. package/dist/composables/usePasskey.d.ts +0 -10
  125. package/dist/composables/useWellPlateEditor.d.ts +0 -33
  126. package/dist/composables-DL4Vca7L.js +0 -1193
  127. package/dist/composables-DL4Vca7L.js.map +0 -1
  128. package/dist/plotly.min-D6Ge6qgX.js +0 -168582
  129. package/dist/plotly.min-D6Ge6qgX.js.map +0 -1
  130. package/dist/templates-Bj9hZ7iV.js.map +0 -1
  131. package/dist/validation-B4Y8_eEe.js.map +0 -1
  132. package/src/__tests__/composables/useAuth.test.ts +0 -290
  133. package/src/__tests__/composables/usePasskey.test.ts +0 -38
  134. package/src/composables/useAuth.ts +0 -470
  135. package/src/composables/usePasskey.ts +0 -216
  136. package/src/composables/useWellPlateEditor.ts +0 -415
@@ -16,30 +16,3 @@ export interface UserInfo {
16
16
  roleObj?: RoleInfo | null;
17
17
  isActive: boolean;
18
18
  }
19
- export interface LoginResponse {
20
- access_token: string;
21
- token_type: string;
22
- expires_in: number;
23
- }
24
- export interface TokenVerifyResponse {
25
- valid: boolean;
26
- username: string | null;
27
- expires_at: string | null;
28
- }
29
- export interface RegisterRequest {
30
- username: string;
31
- password: string;
32
- email?: string;
33
- shortname?: string;
34
- }
35
- export interface UpdateProfileRequest {
36
- email?: string;
37
- shortname?: string;
38
- current_password?: string;
39
- new_password?: string;
40
- }
41
- export interface CredentialInfo {
42
- credential_id: string;
43
- device_name: string | null;
44
- created_at: string;
45
- }
@@ -7,6 +7,8 @@ interface ActionMenuItemBase {
7
7
  label: string;
8
8
  disabled?: boolean;
9
9
  danger?: boolean;
10
+ /** Set on every item to make the menu a single choice (`menuitemradio`); true marks the current one. */
11
+ checked?: boolean;
10
12
  }
11
13
  export type ActionMenuItem = (ActionMenuItemBase & {
12
14
  href?: never;
@@ -14,6 +16,8 @@ export type ActionMenuItem = (ActionMenuItemBase & {
14
16
  }) | (ActionMenuItemBase & {
15
17
  href: string;
16
18
  target?: '_self' | '_blank' | '_parent' | '_top';
19
+ /** Links navigate; only buttons can be single-choice items. */
20
+ checked?: never;
17
21
  });
18
22
  export type InputType = 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url';
19
23
  export type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
@@ -146,6 +150,8 @@ export interface TopBarSettingsConfig {
146
150
  title?: string;
147
151
  tabs?: SettingsTabInput[];
148
152
  showAppearance?: boolean;
153
+ /** List Appearance before the other tabs and open on it. */
154
+ appearanceFirst?: boolean;
149
155
  size?: 'md' | 'lg' | 'xl';
150
156
  layout?: SettingsModalLayout;
151
157
  /** Schema-driven config — when set, fields auto-render via SDK form components. */
@@ -342,6 +348,8 @@ export interface SettingsTab extends AccessControlled {
342
348
  description?: string;
343
349
  /** Optional monospace meta shown right of the tab label — a count, "2 unsaved", etc. */
344
350
  meta?: string;
351
+ /** Rail section heading for this tab when Appearance is shown; defaults to "Plugin". */
352
+ section?: string;
345
353
  }
346
354
  export type SettingsTabInput = SettingsTab | string;
347
355
  export type SettingsModalLayout = 'horizontal' | 'vertical';
@@ -75,3 +75,16 @@ export interface FileBrowserLocation {
75
75
  mount_id: string;
76
76
  path: string;
77
77
  }
78
+ /** Several directory levels in one response, parents before children. */
79
+ export interface FileDirectoryTree {
80
+ listings?: FileDirectoryListing[];
81
+ /** True when the server's entry budget stopped before the requested depth. */
82
+ truncated?: boolean;
83
+ }
84
+ /** Entries whose name contains a query, below one directory. */
85
+ export interface FileSearchResult {
86
+ entries?: FileEntry[];
87
+ searched_directories?: number;
88
+ /** True when a directory, result or time budget ended the search early. */
89
+ truncated?: boolean;
90
+ }
@@ -3,6 +3,8 @@ export type PickerSource = 'server' | 'localFile';
3
3
  export type PickerSelectionMode = 'single-file' | 'multi-file' | 'folder' | 'folder+files';
4
4
  /** `list` shows one folder at a time (the default); `tree` adds disclosure triangles. */
5
5
  export type PickerView = 'list' | 'tree';
6
+ /** Row order inside each folder; folders always come before files. */
7
+ export type PickerSort = 'newest' | 'oldest' | 'name' | 'name-desc';
6
8
  interface PickerNodeBase {
7
9
  path: string;
8
10
  name: string;
@@ -38,6 +40,11 @@ export interface PickerRequest {
38
40
  */
39
41
  refresh?: true;
40
42
  }
43
+ /** What a search found before a server or walk limit stopped it. */
44
+ export interface PickerSearchResult {
45
+ nodes: PickerNode[];
46
+ truncated: boolean;
47
+ }
41
48
  export interface PickerAdapter {
42
49
  /**
43
50
  * `listRoot()` returns mount points. FilePicker then shows them as header
@@ -53,7 +60,7 @@ export interface PickerAdapter {
53
60
  search(query: string, scope: {
54
61
  path: string;
55
62
  recursive: boolean;
56
- }, request?: PickerRequest): Promise<PickerNode[]>;
63
+ }, request?: PickerRequest): Promise<PickerNode[] | PickerSearchResult>;
57
64
  }
58
65
  export interface PickerCapability {
59
66
  /** Case-insensitive suffixes, including compound extensions such as mzML.gz. */
@@ -2,13 +2,13 @@ export type { ContainerDirection, ButtonVariant, ButtonSize, ActionMenuItem, Inp
2
2
  export type * from './generated-ui';
3
3
  export type { AnalysisArtifactStatus, AnalysisArtifactStatusFilter, AnalysisArtifactSummary, AnalysisArtifactDetail, AnalysisArtifactListResponse, AnalysisArtifactTarget, AnalysisArtifactMetadataUpdate, ArtifactSaveMode, ArtifactFileSource, JsonArtifactSavePayload, FileArtifactCreatePayload, FileArtifactUpdatePayload, HandlerFileArtifactCreatePayload, HandlerFileArtifactUpdatePayload, ArtifactSavePayload, HandlerArtifactSavePayload, ArtifactSaveDialogPayload, ArtifactSaveResult, ArtifactSaveHandler, HandlerArtifactSaveHandler, ArtifactSaveDialogHandler, } from './analysisArtifactTypes';
4
4
  export { ANALYSIS_FILE_ARTIFACT_SCHEMA } from './analysisArtifactTypes';
5
- export type { FileBrowserLocation, FileBrowserSortKey, FileDirectoryListing, FileEntry, FileEntryKind, FilePathCrumb, FileSelection, ServerMount, } from './fileBrowserTypes';
5
+ export type { FileBrowserLocation, FileBrowserSortKey, FileDirectoryListing, FileDirectoryTree, FileEntry, FileEntryKind, FilePathCrumb, FileSearchResult, FileSelection, ServerMount, } from './fileBrowserTypes';
6
6
  export type { JobListPayload, JobProgress, JobSnapshotPayload, JobState, JobStateInput, JobStatus, JobStreamData, } from './jobs';
7
7
  export type { InstrumentAlert, InstrumentAlertLevel, InstrumentAlertList, InstrumentBadgeState, InstrumentLiveProgress, InstrumentLiveStatus, InstrumentState, InstrumentStatus, InstrumentStatusReporter, SampleInfo, SampleInfo as InstrumentSampleInfo, SequenceProgress, } from './instrument';
8
8
  export type { LcmsContainerType, LcmsPolarity, LcmsSequenceItem, LcmsSequenceTableColumn, } from '../lcms';
9
9
  export type { AccessAudience, AccessAudienceInput, AccessPolicy, AccessControlled, PermissionUser, RoleInfo, } from '../permissions';
10
10
  export type { FormFieldType, FieldCondition, FieldValidation, FormFieldSchema, FormOptionInput, FormSectionSchema, FormStepSchema, FormSchema, FieldEnhancement, FormEnhancements, UseFormBuilderReturn, } from './form-builder';
11
11
  export type { OutlierAction, InputMode, OutlierInfo, ColumnInfo, MetadataRow, AutoGroupResult, ParsedCsvData, } from './auto-group';
12
- export type { AuthConfig, UserInfo, LoginResponse, TokenVerifyResponse, RegisterRequest, UpdateProfileRequest, CredentialInfo, } from './auth';
12
+ export type { AuthConfig, UserInfo, } from './auth';
13
13
  export type { PluginInfo, PluginNavItem, PluginSettings, PluginSettingField, PlatformContext, PlatformContextOptions, PlatformEventType, PlatformEvent, ThemeMode, ColorPalette, TableDensity, UserSummary, } from './platform';
14
14
  export type * from './filePicker';
@@ -2,6 +2,8 @@ import { RoleInfo } from '../permissions';
2
2
  export interface PluginInfo {
3
3
  id: string;
4
4
  name: string;
5
+ /** Name to show in the UI; the platform falls back to the plugin ID. Absent before MINT 1.3. */
6
+ display_name?: string;
5
7
  version: string;
6
8
  plugin_type?: string;
7
9
  description?: string;
@@ -1,9 +1,9 @@
1
1
  import { Rack, SlotPosition, WellEditData, WellPlateFormat } from '../types';
2
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
2
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
3
3
  export type LcmsPlateType = '96well' | '54vial';
4
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
4
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
5
5
  export type LcmsControlSampleType = 'blank' | 'qc' | 'iqc';
6
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
6
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
7
7
  export interface LcmsPlateCell {
8
8
  row: string;
9
9
  column: number;
@@ -14,7 +14,7 @@ export interface LcmsPlateCell {
14
14
  custom_method?: string | null;
15
15
  slot?: SlotPosition | null;
16
16
  }
17
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
17
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
18
18
  export interface LcmsPlateCellsToRackOptions {
19
19
  rackId?: string;
20
20
  rackName?: string;
@@ -23,39 +23,39 @@ export interface LcmsPlateCellsToRackOptions {
23
23
  slot?: SlotPosition;
24
24
  injectionVolume?: number;
25
25
  }
26
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
26
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
27
27
  export interface LcmsPlateCellsToRacksOptions extends Omit<LcmsPlateCellsToRackOptions, 'rackId' | 'rackName' | 'slot'> {
28
28
  defaultSlot?: SlotPosition;
29
29
  rackId?: (slot: SlotPosition, index: number) => string;
30
30
  rackName?: (slot: SlotPosition, index: number) => string;
31
31
  }
32
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
32
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
33
33
  export declare const LCMS_DEFAULT_CONTROL_POSITIONS: Record<LcmsPlateType, Record<LcmsControlSampleType, {
34
34
  row: string;
35
35
  column: number;
36
36
  }>>;
37
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
37
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
38
38
  export declare function lcmsPlateTypeToRackFormat(plateType: LcmsPlateType): WellPlateFormat;
39
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
39
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
40
40
  export declare function rackFormatToLcmsPlateType(format: WellPlateFormat): LcmsPlateType;
41
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
41
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
42
42
  export declare function lcmsWellId(row: string, column: number): string;
43
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
43
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
44
44
  export declare function parseLcmsWellId(wellId: string): {
45
45
  row: string;
46
46
  column: number;
47
47
  };
48
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
48
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
49
49
  export declare function lcmsPlateCellsToRack(cells: LcmsPlateCell[], options?: LcmsPlateCellsToRackOptions): Rack;
50
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
50
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
51
51
  export declare function lcmsPlateCellsToRacks(cells: LcmsPlateCell[], options?: LcmsPlateCellsToRacksOptions): Rack[];
52
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
52
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
53
53
  export declare function rackToLcmsPlateCells(rack: Rack): LcmsPlateCell[];
54
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
54
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
55
55
  export declare function racksToLcmsPlateCells(racks: Rack[]): LcmsPlateCell[];
56
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
56
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
57
57
  export declare function getLcmsDefaultControlWellId(plateType: LcmsPlateType, sampleType: LcmsControlSampleType): string;
58
- /** @deprecated Scheduled for removal in MINT 1.4; LC-MS helpers move to the mld-ms plugins. */
58
+ /** @deprecated Scheduled for removal in MINT 1.4; no SDK replacement. */
59
59
  export declare function createLcmsControlWellEditData(sampleType: LcmsControlSampleType, options?: {
60
60
  wellId?: string;
61
61
  plateType?: LcmsPlateType;
@@ -1,6 +1,6 @@
1
1
  import { o as useSettingsStore } from "./settings-BLr8lzw6.js";
2
2
  import { d as resolveExperimentCode, o as datePresetToISO } from "./experiment-utils-DTANyVKV.js";
3
- import { $t as getBioTemplatePackInfo, An as getControlDefaults, B as toBioTemplateComponentProps, Bn as getDefaultControlView, Er as PLUGIN_SECRET_FORMAT_KEY, F as getBioTemplateComponentProps$1, Gn as getFieldRegistryEntry, H as toBioTemplateComponentPropsById, Hn as omitUndefined, Kn as getTypeDefault, L as toBioTemplateComponentBindings, P as getBioTemplateComponentBindings, R as toBioTemplateComponentBindingsById, Tn as deriveShade, U as toBioTemplateComponentSnippets, Un as recordValue, V as toBioTemplateComponentPropsByComponent$1, Vn as normalizeControlDefinition, W as toBioTemplateComponentUsage, Wn as replaceRecord$1, Yn as useConcentrationUnits, Yt as getBioTemplatePresetInfo, ar as getInjectedPlatformContext, bn as rowIndex, br as isRecord, cn as createTemplateCollection, d as createBioTemplatePresetCollectionFromControls, dn as ensureTemplateFromCollection, fn as extractTemplateCollection, fr as isActiveJobStatus, gr as normalizeJobState, i as createBioTemplateControlToolkit, ir as currentExperimentFromContext, jn as useControlSchema, mn as PLATE_CONFIGS, or as parseExperimentId, p as createBioTemplatePackCollection, sr as resolveCurrentExperimentId, u as createBioTemplatePresetCollection, vr as useEventStream, xn as rowLabel, z as toBioTemplateComponentImports, zn as controlsToViewItems } from "./templates-Bj9hZ7iV.js";
3
+ import { $t as getBioTemplatePackInfo, An as getControlDefaults, B as toBioTemplateComponentProps, Bn as getDefaultControlView, Er as PLUGIN_SECRET_FORMAT_KEY, F as getBioTemplateComponentProps$1, Gn as getFieldRegistryEntry, H as toBioTemplateComponentPropsById, Hn as omitUndefined, Kn as getTypeDefault, L as toBioTemplateComponentBindings, P as getBioTemplateComponentBindings, R as toBioTemplateComponentBindingsById, Tn as deriveShade, U as toBioTemplateComponentSnippets, Un as recordValue, V as toBioTemplateComponentPropsByComponent$1, Vn as normalizeControlDefinition, W as toBioTemplateComponentUsage, Wn as replaceRecord$1, Yn as useConcentrationUnits, Yt as getBioTemplatePresetInfo, ar as getInjectedPlatformContext, bn as rowIndex, br as isRecord, cn as createTemplateCollection, d as createBioTemplatePresetCollectionFromControls, dn as ensureTemplateFromCollection, fn as extractTemplateCollection, fr as isActiveJobStatus, gr as normalizeJobState, i as createBioTemplateControlToolkit, ir as currentExperimentFromContext, jn as useControlSchema, mn as PLATE_CONFIGS, or as parseExperimentId, p as createBioTemplatePackCollection, sr as resolveCurrentExperimentId, u as createBioTemplatePresetCollection, vr as useEventStream, xn as rowLabel, z as toBioTemplateComponentImports, zn as controlsToViewItems } from "./templates-BU1pet28.js";
4
4
  import { a as useApi, i as authenticationRequiredError, n as readErrorMessage, o as useAuthStore, r as AuthenticationRequiredError, t as useExperimentStore } from "./experiment-DgllIc3I.js";
5
5
  import { computed, effectScope, getCurrentScope, inject, nextTick, onMounted, onScopeDispose, onUnmounted, provide, reactive, readonly, ref, shallowRef, toRaw, toValue, unref, watch } from "vue";
6
6
  //#region src/composables/useRovingFocus.ts
@@ -4777,7 +4777,7 @@ function warnDeprecated(api) {
4777
4777
  /**
4778
4778
  * Sample-grouping engine behind `AutoGroupModal`.
4779
4779
  *
4780
- * @deprecated Scheduled for removal in MINT 1.4; use `SmartGroupModal` instead.
4780
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
4781
4781
  */
4782
4782
  function useAutoGroup() {
4783
4783
  const inputMode = ref("paste");
@@ -5972,7 +5972,11 @@ function clampRange(start, end, min, max) {
5972
5972
  }
5973
5973
  //#endregion
5974
5974
  //#region src/composables/useExperimentSave.ts
5975
- /** Persists experiment design, analysis, and built-in template preset data through the platform API. */
5975
+ /**
5976
+ * Persists experiment design, analysis, and built-in template preset data through the platform API.
5977
+ *
5978
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
5979
+ */
5976
5980
  function useExperimentSave(options = {}) {
5977
5981
  const injectedContext = getInjectedPlatformContext();
5978
5982
  const api = useApi({ baseUrl: options.apiBaseUrl ?? injectedContext?.platformApiUrl });
@@ -6170,7 +6174,11 @@ function useExperimentSave(options = {}) {
6170
6174
  }
6171
6175
  //#endregion
6172
6176
  //#region src/composables/useTemplateCollection.ts
6173
- /** Manages a biology template collection in the current experiment's design_data. */
6177
+ /**
6178
+ * Manages a biology template collection in the current experiment's design_data.
6179
+ *
6180
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
6181
+ */
6174
6182
  function useTemplateCollection(options = {}) {
6175
6183
  const experimentSave = useExperimentSave(options);
6176
6184
  const templateCollection = ref(createInitialCollection(options));
@@ -6266,7 +6274,11 @@ function readCollectionMetadata(value) {
6266
6274
  }
6267
6275
  //#endregion
6268
6276
  //#region src/composables/useBioTemplateControls.ts
6269
- /** Build FormBuilder schema, AppSidebar panels, and defaults for a built-in biology template or preset. */
6277
+ /**
6278
+ * Build FormBuilder schema, AppSidebar panels, and defaults for a built-in biology template or preset.
6279
+ *
6280
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
6281
+ */
6270
6282
  function useBioTemplateControls(target, options = {}) {
6271
6283
  const { initialValues, topBarSettings: _topBarSettings, ...schemaOptions } = options;
6272
6284
  const controls = createBioTemplateControlToolkit(target, schemaOptions);
@@ -6281,15 +6293,27 @@ function useBioTemplateControls(target, options = {}) {
6281
6293
  }
6282
6294
  //#endregion
6283
6295
  //#region src/composables/useBioTemplateComponents.ts
6284
- /** Return component props grouped by SDK component name for direct WellPlate/DoseCalculator binding. */
6296
+ /**
6297
+ * Return component props grouped by SDK component name for direct WellPlate/DoseCalculator binding.
6298
+ *
6299
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
6300
+ */
6285
6301
  function toBioTemplateComponentPropsByComponent(target) {
6286
6302
  return toBioTemplateComponentPropsByComponent$1(target);
6287
6303
  }
6288
- /** Return the first props object for an SDK component, optionally restricted by template id or binding id. */
6304
+ /**
6305
+ * Return the first props object for an SDK component, optionally restricted by template id or binding id.
6306
+ *
6307
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
6308
+ */
6289
6309
  function getBioTemplateComponentProps(target, component, options = {}) {
6290
6310
  return getBioTemplateComponentProps$1(target, component, options);
6291
6311
  }
6292
- /** Map built-in biology templates to SDK components such as WellPlate, DataFrame, DoseCalculator, and PlateEditor. */
6312
+ /**
6313
+ * Map built-in biology templates to SDK components such as WellPlate, DataFrame, DoseCalculator, and PlateEditor.
6314
+ *
6315
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
6316
+ */
6293
6317
  function useBioTemplateComponents(target) {
6294
6318
  return {
6295
6319
  bindings: getBioTemplateComponentBindings(target),
@@ -6357,7 +6381,11 @@ function liftWorkspaceComponentBindings(workspace) {
6357
6381
  }
6358
6382
  //#endregion
6359
6383
  //#region src/composables/useBioTemplateWorkspace.ts
6360
- /** One-stop wiring for BioTemplateRenderer, FormBuilder, AppSidebar, and template-aware SDK components. */
6384
+ /**
6385
+ * One-stop wiring for BioTemplateRenderer, FormBuilder, AppSidebar, and template-aware SDK components.
6386
+ *
6387
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
6388
+ */
6361
6389
  function useBioTemplateWorkspace(target, options = {}) {
6362
6390
  const controls = useBioTemplateControls(target, options);
6363
6391
  const workspace = useControlWorkspace(controls.controls, options);
@@ -6414,6 +6442,8 @@ function isTemplateObjectTarget(target) {
6414
6442
  * const pack = useBioTemplatePackWorkspace('cell-culture-screen')
6415
6443
  * await pack.loadCurrent()
6416
6444
  * ```
6445
+ *
6446
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
6417
6447
  */
6418
6448
  function useBioTemplatePackWorkspace(packId, options = {}) {
6419
6449
  const pack = getBioTemplatePackInfo(packId);
@@ -6494,7 +6524,11 @@ function useBioTemplatePackWorkspace(packId, options = {}) {
6494
6524
  }
6495
6525
  //#endregion
6496
6526
  //#region src/composables/useBioTemplatePresetWorkspace.ts
6497
- /** Create a complete editable WellPlate/DoseCalculator workspace for dose design from a built-in biology template preset with current-experiment save wiring. */
6527
+ /**
6528
+ * Create a complete editable WellPlate/DoseCalculator workspace for dose design from a built-in biology template preset with current-experiment save wiring.
6529
+ *
6530
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
6531
+ */
6498
6532
  function useBioTemplatePresetWorkspace(presetId, options = {}) {
6499
6533
  const { controlOptions, initialValues, ...collectionOptions } = options;
6500
6534
  const resolvedControlOptions = mergeInitialValues(controlOptions, initialValues);
@@ -6665,7 +6699,11 @@ function mergeInitialValues(controlOptions, initialValues) {
6665
6699
  }
6666
6700
  //#endregion
6667
6701
  //#region src/composables/useGroupAssignment.ts
6668
- /** Shared two-zone group assignment model for control/treatment style workflows. */
6702
+ /**
6703
+ * Shared two-zone group assignment model for control/treatment style workflows.
6704
+ *
6705
+ * @deprecated Scheduled for removal in MINT 1.4; no SDK replacement.
6706
+ */
6669
6707
  function useGroupAssignment(options) {
6670
6708
  const groups = computed(() => [...toValue(options.groups)]);
6671
6709
  const group1 = computed(() => [...toValue(options.group1)]);
@@ -7822,4 +7860,4 @@ function pickerFormat(name) {
7822
7860
  //#endregion
7823
7861
  export { pluginFormDataFromPayload as $, parseDelimitedText as A, getPresenceClientId as At, useRackEditor as B, useRovingFocus as Bt, useExperimentSamples as C, controlValuesToComponentBindingsById as Ct, getSampleGroupMajorPrefix as D, useAppExperiment as Dt, useSampleGroups as E, APP_EXPERIMENT_KEY as Et, useAutoGroup as F, candidateMatchesSearch as Ft, useDoseCalculator as G, reorderList as H, extractSampleNamesFromDesignData as I, normalizeSearchQuery as It, usePluginJobCenter as J, combinePluginJobSources as K, extractSampleOptionsFromDesignData as L, useTextSearch as Lt, useFileImport as M, usePlatformContext as Mt, validateImportFile as N, useTheme as Nt, getSampleGroupParentPath as O, getInjectedFrontendRevision as Ot, extractSamplesFromDesignData as P, useToast as Pt, getPluginPageSelectorItems as Q, unwrapExperimentDesignData as R, compareSortValues as Rt, useScheduleDrag as S, controlValuesToComponentBindings as St, useExpansionSet as T, mergeControlWorkspaceOptions as Tt, useListReorder as U, REORDER_ANNOUNCER_STYLE as V, useReorderAnnouncer as W, downloadBlob as X, createPluginClient as Y, downloadPluginEndpoint as Z, toBioTemplateComponentPropsByComponent as _, defineWellPlateDoseComponentBindings as _t, useExperimentSelector as a, buildPluginEndpointUrl as at, useTemplateCollection as b, defineControlModel as bt, DEFAULT_PRESETS as c, usePluginWorkspace as ct, useReagentSeries as d, useFormBuilder as dt, uploadPluginEndpoint as et, useGroupAssignment as f, evaluateCondition as ft, getBioTemplateComponentProps as g, defineWellPlateControlProps as gt, useBioTemplateWorkspace as h, defineDoseDesignControlModel as ht, useAnalysisArtifacts as i, usePluginSettings as it, readFileAsText as j, usePresenceHeartbeat as jt, detectDelimiter as k, useRuntimeAlignment as kt, DEFAULT_UNITS as l, DEFAULT_MOBILE_VIEWPORT_QUERY as lt, useBioTemplatePackWorkspace as m, defineDoseCalculatorControlProps as mt, pickerFormat as n, usePluginClient as nt, useDebouncedWatch as o, resolvePluginBaseUrl as ot, useBioTemplatePresetWorkspace as p, useForm as pt, useJobsStatusTray as q, pickerReason as r, usePluginEventStream as rt, useProtocolTemplates as s, useRequestSyncState as st, pickerExclusion as t, useCurrentExperiment as tt, generateDilutionSeries as u, useMobileSupportGate as ut, useBioTemplateComponents as v, defineWellPlateDoseControlProps as vt, useExperimentData as w, controlValuesToComponentProps as wt, useExperimentSave as x, resolveControlModel as xt, useBioTemplateControls as y, useControlWorkspace as yt, DEFAULT_COLORS as z, useSortedItems as zt };
7824
7862
 
7825
- //# sourceMappingURL=validation-B4Y8_eEe.js.map
7863
+ //# sourceMappingURL=validation-Dmp9Q5W0.js.map