@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.
- package/README.md +23 -140
- package/dist/{ResourcePickerListInternal-c3IT8PIu.js → ResourcePickerListInternal-CFAw4vTZ.js} +26 -19
- package/dist/ResourcePickerListInternal-CFAw4vTZ.js.map +1 -0
- package/dist/components/FilePicker.vue.d.ts +4 -1
- package/dist/components/SettingsModal.schema.d.ts +1 -1
- package/dist/components/SettingsModal.vue.d.ts +2 -0
- package/dist/components/WellPlate.colors.d.ts +1 -5
- package/dist/components/WellPlate.rendering.d.ts +5 -2
- package/dist/components/index.d.ts +32 -17
- package/dist/components/index.js +3 -3
- package/dist/components/internal/FilePickerListInternal.vue.d.ts +2 -0
- package/dist/components/internal/ResourcePickerListInternal.vue.d.ts +9 -3
- package/dist/{components-CvY105kJ.js → components-vHfxV2PB.js} +425 -392
- package/dist/components-vHfxV2PB.js.map +1 -0
- package/dist/composables/createFilePickerAdapter.d.ts +5 -1
- package/dist/composables/filePicker/usePickerNavigation.d.ts +3 -2
- package/dist/composables/index.d.ts +0 -3
- package/dist/composables/index.js +4 -4
- package/dist/composables/useAutoGroup.d.ts +1 -1
- package/dist/composables/useBioTemplateComponents.d.ts +15 -3
- package/dist/composables/useBioTemplateControls.d.ts +5 -1
- package/dist/composables/useBioTemplatePackWorkspace.d.ts +2 -0
- package/dist/composables/useBioTemplatePresetWorkspace.d.ts +5 -1
- package/dist/composables/useBioTemplateWorkspace.d.ts +5 -1
- package/dist/composables/useExperimentSave.d.ts +5 -1
- package/dist/composables/useFilePicker.d.ts +4 -1
- package/dist/composables/useGroupAssignment.d.ts +5 -1
- package/dist/composables/usePlatformContext.d.ts +3 -0
- package/dist/composables/useTemplateCollection.d.ts +5 -1
- package/dist/composables-D6uqp0UF.js +591 -0
- package/dist/composables-D6uqp0UF.js.map +1 -0
- package/dist/index.js +24 -24
- package/dist/index.js.map +1 -1
- package/dist/install.js +1 -1
- package/dist/lcms.d.ts +11 -11
- package/dist/styles.css +228 -214
- package/dist/templates/index.js +1 -1
- package/dist/{templates-Bj9hZ7iV.js → templates-BU1pet28.js} +31 -44
- package/dist/templates-BU1pet28.js.map +1 -0
- package/dist/types/auth.d.ts +0 -27
- package/dist/types/components.d.ts +8 -0
- package/dist/types/fileBrowserTypes.d.ts +13 -0
- package/dist/types/filePicker.d.ts +8 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/platform.d.ts +2 -0
- package/dist/utils/rack.d.ts +16 -16
- package/dist/{validation-B4Y8_eEe.js → validation-Dmp9Q5W0.js} +50 -12
- package/dist/validation-Dmp9Q5W0.js.map +1 -0
- package/package.json +1 -6
- package/src/__tests__/components/ActionMenu.test.ts +10 -0
- package/src/__tests__/components/AppTopBar.test.ts +24 -8
- package/src/__tests__/components/AppTopBarPageSelector.test.ts +4 -4
- package/src/__tests__/components/EmptyState.test.ts +15 -0
- package/src/__tests__/components/ExperimentSelectorModal.test.ts +12 -5
- package/src/__tests__/components/FilePicker.test.ts +65 -1
- package/src/__tests__/components/FileUploader.test.ts +6 -9
- package/src/__tests__/components/ResourcePickerListInternal.test.ts +23 -4
- package/src/__tests__/components/SettingsModal.test.ts +22 -0
- package/src/__tests__/components/WellPlate.decoration.test.ts +4 -28
- package/src/__tests__/components/WellPlate.rendering.test.ts +20 -33
- package/src/__tests__/components/WellPlate.sampleTypeIndicator.test.ts +7 -7
- package/src/__tests__/composables/createFilePickerAdapter.test.ts +92 -1
- package/src/__tests__/composables/usePickerNavigation.test.ts +61 -1
- package/src/__tests__/composables/usePlatformFilePickerAdapter.test.ts +18 -6
- package/src/__tests__/docs/frontendDocsCatalog.test.ts +2 -2
- package/src/__tests__/styles/controlRefreshRules.test.ts +21 -8
- package/src/__tests__/styles/menusShellRefresh.test.ts +20 -5
- package/src/__tests__/templates/templatesDeprecation.test.ts +58 -11
- package/src/components/ActionMenu.vue +10 -2
- package/src/components/AppTopBar.vue +6 -4
- package/src/components/EmptyState.vue +3 -1
- package/src/components/ExperimentSelectorModal.vue +4 -1
- package/src/components/FilePicker.vue +42 -0
- package/src/components/FileUploader.vue +30 -46
- package/src/components/SettingsModal.schema.ts +4 -2
- package/src/components/SettingsModal.vue +4 -2
- package/src/components/WellPlate.colors.ts +6 -10
- package/src/components/WellPlate.legend.ts +4 -4
- package/src/components/WellPlate.rendering.ts +9 -8
- package/src/components/WellPlate.vue +5 -22
- package/src/components/index.ts +32 -17
- package/src/components/internal/AppTopBarPageSelectorInternal.vue +3 -6
- package/src/components/internal/FilePickerListInternal.vue +11 -2
- package/src/components/internal/ResourcePickerListInternal.vue +21 -27
- package/src/composables/autoGroup/index.ts +1 -1
- package/src/composables/createFilePickerAdapter.ts +82 -22
- package/src/composables/filePicker/usePickerNavigation.ts +29 -2
- package/src/composables/index.ts +0 -7
- package/src/composables/useAutoGroup.ts +1 -1
- package/src/composables/useBioTemplateComponents.ts +15 -3
- package/src/composables/useBioTemplateControls.ts +5 -1
- package/src/composables/useBioTemplatePackWorkspace.ts +2 -0
- package/src/composables/useBioTemplatePresetWorkspace.ts +5 -1
- package/src/composables/useBioTemplateWorkspace.ts +5 -1
- package/src/composables/useExperimentSave.ts +5 -1
- package/src/composables/useFilePicker.ts +8 -1
- package/src/composables/useGroupAssignment.ts +5 -1
- package/src/composables/usePlatformFilePickerAdapter.ts +26 -4
- package/src/composables/useTemplateCollection.ts +5 -1
- package/src/index.ts +1 -1
- package/src/lcms.ts +11 -11
- package/src/styles/components/action-menu.css +10 -0
- package/src/styles/components/app-page-selector.css +61 -17
- package/src/styles/components/app-pill-nav.css +1 -1
- package/src/styles/components/app-top-bar.css +18 -38
- package/src/styles/components/empty-state.css +3 -2
- package/src/styles/components/experiment-selector-modal.css +3 -9
- package/src/styles/components/file-picker.css +23 -1
- package/src/styles/components/file-uploader.css +22 -55
- package/src/styles/components/resource-picker-list.css +70 -36
- package/src/styles/components/well-plate.css +18 -55
- package/src/types/auth.ts +0 -37
- package/src/types/components.ts +8 -0
- package/src/types/fileBrowserTypes.ts +15 -0
- package/src/types/filePicker.ts +8 -1
- package/src/types/index.ts +2 -5
- package/src/types/platform.ts +2 -0
- package/src/utils/rack.ts +16 -16
- package/dist/ResourcePickerListInternal-c3IT8PIu.js.map +0 -1
- package/dist/__tests__/composables/useAuth.test.d.ts +0 -1
- package/dist/__tests__/composables/usePasskey.test.d.ts +0 -1
- package/dist/components-CvY105kJ.js.map +0 -1
- package/dist/composables/useAuth.d.ts +0 -47
- package/dist/composables/usePasskey.d.ts +0 -10
- package/dist/composables/useWellPlateEditor.d.ts +0 -33
- package/dist/composables-DL4Vca7L.js +0 -1193
- package/dist/composables-DL4Vca7L.js.map +0 -1
- package/dist/plotly.min-D6Ge6qgX.js +0 -168582
- package/dist/plotly.min-D6Ge6qgX.js.map +0 -1
- package/dist/templates-Bj9hZ7iV.js.map +0 -1
- package/dist/validation-B4Y8_eEe.js.map +0 -1
- package/src/__tests__/composables/useAuth.test.ts +0 -290
- package/src/__tests__/composables/usePasskey.test.ts +0 -38
- package/src/composables/useAuth.ts +0 -470
- package/src/composables/usePasskey.ts +0 -216
- package/src/composables/useWellPlateEditor.ts +0 -415
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
import { a as tryUseSettingsStore, c as mintApiErrorFromResponse, i as tableDensityToSize, n as colorPalettes, o as useSettingsStore } from "./settings-BLr8lzw6.js";
|
|
2
|
-
import { a as SORT_OPTIONS, c as formatExperimentDate, f as BaseModal_default, h as BaseButton_default, l as formatExperimentStatus, m as useEventListener, p as useFocusTrap, r as EXPERIMENT_STATUS_OPTIONS, t as DATE_PRESET_OPTIONS } from "./experiment-utils-DTANyVKV.js";
|
|
3
|
-
import { a as normalizeOptionInput, i as BaseSelect_default, n as Skeleton_default, o as BaseInput_default, r as EmptyState_default, t as ResourcePickerListInternal_default } from "./ResourcePickerListInternal-
|
|
4
|
-
import { $n as FormulaInput_default, An as getControlDefaults, B as toBioTemplateComponentProps, Cn as SAMPLE_GROUP_TOKENS, Cr as FileUploader_default, F as getBioTemplateComponentProps, Fn as controlsToSettingsSchema, Gn as getFieldRegistryEntry, H as toBioTemplateComponentPropsById, Hr as durationMinutes, In as controlsToSidebarPanels, Jn as UnitInput_default, Kr as formatTime, L as toBioTemplateComponentBindings, Mn as controlsToFormSchema, Pn as controlsToSectionFormSchemas, R as toBioTemplateComponentBindingsById, Rr as TagsInput_default, Sn as SAMPLE_COLOR_SCALE, Sr as _plugin_vue_export_helper_default, Tr as SecretInput_default, V as toBioTemplateComponentPropsByComponent, Vr as compareTime, Xn as MoleculeInput_default, Yn as useConcentrationUnits, Zn as SequenceInput_default, _n as createPlateRowLabels, ai as useListSelection, ar as getInjectedPlatformContext, br as isRecord, ci as BaseRadioGroup_default, di as Tooltip_default, fi as BaseTextarea_default, fn as extractTemplateCollection, gn as createPlateColumnLabels, hn as WELL_PLATE_SIZE_CONFIGS, hr as normalizeJobPercent, ii as MultiSelect_default, li as BaseToggle_default, lr as createGeneratedAnalysisTransport, mn as PLATE_CONFIGS, mr as jobStatusLabel, ni as DatePicker_default, nr as GeneratedPathInput_default, qn as ConcentrationInput_default, ri as useDropdownState, rr as GENERATED_JOBS_API_KEY, si as BaseSlider_default, sr as resolveCurrentExperimentId, tr as useChemicalFormula, ui as BaseCheckbox_default, ur as useGeneratedAnalysis, vn as createWellGrid, wn as SLOT_ORDER, wr as NumberInput_default, xr as useMenuKeyboard, yn as getRectangleWellIds, yr as DateTimePicker_default, zr as TimePicker_default } from "./templates-
|
|
5
|
-
import { B as useRackEditor, Bt as useRovingFocus, C as useExperimentSamples, D as getSampleGroupMajorPrefix, Dt as useAppExperiment, E as useSampleGroups, Et as APP_EXPERIMENT_KEY, F as useAutoGroup, G as useDoseCalculator, H as reorderList, J as usePluginJobCenter, Lt as useTextSearch, Mt as usePlatformContext, Nt as useTheme, O as getSampleGroupParentPath, Ot as getInjectedFrontendRevision, Pt as useToast, S as useScheduleDrag, T as useExpansionSet, Tt as mergeControlWorkspaceOptions, U as useListReorder, W as useReorderAnnouncer, X as downloadBlob, a as useExperimentSelector, c as DEFAULT_PRESETS, ct as usePluginWorkspace, d as useReagentSeries, dt as useFormBuilder, f as useGroupAssignment, ht as defineDoseDesignControlModel, i as useAnalysisArtifacts, j as readFileAsText, jt as usePresenceHeartbeat, kt as useRuntimeAlignment, l as DEFAULT_UNITS, lt as DEFAULT_MOBILE_VIEWPORT_QUERY, m as useBioTemplatePackWorkspace, n as pickerFormat, p as useBioTemplatePresetWorkspace, r as pickerReason, s as useProtocolTemplates, st as useRequestSyncState, t as pickerExclusion, ut as useMobileSupportGate, w as useExperimentData, xt as resolveControlModel, yt as useControlWorkspace, z as DEFAULT_COLORS, zt as useSortedItems } from "./validation-
|
|
2
|
+
import { a as SORT_OPTIONS, c as formatExperimentDate, f as BaseModal_default, h as BaseButton_default, l as formatExperimentStatus, m as useEventListener, p as useFocusTrap, r as EXPERIMENT_STATUS_OPTIONS, t as DATE_PRESET_OPTIONS, u as getExperimentStatusVariant } from "./experiment-utils-DTANyVKV.js";
|
|
3
|
+
import { a as normalizeOptionInput, i as BaseSelect_default, n as Skeleton_default, o as BaseInput_default, r as EmptyState_default, t as ResourcePickerListInternal_default } from "./ResourcePickerListInternal-CFAw4vTZ.js";
|
|
4
|
+
import { $n as FormulaInput_default, An as getControlDefaults, B as toBioTemplateComponentProps, Cn as SAMPLE_GROUP_TOKENS, Cr as FileUploader_default, F as getBioTemplateComponentProps, Fn as controlsToSettingsSchema, Gn as getFieldRegistryEntry, H as toBioTemplateComponentPropsById, Hr as durationMinutes, In as controlsToSidebarPanels, Jn as UnitInput_default, Kr as formatTime, L as toBioTemplateComponentBindings, Mn as controlsToFormSchema, Pn as controlsToSectionFormSchemas, R as toBioTemplateComponentBindingsById, Rr as TagsInput_default, Sn as SAMPLE_COLOR_SCALE, Sr as _plugin_vue_export_helper_default, Tr as SecretInput_default, V as toBioTemplateComponentPropsByComponent, Vr as compareTime, Xn as MoleculeInput_default, Yn as useConcentrationUnits, Zn as SequenceInput_default, _n as createPlateRowLabels, ai as useListSelection, ar as getInjectedPlatformContext, br as isRecord, ci as BaseRadioGroup_default, di as Tooltip_default, fi as BaseTextarea_default, fn as extractTemplateCollection, gn as createPlateColumnLabels, hn as WELL_PLATE_SIZE_CONFIGS, hr as normalizeJobPercent, ii as MultiSelect_default, li as BaseToggle_default, lr as createGeneratedAnalysisTransport, mn as PLATE_CONFIGS, mr as jobStatusLabel, ni as DatePicker_default, nr as GeneratedPathInput_default, qn as ConcentrationInput_default, ri as useDropdownState, rr as GENERATED_JOBS_API_KEY, si as BaseSlider_default, sr as resolveCurrentExperimentId, tr as useChemicalFormula, ui as BaseCheckbox_default, ur as useGeneratedAnalysis, vn as createWellGrid, wn as SLOT_ORDER, wr as NumberInput_default, xr as useMenuKeyboard, yn as getRectangleWellIds, yr as DateTimePicker_default, zr as TimePicker_default } from "./templates-BU1pet28.js";
|
|
5
|
+
import { B as useRackEditor, Bt as useRovingFocus, C as useExperimentSamples, D as getSampleGroupMajorPrefix, Dt as useAppExperiment, E as useSampleGroups, Et as APP_EXPERIMENT_KEY, F as useAutoGroup, G as useDoseCalculator, H as reorderList, J as usePluginJobCenter, Lt as useTextSearch, Mt as usePlatformContext, Nt as useTheme, O as getSampleGroupParentPath, Ot as getInjectedFrontendRevision, Pt as useToast, S as useScheduleDrag, T as useExpansionSet, Tt as mergeControlWorkspaceOptions, U as useListReorder, W as useReorderAnnouncer, X as downloadBlob, a as useExperimentSelector, c as DEFAULT_PRESETS, ct as usePluginWorkspace, d as useReagentSeries, dt as useFormBuilder, f as useGroupAssignment, ht as defineDoseDesignControlModel, i as useAnalysisArtifacts, j as readFileAsText, jt as usePresenceHeartbeat, kt as useRuntimeAlignment, l as DEFAULT_UNITS, lt as DEFAULT_MOBILE_VIEWPORT_QUERY, m as useBioTemplatePackWorkspace, n as pickerFormat, p as useBioTemplatePresetWorkspace, r as pickerReason, s as useProtocolTemplates, st as useRequestSyncState, t as pickerExclusion, ut as useMobileSupportGate, w as useExperimentData, xt as resolveControlModel, yt as useControlWorkspace, z as DEFAULT_COLORS, zt as useSortedItems } from "./validation-Dmp9Q5W0.js";
|
|
6
6
|
import { canAccessByPolicy, hasAllPermissions } from "./permissions.js";
|
|
7
7
|
import { a as useApi, o as useAuthStore, t as useExperimentStore } from "./experiment-DgllIc3I.js";
|
|
8
8
|
import { t as ANALYSIS_FILE_ARTIFACT_SCHEMA } from "./analysisArtifactTypes-Cy3D0Ipg.js";
|
|
9
9
|
import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, effectScope, guardReactiveProps, h, inject, isRef, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, provide, reactive, ref, renderList, renderSlot, resolveComponent, resolveDynamicComponent, shallowRef, toDisplayString, toHandlers, toRaw, toRef, unref, useId, useModel, useSlots, useTemplateRef, vModelCheckbox, vModelText, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
|
|
10
10
|
import { computePosition, flip, offset, shift } from "@floating-ui/dom";
|
|
11
|
-
import { ChevronRight, Download, Ellipsis, Move, Plus, Redo2, RefreshCw, Trash2, Undo2, Upload, X } from "lucide-vue-next";
|
|
11
|
+
import { Check, ChevronRight, Download, Ellipsis, Move, Plus, Redo2, RefreshCw, Trash2, Undo2, Upload, X } from "lucide-vue-next";
|
|
12
12
|
//#region \0rolldown/runtime.js
|
|
13
|
-
var __create = Object.create;
|
|
14
13
|
var __defProp = Object.defineProperty;
|
|
15
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
16
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
17
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
18
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
19
|
-
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
20
14
|
var __exportAll = (all, no_symbols) => {
|
|
21
15
|
let target = {};
|
|
22
16
|
for (var name in all) __defProp(target, name, {
|
|
@@ -26,20 +20,6 @@ var __exportAll = (all, no_symbols) => {
|
|
|
26
20
|
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
27
21
|
return target;
|
|
28
22
|
};
|
|
29
|
-
var __copyProps = (to, from, except, desc) => {
|
|
30
|
-
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
31
|
-
key = keys[i];
|
|
32
|
-
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
33
|
-
get: ((k) => from[k]).bind(null, key),
|
|
34
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
return to;
|
|
38
|
-
};
|
|
39
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
40
|
-
value: mod,
|
|
41
|
-
enumerable: true
|
|
42
|
-
}) : target, mod));
|
|
43
23
|
//#endregion
|
|
44
24
|
//#region src/components/SearchableSelect.vue?vue&type=script&setup=true&lang.ts
|
|
45
25
|
var _hoisted_1$84 = [
|
|
@@ -1099,22 +1079,22 @@ var _hoisted_18$22 = {
|
|
|
1099
1079
|
key: 0,
|
|
1100
1080
|
class: "mint-dataframe__state"
|
|
1101
1081
|
};
|
|
1102
|
-
var _hoisted_19$
|
|
1082
|
+
var _hoisted_19$22 = {
|
|
1103
1083
|
key: 1,
|
|
1104
1084
|
class: "mint-dataframe__state"
|
|
1105
1085
|
};
|
|
1106
|
-
var _hoisted_20$
|
|
1086
|
+
var _hoisted_20$21 = {
|
|
1107
1087
|
key: 2,
|
|
1108
1088
|
class: "mint-dataframe__loading"
|
|
1109
1089
|
};
|
|
1110
|
-
var _hoisted_21$
|
|
1090
|
+
var _hoisted_21$17 = {
|
|
1111
1091
|
key: 1,
|
|
1112
1092
|
class: "mint-dataframe__footer"
|
|
1113
1093
|
};
|
|
1114
|
-
var _hoisted_22$
|
|
1094
|
+
var _hoisted_22$17 = { class: "mint-dataframe__page-info" };
|
|
1115
1095
|
var _hoisted_23$15 = { class: "mint-dataframe__page-controls" };
|
|
1116
|
-
var _hoisted_24$
|
|
1117
|
-
var _hoisted_25$
|
|
1096
|
+
var _hoisted_24$13 = ["disabled"];
|
|
1097
|
+
var _hoisted_25$13 = { class: "mint-dataframe__page-number" };
|
|
1118
1098
|
var _hoisted_26$11 = ["disabled"];
|
|
1119
1099
|
/** Inbox glyph kept from the pre-1.2 hand-rolled empty state. */
|
|
1120
1100
|
var EMPTY_ICON_PATH$2 = "M22 12L16 12L14 15L10 15L8 12L2 12M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z";
|
|
@@ -1567,14 +1547,14 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1567
1547
|
__props.error ? (openBlock(), createElementBlock("div", _hoisted_18$22, [renderSlot(_ctx.$slots, "error", { error: __props.error }, () => [createVNode(DataStateInternal_default, {
|
|
1568
1548
|
state: "error",
|
|
1569
1549
|
title: __props.error
|
|
1570
|
-
}, null, 8, ["title"])])])) : paginatedData.value.length === 0 && !__props.loading ? (openBlock(), createElementBlock("div", _hoisted_19$
|
|
1550
|
+
}, null, 8, ["title"])])])) : paginatedData.value.length === 0 && !__props.loading ? (openBlock(), createElementBlock("div", _hoisted_19$22, [renderSlot(_ctx.$slots, "empty", {}, () => [createVNode(DataStateInternal_default, {
|
|
1571
1551
|
state: "empty",
|
|
1572
1552
|
title: __props.emptyText,
|
|
1573
1553
|
"icon-path": EMPTY_ICON_PATH$2
|
|
1574
1554
|
}, null, 8, ["title"])])])) : createCommentVNode("", true),
|
|
1575
|
-
__props.loading ? (openBlock(), createElementBlock("div", _hoisted_20$
|
|
1555
|
+
__props.loading ? (openBlock(), createElementBlock("div", _hoisted_20$21, [renderSlot(_ctx.$slots, "loading", {}, () => [createVNode(LoadingSpinner_default, { size: "lg" })])])) : createCommentVNode("", true)
|
|
1576
1556
|
], 4),
|
|
1577
|
-
__props.pagination ? (openBlock(), createElementBlock("div", _hoisted_21$
|
|
1557
|
+
__props.pagination ? (openBlock(), createElementBlock("div", _hoisted_21$17, [renderSlot(_ctx.$slots, "footer", {}, () => [createElementVNode("span", _hoisted_22$17, toDisplayString((__props.pagination.page - 1) * __props.pagination.pageSize + 1) + "–" + toDisplayString(Math.min(__props.pagination.page * __props.pagination.pageSize, unref(sortedData).length)) + " of " + toDisplayString(unref(sortedData).length), 1), createElementVNode("div", _hoisted_23$15, [
|
|
1578
1558
|
createElementVNode("button", {
|
|
1579
1559
|
type: "button",
|
|
1580
1560
|
class: "mint-dataframe__page-btn",
|
|
@@ -1587,8 +1567,8 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1587
1567
|
"stroke-width": "2",
|
|
1588
1568
|
"stroke-linecap": "round",
|
|
1589
1569
|
"stroke-linejoin": "round"
|
|
1590
|
-
}, [createElementVNode("path", { d: "m15 18-6-6 6-6" })], -1)])], 8, _hoisted_24$
|
|
1591
|
-
createElementVNode("span", _hoisted_25$
|
|
1570
|
+
}, [createElementVNode("path", { d: "m15 18-6-6 6-6" })], -1)])], 8, _hoisted_24$13),
|
|
1571
|
+
createElementVNode("span", _hoisted_25$13, toDisplayString(__props.pagination.page) + " / " + toDisplayString(totalPages.value), 1),
|
|
1592
1572
|
createElementVNode("button", {
|
|
1593
1573
|
type: "button",
|
|
1594
1574
|
class: "mint-dataframe__page-btn",
|
|
@@ -2077,7 +2057,12 @@ var _hoisted_2$63 = [
|
|
|
2077
2057
|
"rel",
|
|
2078
2058
|
"onClick"
|
|
2079
2059
|
];
|
|
2080
|
-
var _hoisted_3$55 = [
|
|
2060
|
+
var _hoisted_3$55 = [
|
|
2061
|
+
"role",
|
|
2062
|
+
"aria-checked",
|
|
2063
|
+
"disabled",
|
|
2064
|
+
"onClick"
|
|
2065
|
+
];
|
|
2081
2066
|
//#endregion
|
|
2082
2067
|
//#region src/components/ActionMenu.vue
|
|
2083
2068
|
var ActionMenu_default = /* @__PURE__ */ defineComponent({
|
|
@@ -2215,10 +2200,16 @@ var ActionMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
2215
2200
|
key: 2,
|
|
2216
2201
|
type: "button",
|
|
2217
2202
|
class: normalizeClass(["mint-menu-item mint-action-menu__item", { "mint-menu-item--danger mint-action-menu__item--danger": item.danger }]),
|
|
2218
|
-
role: "menuitem",
|
|
2203
|
+
role: item.checked === void 0 ? "menuitem" : "menuitemradio",
|
|
2204
|
+
"aria-checked": item.checked,
|
|
2219
2205
|
disabled: item.disabled,
|
|
2220
2206
|
onClick: ($event) => handleSelect(item)
|
|
2221
|
-
},
|
|
2207
|
+
}, [item.checked !== void 0 ? (openBlock(), createBlock(unref(Check), {
|
|
2208
|
+
key: 0,
|
|
2209
|
+
class: normalizeClass(["mint-action-menu__check", { "mint-action-menu__check--off": !item.checked }]),
|
|
2210
|
+
size: 14,
|
|
2211
|
+
"aria-hidden": "true"
|
|
2212
|
+
}, null, 8, ["class"])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)], 10, _hoisted_3$55))], 64);
|
|
2222
2213
|
}), 128))], 36)) : createCommentVNode("", true)]))], 64);
|
|
2223
2214
|
};
|
|
2224
2215
|
}
|
|
@@ -2875,7 +2866,7 @@ var _hoisted_4$49 = {
|
|
|
2875
2866
|
};
|
|
2876
2867
|
var _hoisted_5$47 = {
|
|
2877
2868
|
key: 0,
|
|
2878
|
-
class: "mint-
|
|
2869
|
+
class: "mint-page-selector__menu",
|
|
2879
2870
|
role: "menu"
|
|
2880
2871
|
};
|
|
2881
2872
|
var _hoisted_6$42 = {
|
|
@@ -2946,40 +2937,27 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2946
2937
|
"stroke-linecap": "round",
|
|
2947
2938
|
"stroke-linejoin": "round"
|
|
2948
2939
|
}, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])
|
|
2949
|
-
], 10, _hoisted_1$66), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$47, [_cache[
|
|
2940
|
+
], 10, _hoisted_1$66), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$47, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-page-selector__menu-title" }, "Go to", -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedPages.value, (page) => {
|
|
2950
2941
|
return openBlock(), createBlock(ActionItemInternal_default, {
|
|
2951
2942
|
key: page.id,
|
|
2952
2943
|
href: page.href,
|
|
2953
2944
|
to: page.to,
|
|
2954
2945
|
disabled: page.disabled,
|
|
2955
2946
|
class: normalizeClass([
|
|
2956
|
-
"mint-
|
|
2957
|
-
{ "mint-
|
|
2947
|
+
"mint-page-selector__item",
|
|
2948
|
+
{ "mint-page-selector__item--active": page.id === current.value?.id },
|
|
2958
2949
|
{ "mint-page-selector__item--disabled": page.disabled }
|
|
2959
2950
|
]),
|
|
2960
2951
|
role: "menuitem",
|
|
2961
2952
|
onClick: ($event) => handleSelect(page)
|
|
2962
2953
|
}, {
|
|
2963
|
-
default: withCtx(() => [
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_6$42, toDisplayString(page.label.charAt(0)), 1))])], 2),
|
|
2971
|
-
createElementVNode("span", _hoisted_7$38, toDisplayString(page.label), 1),
|
|
2972
|
-
_cache[2] || (_cache[2] = createElementVNode("svg", {
|
|
2973
|
-
class: "mint-menu-item__check",
|
|
2974
|
-
viewBox: "0 0 16 16",
|
|
2975
|
-
fill: "none",
|
|
2976
|
-
stroke: "currentColor",
|
|
2977
|
-
"stroke-width": "2",
|
|
2978
|
-
"stroke-linecap": "round",
|
|
2979
|
-
"stroke-linejoin": "round",
|
|
2980
|
-
"aria-hidden": "true"
|
|
2981
|
-
}, [createElementVNode("path", { d: "M3.5 8.5l3 3 6-7" })], -1))
|
|
2982
|
-
]),
|
|
2954
|
+
default: withCtx(() => [createElementVNode("span", { class: normalizeClass(["mint-page-selector__item-icon", { "mint-page-selector__item-icon--metadata": unref(isPluginIconFormat)(page.icon) }]) }, [renderSlot(_ctx.$slots, "item-icon", { page }, () => [unref(isPluginIconFormat)(page.icon) ? (openBlock(), createBlock(PluginIcon_default, {
|
|
2955
|
+
key: 0,
|
|
2956
|
+
class: "mint-page-selector__metadata-icon",
|
|
2957
|
+
icon: page.icon,
|
|
2958
|
+
size: "sm",
|
|
2959
|
+
variant: "solid"
|
|
2960
|
+
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_6$42, toDisplayString(page.label.charAt(0)), 1))])], 2), createElementVNode("span", _hoisted_7$38, toDisplayString(page.label), 1)]),
|
|
2983
2961
|
_: 2
|
|
2984
2962
|
}, 1032, [
|
|
2985
2963
|
"href",
|
|
@@ -3490,38 +3468,29 @@ var _hoisted_10$28 = {
|
|
|
3490
3468
|
};
|
|
3491
3469
|
var _hoisted_11$26 = { class: "mint-topbar__plugin-name" };
|
|
3492
3470
|
var _hoisted_12$24 = {
|
|
3493
|
-
key:
|
|
3494
|
-
class: "mint-topbar__plugin-version"
|
|
3495
|
-
};
|
|
3496
|
-
var _hoisted_13$24 = {
|
|
3497
|
-
key: 1,
|
|
3498
|
-
class: "mint-topbar__divider",
|
|
3499
|
-
"aria-hidden": "true"
|
|
3500
|
-
};
|
|
3501
|
-
var _hoisted_14$24 = {
|
|
3502
|
-
key: 3,
|
|
3471
|
+
key: 2,
|
|
3503
3472
|
class: "mint-topbar-title-group"
|
|
3504
3473
|
};
|
|
3505
|
-
var
|
|
3506
|
-
var
|
|
3507
|
-
var
|
|
3508
|
-
key:
|
|
3474
|
+
var _hoisted_13$24 = { class: "mint-topbar-title" };
|
|
3475
|
+
var _hoisted_14$24 = { class: "mint-topbar-subtitle" };
|
|
3476
|
+
var _hoisted_15$24 = {
|
|
3477
|
+
key: 3,
|
|
3509
3478
|
class: "mint-topbar__title-only"
|
|
3510
3479
|
};
|
|
3511
|
-
var
|
|
3512
|
-
key:
|
|
3480
|
+
var _hoisted_16$21 = {
|
|
3481
|
+
key: 4,
|
|
3513
3482
|
class: "mint-topbar__center"
|
|
3514
3483
|
};
|
|
3515
|
-
var
|
|
3516
|
-
var
|
|
3484
|
+
var _hoisted_17$21 = { class: "mint-topbar__right" };
|
|
3485
|
+
var _hoisted_18$21 = {
|
|
3517
3486
|
key: 0,
|
|
3518
3487
|
class: "mint-topbar__standalone-badge"
|
|
3519
3488
|
};
|
|
3520
|
-
var
|
|
3489
|
+
var _hoisted_19$21 = {
|
|
3521
3490
|
key: 2,
|
|
3522
3491
|
class: "mint-topbar__standalone-badge"
|
|
3523
3492
|
};
|
|
3524
|
-
var
|
|
3493
|
+
var _hoisted_20$20 = {
|
|
3525
3494
|
key: 0,
|
|
3526
3495
|
class: "mint-topbar__icon-btn-dot",
|
|
3527
3496
|
"aria-hidden": "true"
|
|
@@ -3619,8 +3588,8 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3619
3588
|
});
|
|
3620
3589
|
const hasPlatformPageSelector = computed(() => props.pageSelector === void 0 && (plugin.value?.nav_items?.length ?? 0) > 1);
|
|
3621
3590
|
const hasPageSelector = computed(() => (props.pageSelector?.length ?? 0) > 1 || hasPlatformPageSelector.value);
|
|
3622
|
-
/** Integrated plugins show their name
|
|
3623
|
-
const identityName = computed(() => isIntegrated.value ? plugin.value?.name : void 0);
|
|
3591
|
+
/** Integrated plugins show their name as a static identity in place of the title; the page selector replaces it. */
|
|
3592
|
+
const identityName = computed(() => isIntegrated.value && !hasPageSelector.value ? plugin.value?.display_name || plugin.value?.name : void 0);
|
|
3624
3593
|
const hasPillNav = computed(() => !!props.pillNav?.length);
|
|
3625
3594
|
const hasAccountMenu = computed(() => !!props.accountMenu?.length);
|
|
3626
3595
|
const hasTitleGroup = computed(() => !hasPageSelector.value && !identityName.value && !!props.title && !!props.subtitle);
|
|
@@ -3692,10 +3661,9 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3692
3661
|
size: "topbar",
|
|
3693
3662
|
variant: "solid"
|
|
3694
3663
|
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", {}, () => [__props.showLogo ? (openBlock(), createElementBlock("div", _hoisted_9$30, [..._cache[16] || (_cache[16] = [createElementVNode("div", { class: "mint-topbar__logo-icon" }, [createElementVNode("span", { class: "mint-topbar__logo-text" }, "M")], -1)])])) : createCommentVNode("", true)], void 0, 1)], void 0, 1)])) : createCommentVNode("", true)], 64))]),
|
|
3695
|
-
identityName.value ? (openBlock(), createElementBlock("span", _hoisted_10$28, [createElementVNode("span", _hoisted_11$26, toDisplayString(identityName.value), 1)
|
|
3696
|
-
identityName.value && hasPageSelector.value ? (openBlock(), createElementBlock("span", _hoisted_13$24)) : createCommentVNode("", true),
|
|
3664
|
+
identityName.value ? (openBlock(), createElementBlock("span", _hoisted_10$28, [createElementVNode("span", _hoisted_11$26, toDisplayString(identityName.value), 1)])) : createCommentVNode("", true),
|
|
3697
3665
|
hasPageSelector.value ? (openBlock(), createBlock(AppTopBarPageSelectorInternal_default, {
|
|
3698
|
-
key:
|
|
3666
|
+
key: 1,
|
|
3699
3667
|
pages: normalizedPageSelector.value,
|
|
3700
3668
|
"current-page-id": effectiveCurrentPageSelectorId.value,
|
|
3701
3669
|
onSelect: _cache[0] || (_cache[0] = ($event) => emit("page-selector-select", $event))
|
|
@@ -3708,23 +3676,23 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3708
3676
|
fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, "page-selector-item-icon", normalizeProps(guardReactiveProps(slotProps)))]),
|
|
3709
3677
|
key: "1"
|
|
3710
3678
|
} : void 0]), 1032, ["pages", "current-page-id"])) : createCommentVNode("", true),
|
|
3711
|
-
hasTitleGroup.value ? (openBlock(), createElementBlock("div",
|
|
3679
|
+
hasTitleGroup.value ? (openBlock(), createElementBlock("div", _hoisted_12$24, [createElementVNode("span", _hoisted_13$24, toDisplayString(__props.title), 1), createElementVNode("span", _hoisted_14$24, toDisplayString(__props.subtitle), 1)])) : hasTitleOnly.value ? (openBlock(), createElementBlock("span", _hoisted_15$24, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
3712
3680
|
renderSlot(_ctx.$slots, "nav"),
|
|
3713
|
-
hasPillNav.value || _ctx.$slots.center ? (openBlock(), createElementBlock("div",
|
|
3681
|
+
hasPillNav.value || _ctx.$slots.center ? (openBlock(), createElementBlock("div", _hoisted_16$21, [renderSlot(_ctx.$slots, "center", {}, () => [hasPillNav.value && __props.pillNav ? (openBlock(), createBlock(AppTopBarPillNavInternal_default, {
|
|
3714
3682
|
key: 0,
|
|
3715
3683
|
items: normalizedPillNav.value,
|
|
3716
3684
|
"current-item-id": __props.currentPillId,
|
|
3717
3685
|
onSelect: _cache[1] || (_cache[1] = ($event) => emit("pill-select", $event)),
|
|
3718
3686
|
onOptionSelect: _cache[2] || (_cache[2] = (option, item) => emit("pill-option-select", option, item))
|
|
3719
3687
|
}, null, 8, ["items", "current-item-id"])) : createCommentVNode("", true)])])) : createCommentVNode("", true),
|
|
3720
|
-
createElementVNode("div",
|
|
3721
|
-
__props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span",
|
|
3688
|
+
createElementVNode("div", _hoisted_17$21, [
|
|
3689
|
+
__props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span", _hoisted_18$21, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
|
|
3722
3690
|
unref(appExperiment) && !isStandalone.value && canBindExperiment.value ? (openBlock(), createBlock(unref(ExperimentPopover), mergeProps({ key: 1 }, unref(appExperiment).popover.value, {
|
|
3723
3691
|
onSelect: _cache[3] || (_cache[3] = ($event) => unref(appExperiment).openModal()),
|
|
3724
3692
|
onSave: _cache[4] || (_cache[4] = ($event) => unref(appExperiment).handleSave()),
|
|
3725
3693
|
onDetach: _cache[5] || (_cache[5] = ($event) => unref(appExperiment).handleDetach())
|
|
3726
3694
|
}), null, 16)) : createCommentVNode("", true),
|
|
3727
|
-
unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span",
|
|
3695
|
+
unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span", _hoisted_19$21, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
|
|
3728
3696
|
renderSlot(_ctx.$slots, "actions"),
|
|
3729
3697
|
__props.showNotifications ? (openBlock(), createElementBlock("button", {
|
|
3730
3698
|
key: 3,
|
|
@@ -3740,7 +3708,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3740
3708
|
"stroke-width": "2",
|
|
3741
3709
|
"stroke-linecap": "round",
|
|
3742
3710
|
"stroke-linejoin": "round"
|
|
3743
|
-
}, [createElementVNode("path", { d: "M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" }), createElementVNode("path", { d: "M10.3 21a1.94 1.94 0 0 0 3.4 0" })], -1)), __props.hasNotificationDot ? (openBlock(), createElementBlock("span",
|
|
3711
|
+
}, [createElementVNode("path", { d: "M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" }), createElementVNode("path", { d: "M10.3 21a1.94 1.94 0 0 0 3.4 0" })], -1)), __props.hasNotificationDot ? (openBlock(), createElementBlock("span", _hoisted_20$20)) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
3744
3712
|
__props.showThemeToggle ? (openBlock(), createBlock(ThemeToggle_default, {
|
|
3745
3713
|
key: 4,
|
|
3746
3714
|
size: "sm"
|
|
@@ -3817,6 +3785,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3817
3785
|
title: __props.settingsConfig?.title,
|
|
3818
3786
|
tabs: normalizedSettingsTabs.value,
|
|
3819
3787
|
"show-appearance": __props.settingsConfig?.showAppearance ?? true,
|
|
3788
|
+
"appearance-first": __props.settingsConfig?.appearanceFirst,
|
|
3820
3789
|
size: __props.settingsConfig?.size,
|
|
3821
3790
|
layout: __props.settingsConfig?.layout,
|
|
3822
3791
|
schema: __props.settingsConfig?.schema,
|
|
@@ -3840,6 +3809,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3840
3809
|
"title",
|
|
3841
3810
|
"tabs",
|
|
3842
3811
|
"show-appearance",
|
|
3812
|
+
"appearance-first",
|
|
3843
3813
|
"size",
|
|
3844
3814
|
"layout",
|
|
3845
3815
|
"schema",
|
|
@@ -4619,13 +4589,13 @@ var _hoisted_17$20 = {
|
|
|
4619
4589
|
class: "mint-sidebar__group-subtitle"
|
|
4620
4590
|
};
|
|
4621
4591
|
var _hoisted_18$20 = { class: "mint-sidebar__group-tail" };
|
|
4622
|
-
var _hoisted_19$
|
|
4592
|
+
var _hoisted_19$20 = [
|
|
4623
4593
|
"disabled",
|
|
4624
4594
|
"aria-label",
|
|
4625
4595
|
"title",
|
|
4626
4596
|
"onClick"
|
|
4627
4597
|
];
|
|
4628
|
-
var _hoisted_20$
|
|
4598
|
+
var _hoisted_20$19 = {
|
|
4629
4599
|
key: 0,
|
|
4630
4600
|
class: "mint-sidebar__group-action-icon",
|
|
4631
4601
|
viewBox: "0 0 24 24",
|
|
@@ -4639,12 +4609,12 @@ var _hoisted_20$18 = {
|
|
|
4639
4609
|
var _hoisted_21$16 = ["d"];
|
|
4640
4610
|
var _hoisted_22$16 = ["d"];
|
|
4641
4611
|
var _hoisted_23$14 = { key: 1 };
|
|
4642
|
-
var _hoisted_24$
|
|
4612
|
+
var _hoisted_24$12 = [
|
|
4643
4613
|
"aria-checked",
|
|
4644
4614
|
"aria-label",
|
|
4645
4615
|
"onClick"
|
|
4646
4616
|
];
|
|
4647
|
-
var _hoisted_25$
|
|
4617
|
+
var _hoisted_25$12 = [
|
|
4648
4618
|
"aria-label",
|
|
4649
4619
|
"aria-expanded",
|
|
4650
4620
|
"onClick"
|
|
@@ -4973,7 +4943,7 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4973
4943
|
"aria-label": action.label,
|
|
4974
4944
|
title: action.label,
|
|
4975
4945
|
onClick: ($event) => handleSectionAction(section.id, action.id)
|
|
4976
|
-
}, [action.icon && isSvgIcon(action.icon) ? (openBlock(), createElementBlock("svg", _hoisted_20$
|
|
4946
|
+
}, [action.icon && isSvgIcon(action.icon) ? (openBlock(), createElementBlock("svg", _hoisted_20$19, [Array.isArray(action.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(action.icon, (d, i) => {
|
|
4977
4947
|
return openBlock(), createElementBlock("path", {
|
|
4978
4948
|
key: i,
|
|
4979
4949
|
d
|
|
@@ -4981,7 +4951,7 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4981
4951
|
}), 128)) : (openBlock(), createElementBlock("path", {
|
|
4982
4952
|
key: 1,
|
|
4983
4953
|
d: action.icon
|
|
4984
|
-
}, null, 8, _hoisted_22$16))])) : action.icon ? (openBlock(), createElementBlock("span", _hoisted_23$14, toDisplayString(action.icon), 1)) : createCommentVNode("", true)], 14, _hoisted_19$
|
|
4954
|
+
}, null, 8, _hoisted_22$16))])) : action.icon ? (openBlock(), createElementBlock("span", _hoisted_23$14, toDisplayString(action.icon), 1)) : createCommentVNode("", true)], 14, _hoisted_19$20);
|
|
4985
4955
|
}), 128)),
|
|
4986
4956
|
section.showToggle ? (openBlock(), createElementBlock("button", {
|
|
4987
4957
|
key: 1,
|
|
@@ -4991,7 +4961,7 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4991
4961
|
"aria-label": `Enable ${section.label}`,
|
|
4992
4962
|
class: normalizeClass(["mint-sidebar__switch", __props.toggleState[section.id] ?? false ? "mint-sidebar__switch--on" : ""]),
|
|
4993
4963
|
onClick: ($event) => emit("update:toggle", section.id, !(__props.toggleState[section.id] ?? false))
|
|
4994
|
-
}, [..._cache[1] || (_cache[1] = [createElementVNode("span", { class: "mint-sidebar__switch-knob" }, null, -1)])], 10, _hoisted_24$
|
|
4964
|
+
}, [..._cache[1] || (_cache[1] = [createElementVNode("span", { class: "mint-sidebar__switch-knob" }, null, -1)])], 10, _hoisted_24$12)) : createCommentVNode("", true),
|
|
4995
4965
|
createElementVNode("button", {
|
|
4996
4966
|
type: "button",
|
|
4997
4967
|
class: "mint-sidebar__chevron-button",
|
|
@@ -5007,7 +4977,7 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
5007
4977
|
"stroke-linecap": "round",
|
|
5008
4978
|
"stroke-linejoin": "round",
|
|
5009
4979
|
"aria-hidden": "true"
|
|
5010
|
-
}, [..._cache[2] || (_cache[2] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))], 8, _hoisted_25$
|
|
4980
|
+
}, [..._cache[2] || (_cache[2] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))], 8, _hoisted_25$12)
|
|
5011
4981
|
])]), createVNode(Transition, { name: "collapse" }, {
|
|
5012
4982
|
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_26$10, [renderSlot(_ctx.$slots, `section-${section.id}`, {}, () => [resolvedForms.value[section.id] ? (openBlock(), createBlock(FormBuilder_default, {
|
|
5013
4983
|
key: 0,
|
|
@@ -6068,7 +6038,7 @@ var PlotlyChart_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
6068
6038
|
let revision = 0;
|
|
6069
6039
|
async function loadPlotly() {
|
|
6070
6040
|
if (props.plotly) return props.plotly;
|
|
6071
|
-
const module = await import("
|
|
6041
|
+
const module = await import("plotly.js-dist-min");
|
|
6072
6042
|
return "default" in module ? module.default : module;
|
|
6073
6043
|
}
|
|
6074
6044
|
function bindEvents(element) {
|
|
@@ -6476,16 +6446,16 @@ var _hoisted_16$19 = {
|
|
|
6476
6446
|
};
|
|
6477
6447
|
var _hoisted_17$19 = { class: "mint-jobs-tray__job-heading" };
|
|
6478
6448
|
var _hoisted_18$19 = { class: "mint-jobs-tray__job-identity" };
|
|
6479
|
-
var _hoisted_19$
|
|
6480
|
-
var _hoisted_20$
|
|
6449
|
+
var _hoisted_19$19 = ["onClick"];
|
|
6450
|
+
var _hoisted_20$18 = { class: "mint-jobs-tray__kind" };
|
|
6481
6451
|
var _hoisted_21$15 = {
|
|
6482
6452
|
key: 0,
|
|
6483
6453
|
class: "mint-jobs-tray__percent"
|
|
6484
6454
|
};
|
|
6485
6455
|
var _hoisted_22$15 = ["aria-valuenow"];
|
|
6486
6456
|
var _hoisted_23$13 = { class: "mint-jobs-tray__job-footer" };
|
|
6487
|
-
var _hoisted_24$
|
|
6488
|
-
var _hoisted_25$
|
|
6457
|
+
var _hoisted_24$11 = { class: "mint-jobs-tray__job-actions" };
|
|
6458
|
+
var _hoisted_25$11 = ["disabled", "onClick"];
|
|
6489
6459
|
var _hoisted_26$9 = ["disabled", "onClick"];
|
|
6490
6460
|
var _hoisted_27$8 = {
|
|
6491
6461
|
key: 0,
|
|
@@ -6724,7 +6694,7 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
6724
6694
|
type: "button",
|
|
6725
6695
|
class: "mint-jobs-tray__job-select",
|
|
6726
6696
|
onClick: ($event) => emit("select", job)
|
|
6727
|
-
}, toDisplayString(job.name), 9, _hoisted_19$
|
|
6697
|
+
}, toDisplayString(job.name), 9, _hoisted_19$19), createElementVNode("span", _hoisted_20$18, toDisplayString(job.kind), 1)]),
|
|
6728
6698
|
createElementVNode("span", { class: normalizeClass(["mint-jobs-tray__status", statusClass(job)]) }, [_cache[8] || (_cache[8] = createElementVNode("span", {
|
|
6729
6699
|
class: "mint-jobs-tray__status-dot",
|
|
6730
6700
|
"aria-hidden": "true"
|
|
@@ -6740,7 +6710,7 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
6740
6710
|
"aria-valuemax": "100",
|
|
6741
6711
|
"aria-valuenow": jobPercent(job)
|
|
6742
6712
|
}, [createElementVNode("span", { style: normalizeStyle({ width: `${jobPercent(job)}%` }) }, null, 4)], 8, _hoisted_22$15)) : createCommentVNode("", true),
|
|
6743
|
-
createElementVNode("div", _hoisted_23$13, [createElementVNode("span", null, toDisplayString(progressText(job)), 1), createElementVNode("div", _hoisted_24$
|
|
6713
|
+
createElementVNode("div", _hoisted_23$13, [createElementVNode("span", null, toDisplayString(progressText(job)), 1), createElementVNode("div", _hoisted_24$11, [
|
|
6744
6714
|
renderSlot(_ctx.$slots, "job-actions", { job }),
|
|
6745
6715
|
job.can_cancel && unref(tray).canCancel.value ? (openBlock(), createElementBlock("button", {
|
|
6746
6716
|
key: 0,
|
|
@@ -6749,7 +6719,7 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
6749
6719
|
"aria-label": "Cancel job",
|
|
6750
6720
|
disabled: unref(tray).isPending(job),
|
|
6751
6721
|
onClick: ($event) => cancelJob(job)
|
|
6752
|
-
}, " Cancel ", 8, _hoisted_25$
|
|
6722
|
+
}, " Cancel ", 8, _hoisted_25$11)) : createCommentVNode("", true),
|
|
6753
6723
|
job.can_delete && unref(tray).canDelete.value ? (openBlock(), createElementBlock("button", {
|
|
6754
6724
|
key: 1,
|
|
6755
6725
|
type: "button",
|
|
@@ -7066,8 +7036,8 @@ var _hoisted_15$21 = {
|
|
|
7066
7036
|
var _hoisted_16$18 = { class: "mint-dose-calculator__preview-steps" };
|
|
7067
7037
|
var _hoisted_17$18 = { class: "mint-dose-calculator__preview-step" };
|
|
7068
7038
|
var _hoisted_18$18 = { class: "mint-dose-calculator__preview-step-num" };
|
|
7069
|
-
var _hoisted_19$
|
|
7070
|
-
var _hoisted_20$
|
|
7039
|
+
var _hoisted_19$18 = { class: "mint-dose-calculator__preview-step-conc" };
|
|
7040
|
+
var _hoisted_20$17 = {
|
|
7071
7041
|
key: 0,
|
|
7072
7042
|
class: "mint-dose-calculator__preview-arrow"
|
|
7073
7043
|
};
|
|
@@ -7084,11 +7054,11 @@ var _hoisted_23$12 = {
|
|
|
7084
7054
|
key: 0,
|
|
7085
7055
|
class: "mint-dose-calculator__error"
|
|
7086
7056
|
};
|
|
7087
|
-
var _hoisted_24$
|
|
7057
|
+
var _hoisted_24$10 = {
|
|
7088
7058
|
key: 4,
|
|
7089
7059
|
class: "mint-dose-calculator__mw-section"
|
|
7090
7060
|
};
|
|
7091
|
-
var _hoisted_25$
|
|
7061
|
+
var _hoisted_25$10 = { class: "mint-dose-calculator__mw-label" };
|
|
7092
7062
|
var _hoisted_26$8 = {
|
|
7093
7063
|
key: 5,
|
|
7094
7064
|
class: "mint-dose-calculator__form"
|
|
@@ -7334,7 +7304,7 @@ var DoseCalculator_default = /* @__PURE__ */ defineComponent({
|
|
|
7334
7304
|
]),
|
|
7335
7305
|
_cache[17] || (_cache[17] = createElementVNode("div", { class: "mint-dose-calculator__divider" }, null, -1)),
|
|
7336
7306
|
serialResult.value?.valid ? (openBlock(), createElementBlock("div", _hoisted_15$21, [_cache[16] || (_cache[16] = createElementVNode("div", { class: "mint-dose-calculator__preview-title" }, "Preview", -1)), createElementVNode("div", _hoisted_16$18, [(openBlock(true), createElementBlock(Fragment, null, renderList(serialResult.value.steps, (step, index) => {
|
|
7337
|
-
return openBlock(), createElementBlock(Fragment, { key: step.stepNumber }, [createElementVNode("div", _hoisted_17$18, [createElementVNode("span", _hoisted_18$18, toDisplayString(step.stepNumber) + ":", 1), createElementVNode("span", _hoisted_19$
|
|
7307
|
+
return openBlock(), createElementBlock(Fragment, { key: step.stepNumber }, [createElementVNode("div", _hoisted_17$18, [createElementVNode("span", _hoisted_18$18, toDisplayString(step.stepNumber) + ":", 1), createElementVNode("span", _hoisted_19$18, toDisplayString(unref(formatWithUnit)(step.concentration, 3)), 1)]), index < serialResult.value.steps.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_20$17, " → ")) : createCommentVNode("", true)], 64);
|
|
7338
7308
|
}), 128))])])) : serialResult.value?.error ? (openBlock(), createElementBlock("div", _hoisted_21$14, toDisplayString(serialResult.value.error), 1)) : createCommentVNode("", true)
|
|
7339
7309
|
])) : activeMode.value === "conversion" ? (openBlock(), createElementBlock("div", _hoisted_22$14, [createVNode(FormField_default, { label: "Input Concentration" }, {
|
|
7340
7310
|
default: withCtx(() => [createVNode(ConcentrationInput_default, {
|
|
@@ -7345,7 +7315,7 @@ var DoseCalculator_default = /* @__PURE__ */ defineComponent({
|
|
|
7345
7315
|
}, null, 8, ["disabled", "molecular-weight"])]),
|
|
7346
7316
|
_: 1
|
|
7347
7317
|
}), !__props.molecularWeight ? (openBlock(), createElementBlock("div", _hoisted_23$12, " Provide molecular weight for mass ↔ molarity conversion ")) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
7348
|
-
__props.molecularWeight ? (openBlock(), createElementBlock("div", _hoisted_24$
|
|
7318
|
+
__props.molecularWeight ? (openBlock(), createElementBlock("div", _hoisted_24$10, [createElementVNode("span", _hoisted_25$10, " Molecular Weight: " + toDisplayString(__props.molecularWeight) + " g/mol ", 1)])) : createCommentVNode("", true),
|
|
7349
7319
|
hasTargetWells.value ? (openBlock(), createElementBlock("div", _hoisted_26$8, [createVNode(BaseButton_default, {
|
|
7350
7320
|
variant: "primary",
|
|
7351
7321
|
"full-width": "",
|
|
@@ -7432,11 +7402,11 @@ var _hoisted_16$17 = {
|
|
|
7432
7402
|
};
|
|
7433
7403
|
var _hoisted_17$17 = ["onClick"];
|
|
7434
7404
|
var _hoisted_18$17 = ["aria-label", "onClick"];
|
|
7435
|
-
var _hoisted_19$
|
|
7405
|
+
var _hoisted_19$17 = {
|
|
7436
7406
|
key: 2,
|
|
7437
7407
|
class: "mint-timeline__spacer--vertical"
|
|
7438
7408
|
};
|
|
7439
|
-
var _hoisted_20$
|
|
7409
|
+
var _hoisted_20$16 = {
|
|
7440
7410
|
key: 3,
|
|
7441
7411
|
class: "mint-timeline__spacer--horizontal"
|
|
7442
7412
|
};
|
|
@@ -7744,8 +7714,8 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
|
|
|
7744
7714
|
"stroke-width": "2",
|
|
7745
7715
|
d: "M12 4v16m8-8H4"
|
|
7746
7716
|
})], -1)])], 8, _hoisted_18$17)) : createCommentVNode("", true),
|
|
7747
|
-
__props.orientation === "vertical" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_19$
|
|
7748
|
-
__props.orientation === "horizontal" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_20$
|
|
7717
|
+
__props.orientation === "vertical" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_19$17)) : createCommentVNode("", true),
|
|
7718
|
+
__props.orientation === "horizontal" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_20$16)) : createCommentVNode("", true)
|
|
7749
7719
|
], 40, _hoisted_2$44);
|
|
7750
7720
|
}), 128)),
|
|
7751
7721
|
__props.error ? (openBlock(), createElementBlock("div", _hoisted_21$13, [renderSlot(_ctx.$slots, "error", { error: __props.error }, () => [createVNode(DataStateInternal_default, {
|
|
@@ -7850,22 +7820,22 @@ var DEFAULT_WELL_LEGEND_ITEMS = [
|
|
|
7850
7820
|
{
|
|
7851
7821
|
type: "sample",
|
|
7852
7822
|
label: "Sample",
|
|
7853
|
-
color: "
|
|
7823
|
+
color: "#10b981"
|
|
7854
7824
|
},
|
|
7855
7825
|
{
|
|
7856
7826
|
type: "blank",
|
|
7857
7827
|
label: "Blank",
|
|
7858
|
-
color: "
|
|
7828
|
+
color: "#f97316"
|
|
7859
7829
|
},
|
|
7860
7830
|
{
|
|
7861
7831
|
type: "qc",
|
|
7862
7832
|
label: "QC",
|
|
7863
|
-
color: "
|
|
7833
|
+
color: "#8b5cf6"
|
|
7864
7834
|
},
|
|
7865
7835
|
{
|
|
7866
7836
|
type: "iqc",
|
|
7867
7837
|
label: "IQC",
|
|
7868
|
-
color: "
|
|
7838
|
+
color: "#ec4899"
|
|
7869
7839
|
}
|
|
7870
7840
|
];
|
|
7871
7841
|
//#endregion
|
|
@@ -7906,17 +7876,13 @@ function sampleTypeMarker(type, groupColor) {
|
|
|
7906
7876
|
}
|
|
7907
7877
|
//#endregion
|
|
7908
7878
|
//#region src/components/WellPlate.colors.ts
|
|
7909
|
-
/**
|
|
7910
|
-
* Group color for the built-in sample types when `sampleColors` has no entry.
|
|
7911
|
-
* Color encodes the group and shape encodes the type (3a): blank and QC render
|
|
7912
|
-
* neutral markers and ignore it; iQC takes it like a sample.
|
|
7913
|
-
*/
|
|
7879
|
+
/** Color for the built-in sample types when `sampleColors` has no entry. */
|
|
7914
7880
|
var DEFAULT_SAMPLE_TYPE_COLORS = {
|
|
7915
|
-
sample: "
|
|
7916
|
-
control: "
|
|
7917
|
-
blank: "
|
|
7918
|
-
qc: "
|
|
7919
|
-
iqc: "
|
|
7881
|
+
sample: "#10b981",
|
|
7882
|
+
control: "#3b82f6",
|
|
7883
|
+
blank: "#f97316",
|
|
7884
|
+
qc: "#8b5cf6",
|
|
7885
|
+
iqc: "#ec4899"
|
|
7920
7886
|
};
|
|
7921
7887
|
var HEATMAP_COLORS = {
|
|
7922
7888
|
viridis: [
|
|
@@ -8719,16 +8685,15 @@ function wellStyle(well, state) {
|
|
|
8719
8685
|
};
|
|
8720
8686
|
const groupColor = well.sampleType && ((well.group ? state.sampleColors[well.group] : void 0) ?? state.sampleColors[well.sampleType] ?? DEFAULT_SAMPLE_TYPE_COLORS[well.sampleType]);
|
|
8721
8687
|
if (!groupColor) return {};
|
|
8722
|
-
|
|
8688
|
+
return sampleTint(groupColor);
|
|
8689
|
+
}
|
|
8690
|
+
/** 15% fill and 40% outline of a sample color; color-mix accepts hex and `var()` tokens alike. */
|
|
8691
|
+
function sampleTint(color) {
|
|
8723
8692
|
return {
|
|
8724
|
-
backgroundColor:
|
|
8725
|
-
border
|
|
8693
|
+
backgroundColor: `color-mix(in srgb, ${color} 15%, transparent)`,
|
|
8694
|
+
border: `1px solid color-mix(in srgb, ${color} 40%, transparent)`
|
|
8726
8695
|
};
|
|
8727
8696
|
}
|
|
8728
|
-
/** In-well glyph of the 3a sample-type marker: `Q` for QC, `i` for iQC. */
|
|
8729
|
-
function sampleTypeGlyph(well) {
|
|
8730
|
-
return well.sampleType ? sampleTypeMarker(well.sampleType, "").glyph : null;
|
|
8731
|
-
}
|
|
8732
8697
|
var sampleTypeIndicatorWarned = false;
|
|
8733
8698
|
/** One dev-only warning per page for the no-op `showSampleTypeIndicator` prop. */
|
|
8734
8699
|
function warnSampleTypeIndicatorDeprecated() {
|
|
@@ -8746,11 +8711,11 @@ function wellBadge(well, showBadges) {
|
|
|
8746
8711
|
const count = well.metadata.injectionCount;
|
|
8747
8712
|
if (count && count > 1) return {
|
|
8748
8713
|
text: String(count),
|
|
8749
|
-
color: "
|
|
8714
|
+
color: "#6366f1"
|
|
8750
8715
|
};
|
|
8751
8716
|
if (well.metadata.customMethod) return {
|
|
8752
|
-
text: "",
|
|
8753
|
-
color: "
|
|
8717
|
+
text: "+",
|
|
8718
|
+
color: "#ec4899"
|
|
8754
8719
|
};
|
|
8755
8720
|
return null;
|
|
8756
8721
|
}
|
|
@@ -8807,27 +8772,19 @@ var _hoisted_16$16 = {
|
|
|
8807
8772
|
key: 1,
|
|
8808
8773
|
class: "mint-well-plate__well-id"
|
|
8809
8774
|
};
|
|
8810
|
-
var _hoisted_17$16 =
|
|
8811
|
-
key: 2,
|
|
8812
|
-
class: "mint-well-plate__indicator"
|
|
8813
|
-
};
|
|
8775
|
+
var _hoisted_17$16 = ["title"];
|
|
8814
8776
|
var _hoisted_18$16 = {
|
|
8815
|
-
key: 3,
|
|
8816
|
-
class: "mint-well-plate__corner-glyph"
|
|
8817
|
-
};
|
|
8818
|
-
var _hoisted_19$15 = ["title"];
|
|
8819
|
-
var _hoisted_20$14 = {
|
|
8820
8777
|
key: 0,
|
|
8821
8778
|
class: "mint-well-plate__legend"
|
|
8822
8779
|
};
|
|
8780
|
+
var _hoisted_19$16 = { class: "mint-well-plate__legend-label" };
|
|
8781
|
+
var _hoisted_20$15 = { class: "mint-well-plate__legend-bar" };
|
|
8823
8782
|
var _hoisted_21$12 = { class: "mint-well-plate__legend-label" };
|
|
8824
|
-
var _hoisted_22$12 = {
|
|
8825
|
-
var _hoisted_23$10 = { class: "mint-well-plate__legend-label" };
|
|
8826
|
-
var _hoisted_24$10 = {
|
|
8783
|
+
var _hoisted_22$12 = {
|
|
8827
8784
|
key: 1,
|
|
8828
8785
|
class: "mint-well-plate__sample-legend"
|
|
8829
8786
|
};
|
|
8830
|
-
var
|
|
8787
|
+
var _hoisted_23$10 = { class: "mint-well-plate__sample-legend-text" };
|
|
8831
8788
|
//#endregion
|
|
8832
8789
|
//#region src/components/WellPlate.vue
|
|
8833
8790
|
var WellPlate_default = /* @__PURE__ */ defineComponent({
|
|
@@ -9159,42 +9116,35 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
|
|
|
9159
9116
|
"prevent"
|
|
9160
9117
|
]), ["space"])
|
|
9161
9118
|
]
|
|
9162
|
-
}, [
|
|
9163
|
-
|
|
9164
|
-
|
|
9165
|
-
getWellBadge(well)
|
|
9166
|
-
|
|
9167
|
-
|
|
9168
|
-
style: normalizeStyle({ backgroundColor: getWellBadge(well)?.color }),
|
|
9169
|
-
title: getWellBadge(well)?.text ? `${getWellBadge(well)?.text}x injections` : "Custom method"
|
|
9170
|
-
}, toDisplayString(getWellBadge(well)?.text), 15, _hoisted_19$15)) : createCommentVNode("", true)
|
|
9171
|
-
], 46, _hoisted_14$19)]);
|
|
9119
|
+
}, [getWellLabel(well) ? (openBlock(), createElementBlock("span", _hoisted_15$19, toDisplayString(getWellLabel(well)), 1)) : props.showWellIds ? (openBlock(), createElementBlock("span", _hoisted_16$16, toDisplayString(well.id), 1)) : createCommentVNode("", true), getWellBadge(well) ? (openBlock(), createElementBlock("span", {
|
|
9120
|
+
key: 2,
|
|
9121
|
+
class: "mint-well-plate__badge",
|
|
9122
|
+
style: normalizeStyle({ backgroundColor: getWellBadge(well)?.color }),
|
|
9123
|
+
title: getWellBadge(well)?.text === "+" ? "Custom method" : `${getWellBadge(well)?.text ?? ""}x injections`
|
|
9124
|
+
}, toDisplayString(getWellBadge(well)?.text), 13, _hoisted_17$16)) : createCommentVNode("", true)], 46, _hoisted_14$19)]);
|
|
9172
9125
|
}), 128))
|
|
9173
9126
|
]);
|
|
9174
9127
|
}), 128))])
|
|
9175
9128
|
], 12, _hoisted_6$29),
|
|
9176
|
-
props.heatmap?.enabled && props.heatmap.showLegend ? (openBlock(), createElementBlock("div",
|
|
9177
|
-
createElementVNode("span",
|
|
9178
|
-
createElementVNode("div",
|
|
9129
|
+
props.heatmap?.enabled && props.heatmap.showLegend ? (openBlock(), createElementBlock("div", _hoisted_18$16, [
|
|
9130
|
+
createElementVNode("span", _hoisted_19$16, toDisplayString(props.heatmap.min ?? 0), 1),
|
|
9131
|
+
createElementVNode("div", _hoisted_20$15, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.heatmap.colorScale === "custom" && props.heatmap.customColors?.length ? props.heatmap.customColors : unref(HEATMAP_COLORS)[props.heatmap.colorScale || "viridis"], (color, index) => {
|
|
9179
9132
|
return openBlock(), createElementBlock("div", {
|
|
9180
9133
|
key: index,
|
|
9181
9134
|
class: "mint-well-plate__legend-segment",
|
|
9182
9135
|
style: normalizeStyle({ backgroundColor: color })
|
|
9183
9136
|
}, null, 4);
|
|
9184
9137
|
}), 128))]),
|
|
9185
|
-
createElementVNode("span",
|
|
9138
|
+
createElementVNode("span", _hoisted_21$12, toDisplayString(props.heatmap.max ?? 1), 1)
|
|
9186
9139
|
])) : createCommentVNode("", true),
|
|
9187
|
-
props.showLegend ? (openBlock(), createElementBlock("div",
|
|
9140
|
+
props.showLegend ? (openBlock(), createElementBlock("div", _hoisted_22$12, [(openBlock(true), createElementBlock(Fragment, null, renderList(activeLegendItems.value, (item) => {
|
|
9188
9141
|
return openBlock(), createElementBlock("div", {
|
|
9189
9142
|
key: item.type,
|
|
9190
9143
|
class: "mint-well-plate__sample-legend-item"
|
|
9191
|
-
}, [(
|
|
9192
|
-
|
|
9193
|
-
|
|
9194
|
-
|
|
9195
|
-
style: normalizeStyle(marker.style)
|
|
9196
|
-
}, toDisplayString(marker.glyph), 5);
|
|
9197
|
-
}), 128)), createElementVNode("span", _hoisted_25$10, toDisplayString(item.label), 1)]);
|
|
9144
|
+
}, [createElementVNode("span", {
|
|
9145
|
+
class: "mint-well-plate__sample-legend-dot",
|
|
9146
|
+
style: normalizeStyle(unref(sampleTint)(item.color))
|
|
9147
|
+
}, null, 4), createElementVNode("span", _hoisted_23$10, toDisplayString(item.label), 1)]);
|
|
9198
9148
|
}), 128))])) : createCommentVNode("", true)
|
|
9199
9149
|
])])),
|
|
9200
9150
|
__props.editable && unref(editingWellId) ? renderSlot(_ctx.$slots, "well-editor", {
|
|
@@ -9391,11 +9341,11 @@ var _hoisted_15$18 = { class: "mint-plate-editor__toolbar-end" };
|
|
|
9391
9341
|
var _hoisted_16$15 = ["disabled", "title"];
|
|
9392
9342
|
var _hoisted_17$15 = ["aria-pressed"];
|
|
9393
9343
|
var _hoisted_18$15 = ["disabled"];
|
|
9394
|
-
var _hoisted_19$
|
|
9344
|
+
var _hoisted_19$15 = {
|
|
9395
9345
|
key: 1,
|
|
9396
9346
|
class: "mint-plate-editor__body"
|
|
9397
9347
|
};
|
|
9398
|
-
var _hoisted_20$
|
|
9348
|
+
var _hoisted_20$14 = { class: "mint-plate-editor__main" };
|
|
9399
9349
|
var _hoisted_21$11 = {
|
|
9400
9350
|
key: 0,
|
|
9401
9351
|
class: "mint-plate-editor__footer"
|
|
@@ -9974,7 +9924,7 @@ var PlateEditor_default = /* @__PURE__ */ defineComponent({
|
|
|
9974
9924
|
renderSlot(_ctx.$slots, "toolbar-extra")
|
|
9975
9925
|
])
|
|
9976
9926
|
])) : createCommentVNode("", true),
|
|
9977
|
-
activeRack.value ? (openBlock(), createElementBlock("div", _hoisted_19$
|
|
9927
|
+
activeRack.value ? (openBlock(), createElementBlock("div", _hoisted_19$15, [createElementVNode("div", _hoisted_20$14, [(openBlock(), createBlock(WellPlate_default, {
|
|
9978
9928
|
key: activeRack.value.id,
|
|
9979
9929
|
"model-value": selection.value,
|
|
9980
9930
|
format: activeRack.value.format,
|
|
@@ -10339,11 +10289,11 @@ var _hoisted_18$14 = {
|
|
|
10339
10289
|
key: 4,
|
|
10340
10290
|
class: "mint-reagent-list__cell"
|
|
10341
10291
|
};
|
|
10342
|
-
var _hoisted_19$
|
|
10292
|
+
var _hoisted_19$14 = {
|
|
10343
10293
|
key: 0,
|
|
10344
10294
|
class: "mint-reagent-list__expired-text"
|
|
10345
10295
|
};
|
|
10346
|
-
var _hoisted_20$
|
|
10296
|
+
var _hoisted_20$13 = { key: 1 };
|
|
10347
10297
|
var _hoisted_21$10 = {
|
|
10348
10298
|
key: 2,
|
|
10349
10299
|
class: "mint-reagent-list__badge mint-reagent-list__badge--error"
|
|
@@ -10639,7 +10589,7 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
|
|
|
10639
10589
|
}, toDisplayString(reagent.name), 9, _hoisted_14$17)) : (openBlock(), createElementBlock("span", _hoisted_15$17, toDisplayString(reagent.name), 1))])) : createCommentVNode("", true),
|
|
10640
10590
|
__props.columns.includes("catalog") ? (openBlock(), createElementBlock("td", _hoisted_16$14, toDisplayString(reagent.catalogNumber || "-"), 1)) : createCommentVNode("", true),
|
|
10641
10591
|
__props.columns.includes("lot") ? (openBlock(), createElementBlock("td", _hoisted_17$14, toDisplayString(reagent.lotNumber || "-"), 1)) : createCommentVNode("", true),
|
|
10642
|
-
__props.columns.includes("expiry") ? (openBlock(), createElementBlock("td", _hoisted_18$14, [unref(isReagentExpired)(reagent) ? (openBlock(), createElementBlock("span", _hoisted_19$
|
|
10592
|
+
__props.columns.includes("expiry") ? (openBlock(), createElementBlock("td", _hoisted_18$14, [unref(isReagentExpired)(reagent) ? (openBlock(), createElementBlock("span", _hoisted_19$14, toDisplayString(unref(formatReagentExpiryDate)(reagent.expiryDate)), 1)) : (openBlock(), createElementBlock("span", _hoisted_20$13, toDisplayString(unref(formatReagentExpiryDate)(reagent.expiryDate)), 1)), unref(isReagentExpired)(reagent) ? (openBlock(), createElementBlock("span", _hoisted_21$10, " Expired ")) : unref(isReagentExpiringSoon)(reagent) ? (openBlock(), createElementBlock("span", _hoisted_22$10, [_cache[6] || (_cache[6] = createElementVNode("svg", {
|
|
10643
10593
|
class: "mint-reagent-list__badge-icon",
|
|
10644
10594
|
fill: "none",
|
|
10645
10595
|
stroke: "currentColor",
|
|
@@ -10832,12 +10782,12 @@ var _hoisted_17$13 = {
|
|
|
10832
10782
|
class: "sg-field__order"
|
|
10833
10783
|
};
|
|
10834
10784
|
var _hoisted_18$13 = { class: "sg-field__layer" };
|
|
10835
|
-
var _hoisted_19$
|
|
10785
|
+
var _hoisted_19$13 = [
|
|
10836
10786
|
"disabled",
|
|
10837
10787
|
"aria-label",
|
|
10838
10788
|
"onClick"
|
|
10839
10789
|
];
|
|
10840
|
-
var _hoisted_20$
|
|
10790
|
+
var _hoisted_20$12 = [
|
|
10841
10791
|
"disabled",
|
|
10842
10792
|
"aria-label",
|
|
10843
10793
|
"onClick"
|
|
@@ -11256,7 +11206,7 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
11256
11206
|
}, [createVNode(Icon, {
|
|
11257
11207
|
d: ICON.chevUp,
|
|
11258
11208
|
size: 12
|
|
11259
|
-
}, null, 8, ["d"])], 8, _hoisted_19$
|
|
11209
|
+
}, null, 8, ["d"])], 8, _hoisted_19$13),
|
|
11260
11210
|
createElementVNode("button", {
|
|
11261
11211
|
type: "button",
|
|
11262
11212
|
class: "sg-field__order-btn",
|
|
@@ -11267,7 +11217,7 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
11267
11217
|
}, [createVNode(Icon, {
|
|
11268
11218
|
d: ICON.chev,
|
|
11269
11219
|
size: 12
|
|
11270
|
-
}, null, 8, ["d"])], 8, _hoisted_20$
|
|
11220
|
+
}, null, 8, ["d"])], 8, _hoisted_20$12)
|
|
11271
11221
|
])) : createCommentVNode("", true),
|
|
11272
11222
|
createElementVNode("div", _hoisted_21$9, toDisplayString(field.vals), 1)
|
|
11273
11223
|
], 2);
|
|
@@ -11445,11 +11395,11 @@ var _hoisted_15$15 = {
|
|
|
11445
11395
|
var _hoisted_16$12 = ["onClick"];
|
|
11446
11396
|
var _hoisted_17$12 = ["checked"];
|
|
11447
11397
|
var _hoisted_18$12 = { class: "mg2-row__name" };
|
|
11448
|
-
var _hoisted_19$
|
|
11398
|
+
var _hoisted_19$12 = {
|
|
11449
11399
|
key: 0,
|
|
11450
11400
|
class: "mg2-row__tag"
|
|
11451
11401
|
};
|
|
11452
|
-
var _hoisted_20$
|
|
11402
|
+
var _hoisted_20$11 = {
|
|
11453
11403
|
key: 1,
|
|
11454
11404
|
class: "mg2-row__tag mg2-row__tag--none"
|
|
11455
11405
|
};
|
|
@@ -11777,14 +11727,14 @@ var SmartGroupManual_default = /* @__PURE__ */ defineComponent({
|
|
|
11777
11727
|
readonly: ""
|
|
11778
11728
|
}, null, 8, _hoisted_17$12),
|
|
11779
11729
|
createElementVNode("span", _hoisted_18$12, toDisplayString(match.sample.name), 1),
|
|
11780
|
-
match.sample.group ? (openBlock(), createElementBlock("span", _hoisted_19$
|
|
11730
|
+
match.sample.group ? (openBlock(), createElementBlock("span", _hoisted_19$12, [
|
|
11781
11731
|
createElementVNode("span", {
|
|
11782
11732
|
class: "sg-dot",
|
|
11783
11733
|
style: normalizeStyle({ background: match.sample.color ?? void 0 })
|
|
11784
11734
|
}, null, 4),
|
|
11785
11735
|
createTextVNode(toDisplayString(match.sample.group), 1),
|
|
11786
11736
|
match.sample.sub ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(" · " + toDisplayString(match.sample.sub), 1)], 64)) : createCommentVNode("", true)
|
|
11787
|
-
])) : (openBlock(), createElementBlock("span", _hoisted_20$
|
|
11737
|
+
])) : (openBlock(), createElementBlock("span", _hoisted_20$11, "unassigned"))
|
|
11788
11738
|
], 10, _hoisted_16$12);
|
|
11789
11739
|
}), 128))])
|
|
11790
11740
|
]), createElementVNode("div", _hoisted_21$8, [
|
|
@@ -12995,8 +12945,8 @@ var _hoisted_17$11 = {
|
|
|
12995
12945
|
class: "mint-sample-selector__ungrouped-list"
|
|
12996
12946
|
};
|
|
12997
12947
|
var _hoisted_18$11 = { class: "mint-sample-selector__new-group" };
|
|
12998
|
-
var _hoisted_19$
|
|
12999
|
-
var _hoisted_20$
|
|
12948
|
+
var _hoisted_19$11 = ["value"];
|
|
12949
|
+
var _hoisted_20$10 = {
|
|
13000
12950
|
key: 6,
|
|
13001
12951
|
class: "mint-sample-selector__flat"
|
|
13002
12952
|
};
|
|
@@ -13358,9 +13308,9 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
13358
13308
|
class: "mint-sample-selector__color-input",
|
|
13359
13309
|
value: colorPickerSeed.value,
|
|
13360
13310
|
onChange: handleColorChange
|
|
13361
|
-
}, null, 40, _hoisted_19$
|
|
13311
|
+
}, null, 40, _hoisted_19$11)
|
|
13362
13312
|
])) : createCommentVNode("", true),
|
|
13363
|
-
!isPlaceholderState.value && !groupingEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_20$
|
|
13313
|
+
!isPlaceholderState.value && !groupingEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_20$10, [createElementVNode("div", _hoisted_21$7, [_cache[17] || (_cache[17] = createElementVNode("svg", {
|
|
13364
13314
|
class: "mint-sample-selector__search-icon",
|
|
13365
13315
|
fill: "none",
|
|
13366
13316
|
stroke: "currentColor",
|
|
@@ -13659,8 +13609,8 @@ var _hoisted_15$13 = [
|
|
|
13659
13609
|
var _hoisted_16$10 = ["onPointerdown"];
|
|
13660
13610
|
var _hoisted_17$10 = { class: "mint-schedule__event-title" };
|
|
13661
13611
|
var _hoisted_18$10 = { class: "mint-schedule__event-time" };
|
|
13662
|
-
var _hoisted_19$
|
|
13663
|
-
var _hoisted_20$
|
|
13612
|
+
var _hoisted_19$10 = ["onPointerdown"];
|
|
13613
|
+
var _hoisted_20$9 = {
|
|
13664
13614
|
key: 0,
|
|
13665
13615
|
class: "mint-schedule__blocked-label"
|
|
13666
13616
|
};
|
|
@@ -14015,7 +13965,7 @@ var ScheduleCalendar_default = /* @__PURE__ */ defineComponent({
|
|
|
14015
13965
|
key: 1,
|
|
14016
13966
|
class: "mint-schedule__event-resize-handle mint-schedule__event-resize-handle--bottom",
|
|
14017
13967
|
onPointerdown: ($event) => onResizePointerDown(event, "bottom", dayIdx, $event)
|
|
14018
|
-
}, null, 40, _hoisted_19$
|
|
13968
|
+
}, null, 40, _hoisted_19$10)) : createCommentVNode("", true)
|
|
14019
13969
|
])], 46, _hoisted_15$13);
|
|
14020
13970
|
}), 128)),
|
|
14021
13971
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getBlockedForDay)(day), (blocked, bIdx) => {
|
|
@@ -14023,7 +13973,7 @@ var ScheduleCalendar_default = /* @__PURE__ */ defineComponent({
|
|
|
14023
13973
|
key: `b-${bIdx}`,
|
|
14024
13974
|
class: "mint-schedule__blocked",
|
|
14025
13975
|
style: normalizeStyle(unref(getBlockedStyle)(blocked))
|
|
14026
|
-
}, [blocked.label ? (openBlock(), createElementBlock("span", _hoisted_20$
|
|
13976
|
+
}, [blocked.label ? (openBlock(), createElementBlock("span", _hoisted_20$9, toDisplayString(blocked.label), 1)) : createCommentVNode("", true)], 4);
|
|
14027
13977
|
}), 128)),
|
|
14028
13978
|
__props.showNowIndicator && unref(isToday)(day) && unref(getNowIndicatorStyle)() ? (openBlock(), createElementBlock("div", {
|
|
14029
13979
|
key: 0,
|
|
@@ -15287,8 +15237,9 @@ function settingsGroupToTab(group) {
|
|
|
15287
15237
|
function normalizeVisibleSettingsTabs(tabs, canShow) {
|
|
15288
15238
|
return tabs.map(normalizeItemInput).filter(canShow);
|
|
15289
15239
|
}
|
|
15290
|
-
function buildSettingsTabs(baseTabs, showAppearance) {
|
|
15291
|
-
|
|
15240
|
+
function buildSettingsTabs(baseTabs, showAppearance, appearanceFirst = false) {
|
|
15241
|
+
if (!showAppearance) return baseTabs;
|
|
15242
|
+
return appearanceFirst ? [APPEARANCE_TAB, ...baseTabs] : [...baseTabs, APPEARANCE_TAB];
|
|
15292
15243
|
}
|
|
15293
15244
|
//#endregion
|
|
15294
15245
|
//#region src/components/SettingsModal.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -15331,8 +15282,8 @@ var _hoisted_18$9 = {
|
|
|
15331
15282
|
class: "mint-settings-modal__swatches",
|
|
15332
15283
|
"aria-hidden": "true"
|
|
15333
15284
|
};
|
|
15334
|
-
var _hoisted_19$
|
|
15335
|
-
var _hoisted_20$
|
|
15285
|
+
var _hoisted_19$9 = { class: "mint-settings-modal__palette-name" };
|
|
15286
|
+
var _hoisted_20$8 = { class: "mint-settings-modal__setting mint-settings-modal__setting--inline" };
|
|
15336
15287
|
var _hoisted_21$5 = {
|
|
15337
15288
|
class: "mint-settings-modal__status",
|
|
15338
15289
|
role: "status"
|
|
@@ -15359,6 +15310,7 @@ var SettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15359
15310
|
type: Boolean,
|
|
15360
15311
|
default: true
|
|
15361
15312
|
},
|
|
15313
|
+
appearanceFirst: { type: Boolean },
|
|
15362
15314
|
size: { default: "lg" },
|
|
15363
15315
|
layout: { default: void 0 },
|
|
15364
15316
|
schema: {},
|
|
@@ -15462,7 +15414,7 @@ var SettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15462
15414
|
const visibleSchemaGroups = computed(() => settingsSchema.value ? settingsSchema.value.groups.filter((g) => builder.isSectionVisible(g.id)) : []);
|
|
15463
15415
|
const manualTabs = computed(() => normalizeVisibleSettingsTabs(props.tabs, canShowForCurrentUser));
|
|
15464
15416
|
const allTabs = computed(() => {
|
|
15465
|
-
return buildSettingsTabs(settingsSchema.value ? visibleSchemaGroups.value.map(settingsGroupToTab) : manualTabs.value, props.showAppearance);
|
|
15417
|
+
return buildSettingsTabs(settingsSchema.value ? visibleSchemaGroups.value.map(settingsGroupToTab) : manualTabs.value, props.showAppearance, props.appearanceFirst);
|
|
15466
15418
|
});
|
|
15467
15419
|
const activeTab = ref(allTabs.value[0]?.id || "appearance");
|
|
15468
15420
|
/** Above this many plugin groups the default layout switches from one stacked page to the rail. */
|
|
@@ -15485,7 +15437,7 @@ var SettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15485
15437
|
icon: tab.icon,
|
|
15486
15438
|
description: tab.description,
|
|
15487
15439
|
meta: group ? modified ? String(modified) : void 0 : tab.meta,
|
|
15488
|
-
section: props.showAppearance ? tab.id === "appearance" ? "Personal" : "Plugin" : void 0
|
|
15440
|
+
section: props.showAppearance ? tab.id === "appearance" ? "Personal" : tab.section ?? "Plugin" : void 0
|
|
15489
15441
|
};
|
|
15490
15442
|
}));
|
|
15491
15443
|
function selectTab(id) {
|
|
@@ -15786,7 +15738,7 @@ var SettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15786
15738
|
style: normalizeStyle({ backgroundColor: color })
|
|
15787
15739
|
}, null, 4);
|
|
15788
15740
|
}), 128))]),
|
|
15789
|
-
createElementVNode("span", _hoisted_19$
|
|
15741
|
+
createElementVNode("span", _hoisted_19$9, toDisplayString(palette.name), 1),
|
|
15790
15742
|
_cache[9] || (_cache[9] = createElementVNode("svg", {
|
|
15791
15743
|
class: "mint-settings-modal__palette-check",
|
|
15792
15744
|
viewBox: "0 0 16 16",
|
|
@@ -15799,7 +15751,7 @@ var SettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15799
15751
|
}, [createElementVNode("path", { d: "M3.5 8.5l3 3 6-7" })], -1))
|
|
15800
15752
|
], 10, _hoisted_17$9);
|
|
15801
15753
|
}), 128))])]),
|
|
15802
|
-
createElementVNode("div", _hoisted_20$
|
|
15754
|
+
createElementVNode("div", _hoisted_20$8, [
|
|
15803
15755
|
_cache[12] || (_cache[12] = createElementVNode("div", { class: "mint-settings-modal__setting-text" }, [createElementVNode("span", { class: "mint-settings-modal__setting-label" }, "Table density"), createElementVNode("span", { class: "mint-settings-modal__setting-hint" }, "Adjusts row height in data tables")], -1)),
|
|
15804
15756
|
createVNode(SegmentedControl_default, {
|
|
15805
15757
|
"model-value": unref(settings).tableDensity,
|
|
@@ -16601,8 +16553,8 @@ var _hoisted_16$8 = [
|
|
|
16601
16553
|
];
|
|
16602
16554
|
var _hoisted_17$8 = { class: "mint-group-assigner__pill-name" };
|
|
16603
16555
|
var _hoisted_18$8 = { class: "mint-group-assigner__pill-count" };
|
|
16604
|
-
var _hoisted_19$
|
|
16605
|
-
var _hoisted_20$
|
|
16556
|
+
var _hoisted_19$8 = ["onClick"];
|
|
16557
|
+
var _hoisted_20$7 = {
|
|
16606
16558
|
key: 0,
|
|
16607
16559
|
class: "mint-group-assigner__zone-empty"
|
|
16608
16560
|
};
|
|
@@ -16815,9 +16767,9 @@ var GroupAssigner_default = /* @__PURE__ */ defineComponent({
|
|
|
16815
16767
|
fill: "none",
|
|
16816
16768
|
stroke: "currentColor",
|
|
16817
16769
|
"stroke-width": "2"
|
|
16818
|
-
}, [createElementVNode("path", { d: "M6 18L18 6M6 6l12 12" })], -1)])], 8, _hoisted_19$
|
|
16770
|
+
}, [createElementVNode("path", { d: "M6 18L18 6M6 6l12 12" })], -1)])], 8, _hoisted_19$8)
|
|
16819
16771
|
], 40, _hoisted_16$8);
|
|
16820
|
-
}), 128)), unref(zone2Groups).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_20$
|
|
16772
|
+
}), 128)), unref(zone2Groups).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_20$7, " Drag groups here ")) : createCommentVNode("", true)])], 38)]),
|
|
16821
16773
|
unref(unassignedGroups).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_21$4, [createElementVNode("div", _hoisted_22$4, [_cache[6] || (_cache[6] = createElementVNode("span", { class: "mint-group-assigner__unassigned-title" }, "Available Groups", -1)), __props.group1.length > 0 || __props.group2.length > 0 ? (openBlock(), createElementBlock("button", {
|
|
16822
16774
|
key: 0,
|
|
16823
16775
|
type: "button",
|
|
@@ -16956,8 +16908,8 @@ var _hoisted_15$10 = ["value"];
|
|
|
16956
16908
|
var _hoisted_16$7 = { class: "mint-reagent-editor__generator" };
|
|
16957
16909
|
var _hoisted_17$7 = { class: "mint-reagent-editor__generator-inputs" };
|
|
16958
16910
|
var _hoisted_18$7 = { class: "mint-reagent-editor__field mint-reagent-editor__field--flex" };
|
|
16959
|
-
var _hoisted_19$
|
|
16960
|
-
var _hoisted_20$
|
|
16911
|
+
var _hoisted_19$7 = { class: "mint-reagent-editor__field mint-reagent-editor__field--flex" };
|
|
16912
|
+
var _hoisted_20$6 = { class: "mint-reagent-editor__presets" };
|
|
16961
16913
|
var _hoisted_21$3 = ["onClick"];
|
|
16962
16914
|
var _hoisted_22$3 = ["disabled"];
|
|
16963
16915
|
var _hoisted_23$2 = {
|
|
@@ -17205,14 +17157,14 @@ var ReagentEditor_default = /* @__PURE__ */ defineComponent({
|
|
|
17205
17157
|
min: 0,
|
|
17206
17158
|
step: 10,
|
|
17207
17159
|
size: "sm"
|
|
17208
|
-
}, null, 8, ["modelValue"])]), createElementVNode("div", _hoisted_19$
|
|
17160
|
+
}, null, 8, ["modelValue"])]), createElementVNode("div", _hoisted_19$7, [_cache[10] || (_cache[10] = createElementVNode("label", { class: "mint-reagent-editor__label" }, "Doses", -1)), createVNode(NumberInput_default, {
|
|
17209
17161
|
modelValue: generatorCount.value,
|
|
17210
17162
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => generatorCount.value = $event),
|
|
17211
17163
|
min: 2,
|
|
17212
17164
|
max: __props.maxLevels,
|
|
17213
17165
|
step: 1,
|
|
17214
17166
|
size: "sm"
|
|
17215
|
-
}, null, 8, ["modelValue", "max"])])]), createElementVNode("div", _hoisted_20$
|
|
17167
|
+
}, null, 8, ["modelValue", "max"])])]), createElementVNode("div", _hoisted_20$6, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.presets, (preset) => {
|
|
17216
17168
|
return openBlock(), createElementBlock("button", {
|
|
17217
17169
|
key: preset.label,
|
|
17218
17170
|
type: "button",
|
|
@@ -18805,11 +18757,11 @@ var _hoisted_18$6 = {
|
|
|
18805
18757
|
key: 2,
|
|
18806
18758
|
class: "mint-batch-progress__state"
|
|
18807
18759
|
};
|
|
18808
|
-
var _hoisted_19$
|
|
18760
|
+
var _hoisted_19$6 = {
|
|
18809
18761
|
key: 3,
|
|
18810
18762
|
class: "mint-batch-progress__state"
|
|
18811
18763
|
};
|
|
18812
|
-
var _hoisted_20$
|
|
18764
|
+
var _hoisted_20$5 = {
|
|
18813
18765
|
key: 4,
|
|
18814
18766
|
class: "mint-batch-progress__state"
|
|
18815
18767
|
};
|
|
@@ -18987,11 +18939,11 @@ var BatchProgressList_default = /* @__PURE__ */ defineComponent({
|
|
|
18987
18939
|
state: "error",
|
|
18988
18940
|
size: "sm",
|
|
18989
18941
|
title: __props.error
|
|
18990
|
-
}, null, 8, ["title"])])])) : __props.loading ? (openBlock(), createElementBlock("div", _hoisted_19$
|
|
18942
|
+
}, null, 8, ["title"])])])) : __props.loading ? (openBlock(), createElementBlock("div", _hoisted_19$6, [renderSlot(_ctx.$slots, "loading", {}, () => [createVNode(DataStateInternal_default, {
|
|
18991
18943
|
state: "loading",
|
|
18992
18944
|
size: "sm",
|
|
18993
18945
|
"loading-label": "Loading batch"
|
|
18994
|
-
})])])) : __props.items.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_20$
|
|
18946
|
+
})])])) : __props.items.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_20$5, [renderSlot(_ctx.$slots, "empty", {}, () => [createVNode(DataStateInternal_default, {
|
|
18995
18947
|
state: "empty",
|
|
18996
18948
|
size: "sm",
|
|
18997
18949
|
title: __props.emptyMessage
|
|
@@ -19101,8 +19053,8 @@ var _hoisted_16$5 = {
|
|
|
19101
19053
|
};
|
|
19102
19054
|
var _hoisted_17$5 = { class: "mint-summary__pill-key" };
|
|
19103
19055
|
var _hoisted_18$5 = { class: "mint-summary__pill-value" };
|
|
19104
|
-
var _hoisted_19$
|
|
19105
|
-
var _hoisted_20$
|
|
19056
|
+
var _hoisted_19$5 = { class: "mint-summary__table-header" };
|
|
19057
|
+
var _hoisted_20$4 = { class: "mint-summary__section-label" };
|
|
19106
19058
|
var _hoisted_21$1 = { class: "mint-summary__section-count" };
|
|
19107
19059
|
var _hoisted_22$1 = {
|
|
19108
19060
|
key: 3,
|
|
@@ -19300,7 +19252,7 @@ var ExperimentDataViewer_default = /* @__PURE__ */ defineComponent({
|
|
|
19300
19252
|
"searchable"
|
|
19301
19253
|
])) : createCommentVNode("", true)
|
|
19302
19254
|
]);
|
|
19303
|
-
}), 128)) : section.type === "table" && section.rows ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createElementVNode("div", _hoisted_19$
|
|
19255
|
+
}), 128)) : section.type === "table" && section.rows ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createElementVNode("div", _hoisted_19$5, [createElementVNode("span", _hoisted_20$4, toDisplayString(section.label), 1), createElementVNode("span", _hoisted_21$1, toDisplayString(section.row_count) + " rows", 1)]), createVNode(DataFrame_default, {
|
|
19304
19256
|
data: section.rows,
|
|
19305
19257
|
columns: columnsForSection(section.columns || []),
|
|
19306
19258
|
searchable: (section.rows?.length || 0) > 10,
|
|
@@ -19583,8 +19535,8 @@ var _hoisted_18$4 = {
|
|
|
19583
19535
|
key: 1,
|
|
19584
19536
|
class: "mint-resource-card__footer"
|
|
19585
19537
|
};
|
|
19586
|
-
var _hoisted_19$
|
|
19587
|
-
var _hoisted_20$
|
|
19538
|
+
var _hoisted_19$4 = { class: "mint-resource-card__tags" };
|
|
19539
|
+
var _hoisted_20$3 = { class: "mint-resource-card__action" };
|
|
19588
19540
|
//#endregion
|
|
19589
19541
|
//#region src/components/ResourceCard.vue
|
|
19590
19542
|
var ResourceCard_default = /* @__PURE__ */ defineComponent({
|
|
@@ -19678,7 +19630,7 @@ var ResourceCard_default = /* @__PURE__ */ defineComponent({
|
|
|
19678
19630
|
class: "mint-resource-card__spec"
|
|
19679
19631
|
}, [createElementVNode("span", _hoisted_16$4, toDisplayString(spec.label), 1), createElementVNode("span", _hoisted_17$4, toDisplayString(spec.value), 1)]);
|
|
19680
19632
|
}), 128))])])) : createCommentVNode("", true),
|
|
19681
|
-
__props.tags.length > 0 || __props.showBookAction || _ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_18$4, [createElementVNode("div", _hoisted_19$
|
|
19633
|
+
__props.tags.length > 0 || __props.showBookAction || _ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_18$4, [createElementVNode("div", _hoisted_19$4, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.tags, (tag) => {
|
|
19682
19634
|
return openBlock(), createBlock(BasePill_default, {
|
|
19683
19635
|
key: tag,
|
|
19684
19636
|
size: "sm"
|
|
@@ -19686,7 +19638,7 @@ var ResourceCard_default = /* @__PURE__ */ defineComponent({
|
|
|
19686
19638
|
default: withCtx(() => [createTextVNode(toDisplayString(tag), 1)]),
|
|
19687
19639
|
_: 2
|
|
19688
19640
|
}, 1024);
|
|
19689
|
-
}), 128))]), createElementVNode("div", _hoisted_20$
|
|
19641
|
+
}), 128))]), createElementVNode("div", _hoisted_20$3, [renderSlot(_ctx.$slots, "action", {}, () => [__props.showBookAction ? (openBlock(), createElementBlock("button", {
|
|
19690
19642
|
key: 0,
|
|
19691
19643
|
type: "button",
|
|
19692
19644
|
class: "mint-resource-card__book-btn",
|
|
@@ -19872,11 +19824,11 @@ var ExperimentSelectorModal_vue_vue_type_script_setup_true_lang_default = /*@__P
|
|
|
19872
19824
|
return {
|
|
19873
19825
|
code: experiment.experiment_code,
|
|
19874
19826
|
title: experiment.name,
|
|
19875
|
-
meta: [
|
|
19876
|
-
|
|
19877
|
-
|
|
19878
|
-
|
|
19879
|
-
|
|
19827
|
+
meta: [...groupToggle.value ? [] : [experiment.project_name || experiment.project || ""], owner ? [owner.first_name, owner.last_name].filter(Boolean).join(" ") || owner.username : ""].filter(Boolean),
|
|
19828
|
+
status: experiment.status ? {
|
|
19829
|
+
label: formatExperimentStatus(experiment.status),
|
|
19830
|
+
variant: getExperimentStatusVariant(experiment.status)
|
|
19831
|
+
} : void 0,
|
|
19880
19832
|
date: formatExperimentDate(experiment.created_at)
|
|
19881
19833
|
};
|
|
19882
19834
|
}
|
|
@@ -20656,8 +20608,8 @@ var _hoisted_18$3 = {
|
|
|
20656
20608
|
class: "mint-experiment-popover__card mint-experiment-popover__card--error",
|
|
20657
20609
|
role: "alert"
|
|
20658
20610
|
};
|
|
20659
|
-
var _hoisted_19$
|
|
20660
|
-
var _hoisted_20$
|
|
20611
|
+
var _hoisted_19$3 = { class: "mint-experiment-popover__card-info" };
|
|
20612
|
+
var _hoisted_20$2 = { class: "mint-experiment-popover__card-message" };
|
|
20661
20613
|
var _hoisted_21 = { class: "mint-experiment-popover__card-actions" };
|
|
20662
20614
|
var _hoisted_22 = {
|
|
20663
20615
|
key: 2,
|
|
@@ -20864,7 +20816,7 @@ var ExperimentPopover_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
|
|
|
20864
20816
|
"stroke-linejoin": "round",
|
|
20865
20817
|
"stroke-width": "1.75",
|
|
20866
20818
|
d: "M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z"
|
|
20867
|
-
})])], -1)), createElementVNode("div", _hoisted_19$
|
|
20819
|
+
})])], -1)), createElementVNode("div", _hoisted_19$3, [_cache[7] || (_cache[7] = createElementVNode("div", { class: "mint-experiment-popover__card-name" }, "Experiment unavailable", -1)), createElementVNode("div", _hoisted_20$2, toDisplayString(__props.error), 1)])]), createElementVNode("div", _hoisted_21, [createElementVNode("button", {
|
|
20868
20820
|
type: "button",
|
|
20869
20821
|
class: "mint-experiment-popover__change-btn",
|
|
20870
20822
|
onClick: handleSelect
|
|
@@ -20994,12 +20946,12 @@ var _hoisted_17$2 = {
|
|
|
20994
20946
|
d: "M3.5 8.5l3 3 6-7"
|
|
20995
20947
|
};
|
|
20996
20948
|
var _hoisted_18$2 = { key: 1 };
|
|
20997
|
-
var _hoisted_19$
|
|
20949
|
+
var _hoisted_19$2 = {
|
|
20998
20950
|
key: 0,
|
|
20999
20951
|
class: "mint-fit-panel__check-shape",
|
|
21000
20952
|
d: "M8 1.5l7 12.5H1z"
|
|
21001
20953
|
};
|
|
21002
|
-
var _hoisted_20 = {
|
|
20954
|
+
var _hoisted_20$1 = {
|
|
21003
20955
|
key: 1,
|
|
21004
20956
|
class: "mint-fit-panel__check-shape",
|
|
21005
20957
|
cx: "8",
|
|
@@ -21119,7 +21071,7 @@ var FitPanel_default = /* @__PURE__ */ defineComponent({
|
|
|
21119
21071
|
return openBlock(), createElementBlock("span", {
|
|
21120
21072
|
key: idx,
|
|
21121
21073
|
class: normalizeClass(["mint-fit-panel__check", `mint-fit-panel__check--${item.variant ?? "default"}`])
|
|
21122
|
-
}, [(openBlock(), createElementBlock("svg", _hoisted_16$2, [item.variant === "success" ? (openBlock(), createElementBlock("path", _hoisted_17$2)) : (openBlock(), createElementBlock("g", _hoisted_18$2, [item.variant === "warning" ? (openBlock(), createElementBlock("path", _hoisted_19$
|
|
21074
|
+
}, [(openBlock(), createElementBlock("svg", _hoisted_16$2, [item.variant === "success" ? (openBlock(), createElementBlock("path", _hoisted_17$2)) : (openBlock(), createElementBlock("g", _hoisted_18$2, [item.variant === "warning" ? (openBlock(), createElementBlock("path", _hoisted_19$2)) : (openBlock(), createElementBlock("circle", _hoisted_20$1)), _cache[3] || (_cache[3] = createElementVNode("path", {
|
|
21123
21075
|
class: "mint-fit-panel__check-mark",
|
|
21124
21076
|
d: "M8 6v3M8 11.5v.01"
|
|
21125
21077
|
}, null, -1))]))])), createTextVNode(" " + toDisplayString(item.label) + " " + toDisplayString(item.value), 1)], 2);
|
|
@@ -21178,19 +21130,24 @@ var _hoisted_1$2 = [
|
|
|
21178
21130
|
];
|
|
21179
21131
|
var _hoisted_2$2 = {
|
|
21180
21132
|
key: 0,
|
|
21181
|
-
class: "mint-
|
|
21133
|
+
class: "mint-picker__truncated",
|
|
21134
|
+
role: "status"
|
|
21182
21135
|
};
|
|
21183
21136
|
var _hoisted_3$2 = {
|
|
21184
21137
|
key: 1,
|
|
21185
|
-
|
|
21186
|
-
class: "mint-picker__empty"
|
|
21138
|
+
class: "mint-picker__skeleton"
|
|
21187
21139
|
};
|
|
21188
21140
|
var _hoisted_4$2 = {
|
|
21189
21141
|
key: 2,
|
|
21142
|
+
role: "alert",
|
|
21143
|
+
class: "mint-picker__empty"
|
|
21144
|
+
};
|
|
21145
|
+
var _hoisted_5$2 = {
|
|
21146
|
+
key: 3,
|
|
21190
21147
|
class: "mint-picker__empty",
|
|
21191
21148
|
role: "status"
|
|
21192
21149
|
};
|
|
21193
|
-
var
|
|
21150
|
+
var _hoisted_6$2 = [
|
|
21194
21151
|
"role",
|
|
21195
21152
|
"data-path",
|
|
21196
21153
|
"aria-level",
|
|
@@ -21203,8 +21160,8 @@ var _hoisted_5$2 = [
|
|
|
21203
21160
|
"onDblclick",
|
|
21204
21161
|
"onKeydown"
|
|
21205
21162
|
];
|
|
21206
|
-
var
|
|
21207
|
-
var
|
|
21163
|
+
var _hoisted_7$2 = { class: "mint-picker__cell mint-picker__cell--check" };
|
|
21164
|
+
var _hoisted_8$2 = {
|
|
21208
21165
|
key: 0,
|
|
21209
21166
|
class: "mint-picker__lock",
|
|
21210
21167
|
viewBox: "0 0 24 24",
|
|
@@ -21213,13 +21170,13 @@ var _hoisted_7$2 = {
|
|
|
21213
21170
|
"stroke-width": "1.8",
|
|
21214
21171
|
"aria-hidden": "true"
|
|
21215
21172
|
};
|
|
21216
|
-
var
|
|
21217
|
-
var
|
|
21218
|
-
var
|
|
21173
|
+
var _hoisted_9$2 = ["d"];
|
|
21174
|
+
var _hoisted_10$2 = { class: "mint-picker__cell mint-picker__cell--name" };
|
|
21175
|
+
var _hoisted_11$2 = {
|
|
21219
21176
|
key: 1,
|
|
21220
21177
|
class: "mint-picker__disclosure"
|
|
21221
21178
|
};
|
|
21222
|
-
var
|
|
21179
|
+
var _hoisted_12$2 = {
|
|
21223
21180
|
class: "mint-picker__node-icon",
|
|
21224
21181
|
viewBox: "0 0 24 24",
|
|
21225
21182
|
fill: "none",
|
|
@@ -21227,19 +21184,19 @@ var _hoisted_11$2 = {
|
|
|
21227
21184
|
"stroke-width": "1.7",
|
|
21228
21185
|
"aria-hidden": "true"
|
|
21229
21186
|
};
|
|
21230
|
-
var
|
|
21231
|
-
var
|
|
21232
|
-
var
|
|
21233
|
-
var
|
|
21187
|
+
var _hoisted_13$2 = ["d"];
|
|
21188
|
+
var _hoisted_14$2 = { class: "mint-picker__name" };
|
|
21189
|
+
var _hoisted_15$2 = { key: 0 };
|
|
21190
|
+
var _hoisted_16$1 = {
|
|
21234
21191
|
key: 1,
|
|
21235
21192
|
class: "mint-picker__reason"
|
|
21236
21193
|
};
|
|
21237
|
-
var
|
|
21194
|
+
var _hoisted_17$1 = {
|
|
21238
21195
|
key: 2,
|
|
21239
21196
|
class: "mint-picker__parent-name"
|
|
21240
21197
|
};
|
|
21241
|
-
var
|
|
21242
|
-
var
|
|
21198
|
+
var _hoisted_18$1 = { class: "mint-picker__cell mint-picker__cell--time" };
|
|
21199
|
+
var _hoisted_19$1 = {
|
|
21243
21200
|
key: 0,
|
|
21244
21201
|
class: "mint-picker__branch-error",
|
|
21245
21202
|
role: "alert"
|
|
@@ -21255,6 +21212,7 @@ var FilePickerListInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
21255
21212
|
loading: { type: Boolean },
|
|
21256
21213
|
error: {},
|
|
21257
21214
|
query: {},
|
|
21215
|
+
truncated: { type: Boolean },
|
|
21258
21216
|
mode: {},
|
|
21259
21217
|
selected: { type: Function },
|
|
21260
21218
|
selectable: { type: Function },
|
|
@@ -21382,106 +21340,110 @@ var FilePickerListInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
21382
21340
|
"aria-label": "Folders and files",
|
|
21383
21341
|
"aria-multiselectable": multi.value,
|
|
21384
21342
|
"aria-busy": __props.loading
|
|
21385
|
-
}, [_cache[6] || (_cache[6] = createElementVNode("div", {
|
|
21386
|
-
class: "mint-picker__list-head",
|
|
21387
|
-
"aria-hidden": "true"
|
|
21388
21343
|
}, [
|
|
21389
|
-
createElementVNode("
|
|
21390
|
-
|
|
21391
|
-
|
|
21392
|
-
createElementVNode("span", null, "Modified")
|
|
21393
|
-
], -1)), __props.loading ? (openBlock(), createElementBlock("div", _hoisted_2$2, [(openBlock(), createElementBlock(Fragment, null, renderList(6, (n) => {
|
|
21394
|
-
return createVNode(Skeleton_default, {
|
|
21395
|
-
key: n,
|
|
21396
|
-
width: "100%",
|
|
21397
|
-
height: "1.25rem"
|
|
21398
|
-
});
|
|
21399
|
-
}), 64))])) : __props.error ? (openBlock(), createElementBlock("div", _hoisted_3$2, [createElementVNode("span", null, toDisplayString(__props.error), 1), createVNode(BaseButton_default, {
|
|
21400
|
-
variant: "secondary",
|
|
21401
|
-
size: "sm",
|
|
21402
|
-
onClick: _cache[0] || (_cache[0] = ($event) => emit("retry"))
|
|
21403
|
-
}, {
|
|
21404
|
-
default: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode("Try again", -1)])]),
|
|
21405
|
-
_: 1
|
|
21406
|
-
})])) : !__props.rows.length ? (openBlock(), createElementBlock("div", _hoisted_4$2, [createElementVNode("strong", null, toDisplayString(__props.query ? "No matching folders or files" : __props.emptyTitle || "No readable files"), 1), createElementVNode("span", null, toDisplayString(__props.query ? "Try a different search or include subfolders." : "Choose another location."), 1)])) : (openBlock(true), createElementBlock(Fragment, { key: 3 }, renderList(__props.rows, (row) => {
|
|
21407
|
-
return openBlock(), createElementBlock(Fragment, { key: row.node.path }, [createElementVNode("div", {
|
|
21408
|
-
role: tree.value ? "treeitem" : "option",
|
|
21409
|
-
"data-path": row.node.path,
|
|
21410
|
-
"aria-level": tree.value ? row.depth + 1 : void 0,
|
|
21411
|
-
"aria-selected": __props.selected(row.node),
|
|
21412
|
-
"aria-disabled": !!reason(row.node),
|
|
21413
|
-
"aria-expanded": tree.value && row.node.kind === "folder" && !reason(row.node) ? row.expanded : void 0,
|
|
21414
|
-
tabindex: !reason(row.node) && row.node.path === focusablePath.value ? 0 : -1,
|
|
21415
|
-
class: normalizeClass(["mint-picker__row", {
|
|
21416
|
-
"mint-picker__row--selected": __props.selected(row.node),
|
|
21417
|
-
"mint-picker__row--unreadable": !!reason(row.node)
|
|
21418
|
-
}]),
|
|
21419
|
-
style: normalizeStyle({ "--picker-depth": row.depth }),
|
|
21420
|
-
title: reason(row.node) || row.node.name,
|
|
21421
|
-
onClick: ($event) => !reason(row.node) && emit("select", row.node, $event),
|
|
21422
|
-
onDblclick: ($event) => !reason(row.node) && emit("enter", row.node),
|
|
21423
|
-
onKeydown: ($event) => keydown($event, row)
|
|
21344
|
+
_cache[6] || (_cache[6] = createElementVNode("div", {
|
|
21345
|
+
class: "mint-picker__list-head",
|
|
21346
|
+
"aria-hidden": "true"
|
|
21424
21347
|
}, [
|
|
21425
|
-
createElementVNode("span"
|
|
21426
|
-
|
|
21427
|
-
|
|
21428
|
-
|
|
21429
|
-
|
|
21430
|
-
|
|
21431
|
-
|
|
21432
|
-
|
|
21433
|
-
|
|
21434
|
-
|
|
21435
|
-
|
|
21436
|
-
|
|
21437
|
-
|
|
21438
|
-
|
|
21439
|
-
label: `${row.expanded ? "Collapse" : "Expand"} ${row.node.name}`,
|
|
21440
|
-
tabindex: "-1",
|
|
21441
|
-
loading: row.loading,
|
|
21442
|
-
onClick: withModifiers(($event) => emit("expand", row.node), ["stop"]),
|
|
21443
|
-
onDblclick: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"]))
|
|
21444
|
-
}, {
|
|
21445
|
-
default: withCtx(() => [(openBlock(), createElementBlock("svg", {
|
|
21446
|
-
viewBox: "0 0 16 16",
|
|
21447
|
-
fill: "currentColor",
|
|
21448
|
-
"aria-hidden": "true",
|
|
21449
|
-
class: normalizeClass({ "mint-picker__chevron--open": row.expanded })
|
|
21450
|
-
}, [..._cache[3] || (_cache[3] = [createElementVNode("path", { d: "m6 3 5 5-5 5z" }, null, -1)])], 2))]),
|
|
21451
|
-
_: 2
|
|
21452
|
-
}, 1032, [
|
|
21453
|
-
"label",
|
|
21454
|
-
"loading",
|
|
21455
|
-
"onClick"
|
|
21456
|
-
])) : (openBlock(), createElementBlock("span", _hoisted_10$2))], 64)) : createCommentVNode("", true),
|
|
21457
|
-
(openBlock(), createElementBlock("svg", _hoisted_11$2, [createElementVNode("path", { d: row.node.kind === "folder" ? unref(FILE_PICKER_ICONS).folder : unref(FILE_PICKER_ICONS).file }, null, 8, _hoisted_12$2)])),
|
|
21458
|
-
createElementVNode("span", _hoisted_13$2, [
|
|
21459
|
-
createTextVNode(toDisplayString(parts(row.node.name)[0]), 1),
|
|
21460
|
-
parts(row.node.name)[1] ? (openBlock(), createElementBlock("mark", _hoisted_14$2, toDisplayString(parts(row.node.name)[1]), 1)) : createCommentVNode("", true),
|
|
21461
|
-
createTextVNode(toDisplayString(parts(row.node.name)[2]), 1)
|
|
21462
|
-
]),
|
|
21463
|
-
reason(row.node) ? (openBlock(), createElementBlock("span", _hoisted_15$2, toDisplayString(shortReason(row.node)), 1)) : __props.query && row.node.parentName ? (openBlock(), createElementBlock("span", _hoisted_16$1, toDisplayString(row.node.parentName), 1)) : createCommentVNode("", true),
|
|
21464
|
-
__props.query && __props.mode === "folder" && row.node.kind === "file" && row.node.parentPath && !reason(row.node) ? (openBlock(), createBlock(BaseButton_default, {
|
|
21465
|
-
key: 3,
|
|
21466
|
-
variant: "ghost",
|
|
21467
|
-
size: "sm",
|
|
21468
|
-
onClick: withModifiers(($event) => emit("parent", row.node), ["stop"])
|
|
21469
|
-
}, {
|
|
21470
|
-
default: withCtx(() => [..._cache[4] || (_cache[4] = [createTextVNode("Select its folder", -1)])]),
|
|
21471
|
-
_: 1
|
|
21472
|
-
}, 8, ["onClick"])) : createCommentVNode("", true)
|
|
21473
|
-
]),
|
|
21474
|
-
createElementVNode("span", { class: normalizeClass(["mint-picker__cell mint-picker__cell--size", { "mint-picker__partial": partial(row.node) }]) }, toDisplayString(size(row.node)), 3),
|
|
21475
|
-
createElementVNode("span", _hoisted_17$1, toDisplayString(unref(formatModified)(row.node.modifiedAt)), 1)
|
|
21476
|
-
], 46, _hoisted_5$2), row.error ? (openBlock(), createElementBlock("div", _hoisted_18$1, [createTextVNode(toDisplayString(row.error), 1), createVNode(BaseButton_default, {
|
|
21477
|
-
variant: "ghost",
|
|
21348
|
+
createElementVNode("span"),
|
|
21349
|
+
createElementVNode("span", null, "Name"),
|
|
21350
|
+
createElementVNode("span", null, "Size"),
|
|
21351
|
+
createElementVNode("span", null, "Modified")
|
|
21352
|
+
], -1)),
|
|
21353
|
+
__props.truncated && !__props.loading && !__props.error && __props.rows.length ? (openBlock(), createElementBlock("p", _hoisted_2$2, " Showing the first " + toDisplayString(__props.rows.length) + " matches. Search a smaller folder or use a more specific search to see the rest. ", 1)) : createCommentVNode("", true),
|
|
21354
|
+
__props.loading ? (openBlock(), createElementBlock("div", _hoisted_3$2, [(openBlock(), createElementBlock(Fragment, null, renderList(6, (n) => {
|
|
21355
|
+
return createVNode(Skeleton_default, {
|
|
21356
|
+
key: n,
|
|
21357
|
+
width: "100%",
|
|
21358
|
+
height: "1.25rem"
|
|
21359
|
+
});
|
|
21360
|
+
}), 64))])) : __props.error ? (openBlock(), createElementBlock("div", _hoisted_4$2, [createElementVNode("span", null, toDisplayString(__props.error), 1), createVNode(BaseButton_default, {
|
|
21361
|
+
variant: "secondary",
|
|
21478
21362
|
size: "sm",
|
|
21479
|
-
onClick: ($event) => emit("
|
|
21363
|
+
onClick: _cache[0] || (_cache[0] = ($event) => emit("retry"))
|
|
21480
21364
|
}, {
|
|
21481
|
-
default: withCtx(() => [..._cache[
|
|
21365
|
+
default: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode("Try again", -1)])]),
|
|
21482
21366
|
_: 1
|
|
21483
|
-
},
|
|
21484
|
-
|
|
21367
|
+
})])) : !__props.rows.length ? (openBlock(), createElementBlock("div", _hoisted_5$2, [createElementVNode("strong", null, toDisplayString(__props.truncated ? "Search stopped before finding a match" : __props.query ? "No matching folders or files" : __props.emptyTitle || "No readable files"), 1), createElementVNode("span", null, toDisplayString(__props.truncated ? "Search a smaller folder or use a more specific search." : __props.query ? "Try a different search or include subfolders." : "Choose another location."), 1)])) : (openBlock(true), createElementBlock(Fragment, { key: 4 }, renderList(__props.rows, (row) => {
|
|
21368
|
+
return openBlock(), createElementBlock(Fragment, { key: row.node.path }, [createElementVNode("div", {
|
|
21369
|
+
role: tree.value ? "treeitem" : "option",
|
|
21370
|
+
"data-path": row.node.path,
|
|
21371
|
+
"aria-level": tree.value ? row.depth + 1 : void 0,
|
|
21372
|
+
"aria-selected": __props.selected(row.node),
|
|
21373
|
+
"aria-disabled": !!reason(row.node),
|
|
21374
|
+
"aria-expanded": tree.value && row.node.kind === "folder" && !reason(row.node) ? row.expanded : void 0,
|
|
21375
|
+
tabindex: !reason(row.node) && row.node.path === focusablePath.value ? 0 : -1,
|
|
21376
|
+
class: normalizeClass(["mint-picker__row", {
|
|
21377
|
+
"mint-picker__row--selected": __props.selected(row.node),
|
|
21378
|
+
"mint-picker__row--unreadable": !!reason(row.node)
|
|
21379
|
+
}]),
|
|
21380
|
+
style: normalizeStyle({ "--picker-depth": row.depth }),
|
|
21381
|
+
title: reason(row.node) || row.node.name,
|
|
21382
|
+
onClick: ($event) => !reason(row.node) && emit("select", row.node, $event),
|
|
21383
|
+
onDblclick: ($event) => !reason(row.node) && emit("enter", row.node),
|
|
21384
|
+
onKeydown: ($event) => keydown($event, row)
|
|
21385
|
+
}, [
|
|
21386
|
+
createElementVNode("span", _hoisted_7$2, [locked(row.node) ? (openBlock(), createElementBlock("svg", _hoisted_8$2, [createElementVNode("path", { d: unref(FILE_PICKER_ICONS).lock }, null, 8, _hoisted_9$2)])) : multi.value && __props.selectable(row.node) ? (openBlock(), createBlock(BaseCheckbox_default, {
|
|
21387
|
+
key: 1,
|
|
21388
|
+
size: "sm",
|
|
21389
|
+
inert: "",
|
|
21390
|
+
"aria-hidden": "true",
|
|
21391
|
+
"model-value": __props.selected(row.node),
|
|
21392
|
+
indeterminate: partial(row.node)
|
|
21393
|
+
}, null, 8, ["model-value", "indeterminate"])) : createCommentVNode("", true)]),
|
|
21394
|
+
createElementVNode("span", _hoisted_10$2, [
|
|
21395
|
+
tree.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [row.node.kind === "folder" && row.node.hasChildren !== false && !reason(row.node) ? (openBlock(), createBlock(IconButton_default, {
|
|
21396
|
+
key: 0,
|
|
21397
|
+
size: "sm",
|
|
21398
|
+
variant: "ghost",
|
|
21399
|
+
class: "mint-picker__disclosure",
|
|
21400
|
+
label: `${row.expanded ? "Collapse" : "Expand"} ${row.node.name}`,
|
|
21401
|
+
tabindex: "-1",
|
|
21402
|
+
loading: row.loading,
|
|
21403
|
+
onClick: withModifiers(($event) => emit("expand", row.node), ["stop"]),
|
|
21404
|
+
onDblclick: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"]))
|
|
21405
|
+
}, {
|
|
21406
|
+
default: withCtx(() => [(openBlock(), createElementBlock("svg", {
|
|
21407
|
+
viewBox: "0 0 16 16",
|
|
21408
|
+
fill: "currentColor",
|
|
21409
|
+
"aria-hidden": "true",
|
|
21410
|
+
class: normalizeClass({ "mint-picker__chevron--open": row.expanded })
|
|
21411
|
+
}, [..._cache[3] || (_cache[3] = [createElementVNode("path", { d: "m6 3 5 5-5 5z" }, null, -1)])], 2))]),
|
|
21412
|
+
_: 2
|
|
21413
|
+
}, 1032, [
|
|
21414
|
+
"label",
|
|
21415
|
+
"loading",
|
|
21416
|
+
"onClick"
|
|
21417
|
+
])) : (openBlock(), createElementBlock("span", _hoisted_11$2))], 64)) : createCommentVNode("", true),
|
|
21418
|
+
(openBlock(), createElementBlock("svg", _hoisted_12$2, [createElementVNode("path", { d: row.node.kind === "folder" ? unref(FILE_PICKER_ICONS).folder : unref(FILE_PICKER_ICONS).file }, null, 8, _hoisted_13$2)])),
|
|
21419
|
+
createElementVNode("span", _hoisted_14$2, [
|
|
21420
|
+
createTextVNode(toDisplayString(parts(row.node.name)[0]), 1),
|
|
21421
|
+
parts(row.node.name)[1] ? (openBlock(), createElementBlock("mark", _hoisted_15$2, toDisplayString(parts(row.node.name)[1]), 1)) : createCommentVNode("", true),
|
|
21422
|
+
createTextVNode(toDisplayString(parts(row.node.name)[2]), 1)
|
|
21423
|
+
]),
|
|
21424
|
+
reason(row.node) ? (openBlock(), createElementBlock("span", _hoisted_16$1, toDisplayString(shortReason(row.node)), 1)) : __props.query && row.node.parentName ? (openBlock(), createElementBlock("span", _hoisted_17$1, toDisplayString(row.node.parentName), 1)) : createCommentVNode("", true),
|
|
21425
|
+
__props.query && __props.mode === "folder" && row.node.kind === "file" && row.node.parentPath && !reason(row.node) ? (openBlock(), createBlock(BaseButton_default, {
|
|
21426
|
+
key: 3,
|
|
21427
|
+
variant: "ghost",
|
|
21428
|
+
size: "sm",
|
|
21429
|
+
onClick: withModifiers(($event) => emit("parent", row.node), ["stop"])
|
|
21430
|
+
}, {
|
|
21431
|
+
default: withCtx(() => [..._cache[4] || (_cache[4] = [createTextVNode("Select its folder", -1)])]),
|
|
21432
|
+
_: 1
|
|
21433
|
+
}, 8, ["onClick"])) : createCommentVNode("", true)
|
|
21434
|
+
]),
|
|
21435
|
+
createElementVNode("span", { class: normalizeClass(["mint-picker__cell mint-picker__cell--size", { "mint-picker__partial": partial(row.node) }]) }, toDisplayString(size(row.node)), 3),
|
|
21436
|
+
createElementVNode("span", _hoisted_18$1, toDisplayString(unref(formatModified)(row.node.modifiedAt)), 1)
|
|
21437
|
+
], 46, _hoisted_6$2), row.error ? (openBlock(), createElementBlock("div", _hoisted_19$1, [createTextVNode(toDisplayString(row.error), 1), createVNode(BaseButton_default, {
|
|
21438
|
+
variant: "ghost",
|
|
21439
|
+
size: "sm",
|
|
21440
|
+
onClick: ($event) => emit("expand", row.node)
|
|
21441
|
+
}, {
|
|
21442
|
+
default: withCtx(() => [..._cache[5] || (_cache[5] = [createTextVNode("Close branch", -1)])]),
|
|
21443
|
+
_: 1
|
|
21444
|
+
}, 8, ["onClick"])])) : createCommentVNode("", true)], 64);
|
|
21445
|
+
}), 128))
|
|
21446
|
+
], 8, _hoisted_1$2);
|
|
21485
21447
|
};
|
|
21486
21448
|
}
|
|
21487
21449
|
});
|
|
@@ -21594,7 +21556,25 @@ var FilePickerPreviewInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
21594
21556
|
});
|
|
21595
21557
|
//#endregion
|
|
21596
21558
|
//#region src/composables/filePicker/usePickerNavigation.ts
|
|
21597
|
-
|
|
21559
|
+
var byName = new Intl.Collator(void 0, {
|
|
21560
|
+
numeric: true,
|
|
21561
|
+
sensitivity: "base"
|
|
21562
|
+
}).compare;
|
|
21563
|
+
/** Folders first; undated rows go last in either time order. */
|
|
21564
|
+
function ordered(items, sort) {
|
|
21565
|
+
if (!sort) return items;
|
|
21566
|
+
const times = new Map(items.map((node) => [node, node.modifiedAt ? Date.parse(node.modifiedAt) : NaN]));
|
|
21567
|
+
const time = (node) => times.get(node);
|
|
21568
|
+
return [...items].sort((a, b) => {
|
|
21569
|
+
if (a.kind !== b.kind) return a.kind === "folder" ? -1 : 1;
|
|
21570
|
+
if (sort === "name") return byName(a.name, b.name);
|
|
21571
|
+
if (sort === "name-desc") return byName(b.name, a.name);
|
|
21572
|
+
const [ta, tb] = [time(a), time(b)];
|
|
21573
|
+
if (Number.isNaN(ta) || Number.isNaN(tb)) return Number.isNaN(ta) === Number.isNaN(tb) ? byName(a.name, b.name) : Number.isNaN(ta) ? 1 : -1;
|
|
21574
|
+
return (sort === "newest" ? tb - ta : ta - tb) || byName(a.name, b.name);
|
|
21575
|
+
});
|
|
21576
|
+
}
|
|
21577
|
+
function usePickerNavigation(adapter, request, systemFilter = () => true, sort = () => void 0) {
|
|
21598
21578
|
const path = shallowRef("");
|
|
21599
21579
|
const trail = ref([]);
|
|
21600
21580
|
const entries = shallowRef([]);
|
|
@@ -21605,6 +21585,8 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
21605
21585
|
const expansionErrors = ref(/* @__PURE__ */ new Map());
|
|
21606
21586
|
const loading = shallowRef(false);
|
|
21607
21587
|
const error = shallowRef("");
|
|
21588
|
+
/** True when the current search results stopped at an adapter limit. */
|
|
21589
|
+
const truncated = shallowRef(false);
|
|
21608
21590
|
let epoch = 0;
|
|
21609
21591
|
let navigation = 0;
|
|
21610
21592
|
let controller;
|
|
@@ -21724,13 +21706,16 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
21724
21706
|
};
|
|
21725
21707
|
loading.value = true;
|
|
21726
21708
|
error.value = "";
|
|
21709
|
+
truncated.value = false;
|
|
21727
21710
|
entries.value = [];
|
|
21728
21711
|
try {
|
|
21729
|
-
const
|
|
21712
|
+
const found = query.trim() ? await adapter().search(query.trim(), {
|
|
21730
21713
|
path: path.value,
|
|
21731
21714
|
recursive
|
|
21732
21715
|
}, options) : path.value ? await loadChildren(path.value, [], refresh) : await adapter().listRoot(options);
|
|
21733
21716
|
if (token !== navigation) return;
|
|
21717
|
+
const items = Array.isArray(found) ? found : found.nodes;
|
|
21718
|
+
truncated.value = !Array.isArray(found) && found.truncated;
|
|
21734
21719
|
register(items, query.trim() ? void 0 : path.value);
|
|
21735
21720
|
entries.value = items;
|
|
21736
21721
|
if (!query.trim()) prefetch(items);
|
|
@@ -21776,8 +21761,9 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
21776
21761
|
}
|
|
21777
21762
|
const rows = computed(() => {
|
|
21778
21763
|
const result = [];
|
|
21764
|
+
const order = sort();
|
|
21779
21765
|
function visit(items, depth, ancestors) {
|
|
21780
|
-
for (const item of items) {
|
|
21766
|
+
for (const item of ordered(items, order)) {
|
|
21781
21767
|
if (ancestors.has(item.path) || depth > 30) continue;
|
|
21782
21768
|
const node = nodes.value.get(item.path) ?? item;
|
|
21783
21769
|
if (!isAllowed(node)) continue;
|
|
@@ -21806,6 +21792,7 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
21806
21792
|
expansionErrors,
|
|
21807
21793
|
loading,
|
|
21808
21794
|
error,
|
|
21795
|
+
truncated,
|
|
21809
21796
|
rows,
|
|
21810
21797
|
isAllowed,
|
|
21811
21798
|
clear,
|
|
@@ -22111,12 +22098,13 @@ function useFilePicker(props, emit, searchArea) {
|
|
|
22111
22098
|
const source = shallowRef(allowedSources.value.includes(props.initialSelection?.source) ? props.initialSelection.source : allowedSources.value[0] ?? "server");
|
|
22112
22099
|
const query = shallowRef("");
|
|
22113
22100
|
const recursive = shallowRef(false);
|
|
22101
|
+
const sort = shallowRef(props.defaultSort);
|
|
22114
22102
|
const skipBlanks = shallowRef(false);
|
|
22115
22103
|
const reviewing = shallowRef(false);
|
|
22116
22104
|
const localFiles = shallowRef([]);
|
|
22117
22105
|
const localPaths = /* @__PURE__ */ new WeakMap();
|
|
22118
22106
|
const localAdapter = computed(() => localFilesAdapter(localFiles.value, localFiles.value.map((file) => localPaths.get(toRaw(file)))));
|
|
22119
|
-
const nav = usePickerNavigation(() => source.value === "localFile" ? localAdapter.value : props.adapter, () => ({ source: source.value }), (node) => props.systemFilter?.(node, source.value) !== false);
|
|
22107
|
+
const nav = usePickerNavigation(() => source.value === "localFile" ? localAdapter.value : props.adapter, () => ({ source: source.value }), (node) => props.systemFilter?.(node, source.value) !== false, () => sort.value);
|
|
22120
22108
|
const capability = computed(() => props.capabilities[source.value]);
|
|
22121
22109
|
const selection = usePickerSelection(nav, () => props.selectionMode, () => capability.value, () => skipBlanks.value);
|
|
22122
22110
|
const { path, trail, loading, error, rows } = nav;
|
|
@@ -22199,6 +22187,7 @@ function useFilePicker(props, emit, searchArea) {
|
|
|
22199
22187
|
watch(() => props.open, (open) => {
|
|
22200
22188
|
clearTimeout(timer);
|
|
22201
22189
|
if (open) {
|
|
22190
|
+
sort.value = props.defaultSort;
|
|
22202
22191
|
if (!initialized) {
|
|
22203
22192
|
path.value = props.initialPath;
|
|
22204
22193
|
if (path.value) trail.value = [{
|
|
@@ -22360,10 +22349,11 @@ function useFilePicker(props, emit, searchArea) {
|
|
|
22360
22349
|
}
|
|
22361
22350
|
async function selectLocalFiles() {
|
|
22362
22351
|
const token = openGeneration;
|
|
22363
|
-
const
|
|
22352
|
+
const found = props.selectionMode === "single-file" || props.selectionMode === "multi-file" ? await localAdapter.value.search("", {
|
|
22364
22353
|
path: "",
|
|
22365
22354
|
recursive: true
|
|
22366
22355
|
}) : nav.entries.value;
|
|
22356
|
+
const items = Array.isArray(found) ? found : found.nodes;
|
|
22367
22357
|
if (token !== openGeneration || !props.open || source.value !== "localFile") return;
|
|
22368
22358
|
nav.register(items);
|
|
22369
22359
|
const candidates = items.filter((node) => selection.selectable(node));
|
|
@@ -22408,6 +22398,7 @@ function useFilePicker(props, emit, searchArea) {
|
|
|
22408
22398
|
source,
|
|
22409
22399
|
query,
|
|
22410
22400
|
recursive,
|
|
22401
|
+
sort,
|
|
22411
22402
|
skipBlanks,
|
|
22412
22403
|
reviewing,
|
|
22413
22404
|
nav,
|
|
@@ -22470,32 +22461,38 @@ var _hoisted_8 = {
|
|
|
22470
22461
|
key: 0,
|
|
22471
22462
|
class: "mint-picker__accepts"
|
|
22472
22463
|
};
|
|
22473
|
-
var _hoisted_9 = [
|
|
22474
|
-
|
|
22475
|
-
|
|
22464
|
+
var _hoisted_9 = [
|
|
22465
|
+
"aria-expanded",
|
|
22466
|
+
"aria-label",
|
|
22467
|
+
"onClick",
|
|
22468
|
+
"onKeydown"
|
|
22469
|
+
];
|
|
22470
|
+
var _hoisted_10 = ["aria-pressed"];
|
|
22471
|
+
var _hoisted_11 = ["disabled"];
|
|
22472
|
+
var _hoisted_12 = {
|
|
22476
22473
|
key: 1,
|
|
22477
22474
|
class: "mint-picker__empty"
|
|
22478
22475
|
};
|
|
22479
|
-
var
|
|
22476
|
+
var _hoisted_13 = {
|
|
22480
22477
|
key: 0,
|
|
22481
22478
|
class: "mint-picker__local-upload"
|
|
22482
22479
|
};
|
|
22483
|
-
var
|
|
22480
|
+
var _hoisted_14 = {
|
|
22484
22481
|
key: 0,
|
|
22485
22482
|
role: "alert"
|
|
22486
22483
|
};
|
|
22487
|
-
var
|
|
22484
|
+
var _hoisted_15 = {
|
|
22488
22485
|
key: 1,
|
|
22489
22486
|
class: "mint-picker__workspace"
|
|
22490
22487
|
};
|
|
22491
|
-
var
|
|
22492
|
-
var
|
|
22488
|
+
var _hoisted_16 = { class: "mint-picker__footer" };
|
|
22489
|
+
var _hoisted_17 = {
|
|
22493
22490
|
class: "mint-picker__receipt",
|
|
22494
22491
|
role: "status"
|
|
22495
22492
|
};
|
|
22496
|
-
var
|
|
22497
|
-
var
|
|
22498
|
-
var
|
|
22493
|
+
var _hoisted_18 = { class: "mint-picker__summary" };
|
|
22494
|
+
var _hoisted_19 = { key: 2 };
|
|
22495
|
+
var _hoisted_20 = { class: "mint-picker__actions" };
|
|
22499
22496
|
//#endregion
|
|
22500
22497
|
//#region src/components/FilePicker.vue
|
|
22501
22498
|
var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
@@ -22510,6 +22507,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22510
22507
|
initialSelection: { default: null },
|
|
22511
22508
|
title: { default: "Choose data" },
|
|
22512
22509
|
view: { default: "list" },
|
|
22510
|
+
defaultSort: { default: "newest" },
|
|
22513
22511
|
systemFilter: {}
|
|
22514
22512
|
},
|
|
22515
22513
|
emits: [
|
|
@@ -22530,7 +22528,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22530
22528
|
const props = __props;
|
|
22531
22529
|
const emit = __emit;
|
|
22532
22530
|
const uploadError = ref("");
|
|
22533
|
-
const { previewNode, sourceNames, mounts, segments, activeSegment, mountView, allowedSources, source, query, recursive, skipBlanks, reviewing, nav, selection, capability, path, trail, loading, error, rows, roots, chosen, focused, resolving, resolutionError, confirmLabel, folderCount, canConfirm, chooseSegment, clearSelection, selectNode, enter, up, refresh, selectParent, chooseLocal, cancel, confirm, keyboard } = useFilePicker(props, emit, useTemplateRef("searchArea"));
|
|
22531
|
+
const { previewNode, sourceNames, mounts, segments, activeSegment, mountView, allowedSources, source, query, recursive, sort, skipBlanks, reviewing, nav, selection, capability, path, trail, loading, error, rows, roots, chosen, focused, resolving, resolutionError, confirmLabel, folderCount, canConfirm, chooseSegment, clearSelection, selectNode, enter, up, refresh, selectParent, chooseLocal, cancel, confirm, keyboard } = useFilePicker(props, emit, useTemplateRef("searchArea"));
|
|
22534
22532
|
const sourceLabel = computed(() => {
|
|
22535
22533
|
const node = previewNode.value;
|
|
22536
22534
|
if (!mountView.value || !node) return sourceNames[source.value];
|
|
@@ -22540,6 +22538,17 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22540
22538
|
}
|
|
22541
22539
|
return mounts.value.find((item) => item.path === props.adapter.mountOf?.(node.path))?.name ?? sourceNames.server;
|
|
22542
22540
|
});
|
|
22541
|
+
const SORT_LABELS = {
|
|
22542
|
+
newest: "Newest first",
|
|
22543
|
+
oldest: "Oldest first",
|
|
22544
|
+
name: "Name A–Z",
|
|
22545
|
+
"name-desc": "Name Z–A"
|
|
22546
|
+
};
|
|
22547
|
+
const sortItems = computed(() => Object.keys(SORT_LABELS).map((id) => ({
|
|
22548
|
+
id,
|
|
22549
|
+
label: SORT_LABELS[id],
|
|
22550
|
+
checked: sort.value === id
|
|
22551
|
+
})));
|
|
22543
22552
|
const accepts = computed(() => (capability.value?.formats ?? []).map((format) => `.${format.replace(/^\./, "")}`).join(" "));
|
|
22544
22553
|
const summary = computed(() => {
|
|
22545
22554
|
if (!roots.value.length) return "No selection";
|
|
@@ -22582,7 +22591,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22582
22591
|
"aria-label": "Search folders and files",
|
|
22583
22592
|
placeholder: "Search this source"
|
|
22584
22593
|
}, {
|
|
22585
|
-
prefix: withCtx(() => [..._cache[
|
|
22594
|
+
prefix: withCtx(() => [..._cache[13] || (_cache[13] = [createElementVNode("svg", {
|
|
22586
22595
|
viewBox: "0 0 24 24",
|
|
22587
22596
|
fill: "none",
|
|
22588
22597
|
stroke: "currentColor",
|
|
@@ -22593,40 +22602,40 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22593
22602
|
cy: "10.5",
|
|
22594
22603
|
r: "7"
|
|
22595
22604
|
}), createElementVNode("path", { d: "m16 16 5 5" })], -1)])]),
|
|
22596
|
-
suffix: withCtx(() => [..._cache[
|
|
22605
|
+
suffix: withCtx(() => [..._cache[14] || (_cache[14] = [createElementVNode("kbd", null, "/", -1)])]),
|
|
22597
22606
|
_: 1
|
|
22598
22607
|
}, 8, ["modelValue"])], 512)) : createCommentVNode("", true)
|
|
22599
22608
|
], 32)]),
|
|
22600
|
-
footer: withCtx(() => [createElementVNode("div",
|
|
22601
|
-
createElementVNode("span",
|
|
22609
|
+
footer: withCtx(() => [createElementVNode("div", _hoisted_16, [createElementVNode("div", _hoisted_17, [
|
|
22610
|
+
createElementVNode("span", _hoisted_18, toDisplayString(summary.value), 1),
|
|
22602
22611
|
unref(roots).length ? (openBlock(), createElementBlock("button", {
|
|
22603
22612
|
key: 0,
|
|
22604
22613
|
type: "button",
|
|
22605
22614
|
class: "mint-picker__link mint-picker__clear",
|
|
22606
|
-
onClick: _cache[
|
|
22615
|
+
onClick: _cache[10] || (_cache[10] = (...args) => unref(clearSelection) && unref(clearSelection)(...args))
|
|
22607
22616
|
}, " Clear ")) : createCommentVNode("", true),
|
|
22608
22617
|
unref(chosen).excluded.length && unref(source) === "server" ? (openBlock(), createElementBlock("button", {
|
|
22609
22618
|
key: 1,
|
|
22610
22619
|
type: "button",
|
|
22611
22620
|
class: "mint-picker__link",
|
|
22612
|
-
onClick: _cache[
|
|
22613
|
-
}, toDisplayString(unref(chosen).excluded.length) + " skipped ", 1)) : unref(chosen).excluded.length ? (openBlock(), createElementBlock("span",
|
|
22621
|
+
onClick: _cache[11] || (_cache[11] = ($event) => reviewing.value = !unref(reviewing))
|
|
22622
|
+
}, toDisplayString(unref(chosen).excluded.length) + " skipped ", 1)) : unref(chosen).excluded.length ? (openBlock(), createElementBlock("span", _hoisted_19, toDisplayString(unref(chosen).excluded.length) + " skipped", 1)) : createCommentVNode("", true),
|
|
22614
22623
|
unref(capability)?.isBlank ? (openBlock(), createBlock(BaseButton_default, {
|
|
22615
22624
|
key: 3,
|
|
22616
22625
|
size: "sm",
|
|
22617
22626
|
variant: "ghost",
|
|
22618
22627
|
"aria-pressed": unref(skipBlanks),
|
|
22619
|
-
onClick: _cache[
|
|
22628
|
+
onClick: _cache[12] || (_cache[12] = ($event) => skipBlanks.value = !unref(skipBlanks))
|
|
22620
22629
|
}, {
|
|
22621
22630
|
default: withCtx(() => [createTextVNode("Skip blanks " + toDisplayString(unref(skipBlanks) ? "on" : "off"), 1)]),
|
|
22622
22631
|
_: 1
|
|
22623
22632
|
}, 8, ["aria-pressed"])) : createCommentVNode("", true)
|
|
22624
|
-
]), createElementVNode("div",
|
|
22633
|
+
]), createElementVNode("div", _hoisted_20, [createVNode(BaseButton_default, {
|
|
22625
22634
|
variant: "ghost",
|
|
22626
22635
|
size: "sm",
|
|
22627
22636
|
onClick: unref(cancel)
|
|
22628
22637
|
}, {
|
|
22629
|
-
default: withCtx(() => [..._cache[
|
|
22638
|
+
default: withCtx(() => [..._cache[18] || (_cache[18] = [createTextVNode("Cancel", -1)])]),
|
|
22630
22639
|
_: 1
|
|
22631
22640
|
}, 8, ["onClick"]), createVNode(BaseButton_default, {
|
|
22632
22641
|
size: "sm",
|
|
@@ -22639,7 +22648,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22639
22648
|
default: withCtx(() => [(openBlock(), createElementBlock("div", {
|
|
22640
22649
|
key: unref(source),
|
|
22641
22650
|
class: "mint-picker mint-picker__source-panel",
|
|
22642
|
-
onKeydown: _cache[
|
|
22651
|
+
onKeydown: _cache[9] || (_cache[9] = (...args) => unref(keyboard) && unref(keyboard)(...args))
|
|
22643
22652
|
}, [unref(source) === "server" ? (openBlock(), createElementBlock("div", _hoisted_3, [
|
|
22644
22653
|
createElementVNode("nav", _hoisted_4, [!unref(mountView) ? (openBlock(), createElementBlock("button", {
|
|
22645
22654
|
key: 0,
|
|
@@ -22648,7 +22657,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22648
22657
|
"aria-current": unref(trail).length ? void 0 : "location",
|
|
22649
22658
|
onClick: _cache[2] || (_cache[2] = ($event) => unref(up)(""))
|
|
22650
22659
|
}, toDisplayString(unref(sourceNames)[unref(source)]), 9, _hoisted_5)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(trail), (crumb, index) => {
|
|
22651
|
-
return openBlock(), createElementBlock(Fragment, { key: crumb.path }, [index > 0 || !unref(mountView) ? (openBlock(), createElementBlock("svg", _hoisted_6, [..._cache[
|
|
22660
|
+
return openBlock(), createElementBlock(Fragment, { key: crumb.path }, [index > 0 || !unref(mountView) ? (openBlock(), createElementBlock("svg", _hoisted_6, [..._cache[15] || (_cache[15] = [createElementVNode("path", { d: "M6 4l4 4-4 4" }, null, -1)])])) : createCommentVNode("", true), createElementVNode("button", {
|
|
22652
22661
|
type: "button",
|
|
22653
22662
|
class: "mint-picker__crumb",
|
|
22654
22663
|
"aria-current": index === unref(trail).length - 1 ? "location" : void 0,
|
|
@@ -22656,43 +22665,66 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22656
22665
|
}, toDisplayString(crumb.label), 9, _hoisted_7)], 64);
|
|
22657
22666
|
}), 128))]),
|
|
22658
22667
|
accepts.value ? (openBlock(), createElementBlock("span", _hoisted_8, "Accepts " + toDisplayString(accepts.value), 1)) : createCommentVNode("", true),
|
|
22668
|
+
createVNode(ActionMenu_default, {
|
|
22669
|
+
label: "Sort",
|
|
22670
|
+
items: sortItems.value,
|
|
22671
|
+
onSelect: _cache[3] || (_cache[3] = ($event) => sort.value = $event.id)
|
|
22672
|
+
}, {
|
|
22673
|
+
trigger: withCtx(({ open: menuOpen, toggle, keydown }) => [createElementVNode("button", {
|
|
22674
|
+
type: "button",
|
|
22675
|
+
class: "mint-picker__sort",
|
|
22676
|
+
"aria-haspopup": "menu",
|
|
22677
|
+
"aria-expanded": menuOpen,
|
|
22678
|
+
"aria-label": `Sort: ${SORT_LABELS[unref(sort)]}`,
|
|
22679
|
+
onClick: toggle,
|
|
22680
|
+
onKeydown: keydown
|
|
22681
|
+
}, [createTextVNode(toDisplayString(SORT_LABELS[unref(sort)]) + " ", 1), _cache[16] || (_cache[16] = createElementVNode("svg", {
|
|
22682
|
+
viewBox: "0 0 16 16",
|
|
22683
|
+
fill: "none",
|
|
22684
|
+
stroke: "currentColor",
|
|
22685
|
+
"stroke-width": "1.5",
|
|
22686
|
+
"aria-hidden": "true"
|
|
22687
|
+
}, [createElementVNode("path", { d: "M4 6l4 4 4-4" })], -1))], 40, _hoisted_9)]),
|
|
22688
|
+
_: 1
|
|
22689
|
+
}, 8, ["items"]),
|
|
22659
22690
|
createElementVNode("button", {
|
|
22660
22691
|
type: "button",
|
|
22661
22692
|
class: "mint-picker__scope",
|
|
22662
22693
|
"aria-pressed": unref(recursive),
|
|
22663
|
-
onClick: _cache[
|
|
22664
|
-
}, toDisplayString(unref(recursive) ? "Subfolders" : "This folder"), 9,
|
|
22694
|
+
onClick: _cache[4] || (_cache[4] = ($event) => recursive.value = !unref(recursive))
|
|
22695
|
+
}, toDisplayString(unref(recursive) ? "Subfolders" : "This folder"), 9, _hoisted_10),
|
|
22665
22696
|
createElementVNode("button", {
|
|
22666
22697
|
type: "button",
|
|
22667
22698
|
class: "mint-picker__scope mint-picker__refresh",
|
|
22668
22699
|
"aria-label": "Refresh location",
|
|
22669
22700
|
title: "Refresh location",
|
|
22670
22701
|
disabled: unref(loading),
|
|
22671
|
-
onClick: _cache[
|
|
22672
|
-
}, [..._cache[
|
|
22702
|
+
onClick: _cache[5] || (_cache[5] = ($event) => unref(refresh)())
|
|
22703
|
+
}, [..._cache[17] || (_cache[17] = [createElementVNode("svg", {
|
|
22673
22704
|
viewBox: "0 0 24 24",
|
|
22674
22705
|
fill: "none",
|
|
22675
22706
|
stroke: "currentColor",
|
|
22676
22707
|
"stroke-width": "1.8",
|
|
22677
22708
|
"aria-hidden": "true"
|
|
22678
|
-
}, [createElementVNode("path", { d: "M20 7v5h-5M4 17v-5h5M6 8a7 7 0 0 1 12-2l2 3M4 15l2 3a7 7 0 0 0 12-2" })], -1)])], 8,
|
|
22679
|
-
])) : createCommentVNode("", true), !unref(allowedSources).length ? (openBlock(), createElementBlock("div",
|
|
22709
|
+
}, [createElementVNode("path", { d: "M20 7v5h-5M4 17v-5h5M6 8a7 7 0 0 1 12-2l2 3M4 15l2 3a7 7 0 0 0 12-2" })], -1)])], 8, _hoisted_11)
|
|
22710
|
+
])) : createCommentVNode("", true), !unref(allowedSources).length ? (openBlock(), createElementBlock("div", _hoisted_12, " No data sources are enabled. ")) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [unref(source) === "localFile" ? (openBlock(), createElementBlock("div", _hoisted_13, [createVNode(FileUploader_default, {
|
|
22680
22711
|
size: "lg",
|
|
22681
22712
|
mode: __props.selectionMode === "folder" ? "folder" : __props.selectionMode === "single-file" ? "file" : "file+folder",
|
|
22682
22713
|
multiple: __props.selectionMode !== "single-file",
|
|
22683
22714
|
"show-files": false,
|
|
22684
|
-
onUpload: _cache[
|
|
22715
|
+
onUpload: _cache[6] || (_cache[6] = (...args) => {
|
|
22685
22716
|
uploadError.value = "";
|
|
22686
22717
|
unref(chooseLocal)(...args);
|
|
22687
22718
|
}),
|
|
22688
|
-
onError: _cache[
|
|
22689
|
-
}, null, 8, ["mode", "multiple"]), uploadError.value || unref(error) || unref(resolutionError) ? (openBlock(), createElementBlock("p",
|
|
22719
|
+
onError: _cache[7] || (_cache[7] = ($event) => uploadError.value = $event)
|
|
22720
|
+
}, null, 8, ["mode", "multiple"]), uploadError.value || unref(error) || unref(resolutionError) ? (openBlock(), createElementBlock("p", _hoisted_14, toDisplayString(uploadError.value || unref(error) || unref(resolutionError)), 1)) : createCommentVNode("", true)])) : (openBlock(), createElementBlock("div", _hoisted_15, [createVNode(FilePickerListInternal_default, {
|
|
22690
22721
|
"empty-title": unref(path) ? "No readable files" : "No server locations configured",
|
|
22691
22722
|
view: __props.view,
|
|
22692
22723
|
rows: unref(rows),
|
|
22693
22724
|
loading: unref(loading),
|
|
22694
22725
|
error: unref(error),
|
|
22695
22726
|
query: unref(query),
|
|
22727
|
+
truncated: unref(nav).truncated.value,
|
|
22696
22728
|
mode: __props.selectionMode,
|
|
22697
22729
|
selected: unref(selection).selected,
|
|
22698
22730
|
selectable: unref(selection).selectable,
|
|
@@ -22712,6 +22744,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22712
22744
|
"loading",
|
|
22713
22745
|
"error",
|
|
22714
22746
|
"query",
|
|
22747
|
+
"truncated",
|
|
22715
22748
|
"mode",
|
|
22716
22749
|
"selected",
|
|
22717
22750
|
"selectable",
|
|
@@ -22732,7 +22765,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22732
22765
|
busy: unref(resolving),
|
|
22733
22766
|
error: unref(resolutionError),
|
|
22734
22767
|
reviewing: unref(reviewing),
|
|
22735
|
-
onReview: _cache[
|
|
22768
|
+
onReview: _cache[8] || (_cache[8] = ($event) => reviewing.value = !unref(reviewing)),
|
|
22736
22769
|
onRetry: unref(selection).resolve
|
|
22737
22770
|
}, null, 8, [
|
|
22738
22771
|
"node",
|
|
@@ -22861,6 +22894,6 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
22861
22894
|
WellPlate: () => WellPlate_default
|
|
22862
22895
|
});
|
|
22863
22896
|
//#endregion
|
|
22864
|
-
export { PlateEditor_default as $, SampleLegend_default as A, AppToastContainer_default as At, StatusIndicator_default as B,
|
|
22897
|
+
export { PlateEditor_default as $, SampleLegend_default as A, AppToastContainer_default as At, StatusIndicator_default as B, ChemicalFormula_default as C, AppAvatarMenu_default as Ct, ReagentEditor_default as D, ActionMenu_default as Dt, SampleHierarchyTree_default as E, ThemeToggle_default as Et, SettingsModal_default as F, Calendar_default as Ft, ControlWorkspaceView_default as G, LayoutResizeHandle_default as H, AdductText_default as I, BasePill_default as It, SampleSelector_default as J, ComponentBindingRenderer_default as K, Breadcrumb_default as L, SegmentedControl_default as Lt, BioTemplatePackWorkspaceView_default as M, FormField_default as Mt, BioTemplateExperimentWorkspaceView_default as N, DataFrame_default as Nt, SmartGroupModal_default as O, IconButton_default as Ot, BioTemplateRenderer_default as P, LoadingSpinner_default as Pt, ReagentList_default as Q, Avatar_default as R, BaseTabs_default as Rt, sequenceSamplesRemaining as S, AppTopBar_default as St, ProtocolStepEditor_default as T, CollapsibleCard_default as Tt, AppContainer_default as U, Divider_default as V, DoseDesignWorkspaceView_default as W, SmartGroupManual_default as X, AutoGroupModal_default as Y, SmartGroupFieldRecipe_default as Z, estimateSequenceFinishDate as _, AppLayout_default as _t, ArtifactSaveDialog_default as a, GeneratedPluginView_default as at, formatSequenceRemaining as b, FormActions_default as bt, SectionCard_default as c, GeneratedPlotlyResult_default as ct, ExperimentCodeBadge_default as d, ChartContainer_default as dt, ConfirmDialog_default as et, ExperimentDataViewer_default as f, generatedJobDefaults as ft, SequenceProgressBar_default as g, MobileSupportGate_default as gt, InstrumentStateBadge_default as h, PluginWorkspaceView_default as ht, ExperimentPopover_default as i, DoseCalculator_default as it, BioTemplatePresetWorkspaceView_default as j, AlertBox_default as jt, GroupAssigner_default as k, RuntimeUpdateNotice_default as kt, ResourceCard_default as l, PlotlyChart_default as lt, AuditTrail_default as m, normalizeGeneratedJobInput as mt, FilePicker_default as n, sampleTypeMarker as nt, ArtifactSelectorModal_default as o, JobsStatusTray_default as ot, BatchProgressList_default as p, generatedJobFormSchema as pt, ScheduleCalendar_default as q, FitPanel_default as r, ExperimentTimeline_default as rt, ExperimentSelectorModal_default as s, GeneratedResultRenderer_default as st, components_exports as t, WellPlate_default as tt, TimeRangeInput_default as u, mintPlotlyTemplate as ut, estimateSequenceRemainingSeconds as v, AppSidebar_default as vt, ScientificNumber_default as w, PluginIcon_default as wt, sequenceProgressPercent as x, StepWizard_default as xt, formatSequenceEta as y, FormBuilder_default as yt, ProgressBar_default as z, SearchableSelect_default as zt };
|
|
22865
22898
|
|
|
22866
|
-
//# sourceMappingURL=components-
|
|
22899
|
+
//# sourceMappingURL=components-vHfxV2PB.js.map
|