@morscherlab/mint-sdk 1.3.0-beta.1 → 1.3.0-beta.10
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-GDDvof8D.js} +414 -368
- package/dist/components-GDDvof8D.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 +170 -200
- 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/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/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 +3 -3
- 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
|
}
|
|
@@ -3490,38 +3481,29 @@ var _hoisted_10$28 = {
|
|
|
3490
3481
|
};
|
|
3491
3482
|
var _hoisted_11$26 = { class: "mint-topbar__plugin-name" };
|
|
3492
3483
|
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,
|
|
3484
|
+
key: 2,
|
|
3503
3485
|
class: "mint-topbar-title-group"
|
|
3504
3486
|
};
|
|
3505
|
-
var
|
|
3506
|
-
var
|
|
3507
|
-
var
|
|
3508
|
-
key:
|
|
3487
|
+
var _hoisted_13$24 = { class: "mint-topbar-title" };
|
|
3488
|
+
var _hoisted_14$24 = { class: "mint-topbar-subtitle" };
|
|
3489
|
+
var _hoisted_15$24 = {
|
|
3490
|
+
key: 3,
|
|
3509
3491
|
class: "mint-topbar__title-only"
|
|
3510
3492
|
};
|
|
3511
|
-
var
|
|
3512
|
-
key:
|
|
3493
|
+
var _hoisted_16$21 = {
|
|
3494
|
+
key: 4,
|
|
3513
3495
|
class: "mint-topbar__center"
|
|
3514
3496
|
};
|
|
3515
|
-
var
|
|
3516
|
-
var
|
|
3497
|
+
var _hoisted_17$21 = { class: "mint-topbar__right" };
|
|
3498
|
+
var _hoisted_18$21 = {
|
|
3517
3499
|
key: 0,
|
|
3518
3500
|
class: "mint-topbar__standalone-badge"
|
|
3519
3501
|
};
|
|
3520
|
-
var
|
|
3502
|
+
var _hoisted_19$21 = {
|
|
3521
3503
|
key: 2,
|
|
3522
3504
|
class: "mint-topbar__standalone-badge"
|
|
3523
3505
|
};
|
|
3524
|
-
var
|
|
3506
|
+
var _hoisted_20$20 = {
|
|
3525
3507
|
key: 0,
|
|
3526
3508
|
class: "mint-topbar__icon-btn-dot",
|
|
3527
3509
|
"aria-hidden": "true"
|
|
@@ -3619,8 +3601,8 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3619
3601
|
});
|
|
3620
3602
|
const hasPlatformPageSelector = computed(() => props.pageSelector === void 0 && (plugin.value?.nav_items?.length ?? 0) > 1);
|
|
3621
3603
|
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);
|
|
3604
|
+
/** Integrated plugins show their name as a static identity in place of the title; the page selector replaces it. */
|
|
3605
|
+
const identityName = computed(() => isIntegrated.value && !hasPageSelector.value ? plugin.value?.display_name || plugin.value?.name : void 0);
|
|
3624
3606
|
const hasPillNav = computed(() => !!props.pillNav?.length);
|
|
3625
3607
|
const hasAccountMenu = computed(() => !!props.accountMenu?.length);
|
|
3626
3608
|
const hasTitleGroup = computed(() => !hasPageSelector.value && !identityName.value && !!props.title && !!props.subtitle);
|
|
@@ -3692,10 +3674,9 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3692
3674
|
size: "topbar",
|
|
3693
3675
|
variant: "solid"
|
|
3694
3676
|
}, 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),
|
|
3677
|
+
identityName.value ? (openBlock(), createElementBlock("span", _hoisted_10$28, [createElementVNode("span", _hoisted_11$26, toDisplayString(identityName.value), 1)])) : createCommentVNode("", true),
|
|
3697
3678
|
hasPageSelector.value ? (openBlock(), createBlock(AppTopBarPageSelectorInternal_default, {
|
|
3698
|
-
key:
|
|
3679
|
+
key: 1,
|
|
3699
3680
|
pages: normalizedPageSelector.value,
|
|
3700
3681
|
"current-page-id": effectiveCurrentPageSelectorId.value,
|
|
3701
3682
|
onSelect: _cache[0] || (_cache[0] = ($event) => emit("page-selector-select", $event))
|
|
@@ -3708,23 +3689,23 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3708
3689
|
fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, "page-selector-item-icon", normalizeProps(guardReactiveProps(slotProps)))]),
|
|
3709
3690
|
key: "1"
|
|
3710
3691
|
} : void 0]), 1032, ["pages", "current-page-id"])) : createCommentVNode("", true),
|
|
3711
|
-
hasTitleGroup.value ? (openBlock(), createElementBlock("div",
|
|
3692
|
+
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
3693
|
renderSlot(_ctx.$slots, "nav"),
|
|
3713
|
-
hasPillNav.value || _ctx.$slots.center ? (openBlock(), createElementBlock("div",
|
|
3694
|
+
hasPillNav.value || _ctx.$slots.center ? (openBlock(), createElementBlock("div", _hoisted_16$21, [renderSlot(_ctx.$slots, "center", {}, () => [hasPillNav.value && __props.pillNav ? (openBlock(), createBlock(AppTopBarPillNavInternal_default, {
|
|
3714
3695
|
key: 0,
|
|
3715
3696
|
items: normalizedPillNav.value,
|
|
3716
3697
|
"current-item-id": __props.currentPillId,
|
|
3717
3698
|
onSelect: _cache[1] || (_cache[1] = ($event) => emit("pill-select", $event)),
|
|
3718
3699
|
onOptionSelect: _cache[2] || (_cache[2] = (option, item) => emit("pill-option-select", option, item))
|
|
3719
3700
|
}, null, 8, ["items", "current-item-id"])) : createCommentVNode("", true)])])) : createCommentVNode("", true),
|
|
3720
|
-
createElementVNode("div",
|
|
3721
|
-
__props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span",
|
|
3701
|
+
createElementVNode("div", _hoisted_17$21, [
|
|
3702
|
+
__props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span", _hoisted_18$21, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
|
|
3722
3703
|
unref(appExperiment) && !isStandalone.value && canBindExperiment.value ? (openBlock(), createBlock(unref(ExperimentPopover), mergeProps({ key: 1 }, unref(appExperiment).popover.value, {
|
|
3723
3704
|
onSelect: _cache[3] || (_cache[3] = ($event) => unref(appExperiment).openModal()),
|
|
3724
3705
|
onSave: _cache[4] || (_cache[4] = ($event) => unref(appExperiment).handleSave()),
|
|
3725
3706
|
onDetach: _cache[5] || (_cache[5] = ($event) => unref(appExperiment).handleDetach())
|
|
3726
3707
|
}), null, 16)) : createCommentVNode("", true),
|
|
3727
|
-
unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span",
|
|
3708
|
+
unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span", _hoisted_19$21, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
|
|
3728
3709
|
renderSlot(_ctx.$slots, "actions"),
|
|
3729
3710
|
__props.showNotifications ? (openBlock(), createElementBlock("button", {
|
|
3730
3711
|
key: 3,
|
|
@@ -3740,7 +3721,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3740
3721
|
"stroke-width": "2",
|
|
3741
3722
|
"stroke-linecap": "round",
|
|
3742
3723
|
"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",
|
|
3724
|
+
}, [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
3725
|
__props.showThemeToggle ? (openBlock(), createBlock(ThemeToggle_default, {
|
|
3745
3726
|
key: 4,
|
|
3746
3727
|
size: "sm"
|
|
@@ -3817,6 +3798,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3817
3798
|
title: __props.settingsConfig?.title,
|
|
3818
3799
|
tabs: normalizedSettingsTabs.value,
|
|
3819
3800
|
"show-appearance": __props.settingsConfig?.showAppearance ?? true,
|
|
3801
|
+
"appearance-first": __props.settingsConfig?.appearanceFirst,
|
|
3820
3802
|
size: __props.settingsConfig?.size,
|
|
3821
3803
|
layout: __props.settingsConfig?.layout,
|
|
3822
3804
|
schema: __props.settingsConfig?.schema,
|
|
@@ -3840,6 +3822,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3840
3822
|
"title",
|
|
3841
3823
|
"tabs",
|
|
3842
3824
|
"show-appearance",
|
|
3825
|
+
"appearance-first",
|
|
3843
3826
|
"size",
|
|
3844
3827
|
"layout",
|
|
3845
3828
|
"schema",
|
|
@@ -4619,13 +4602,13 @@ var _hoisted_17$20 = {
|
|
|
4619
4602
|
class: "mint-sidebar__group-subtitle"
|
|
4620
4603
|
};
|
|
4621
4604
|
var _hoisted_18$20 = { class: "mint-sidebar__group-tail" };
|
|
4622
|
-
var _hoisted_19$
|
|
4605
|
+
var _hoisted_19$20 = [
|
|
4623
4606
|
"disabled",
|
|
4624
4607
|
"aria-label",
|
|
4625
4608
|
"title",
|
|
4626
4609
|
"onClick"
|
|
4627
4610
|
];
|
|
4628
|
-
var _hoisted_20$
|
|
4611
|
+
var _hoisted_20$19 = {
|
|
4629
4612
|
key: 0,
|
|
4630
4613
|
class: "mint-sidebar__group-action-icon",
|
|
4631
4614
|
viewBox: "0 0 24 24",
|
|
@@ -4639,12 +4622,12 @@ var _hoisted_20$18 = {
|
|
|
4639
4622
|
var _hoisted_21$16 = ["d"];
|
|
4640
4623
|
var _hoisted_22$16 = ["d"];
|
|
4641
4624
|
var _hoisted_23$14 = { key: 1 };
|
|
4642
|
-
var _hoisted_24$
|
|
4625
|
+
var _hoisted_24$12 = [
|
|
4643
4626
|
"aria-checked",
|
|
4644
4627
|
"aria-label",
|
|
4645
4628
|
"onClick"
|
|
4646
4629
|
];
|
|
4647
|
-
var _hoisted_25$
|
|
4630
|
+
var _hoisted_25$12 = [
|
|
4648
4631
|
"aria-label",
|
|
4649
4632
|
"aria-expanded",
|
|
4650
4633
|
"onClick"
|
|
@@ -4973,7 +4956,7 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4973
4956
|
"aria-label": action.label,
|
|
4974
4957
|
title: action.label,
|
|
4975
4958
|
onClick: ($event) => handleSectionAction(section.id, action.id)
|
|
4976
|
-
}, [action.icon && isSvgIcon(action.icon) ? (openBlock(), createElementBlock("svg", _hoisted_20$
|
|
4959
|
+
}, [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
4960
|
return openBlock(), createElementBlock("path", {
|
|
4978
4961
|
key: i,
|
|
4979
4962
|
d
|
|
@@ -4981,7 +4964,7 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4981
4964
|
}), 128)) : (openBlock(), createElementBlock("path", {
|
|
4982
4965
|
key: 1,
|
|
4983
4966
|
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$
|
|
4967
|
+
}, null, 8, _hoisted_22$16))])) : action.icon ? (openBlock(), createElementBlock("span", _hoisted_23$14, toDisplayString(action.icon), 1)) : createCommentVNode("", true)], 14, _hoisted_19$20);
|
|
4985
4968
|
}), 128)),
|
|
4986
4969
|
section.showToggle ? (openBlock(), createElementBlock("button", {
|
|
4987
4970
|
key: 1,
|
|
@@ -4991,7 +4974,7 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4991
4974
|
"aria-label": `Enable ${section.label}`,
|
|
4992
4975
|
class: normalizeClass(["mint-sidebar__switch", __props.toggleState[section.id] ?? false ? "mint-sidebar__switch--on" : ""]),
|
|
4993
4976
|
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$
|
|
4977
|
+
}, [..._cache[1] || (_cache[1] = [createElementVNode("span", { class: "mint-sidebar__switch-knob" }, null, -1)])], 10, _hoisted_24$12)) : createCommentVNode("", true),
|
|
4995
4978
|
createElementVNode("button", {
|
|
4996
4979
|
type: "button",
|
|
4997
4980
|
class: "mint-sidebar__chevron-button",
|
|
@@ -5007,7 +4990,7 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
5007
4990
|
"stroke-linecap": "round",
|
|
5008
4991
|
"stroke-linejoin": "round",
|
|
5009
4992
|
"aria-hidden": "true"
|
|
5010
|
-
}, [..._cache[2] || (_cache[2] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))], 8, _hoisted_25$
|
|
4993
|
+
}, [..._cache[2] || (_cache[2] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))], 8, _hoisted_25$12)
|
|
5011
4994
|
])]), createVNode(Transition, { name: "collapse" }, {
|
|
5012
4995
|
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_26$10, [renderSlot(_ctx.$slots, `section-${section.id}`, {}, () => [resolvedForms.value[section.id] ? (openBlock(), createBlock(FormBuilder_default, {
|
|
5013
4996
|
key: 0,
|
|
@@ -6068,7 +6051,7 @@ var PlotlyChart_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
6068
6051
|
let revision = 0;
|
|
6069
6052
|
async function loadPlotly() {
|
|
6070
6053
|
if (props.plotly) return props.plotly;
|
|
6071
|
-
const module = await import("
|
|
6054
|
+
const module = await import("plotly.js-dist-min");
|
|
6072
6055
|
return "default" in module ? module.default : module;
|
|
6073
6056
|
}
|
|
6074
6057
|
function bindEvents(element) {
|
|
@@ -6476,16 +6459,16 @@ var _hoisted_16$19 = {
|
|
|
6476
6459
|
};
|
|
6477
6460
|
var _hoisted_17$19 = { class: "mint-jobs-tray__job-heading" };
|
|
6478
6461
|
var _hoisted_18$19 = { class: "mint-jobs-tray__job-identity" };
|
|
6479
|
-
var _hoisted_19$
|
|
6480
|
-
var _hoisted_20$
|
|
6462
|
+
var _hoisted_19$19 = ["onClick"];
|
|
6463
|
+
var _hoisted_20$18 = { class: "mint-jobs-tray__kind" };
|
|
6481
6464
|
var _hoisted_21$15 = {
|
|
6482
6465
|
key: 0,
|
|
6483
6466
|
class: "mint-jobs-tray__percent"
|
|
6484
6467
|
};
|
|
6485
6468
|
var _hoisted_22$15 = ["aria-valuenow"];
|
|
6486
6469
|
var _hoisted_23$13 = { class: "mint-jobs-tray__job-footer" };
|
|
6487
|
-
var _hoisted_24$
|
|
6488
|
-
var _hoisted_25$
|
|
6470
|
+
var _hoisted_24$11 = { class: "mint-jobs-tray__job-actions" };
|
|
6471
|
+
var _hoisted_25$11 = ["disabled", "onClick"];
|
|
6489
6472
|
var _hoisted_26$9 = ["disabled", "onClick"];
|
|
6490
6473
|
var _hoisted_27$8 = {
|
|
6491
6474
|
key: 0,
|
|
@@ -6724,7 +6707,7 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
6724
6707
|
type: "button",
|
|
6725
6708
|
class: "mint-jobs-tray__job-select",
|
|
6726
6709
|
onClick: ($event) => emit("select", job)
|
|
6727
|
-
}, toDisplayString(job.name), 9, _hoisted_19$
|
|
6710
|
+
}, toDisplayString(job.name), 9, _hoisted_19$19), createElementVNode("span", _hoisted_20$18, toDisplayString(job.kind), 1)]),
|
|
6728
6711
|
createElementVNode("span", { class: normalizeClass(["mint-jobs-tray__status", statusClass(job)]) }, [_cache[8] || (_cache[8] = createElementVNode("span", {
|
|
6729
6712
|
class: "mint-jobs-tray__status-dot",
|
|
6730
6713
|
"aria-hidden": "true"
|
|
@@ -6740,7 +6723,7 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
6740
6723
|
"aria-valuemax": "100",
|
|
6741
6724
|
"aria-valuenow": jobPercent(job)
|
|
6742
6725
|
}, [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$
|
|
6726
|
+
createElementVNode("div", _hoisted_23$13, [createElementVNode("span", null, toDisplayString(progressText(job)), 1), createElementVNode("div", _hoisted_24$11, [
|
|
6744
6727
|
renderSlot(_ctx.$slots, "job-actions", { job }),
|
|
6745
6728
|
job.can_cancel && unref(tray).canCancel.value ? (openBlock(), createElementBlock("button", {
|
|
6746
6729
|
key: 0,
|
|
@@ -6749,7 +6732,7 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
6749
6732
|
"aria-label": "Cancel job",
|
|
6750
6733
|
disabled: unref(tray).isPending(job),
|
|
6751
6734
|
onClick: ($event) => cancelJob(job)
|
|
6752
|
-
}, " Cancel ", 8, _hoisted_25$
|
|
6735
|
+
}, " Cancel ", 8, _hoisted_25$11)) : createCommentVNode("", true),
|
|
6753
6736
|
job.can_delete && unref(tray).canDelete.value ? (openBlock(), createElementBlock("button", {
|
|
6754
6737
|
key: 1,
|
|
6755
6738
|
type: "button",
|
|
@@ -7066,8 +7049,8 @@ var _hoisted_15$21 = {
|
|
|
7066
7049
|
var _hoisted_16$18 = { class: "mint-dose-calculator__preview-steps" };
|
|
7067
7050
|
var _hoisted_17$18 = { class: "mint-dose-calculator__preview-step" };
|
|
7068
7051
|
var _hoisted_18$18 = { class: "mint-dose-calculator__preview-step-num" };
|
|
7069
|
-
var _hoisted_19$
|
|
7070
|
-
var _hoisted_20$
|
|
7052
|
+
var _hoisted_19$18 = { class: "mint-dose-calculator__preview-step-conc" };
|
|
7053
|
+
var _hoisted_20$17 = {
|
|
7071
7054
|
key: 0,
|
|
7072
7055
|
class: "mint-dose-calculator__preview-arrow"
|
|
7073
7056
|
};
|
|
@@ -7084,11 +7067,11 @@ var _hoisted_23$12 = {
|
|
|
7084
7067
|
key: 0,
|
|
7085
7068
|
class: "mint-dose-calculator__error"
|
|
7086
7069
|
};
|
|
7087
|
-
var _hoisted_24$
|
|
7070
|
+
var _hoisted_24$10 = {
|
|
7088
7071
|
key: 4,
|
|
7089
7072
|
class: "mint-dose-calculator__mw-section"
|
|
7090
7073
|
};
|
|
7091
|
-
var _hoisted_25$
|
|
7074
|
+
var _hoisted_25$10 = { class: "mint-dose-calculator__mw-label" };
|
|
7092
7075
|
var _hoisted_26$8 = {
|
|
7093
7076
|
key: 5,
|
|
7094
7077
|
class: "mint-dose-calculator__form"
|
|
@@ -7334,7 +7317,7 @@ var DoseCalculator_default = /* @__PURE__ */ defineComponent({
|
|
|
7334
7317
|
]),
|
|
7335
7318
|
_cache[17] || (_cache[17] = createElementVNode("div", { class: "mint-dose-calculator__divider" }, null, -1)),
|
|
7336
7319
|
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$
|
|
7320
|
+
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
7321
|
}), 128))])])) : serialResult.value?.error ? (openBlock(), createElementBlock("div", _hoisted_21$14, toDisplayString(serialResult.value.error), 1)) : createCommentVNode("", true)
|
|
7339
7322
|
])) : activeMode.value === "conversion" ? (openBlock(), createElementBlock("div", _hoisted_22$14, [createVNode(FormField_default, { label: "Input Concentration" }, {
|
|
7340
7323
|
default: withCtx(() => [createVNode(ConcentrationInput_default, {
|
|
@@ -7345,7 +7328,7 @@ var DoseCalculator_default = /* @__PURE__ */ defineComponent({
|
|
|
7345
7328
|
}, null, 8, ["disabled", "molecular-weight"])]),
|
|
7346
7329
|
_: 1
|
|
7347
7330
|
}), !__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$
|
|
7331
|
+
__props.molecularWeight ? (openBlock(), createElementBlock("div", _hoisted_24$10, [createElementVNode("span", _hoisted_25$10, " Molecular Weight: " + toDisplayString(__props.molecularWeight) + " g/mol ", 1)])) : createCommentVNode("", true),
|
|
7349
7332
|
hasTargetWells.value ? (openBlock(), createElementBlock("div", _hoisted_26$8, [createVNode(BaseButton_default, {
|
|
7350
7333
|
variant: "primary",
|
|
7351
7334
|
"full-width": "",
|
|
@@ -7432,11 +7415,11 @@ var _hoisted_16$17 = {
|
|
|
7432
7415
|
};
|
|
7433
7416
|
var _hoisted_17$17 = ["onClick"];
|
|
7434
7417
|
var _hoisted_18$17 = ["aria-label", "onClick"];
|
|
7435
|
-
var _hoisted_19$
|
|
7418
|
+
var _hoisted_19$17 = {
|
|
7436
7419
|
key: 2,
|
|
7437
7420
|
class: "mint-timeline__spacer--vertical"
|
|
7438
7421
|
};
|
|
7439
|
-
var _hoisted_20$
|
|
7422
|
+
var _hoisted_20$16 = {
|
|
7440
7423
|
key: 3,
|
|
7441
7424
|
class: "mint-timeline__spacer--horizontal"
|
|
7442
7425
|
};
|
|
@@ -7744,8 +7727,8 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
|
|
|
7744
7727
|
"stroke-width": "2",
|
|
7745
7728
|
d: "M12 4v16m8-8H4"
|
|
7746
7729
|
})], -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$
|
|
7730
|
+
__props.orientation === "vertical" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_19$17)) : createCommentVNode("", true),
|
|
7731
|
+
__props.orientation === "horizontal" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_20$16)) : createCommentVNode("", true)
|
|
7749
7732
|
], 40, _hoisted_2$44);
|
|
7750
7733
|
}), 128)),
|
|
7751
7734
|
__props.error ? (openBlock(), createElementBlock("div", _hoisted_21$13, [renderSlot(_ctx.$slots, "error", { error: __props.error }, () => [createVNode(DataStateInternal_default, {
|
|
@@ -7850,22 +7833,22 @@ var DEFAULT_WELL_LEGEND_ITEMS = [
|
|
|
7850
7833
|
{
|
|
7851
7834
|
type: "sample",
|
|
7852
7835
|
label: "Sample",
|
|
7853
|
-
color: "
|
|
7836
|
+
color: "#10b981"
|
|
7854
7837
|
},
|
|
7855
7838
|
{
|
|
7856
7839
|
type: "blank",
|
|
7857
7840
|
label: "Blank",
|
|
7858
|
-
color: "
|
|
7841
|
+
color: "#f97316"
|
|
7859
7842
|
},
|
|
7860
7843
|
{
|
|
7861
7844
|
type: "qc",
|
|
7862
7845
|
label: "QC",
|
|
7863
|
-
color: "
|
|
7846
|
+
color: "#8b5cf6"
|
|
7864
7847
|
},
|
|
7865
7848
|
{
|
|
7866
7849
|
type: "iqc",
|
|
7867
7850
|
label: "IQC",
|
|
7868
|
-
color: "
|
|
7851
|
+
color: "#ec4899"
|
|
7869
7852
|
}
|
|
7870
7853
|
];
|
|
7871
7854
|
//#endregion
|
|
@@ -7906,17 +7889,13 @@ function sampleTypeMarker(type, groupColor) {
|
|
|
7906
7889
|
}
|
|
7907
7890
|
//#endregion
|
|
7908
7891
|
//#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
|
-
*/
|
|
7892
|
+
/** Color for the built-in sample types when `sampleColors` has no entry. */
|
|
7914
7893
|
var DEFAULT_SAMPLE_TYPE_COLORS = {
|
|
7915
|
-
sample: "
|
|
7916
|
-
control: "
|
|
7917
|
-
blank: "
|
|
7918
|
-
qc: "
|
|
7919
|
-
iqc: "
|
|
7894
|
+
sample: "#10b981",
|
|
7895
|
+
control: "#3b82f6",
|
|
7896
|
+
blank: "#f97316",
|
|
7897
|
+
qc: "#8b5cf6",
|
|
7898
|
+
iqc: "#ec4899"
|
|
7920
7899
|
};
|
|
7921
7900
|
var HEATMAP_COLORS = {
|
|
7922
7901
|
viridis: [
|
|
@@ -8719,16 +8698,15 @@ function wellStyle(well, state) {
|
|
|
8719
8698
|
};
|
|
8720
8699
|
const groupColor = well.sampleType && ((well.group ? state.sampleColors[well.group] : void 0) ?? state.sampleColors[well.sampleType] ?? DEFAULT_SAMPLE_TYPE_COLORS[well.sampleType]);
|
|
8721
8700
|
if (!groupColor) return {};
|
|
8722
|
-
|
|
8701
|
+
return sampleTint(groupColor);
|
|
8702
|
+
}
|
|
8703
|
+
/** 15% fill and 40% outline of a sample color; color-mix accepts hex and `var()` tokens alike. */
|
|
8704
|
+
function sampleTint(color) {
|
|
8723
8705
|
return {
|
|
8724
|
-
backgroundColor:
|
|
8725
|
-
border
|
|
8706
|
+
backgroundColor: `color-mix(in srgb, ${color} 15%, transparent)`,
|
|
8707
|
+
border: `1px solid color-mix(in srgb, ${color} 40%, transparent)`
|
|
8726
8708
|
};
|
|
8727
8709
|
}
|
|
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
8710
|
var sampleTypeIndicatorWarned = false;
|
|
8733
8711
|
/** One dev-only warning per page for the no-op `showSampleTypeIndicator` prop. */
|
|
8734
8712
|
function warnSampleTypeIndicatorDeprecated() {
|
|
@@ -8746,11 +8724,11 @@ function wellBadge(well, showBadges) {
|
|
|
8746
8724
|
const count = well.metadata.injectionCount;
|
|
8747
8725
|
if (count && count > 1) return {
|
|
8748
8726
|
text: String(count),
|
|
8749
|
-
color: "
|
|
8727
|
+
color: "#6366f1"
|
|
8750
8728
|
};
|
|
8751
8729
|
if (well.metadata.customMethod) return {
|
|
8752
|
-
text: "",
|
|
8753
|
-
color: "
|
|
8730
|
+
text: "+",
|
|
8731
|
+
color: "#ec4899"
|
|
8754
8732
|
};
|
|
8755
8733
|
return null;
|
|
8756
8734
|
}
|
|
@@ -8807,27 +8785,19 @@ var _hoisted_16$16 = {
|
|
|
8807
8785
|
key: 1,
|
|
8808
8786
|
class: "mint-well-plate__well-id"
|
|
8809
8787
|
};
|
|
8810
|
-
var _hoisted_17$16 =
|
|
8811
|
-
key: 2,
|
|
8812
|
-
class: "mint-well-plate__indicator"
|
|
8813
|
-
};
|
|
8788
|
+
var _hoisted_17$16 = ["title"];
|
|
8814
8789
|
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
8790
|
key: 0,
|
|
8821
8791
|
class: "mint-well-plate__legend"
|
|
8822
8792
|
};
|
|
8793
|
+
var _hoisted_19$16 = { class: "mint-well-plate__legend-label" };
|
|
8794
|
+
var _hoisted_20$15 = { class: "mint-well-plate__legend-bar" };
|
|
8823
8795
|
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 = {
|
|
8796
|
+
var _hoisted_22$12 = {
|
|
8827
8797
|
key: 1,
|
|
8828
8798
|
class: "mint-well-plate__sample-legend"
|
|
8829
8799
|
};
|
|
8830
|
-
var
|
|
8800
|
+
var _hoisted_23$10 = { class: "mint-well-plate__sample-legend-text" };
|
|
8831
8801
|
//#endregion
|
|
8832
8802
|
//#region src/components/WellPlate.vue
|
|
8833
8803
|
var WellPlate_default = /* @__PURE__ */ defineComponent({
|
|
@@ -9159,42 +9129,35 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
|
|
|
9159
9129
|
"prevent"
|
|
9160
9130
|
]), ["space"])
|
|
9161
9131
|
]
|
|
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)]);
|
|
9132
|
+
}, [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", {
|
|
9133
|
+
key: 2,
|
|
9134
|
+
class: "mint-well-plate__badge",
|
|
9135
|
+
style: normalizeStyle({ backgroundColor: getWellBadge(well)?.color }),
|
|
9136
|
+
title: getWellBadge(well)?.text === "+" ? "Custom method" : `${getWellBadge(well)?.text ?? ""}x injections`
|
|
9137
|
+
}, toDisplayString(getWellBadge(well)?.text), 13, _hoisted_17$16)) : createCommentVNode("", true)], 46, _hoisted_14$19)]);
|
|
9172
9138
|
}), 128))
|
|
9173
9139
|
]);
|
|
9174
9140
|
}), 128))])
|
|
9175
9141
|
], 12, _hoisted_6$29),
|
|
9176
|
-
props.heatmap?.enabled && props.heatmap.showLegend ? (openBlock(), createElementBlock("div",
|
|
9177
|
-
createElementVNode("span",
|
|
9178
|
-
createElementVNode("div",
|
|
9142
|
+
props.heatmap?.enabled && props.heatmap.showLegend ? (openBlock(), createElementBlock("div", _hoisted_18$16, [
|
|
9143
|
+
createElementVNode("span", _hoisted_19$16, toDisplayString(props.heatmap.min ?? 0), 1),
|
|
9144
|
+
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
9145
|
return openBlock(), createElementBlock("div", {
|
|
9180
9146
|
key: index,
|
|
9181
9147
|
class: "mint-well-plate__legend-segment",
|
|
9182
9148
|
style: normalizeStyle({ backgroundColor: color })
|
|
9183
9149
|
}, null, 4);
|
|
9184
9150
|
}), 128))]),
|
|
9185
|
-
createElementVNode("span",
|
|
9151
|
+
createElementVNode("span", _hoisted_21$12, toDisplayString(props.heatmap.max ?? 1), 1)
|
|
9186
9152
|
])) : createCommentVNode("", true),
|
|
9187
|
-
props.showLegend ? (openBlock(), createElementBlock("div",
|
|
9153
|
+
props.showLegend ? (openBlock(), createElementBlock("div", _hoisted_22$12, [(openBlock(true), createElementBlock(Fragment, null, renderList(activeLegendItems.value, (item) => {
|
|
9188
9154
|
return openBlock(), createElementBlock("div", {
|
|
9189
9155
|
key: item.type,
|
|
9190
9156
|
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)]);
|
|
9157
|
+
}, [createElementVNode("span", {
|
|
9158
|
+
class: "mint-well-plate__sample-legend-dot",
|
|
9159
|
+
style: normalizeStyle(unref(sampleTint)(item.color))
|
|
9160
|
+
}, null, 4), createElementVNode("span", _hoisted_23$10, toDisplayString(item.label), 1)]);
|
|
9198
9161
|
}), 128))])) : createCommentVNode("", true)
|
|
9199
9162
|
])])),
|
|
9200
9163
|
__props.editable && unref(editingWellId) ? renderSlot(_ctx.$slots, "well-editor", {
|
|
@@ -9391,11 +9354,11 @@ var _hoisted_15$18 = { class: "mint-plate-editor__toolbar-end" };
|
|
|
9391
9354
|
var _hoisted_16$15 = ["disabled", "title"];
|
|
9392
9355
|
var _hoisted_17$15 = ["aria-pressed"];
|
|
9393
9356
|
var _hoisted_18$15 = ["disabled"];
|
|
9394
|
-
var _hoisted_19$
|
|
9357
|
+
var _hoisted_19$15 = {
|
|
9395
9358
|
key: 1,
|
|
9396
9359
|
class: "mint-plate-editor__body"
|
|
9397
9360
|
};
|
|
9398
|
-
var _hoisted_20$
|
|
9361
|
+
var _hoisted_20$14 = { class: "mint-plate-editor__main" };
|
|
9399
9362
|
var _hoisted_21$11 = {
|
|
9400
9363
|
key: 0,
|
|
9401
9364
|
class: "mint-plate-editor__footer"
|
|
@@ -9974,7 +9937,7 @@ var PlateEditor_default = /* @__PURE__ */ defineComponent({
|
|
|
9974
9937
|
renderSlot(_ctx.$slots, "toolbar-extra")
|
|
9975
9938
|
])
|
|
9976
9939
|
])) : createCommentVNode("", true),
|
|
9977
|
-
activeRack.value ? (openBlock(), createElementBlock("div", _hoisted_19$
|
|
9940
|
+
activeRack.value ? (openBlock(), createElementBlock("div", _hoisted_19$15, [createElementVNode("div", _hoisted_20$14, [(openBlock(), createBlock(WellPlate_default, {
|
|
9978
9941
|
key: activeRack.value.id,
|
|
9979
9942
|
"model-value": selection.value,
|
|
9980
9943
|
format: activeRack.value.format,
|
|
@@ -10339,11 +10302,11 @@ var _hoisted_18$14 = {
|
|
|
10339
10302
|
key: 4,
|
|
10340
10303
|
class: "mint-reagent-list__cell"
|
|
10341
10304
|
};
|
|
10342
|
-
var _hoisted_19$
|
|
10305
|
+
var _hoisted_19$14 = {
|
|
10343
10306
|
key: 0,
|
|
10344
10307
|
class: "mint-reagent-list__expired-text"
|
|
10345
10308
|
};
|
|
10346
|
-
var _hoisted_20$
|
|
10309
|
+
var _hoisted_20$13 = { key: 1 };
|
|
10347
10310
|
var _hoisted_21$10 = {
|
|
10348
10311
|
key: 2,
|
|
10349
10312
|
class: "mint-reagent-list__badge mint-reagent-list__badge--error"
|
|
@@ -10639,7 +10602,7 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
|
|
|
10639
10602
|
}, toDisplayString(reagent.name), 9, _hoisted_14$17)) : (openBlock(), createElementBlock("span", _hoisted_15$17, toDisplayString(reagent.name), 1))])) : createCommentVNode("", true),
|
|
10640
10603
|
__props.columns.includes("catalog") ? (openBlock(), createElementBlock("td", _hoisted_16$14, toDisplayString(reagent.catalogNumber || "-"), 1)) : createCommentVNode("", true),
|
|
10641
10604
|
__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$
|
|
10605
|
+
__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
10606
|
class: "mint-reagent-list__badge-icon",
|
|
10644
10607
|
fill: "none",
|
|
10645
10608
|
stroke: "currentColor",
|
|
@@ -10832,12 +10795,12 @@ var _hoisted_17$13 = {
|
|
|
10832
10795
|
class: "sg-field__order"
|
|
10833
10796
|
};
|
|
10834
10797
|
var _hoisted_18$13 = { class: "sg-field__layer" };
|
|
10835
|
-
var _hoisted_19$
|
|
10798
|
+
var _hoisted_19$13 = [
|
|
10836
10799
|
"disabled",
|
|
10837
10800
|
"aria-label",
|
|
10838
10801
|
"onClick"
|
|
10839
10802
|
];
|
|
10840
|
-
var _hoisted_20$
|
|
10803
|
+
var _hoisted_20$12 = [
|
|
10841
10804
|
"disabled",
|
|
10842
10805
|
"aria-label",
|
|
10843
10806
|
"onClick"
|
|
@@ -11256,7 +11219,7 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
11256
11219
|
}, [createVNode(Icon, {
|
|
11257
11220
|
d: ICON.chevUp,
|
|
11258
11221
|
size: 12
|
|
11259
|
-
}, null, 8, ["d"])], 8, _hoisted_19$
|
|
11222
|
+
}, null, 8, ["d"])], 8, _hoisted_19$13),
|
|
11260
11223
|
createElementVNode("button", {
|
|
11261
11224
|
type: "button",
|
|
11262
11225
|
class: "sg-field__order-btn",
|
|
@@ -11267,7 +11230,7 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
11267
11230
|
}, [createVNode(Icon, {
|
|
11268
11231
|
d: ICON.chev,
|
|
11269
11232
|
size: 12
|
|
11270
|
-
}, null, 8, ["d"])], 8, _hoisted_20$
|
|
11233
|
+
}, null, 8, ["d"])], 8, _hoisted_20$12)
|
|
11271
11234
|
])) : createCommentVNode("", true),
|
|
11272
11235
|
createElementVNode("div", _hoisted_21$9, toDisplayString(field.vals), 1)
|
|
11273
11236
|
], 2);
|
|
@@ -11445,11 +11408,11 @@ var _hoisted_15$15 = {
|
|
|
11445
11408
|
var _hoisted_16$12 = ["onClick"];
|
|
11446
11409
|
var _hoisted_17$12 = ["checked"];
|
|
11447
11410
|
var _hoisted_18$12 = { class: "mg2-row__name" };
|
|
11448
|
-
var _hoisted_19$
|
|
11411
|
+
var _hoisted_19$12 = {
|
|
11449
11412
|
key: 0,
|
|
11450
11413
|
class: "mg2-row__tag"
|
|
11451
11414
|
};
|
|
11452
|
-
var _hoisted_20$
|
|
11415
|
+
var _hoisted_20$11 = {
|
|
11453
11416
|
key: 1,
|
|
11454
11417
|
class: "mg2-row__tag mg2-row__tag--none"
|
|
11455
11418
|
};
|
|
@@ -11777,14 +11740,14 @@ var SmartGroupManual_default = /* @__PURE__ */ defineComponent({
|
|
|
11777
11740
|
readonly: ""
|
|
11778
11741
|
}, null, 8, _hoisted_17$12),
|
|
11779
11742
|
createElementVNode("span", _hoisted_18$12, toDisplayString(match.sample.name), 1),
|
|
11780
|
-
match.sample.group ? (openBlock(), createElementBlock("span", _hoisted_19$
|
|
11743
|
+
match.sample.group ? (openBlock(), createElementBlock("span", _hoisted_19$12, [
|
|
11781
11744
|
createElementVNode("span", {
|
|
11782
11745
|
class: "sg-dot",
|
|
11783
11746
|
style: normalizeStyle({ background: match.sample.color ?? void 0 })
|
|
11784
11747
|
}, null, 4),
|
|
11785
11748
|
createTextVNode(toDisplayString(match.sample.group), 1),
|
|
11786
11749
|
match.sample.sub ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(" · " + toDisplayString(match.sample.sub), 1)], 64)) : createCommentVNode("", true)
|
|
11787
|
-
])) : (openBlock(), createElementBlock("span", _hoisted_20$
|
|
11750
|
+
])) : (openBlock(), createElementBlock("span", _hoisted_20$11, "unassigned"))
|
|
11788
11751
|
], 10, _hoisted_16$12);
|
|
11789
11752
|
}), 128))])
|
|
11790
11753
|
]), createElementVNode("div", _hoisted_21$8, [
|
|
@@ -12995,8 +12958,8 @@ var _hoisted_17$11 = {
|
|
|
12995
12958
|
class: "mint-sample-selector__ungrouped-list"
|
|
12996
12959
|
};
|
|
12997
12960
|
var _hoisted_18$11 = { class: "mint-sample-selector__new-group" };
|
|
12998
|
-
var _hoisted_19$
|
|
12999
|
-
var _hoisted_20$
|
|
12961
|
+
var _hoisted_19$11 = ["value"];
|
|
12962
|
+
var _hoisted_20$10 = {
|
|
13000
12963
|
key: 6,
|
|
13001
12964
|
class: "mint-sample-selector__flat"
|
|
13002
12965
|
};
|
|
@@ -13358,9 +13321,9 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
13358
13321
|
class: "mint-sample-selector__color-input",
|
|
13359
13322
|
value: colorPickerSeed.value,
|
|
13360
13323
|
onChange: handleColorChange
|
|
13361
|
-
}, null, 40, _hoisted_19$
|
|
13324
|
+
}, null, 40, _hoisted_19$11)
|
|
13362
13325
|
])) : createCommentVNode("", true),
|
|
13363
|
-
!isPlaceholderState.value && !groupingEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_20$
|
|
13326
|
+
!isPlaceholderState.value && !groupingEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_20$10, [createElementVNode("div", _hoisted_21$7, [_cache[17] || (_cache[17] = createElementVNode("svg", {
|
|
13364
13327
|
class: "mint-sample-selector__search-icon",
|
|
13365
13328
|
fill: "none",
|
|
13366
13329
|
stroke: "currentColor",
|
|
@@ -13659,8 +13622,8 @@ var _hoisted_15$13 = [
|
|
|
13659
13622
|
var _hoisted_16$10 = ["onPointerdown"];
|
|
13660
13623
|
var _hoisted_17$10 = { class: "mint-schedule__event-title" };
|
|
13661
13624
|
var _hoisted_18$10 = { class: "mint-schedule__event-time" };
|
|
13662
|
-
var _hoisted_19$
|
|
13663
|
-
var _hoisted_20$
|
|
13625
|
+
var _hoisted_19$10 = ["onPointerdown"];
|
|
13626
|
+
var _hoisted_20$9 = {
|
|
13664
13627
|
key: 0,
|
|
13665
13628
|
class: "mint-schedule__blocked-label"
|
|
13666
13629
|
};
|
|
@@ -14015,7 +13978,7 @@ var ScheduleCalendar_default = /* @__PURE__ */ defineComponent({
|
|
|
14015
13978
|
key: 1,
|
|
14016
13979
|
class: "mint-schedule__event-resize-handle mint-schedule__event-resize-handle--bottom",
|
|
14017
13980
|
onPointerdown: ($event) => onResizePointerDown(event, "bottom", dayIdx, $event)
|
|
14018
|
-
}, null, 40, _hoisted_19$
|
|
13981
|
+
}, null, 40, _hoisted_19$10)) : createCommentVNode("", true)
|
|
14019
13982
|
])], 46, _hoisted_15$13);
|
|
14020
13983
|
}), 128)),
|
|
14021
13984
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getBlockedForDay)(day), (blocked, bIdx) => {
|
|
@@ -14023,7 +13986,7 @@ var ScheduleCalendar_default = /* @__PURE__ */ defineComponent({
|
|
|
14023
13986
|
key: `b-${bIdx}`,
|
|
14024
13987
|
class: "mint-schedule__blocked",
|
|
14025
13988
|
style: normalizeStyle(unref(getBlockedStyle)(blocked))
|
|
14026
|
-
}, [blocked.label ? (openBlock(), createElementBlock("span", _hoisted_20$
|
|
13989
|
+
}, [blocked.label ? (openBlock(), createElementBlock("span", _hoisted_20$9, toDisplayString(blocked.label), 1)) : createCommentVNode("", true)], 4);
|
|
14027
13990
|
}), 128)),
|
|
14028
13991
|
__props.showNowIndicator && unref(isToday)(day) && unref(getNowIndicatorStyle)() ? (openBlock(), createElementBlock("div", {
|
|
14029
13992
|
key: 0,
|
|
@@ -15287,8 +15250,9 @@ function settingsGroupToTab(group) {
|
|
|
15287
15250
|
function normalizeVisibleSettingsTabs(tabs, canShow) {
|
|
15288
15251
|
return tabs.map(normalizeItemInput).filter(canShow);
|
|
15289
15252
|
}
|
|
15290
|
-
function buildSettingsTabs(baseTabs, showAppearance) {
|
|
15291
|
-
|
|
15253
|
+
function buildSettingsTabs(baseTabs, showAppearance, appearanceFirst = false) {
|
|
15254
|
+
if (!showAppearance) return baseTabs;
|
|
15255
|
+
return appearanceFirst ? [APPEARANCE_TAB, ...baseTabs] : [...baseTabs, APPEARANCE_TAB];
|
|
15292
15256
|
}
|
|
15293
15257
|
//#endregion
|
|
15294
15258
|
//#region src/components/SettingsModal.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -15331,8 +15295,8 @@ var _hoisted_18$9 = {
|
|
|
15331
15295
|
class: "mint-settings-modal__swatches",
|
|
15332
15296
|
"aria-hidden": "true"
|
|
15333
15297
|
};
|
|
15334
|
-
var _hoisted_19$
|
|
15335
|
-
var _hoisted_20$
|
|
15298
|
+
var _hoisted_19$9 = { class: "mint-settings-modal__palette-name" };
|
|
15299
|
+
var _hoisted_20$8 = { class: "mint-settings-modal__setting mint-settings-modal__setting--inline" };
|
|
15336
15300
|
var _hoisted_21$5 = {
|
|
15337
15301
|
class: "mint-settings-modal__status",
|
|
15338
15302
|
role: "status"
|
|
@@ -15359,6 +15323,7 @@ var SettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15359
15323
|
type: Boolean,
|
|
15360
15324
|
default: true
|
|
15361
15325
|
},
|
|
15326
|
+
appearanceFirst: { type: Boolean },
|
|
15362
15327
|
size: { default: "lg" },
|
|
15363
15328
|
layout: { default: void 0 },
|
|
15364
15329
|
schema: {},
|
|
@@ -15462,7 +15427,7 @@ var SettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15462
15427
|
const visibleSchemaGroups = computed(() => settingsSchema.value ? settingsSchema.value.groups.filter((g) => builder.isSectionVisible(g.id)) : []);
|
|
15463
15428
|
const manualTabs = computed(() => normalizeVisibleSettingsTabs(props.tabs, canShowForCurrentUser));
|
|
15464
15429
|
const allTabs = computed(() => {
|
|
15465
|
-
return buildSettingsTabs(settingsSchema.value ? visibleSchemaGroups.value.map(settingsGroupToTab) : manualTabs.value, props.showAppearance);
|
|
15430
|
+
return buildSettingsTabs(settingsSchema.value ? visibleSchemaGroups.value.map(settingsGroupToTab) : manualTabs.value, props.showAppearance, props.appearanceFirst);
|
|
15466
15431
|
});
|
|
15467
15432
|
const activeTab = ref(allTabs.value[0]?.id || "appearance");
|
|
15468
15433
|
/** Above this many plugin groups the default layout switches from one stacked page to the rail. */
|
|
@@ -15485,7 +15450,7 @@ var SettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15485
15450
|
icon: tab.icon,
|
|
15486
15451
|
description: tab.description,
|
|
15487
15452
|
meta: group ? modified ? String(modified) : void 0 : tab.meta,
|
|
15488
|
-
section: props.showAppearance ? tab.id === "appearance" ? "Personal" : "Plugin" : void 0
|
|
15453
|
+
section: props.showAppearance ? tab.id === "appearance" ? "Personal" : tab.section ?? "Plugin" : void 0
|
|
15489
15454
|
};
|
|
15490
15455
|
}));
|
|
15491
15456
|
function selectTab(id) {
|
|
@@ -15786,7 +15751,7 @@ var SettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15786
15751
|
style: normalizeStyle({ backgroundColor: color })
|
|
15787
15752
|
}, null, 4);
|
|
15788
15753
|
}), 128))]),
|
|
15789
|
-
createElementVNode("span", _hoisted_19$
|
|
15754
|
+
createElementVNode("span", _hoisted_19$9, toDisplayString(palette.name), 1),
|
|
15790
15755
|
_cache[9] || (_cache[9] = createElementVNode("svg", {
|
|
15791
15756
|
class: "mint-settings-modal__palette-check",
|
|
15792
15757
|
viewBox: "0 0 16 16",
|
|
@@ -15799,7 +15764,7 @@ var SettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
15799
15764
|
}, [createElementVNode("path", { d: "M3.5 8.5l3 3 6-7" })], -1))
|
|
15800
15765
|
], 10, _hoisted_17$9);
|
|
15801
15766
|
}), 128))])]),
|
|
15802
|
-
createElementVNode("div", _hoisted_20$
|
|
15767
|
+
createElementVNode("div", _hoisted_20$8, [
|
|
15803
15768
|
_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
15769
|
createVNode(SegmentedControl_default, {
|
|
15805
15770
|
"model-value": unref(settings).tableDensity,
|
|
@@ -16601,8 +16566,8 @@ var _hoisted_16$8 = [
|
|
|
16601
16566
|
];
|
|
16602
16567
|
var _hoisted_17$8 = { class: "mint-group-assigner__pill-name" };
|
|
16603
16568
|
var _hoisted_18$8 = { class: "mint-group-assigner__pill-count" };
|
|
16604
|
-
var _hoisted_19$
|
|
16605
|
-
var _hoisted_20$
|
|
16569
|
+
var _hoisted_19$8 = ["onClick"];
|
|
16570
|
+
var _hoisted_20$7 = {
|
|
16606
16571
|
key: 0,
|
|
16607
16572
|
class: "mint-group-assigner__zone-empty"
|
|
16608
16573
|
};
|
|
@@ -16815,9 +16780,9 @@ var GroupAssigner_default = /* @__PURE__ */ defineComponent({
|
|
|
16815
16780
|
fill: "none",
|
|
16816
16781
|
stroke: "currentColor",
|
|
16817
16782
|
"stroke-width": "2"
|
|
16818
|
-
}, [createElementVNode("path", { d: "M6 18L18 6M6 6l12 12" })], -1)])], 8, _hoisted_19$
|
|
16783
|
+
}, [createElementVNode("path", { d: "M6 18L18 6M6 6l12 12" })], -1)])], 8, _hoisted_19$8)
|
|
16819
16784
|
], 40, _hoisted_16$8);
|
|
16820
|
-
}), 128)), unref(zone2Groups).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_20$
|
|
16785
|
+
}), 128)), unref(zone2Groups).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_20$7, " Drag groups here ")) : createCommentVNode("", true)])], 38)]),
|
|
16821
16786
|
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
16787
|
key: 0,
|
|
16823
16788
|
type: "button",
|
|
@@ -16956,8 +16921,8 @@ var _hoisted_15$10 = ["value"];
|
|
|
16956
16921
|
var _hoisted_16$7 = { class: "mint-reagent-editor__generator" };
|
|
16957
16922
|
var _hoisted_17$7 = { class: "mint-reagent-editor__generator-inputs" };
|
|
16958
16923
|
var _hoisted_18$7 = { class: "mint-reagent-editor__field mint-reagent-editor__field--flex" };
|
|
16959
|
-
var _hoisted_19$
|
|
16960
|
-
var _hoisted_20$
|
|
16924
|
+
var _hoisted_19$7 = { class: "mint-reagent-editor__field mint-reagent-editor__field--flex" };
|
|
16925
|
+
var _hoisted_20$6 = { class: "mint-reagent-editor__presets" };
|
|
16961
16926
|
var _hoisted_21$3 = ["onClick"];
|
|
16962
16927
|
var _hoisted_22$3 = ["disabled"];
|
|
16963
16928
|
var _hoisted_23$2 = {
|
|
@@ -17205,14 +17170,14 @@ var ReagentEditor_default = /* @__PURE__ */ defineComponent({
|
|
|
17205
17170
|
min: 0,
|
|
17206
17171
|
step: 10,
|
|
17207
17172
|
size: "sm"
|
|
17208
|
-
}, null, 8, ["modelValue"])]), createElementVNode("div", _hoisted_19$
|
|
17173
|
+
}, 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
17174
|
modelValue: generatorCount.value,
|
|
17210
17175
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => generatorCount.value = $event),
|
|
17211
17176
|
min: 2,
|
|
17212
17177
|
max: __props.maxLevels,
|
|
17213
17178
|
step: 1,
|
|
17214
17179
|
size: "sm"
|
|
17215
|
-
}, null, 8, ["modelValue", "max"])])]), createElementVNode("div", _hoisted_20$
|
|
17180
|
+
}, null, 8, ["modelValue", "max"])])]), createElementVNode("div", _hoisted_20$6, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.presets, (preset) => {
|
|
17216
17181
|
return openBlock(), createElementBlock("button", {
|
|
17217
17182
|
key: preset.label,
|
|
17218
17183
|
type: "button",
|
|
@@ -18805,11 +18770,11 @@ var _hoisted_18$6 = {
|
|
|
18805
18770
|
key: 2,
|
|
18806
18771
|
class: "mint-batch-progress__state"
|
|
18807
18772
|
};
|
|
18808
|
-
var _hoisted_19$
|
|
18773
|
+
var _hoisted_19$6 = {
|
|
18809
18774
|
key: 3,
|
|
18810
18775
|
class: "mint-batch-progress__state"
|
|
18811
18776
|
};
|
|
18812
|
-
var _hoisted_20$
|
|
18777
|
+
var _hoisted_20$5 = {
|
|
18813
18778
|
key: 4,
|
|
18814
18779
|
class: "mint-batch-progress__state"
|
|
18815
18780
|
};
|
|
@@ -18987,11 +18952,11 @@ var BatchProgressList_default = /* @__PURE__ */ defineComponent({
|
|
|
18987
18952
|
state: "error",
|
|
18988
18953
|
size: "sm",
|
|
18989
18954
|
title: __props.error
|
|
18990
|
-
}, null, 8, ["title"])])])) : __props.loading ? (openBlock(), createElementBlock("div", _hoisted_19$
|
|
18955
|
+
}, null, 8, ["title"])])])) : __props.loading ? (openBlock(), createElementBlock("div", _hoisted_19$6, [renderSlot(_ctx.$slots, "loading", {}, () => [createVNode(DataStateInternal_default, {
|
|
18991
18956
|
state: "loading",
|
|
18992
18957
|
size: "sm",
|
|
18993
18958
|
"loading-label": "Loading batch"
|
|
18994
|
-
})])])) : __props.items.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_20$
|
|
18959
|
+
})])])) : __props.items.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_20$5, [renderSlot(_ctx.$slots, "empty", {}, () => [createVNode(DataStateInternal_default, {
|
|
18995
18960
|
state: "empty",
|
|
18996
18961
|
size: "sm",
|
|
18997
18962
|
title: __props.emptyMessage
|
|
@@ -19101,8 +19066,8 @@ var _hoisted_16$5 = {
|
|
|
19101
19066
|
};
|
|
19102
19067
|
var _hoisted_17$5 = { class: "mint-summary__pill-key" };
|
|
19103
19068
|
var _hoisted_18$5 = { class: "mint-summary__pill-value" };
|
|
19104
|
-
var _hoisted_19$
|
|
19105
|
-
var _hoisted_20$
|
|
19069
|
+
var _hoisted_19$5 = { class: "mint-summary__table-header" };
|
|
19070
|
+
var _hoisted_20$4 = { class: "mint-summary__section-label" };
|
|
19106
19071
|
var _hoisted_21$1 = { class: "mint-summary__section-count" };
|
|
19107
19072
|
var _hoisted_22$1 = {
|
|
19108
19073
|
key: 3,
|
|
@@ -19300,7 +19265,7 @@ var ExperimentDataViewer_default = /* @__PURE__ */ defineComponent({
|
|
|
19300
19265
|
"searchable"
|
|
19301
19266
|
])) : createCommentVNode("", true)
|
|
19302
19267
|
]);
|
|
19303
|
-
}), 128)) : section.type === "table" && section.rows ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createElementVNode("div", _hoisted_19$
|
|
19268
|
+
}), 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
19269
|
data: section.rows,
|
|
19305
19270
|
columns: columnsForSection(section.columns || []),
|
|
19306
19271
|
searchable: (section.rows?.length || 0) > 10,
|
|
@@ -19583,8 +19548,8 @@ var _hoisted_18$4 = {
|
|
|
19583
19548
|
key: 1,
|
|
19584
19549
|
class: "mint-resource-card__footer"
|
|
19585
19550
|
};
|
|
19586
|
-
var _hoisted_19$
|
|
19587
|
-
var _hoisted_20$
|
|
19551
|
+
var _hoisted_19$4 = { class: "mint-resource-card__tags" };
|
|
19552
|
+
var _hoisted_20$3 = { class: "mint-resource-card__action" };
|
|
19588
19553
|
//#endregion
|
|
19589
19554
|
//#region src/components/ResourceCard.vue
|
|
19590
19555
|
var ResourceCard_default = /* @__PURE__ */ defineComponent({
|
|
@@ -19678,7 +19643,7 @@ var ResourceCard_default = /* @__PURE__ */ defineComponent({
|
|
|
19678
19643
|
class: "mint-resource-card__spec"
|
|
19679
19644
|
}, [createElementVNode("span", _hoisted_16$4, toDisplayString(spec.label), 1), createElementVNode("span", _hoisted_17$4, toDisplayString(spec.value), 1)]);
|
|
19680
19645
|
}), 128))])])) : createCommentVNode("", true),
|
|
19681
|
-
__props.tags.length > 0 || __props.showBookAction || _ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_18$4, [createElementVNode("div", _hoisted_19$
|
|
19646
|
+
__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
19647
|
return openBlock(), createBlock(BasePill_default, {
|
|
19683
19648
|
key: tag,
|
|
19684
19649
|
size: "sm"
|
|
@@ -19686,7 +19651,7 @@ var ResourceCard_default = /* @__PURE__ */ defineComponent({
|
|
|
19686
19651
|
default: withCtx(() => [createTextVNode(toDisplayString(tag), 1)]),
|
|
19687
19652
|
_: 2
|
|
19688
19653
|
}, 1024);
|
|
19689
|
-
}), 128))]), createElementVNode("div", _hoisted_20$
|
|
19654
|
+
}), 128))]), createElementVNode("div", _hoisted_20$3, [renderSlot(_ctx.$slots, "action", {}, () => [__props.showBookAction ? (openBlock(), createElementBlock("button", {
|
|
19690
19655
|
key: 0,
|
|
19691
19656
|
type: "button",
|
|
19692
19657
|
class: "mint-resource-card__book-btn",
|
|
@@ -19872,11 +19837,11 @@ var ExperimentSelectorModal_vue_vue_type_script_setup_true_lang_default = /*@__P
|
|
|
19872
19837
|
return {
|
|
19873
19838
|
code: experiment.experiment_code,
|
|
19874
19839
|
title: experiment.name,
|
|
19875
|
-
meta: [
|
|
19876
|
-
|
|
19877
|
-
|
|
19878
|
-
|
|
19879
|
-
|
|
19840
|
+
meta: [...groupToggle.value ? [] : [experiment.project_name || experiment.project || ""], owner ? [owner.first_name, owner.last_name].filter(Boolean).join(" ") || owner.username : ""].filter(Boolean),
|
|
19841
|
+
status: experiment.status ? {
|
|
19842
|
+
label: formatExperimentStatus(experiment.status),
|
|
19843
|
+
variant: getExperimentStatusVariant(experiment.status)
|
|
19844
|
+
} : void 0,
|
|
19880
19845
|
date: formatExperimentDate(experiment.created_at)
|
|
19881
19846
|
};
|
|
19882
19847
|
}
|
|
@@ -20656,8 +20621,8 @@ var _hoisted_18$3 = {
|
|
|
20656
20621
|
class: "mint-experiment-popover__card mint-experiment-popover__card--error",
|
|
20657
20622
|
role: "alert"
|
|
20658
20623
|
};
|
|
20659
|
-
var _hoisted_19$
|
|
20660
|
-
var _hoisted_20$
|
|
20624
|
+
var _hoisted_19$3 = { class: "mint-experiment-popover__card-info" };
|
|
20625
|
+
var _hoisted_20$2 = { class: "mint-experiment-popover__card-message" };
|
|
20661
20626
|
var _hoisted_21 = { class: "mint-experiment-popover__card-actions" };
|
|
20662
20627
|
var _hoisted_22 = {
|
|
20663
20628
|
key: 2,
|
|
@@ -20864,7 +20829,7 @@ var ExperimentPopover_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
|
|
|
20864
20829
|
"stroke-linejoin": "round",
|
|
20865
20830
|
"stroke-width": "1.75",
|
|
20866
20831
|
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$
|
|
20832
|
+
})])], -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
20833
|
type: "button",
|
|
20869
20834
|
class: "mint-experiment-popover__change-btn",
|
|
20870
20835
|
onClick: handleSelect
|
|
@@ -20994,12 +20959,12 @@ var _hoisted_17$2 = {
|
|
|
20994
20959
|
d: "M3.5 8.5l3 3 6-7"
|
|
20995
20960
|
};
|
|
20996
20961
|
var _hoisted_18$2 = { key: 1 };
|
|
20997
|
-
var _hoisted_19$
|
|
20962
|
+
var _hoisted_19$2 = {
|
|
20998
20963
|
key: 0,
|
|
20999
20964
|
class: "mint-fit-panel__check-shape",
|
|
21000
20965
|
d: "M8 1.5l7 12.5H1z"
|
|
21001
20966
|
};
|
|
21002
|
-
var _hoisted_20 = {
|
|
20967
|
+
var _hoisted_20$1 = {
|
|
21003
20968
|
key: 1,
|
|
21004
20969
|
class: "mint-fit-panel__check-shape",
|
|
21005
20970
|
cx: "8",
|
|
@@ -21119,7 +21084,7 @@ var FitPanel_default = /* @__PURE__ */ defineComponent({
|
|
|
21119
21084
|
return openBlock(), createElementBlock("span", {
|
|
21120
21085
|
key: idx,
|
|
21121
21086
|
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$
|
|
21087
|
+
}, [(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
21088
|
class: "mint-fit-panel__check-mark",
|
|
21124
21089
|
d: "M8 6v3M8 11.5v.01"
|
|
21125
21090
|
}, null, -1))]))])), createTextVNode(" " + toDisplayString(item.label) + " " + toDisplayString(item.value), 1)], 2);
|
|
@@ -21178,19 +21143,24 @@ var _hoisted_1$2 = [
|
|
|
21178
21143
|
];
|
|
21179
21144
|
var _hoisted_2$2 = {
|
|
21180
21145
|
key: 0,
|
|
21181
|
-
class: "mint-
|
|
21146
|
+
class: "mint-picker__truncated",
|
|
21147
|
+
role: "status"
|
|
21182
21148
|
};
|
|
21183
21149
|
var _hoisted_3$2 = {
|
|
21184
21150
|
key: 1,
|
|
21185
|
-
|
|
21186
|
-
class: "mint-picker__empty"
|
|
21151
|
+
class: "mint-picker__skeleton"
|
|
21187
21152
|
};
|
|
21188
21153
|
var _hoisted_4$2 = {
|
|
21189
21154
|
key: 2,
|
|
21155
|
+
role: "alert",
|
|
21156
|
+
class: "mint-picker__empty"
|
|
21157
|
+
};
|
|
21158
|
+
var _hoisted_5$2 = {
|
|
21159
|
+
key: 3,
|
|
21190
21160
|
class: "mint-picker__empty",
|
|
21191
21161
|
role: "status"
|
|
21192
21162
|
};
|
|
21193
|
-
var
|
|
21163
|
+
var _hoisted_6$2 = [
|
|
21194
21164
|
"role",
|
|
21195
21165
|
"data-path",
|
|
21196
21166
|
"aria-level",
|
|
@@ -21203,8 +21173,8 @@ var _hoisted_5$2 = [
|
|
|
21203
21173
|
"onDblclick",
|
|
21204
21174
|
"onKeydown"
|
|
21205
21175
|
];
|
|
21206
|
-
var
|
|
21207
|
-
var
|
|
21176
|
+
var _hoisted_7$2 = { class: "mint-picker__cell mint-picker__cell--check" };
|
|
21177
|
+
var _hoisted_8$2 = {
|
|
21208
21178
|
key: 0,
|
|
21209
21179
|
class: "mint-picker__lock",
|
|
21210
21180
|
viewBox: "0 0 24 24",
|
|
@@ -21213,13 +21183,13 @@ var _hoisted_7$2 = {
|
|
|
21213
21183
|
"stroke-width": "1.8",
|
|
21214
21184
|
"aria-hidden": "true"
|
|
21215
21185
|
};
|
|
21216
|
-
var
|
|
21217
|
-
var
|
|
21218
|
-
var
|
|
21186
|
+
var _hoisted_9$2 = ["d"];
|
|
21187
|
+
var _hoisted_10$2 = { class: "mint-picker__cell mint-picker__cell--name" };
|
|
21188
|
+
var _hoisted_11$2 = {
|
|
21219
21189
|
key: 1,
|
|
21220
21190
|
class: "mint-picker__disclosure"
|
|
21221
21191
|
};
|
|
21222
|
-
var
|
|
21192
|
+
var _hoisted_12$2 = {
|
|
21223
21193
|
class: "mint-picker__node-icon",
|
|
21224
21194
|
viewBox: "0 0 24 24",
|
|
21225
21195
|
fill: "none",
|
|
@@ -21227,19 +21197,19 @@ var _hoisted_11$2 = {
|
|
|
21227
21197
|
"stroke-width": "1.7",
|
|
21228
21198
|
"aria-hidden": "true"
|
|
21229
21199
|
};
|
|
21230
|
-
var
|
|
21231
|
-
var
|
|
21232
|
-
var
|
|
21233
|
-
var
|
|
21200
|
+
var _hoisted_13$2 = ["d"];
|
|
21201
|
+
var _hoisted_14$2 = { class: "mint-picker__name" };
|
|
21202
|
+
var _hoisted_15$2 = { key: 0 };
|
|
21203
|
+
var _hoisted_16$1 = {
|
|
21234
21204
|
key: 1,
|
|
21235
21205
|
class: "mint-picker__reason"
|
|
21236
21206
|
};
|
|
21237
|
-
var
|
|
21207
|
+
var _hoisted_17$1 = {
|
|
21238
21208
|
key: 2,
|
|
21239
21209
|
class: "mint-picker__parent-name"
|
|
21240
21210
|
};
|
|
21241
|
-
var
|
|
21242
|
-
var
|
|
21211
|
+
var _hoisted_18$1 = { class: "mint-picker__cell mint-picker__cell--time" };
|
|
21212
|
+
var _hoisted_19$1 = {
|
|
21243
21213
|
key: 0,
|
|
21244
21214
|
class: "mint-picker__branch-error",
|
|
21245
21215
|
role: "alert"
|
|
@@ -21255,6 +21225,7 @@ var FilePickerListInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
21255
21225
|
loading: { type: Boolean },
|
|
21256
21226
|
error: {},
|
|
21257
21227
|
query: {},
|
|
21228
|
+
truncated: { type: Boolean },
|
|
21258
21229
|
mode: {},
|
|
21259
21230
|
selected: { type: Function },
|
|
21260
21231
|
selectable: { type: Function },
|
|
@@ -21382,106 +21353,110 @@ var FilePickerListInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
21382
21353
|
"aria-label": "Folders and files",
|
|
21383
21354
|
"aria-multiselectable": multi.value,
|
|
21384
21355
|
"aria-busy": __props.loading
|
|
21385
|
-
}, [_cache[6] || (_cache[6] = createElementVNode("div", {
|
|
21386
|
-
class: "mint-picker__list-head",
|
|
21387
|
-
"aria-hidden": "true"
|
|
21388
21356
|
}, [
|
|
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)
|
|
21357
|
+
_cache[6] || (_cache[6] = createElementVNode("div", {
|
|
21358
|
+
class: "mint-picker__list-head",
|
|
21359
|
+
"aria-hidden": "true"
|
|
21424
21360
|
}, [
|
|
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",
|
|
21361
|
+
createElementVNode("span"),
|
|
21362
|
+
createElementVNode("span", null, "Name"),
|
|
21363
|
+
createElementVNode("span", null, "Size"),
|
|
21364
|
+
createElementVNode("span", null, "Modified")
|
|
21365
|
+
], -1)),
|
|
21366
|
+
__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),
|
|
21367
|
+
__props.loading ? (openBlock(), createElementBlock("div", _hoisted_3$2, [(openBlock(), createElementBlock(Fragment, null, renderList(6, (n) => {
|
|
21368
|
+
return createVNode(Skeleton_default, {
|
|
21369
|
+
key: n,
|
|
21370
|
+
width: "100%",
|
|
21371
|
+
height: "1.25rem"
|
|
21372
|
+
});
|
|
21373
|
+
}), 64))])) : __props.error ? (openBlock(), createElementBlock("div", _hoisted_4$2, [createElementVNode("span", null, toDisplayString(__props.error), 1), createVNode(BaseButton_default, {
|
|
21374
|
+
variant: "secondary",
|
|
21478
21375
|
size: "sm",
|
|
21479
|
-
onClick: ($event) => emit("
|
|
21376
|
+
onClick: _cache[0] || (_cache[0] = ($event) => emit("retry"))
|
|
21480
21377
|
}, {
|
|
21481
|
-
default: withCtx(() => [..._cache[
|
|
21378
|
+
default: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode("Try again", -1)])]),
|
|
21482
21379
|
_: 1
|
|
21483
|
-
},
|
|
21484
|
-
|
|
21380
|
+
})])) : !__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) => {
|
|
21381
|
+
return openBlock(), createElementBlock(Fragment, { key: row.node.path }, [createElementVNode("div", {
|
|
21382
|
+
role: tree.value ? "treeitem" : "option",
|
|
21383
|
+
"data-path": row.node.path,
|
|
21384
|
+
"aria-level": tree.value ? row.depth + 1 : void 0,
|
|
21385
|
+
"aria-selected": __props.selected(row.node),
|
|
21386
|
+
"aria-disabled": !!reason(row.node),
|
|
21387
|
+
"aria-expanded": tree.value && row.node.kind === "folder" && !reason(row.node) ? row.expanded : void 0,
|
|
21388
|
+
tabindex: !reason(row.node) && row.node.path === focusablePath.value ? 0 : -1,
|
|
21389
|
+
class: normalizeClass(["mint-picker__row", {
|
|
21390
|
+
"mint-picker__row--selected": __props.selected(row.node),
|
|
21391
|
+
"mint-picker__row--unreadable": !!reason(row.node)
|
|
21392
|
+
}]),
|
|
21393
|
+
style: normalizeStyle({ "--picker-depth": row.depth }),
|
|
21394
|
+
title: reason(row.node) || row.node.name,
|
|
21395
|
+
onClick: ($event) => !reason(row.node) && emit("select", row.node, $event),
|
|
21396
|
+
onDblclick: ($event) => !reason(row.node) && emit("enter", row.node),
|
|
21397
|
+
onKeydown: ($event) => keydown($event, row)
|
|
21398
|
+
}, [
|
|
21399
|
+
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, {
|
|
21400
|
+
key: 1,
|
|
21401
|
+
size: "sm",
|
|
21402
|
+
inert: "",
|
|
21403
|
+
"aria-hidden": "true",
|
|
21404
|
+
"model-value": __props.selected(row.node),
|
|
21405
|
+
indeterminate: partial(row.node)
|
|
21406
|
+
}, null, 8, ["model-value", "indeterminate"])) : createCommentVNode("", true)]),
|
|
21407
|
+
createElementVNode("span", _hoisted_10$2, [
|
|
21408
|
+
tree.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [row.node.kind === "folder" && row.node.hasChildren !== false && !reason(row.node) ? (openBlock(), createBlock(IconButton_default, {
|
|
21409
|
+
key: 0,
|
|
21410
|
+
size: "sm",
|
|
21411
|
+
variant: "ghost",
|
|
21412
|
+
class: "mint-picker__disclosure",
|
|
21413
|
+
label: `${row.expanded ? "Collapse" : "Expand"} ${row.node.name}`,
|
|
21414
|
+
tabindex: "-1",
|
|
21415
|
+
loading: row.loading,
|
|
21416
|
+
onClick: withModifiers(($event) => emit("expand", row.node), ["stop"]),
|
|
21417
|
+
onDblclick: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"]))
|
|
21418
|
+
}, {
|
|
21419
|
+
default: withCtx(() => [(openBlock(), createElementBlock("svg", {
|
|
21420
|
+
viewBox: "0 0 16 16",
|
|
21421
|
+
fill: "currentColor",
|
|
21422
|
+
"aria-hidden": "true",
|
|
21423
|
+
class: normalizeClass({ "mint-picker__chevron--open": row.expanded })
|
|
21424
|
+
}, [..._cache[3] || (_cache[3] = [createElementVNode("path", { d: "m6 3 5 5-5 5z" }, null, -1)])], 2))]),
|
|
21425
|
+
_: 2
|
|
21426
|
+
}, 1032, [
|
|
21427
|
+
"label",
|
|
21428
|
+
"loading",
|
|
21429
|
+
"onClick"
|
|
21430
|
+
])) : (openBlock(), createElementBlock("span", _hoisted_11$2))], 64)) : createCommentVNode("", true),
|
|
21431
|
+
(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)])),
|
|
21432
|
+
createElementVNode("span", _hoisted_14$2, [
|
|
21433
|
+
createTextVNode(toDisplayString(parts(row.node.name)[0]), 1),
|
|
21434
|
+
parts(row.node.name)[1] ? (openBlock(), createElementBlock("mark", _hoisted_15$2, toDisplayString(parts(row.node.name)[1]), 1)) : createCommentVNode("", true),
|
|
21435
|
+
createTextVNode(toDisplayString(parts(row.node.name)[2]), 1)
|
|
21436
|
+
]),
|
|
21437
|
+
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),
|
|
21438
|
+
__props.query && __props.mode === "folder" && row.node.kind === "file" && row.node.parentPath && !reason(row.node) ? (openBlock(), createBlock(BaseButton_default, {
|
|
21439
|
+
key: 3,
|
|
21440
|
+
variant: "ghost",
|
|
21441
|
+
size: "sm",
|
|
21442
|
+
onClick: withModifiers(($event) => emit("parent", row.node), ["stop"])
|
|
21443
|
+
}, {
|
|
21444
|
+
default: withCtx(() => [..._cache[4] || (_cache[4] = [createTextVNode("Select its folder", -1)])]),
|
|
21445
|
+
_: 1
|
|
21446
|
+
}, 8, ["onClick"])) : createCommentVNode("", true)
|
|
21447
|
+
]),
|
|
21448
|
+
createElementVNode("span", { class: normalizeClass(["mint-picker__cell mint-picker__cell--size", { "mint-picker__partial": partial(row.node) }]) }, toDisplayString(size(row.node)), 3),
|
|
21449
|
+
createElementVNode("span", _hoisted_18$1, toDisplayString(unref(formatModified)(row.node.modifiedAt)), 1)
|
|
21450
|
+
], 46, _hoisted_6$2), row.error ? (openBlock(), createElementBlock("div", _hoisted_19$1, [createTextVNode(toDisplayString(row.error), 1), createVNode(BaseButton_default, {
|
|
21451
|
+
variant: "ghost",
|
|
21452
|
+
size: "sm",
|
|
21453
|
+
onClick: ($event) => emit("expand", row.node)
|
|
21454
|
+
}, {
|
|
21455
|
+
default: withCtx(() => [..._cache[5] || (_cache[5] = [createTextVNode("Close branch", -1)])]),
|
|
21456
|
+
_: 1
|
|
21457
|
+
}, 8, ["onClick"])])) : createCommentVNode("", true)], 64);
|
|
21458
|
+
}), 128))
|
|
21459
|
+
], 8, _hoisted_1$2);
|
|
21485
21460
|
};
|
|
21486
21461
|
}
|
|
21487
21462
|
});
|
|
@@ -21594,7 +21569,25 @@ var FilePickerPreviewInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
21594
21569
|
});
|
|
21595
21570
|
//#endregion
|
|
21596
21571
|
//#region src/composables/filePicker/usePickerNavigation.ts
|
|
21597
|
-
|
|
21572
|
+
var byName = new Intl.Collator(void 0, {
|
|
21573
|
+
numeric: true,
|
|
21574
|
+
sensitivity: "base"
|
|
21575
|
+
}).compare;
|
|
21576
|
+
/** Folders first; undated rows go last in either time order. */
|
|
21577
|
+
function ordered(items, sort) {
|
|
21578
|
+
if (!sort) return items;
|
|
21579
|
+
const times = new Map(items.map((node) => [node, node.modifiedAt ? Date.parse(node.modifiedAt) : NaN]));
|
|
21580
|
+
const time = (node) => times.get(node);
|
|
21581
|
+
return [...items].sort((a, b) => {
|
|
21582
|
+
if (a.kind !== b.kind) return a.kind === "folder" ? -1 : 1;
|
|
21583
|
+
if (sort === "name") return byName(a.name, b.name);
|
|
21584
|
+
if (sort === "name-desc") return byName(b.name, a.name);
|
|
21585
|
+
const [ta, tb] = [time(a), time(b)];
|
|
21586
|
+
if (Number.isNaN(ta) || Number.isNaN(tb)) return Number.isNaN(ta) === Number.isNaN(tb) ? byName(a.name, b.name) : Number.isNaN(ta) ? 1 : -1;
|
|
21587
|
+
return (sort === "newest" ? tb - ta : ta - tb) || byName(a.name, b.name);
|
|
21588
|
+
});
|
|
21589
|
+
}
|
|
21590
|
+
function usePickerNavigation(adapter, request, systemFilter = () => true, sort = () => void 0) {
|
|
21598
21591
|
const path = shallowRef("");
|
|
21599
21592
|
const trail = ref([]);
|
|
21600
21593
|
const entries = shallowRef([]);
|
|
@@ -21605,6 +21598,8 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
21605
21598
|
const expansionErrors = ref(/* @__PURE__ */ new Map());
|
|
21606
21599
|
const loading = shallowRef(false);
|
|
21607
21600
|
const error = shallowRef("");
|
|
21601
|
+
/** True when the current search results stopped at an adapter limit. */
|
|
21602
|
+
const truncated = shallowRef(false);
|
|
21608
21603
|
let epoch = 0;
|
|
21609
21604
|
let navigation = 0;
|
|
21610
21605
|
let controller;
|
|
@@ -21724,13 +21719,16 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
21724
21719
|
};
|
|
21725
21720
|
loading.value = true;
|
|
21726
21721
|
error.value = "";
|
|
21722
|
+
truncated.value = false;
|
|
21727
21723
|
entries.value = [];
|
|
21728
21724
|
try {
|
|
21729
|
-
const
|
|
21725
|
+
const found = query.trim() ? await adapter().search(query.trim(), {
|
|
21730
21726
|
path: path.value,
|
|
21731
21727
|
recursive
|
|
21732
21728
|
}, options) : path.value ? await loadChildren(path.value, [], refresh) : await adapter().listRoot(options);
|
|
21733
21729
|
if (token !== navigation) return;
|
|
21730
|
+
const items = Array.isArray(found) ? found : found.nodes;
|
|
21731
|
+
truncated.value = !Array.isArray(found) && found.truncated;
|
|
21734
21732
|
register(items, query.trim() ? void 0 : path.value);
|
|
21735
21733
|
entries.value = items;
|
|
21736
21734
|
if (!query.trim()) prefetch(items);
|
|
@@ -21776,8 +21774,9 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
21776
21774
|
}
|
|
21777
21775
|
const rows = computed(() => {
|
|
21778
21776
|
const result = [];
|
|
21777
|
+
const order = sort();
|
|
21779
21778
|
function visit(items, depth, ancestors) {
|
|
21780
|
-
for (const item of items) {
|
|
21779
|
+
for (const item of ordered(items, order)) {
|
|
21781
21780
|
if (ancestors.has(item.path) || depth > 30) continue;
|
|
21782
21781
|
const node = nodes.value.get(item.path) ?? item;
|
|
21783
21782
|
if (!isAllowed(node)) continue;
|
|
@@ -21806,6 +21805,7 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
21806
21805
|
expansionErrors,
|
|
21807
21806
|
loading,
|
|
21808
21807
|
error,
|
|
21808
|
+
truncated,
|
|
21809
21809
|
rows,
|
|
21810
21810
|
isAllowed,
|
|
21811
21811
|
clear,
|
|
@@ -22111,12 +22111,13 @@ function useFilePicker(props, emit, searchArea) {
|
|
|
22111
22111
|
const source = shallowRef(allowedSources.value.includes(props.initialSelection?.source) ? props.initialSelection.source : allowedSources.value[0] ?? "server");
|
|
22112
22112
|
const query = shallowRef("");
|
|
22113
22113
|
const recursive = shallowRef(false);
|
|
22114
|
+
const sort = shallowRef(props.defaultSort);
|
|
22114
22115
|
const skipBlanks = shallowRef(false);
|
|
22115
22116
|
const reviewing = shallowRef(false);
|
|
22116
22117
|
const localFiles = shallowRef([]);
|
|
22117
22118
|
const localPaths = /* @__PURE__ */ new WeakMap();
|
|
22118
22119
|
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);
|
|
22120
|
+
const nav = usePickerNavigation(() => source.value === "localFile" ? localAdapter.value : props.adapter, () => ({ source: source.value }), (node) => props.systemFilter?.(node, source.value) !== false, () => sort.value);
|
|
22120
22121
|
const capability = computed(() => props.capabilities[source.value]);
|
|
22121
22122
|
const selection = usePickerSelection(nav, () => props.selectionMode, () => capability.value, () => skipBlanks.value);
|
|
22122
22123
|
const { path, trail, loading, error, rows } = nav;
|
|
@@ -22199,6 +22200,7 @@ function useFilePicker(props, emit, searchArea) {
|
|
|
22199
22200
|
watch(() => props.open, (open) => {
|
|
22200
22201
|
clearTimeout(timer);
|
|
22201
22202
|
if (open) {
|
|
22203
|
+
sort.value = props.defaultSort;
|
|
22202
22204
|
if (!initialized) {
|
|
22203
22205
|
path.value = props.initialPath;
|
|
22204
22206
|
if (path.value) trail.value = [{
|
|
@@ -22360,10 +22362,11 @@ function useFilePicker(props, emit, searchArea) {
|
|
|
22360
22362
|
}
|
|
22361
22363
|
async function selectLocalFiles() {
|
|
22362
22364
|
const token = openGeneration;
|
|
22363
|
-
const
|
|
22365
|
+
const found = props.selectionMode === "single-file" || props.selectionMode === "multi-file" ? await localAdapter.value.search("", {
|
|
22364
22366
|
path: "",
|
|
22365
22367
|
recursive: true
|
|
22366
22368
|
}) : nav.entries.value;
|
|
22369
|
+
const items = Array.isArray(found) ? found : found.nodes;
|
|
22367
22370
|
if (token !== openGeneration || !props.open || source.value !== "localFile") return;
|
|
22368
22371
|
nav.register(items);
|
|
22369
22372
|
const candidates = items.filter((node) => selection.selectable(node));
|
|
@@ -22408,6 +22411,7 @@ function useFilePicker(props, emit, searchArea) {
|
|
|
22408
22411
|
source,
|
|
22409
22412
|
query,
|
|
22410
22413
|
recursive,
|
|
22414
|
+
sort,
|
|
22411
22415
|
skipBlanks,
|
|
22412
22416
|
reviewing,
|
|
22413
22417
|
nav,
|
|
@@ -22470,32 +22474,38 @@ var _hoisted_8 = {
|
|
|
22470
22474
|
key: 0,
|
|
22471
22475
|
class: "mint-picker__accepts"
|
|
22472
22476
|
};
|
|
22473
|
-
var _hoisted_9 = [
|
|
22474
|
-
|
|
22475
|
-
|
|
22477
|
+
var _hoisted_9 = [
|
|
22478
|
+
"aria-expanded",
|
|
22479
|
+
"aria-label",
|
|
22480
|
+
"onClick",
|
|
22481
|
+
"onKeydown"
|
|
22482
|
+
];
|
|
22483
|
+
var _hoisted_10 = ["aria-pressed"];
|
|
22484
|
+
var _hoisted_11 = ["disabled"];
|
|
22485
|
+
var _hoisted_12 = {
|
|
22476
22486
|
key: 1,
|
|
22477
22487
|
class: "mint-picker__empty"
|
|
22478
22488
|
};
|
|
22479
|
-
var
|
|
22489
|
+
var _hoisted_13 = {
|
|
22480
22490
|
key: 0,
|
|
22481
22491
|
class: "mint-picker__local-upload"
|
|
22482
22492
|
};
|
|
22483
|
-
var
|
|
22493
|
+
var _hoisted_14 = {
|
|
22484
22494
|
key: 0,
|
|
22485
22495
|
role: "alert"
|
|
22486
22496
|
};
|
|
22487
|
-
var
|
|
22497
|
+
var _hoisted_15 = {
|
|
22488
22498
|
key: 1,
|
|
22489
22499
|
class: "mint-picker__workspace"
|
|
22490
22500
|
};
|
|
22491
|
-
var
|
|
22492
|
-
var
|
|
22501
|
+
var _hoisted_16 = { class: "mint-picker__footer" };
|
|
22502
|
+
var _hoisted_17 = {
|
|
22493
22503
|
class: "mint-picker__receipt",
|
|
22494
22504
|
role: "status"
|
|
22495
22505
|
};
|
|
22496
|
-
var
|
|
22497
|
-
var
|
|
22498
|
-
var
|
|
22506
|
+
var _hoisted_18 = { class: "mint-picker__summary" };
|
|
22507
|
+
var _hoisted_19 = { key: 2 };
|
|
22508
|
+
var _hoisted_20 = { class: "mint-picker__actions" };
|
|
22499
22509
|
//#endregion
|
|
22500
22510
|
//#region src/components/FilePicker.vue
|
|
22501
22511
|
var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
@@ -22510,6 +22520,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22510
22520
|
initialSelection: { default: null },
|
|
22511
22521
|
title: { default: "Choose data" },
|
|
22512
22522
|
view: { default: "list" },
|
|
22523
|
+
defaultSort: { default: "newest" },
|
|
22513
22524
|
systemFilter: {}
|
|
22514
22525
|
},
|
|
22515
22526
|
emits: [
|
|
@@ -22530,7 +22541,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22530
22541
|
const props = __props;
|
|
22531
22542
|
const emit = __emit;
|
|
22532
22543
|
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"));
|
|
22544
|
+
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
22545
|
const sourceLabel = computed(() => {
|
|
22535
22546
|
const node = previewNode.value;
|
|
22536
22547
|
if (!mountView.value || !node) return sourceNames[source.value];
|
|
@@ -22540,6 +22551,17 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22540
22551
|
}
|
|
22541
22552
|
return mounts.value.find((item) => item.path === props.adapter.mountOf?.(node.path))?.name ?? sourceNames.server;
|
|
22542
22553
|
});
|
|
22554
|
+
const SORT_LABELS = {
|
|
22555
|
+
newest: "Newest first",
|
|
22556
|
+
oldest: "Oldest first",
|
|
22557
|
+
name: "Name A–Z",
|
|
22558
|
+
"name-desc": "Name Z–A"
|
|
22559
|
+
};
|
|
22560
|
+
const sortItems = computed(() => Object.keys(SORT_LABELS).map((id) => ({
|
|
22561
|
+
id,
|
|
22562
|
+
label: SORT_LABELS[id],
|
|
22563
|
+
checked: sort.value === id
|
|
22564
|
+
})));
|
|
22543
22565
|
const accepts = computed(() => (capability.value?.formats ?? []).map((format) => `.${format.replace(/^\./, "")}`).join(" "));
|
|
22544
22566
|
const summary = computed(() => {
|
|
22545
22567
|
if (!roots.value.length) return "No selection";
|
|
@@ -22582,7 +22604,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22582
22604
|
"aria-label": "Search folders and files",
|
|
22583
22605
|
placeholder: "Search this source"
|
|
22584
22606
|
}, {
|
|
22585
|
-
prefix: withCtx(() => [..._cache[
|
|
22607
|
+
prefix: withCtx(() => [..._cache[13] || (_cache[13] = [createElementVNode("svg", {
|
|
22586
22608
|
viewBox: "0 0 24 24",
|
|
22587
22609
|
fill: "none",
|
|
22588
22610
|
stroke: "currentColor",
|
|
@@ -22593,40 +22615,40 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22593
22615
|
cy: "10.5",
|
|
22594
22616
|
r: "7"
|
|
22595
22617
|
}), createElementVNode("path", { d: "m16 16 5 5" })], -1)])]),
|
|
22596
|
-
suffix: withCtx(() => [..._cache[
|
|
22618
|
+
suffix: withCtx(() => [..._cache[14] || (_cache[14] = [createElementVNode("kbd", null, "/", -1)])]),
|
|
22597
22619
|
_: 1
|
|
22598
22620
|
}, 8, ["modelValue"])], 512)) : createCommentVNode("", true)
|
|
22599
22621
|
], 32)]),
|
|
22600
|
-
footer: withCtx(() => [createElementVNode("div",
|
|
22601
|
-
createElementVNode("span",
|
|
22622
|
+
footer: withCtx(() => [createElementVNode("div", _hoisted_16, [createElementVNode("div", _hoisted_17, [
|
|
22623
|
+
createElementVNode("span", _hoisted_18, toDisplayString(summary.value), 1),
|
|
22602
22624
|
unref(roots).length ? (openBlock(), createElementBlock("button", {
|
|
22603
22625
|
key: 0,
|
|
22604
22626
|
type: "button",
|
|
22605
22627
|
class: "mint-picker__link mint-picker__clear",
|
|
22606
|
-
onClick: _cache[
|
|
22628
|
+
onClick: _cache[10] || (_cache[10] = (...args) => unref(clearSelection) && unref(clearSelection)(...args))
|
|
22607
22629
|
}, " Clear ")) : createCommentVNode("", true),
|
|
22608
22630
|
unref(chosen).excluded.length && unref(source) === "server" ? (openBlock(), createElementBlock("button", {
|
|
22609
22631
|
key: 1,
|
|
22610
22632
|
type: "button",
|
|
22611
22633
|
class: "mint-picker__link",
|
|
22612
|
-
onClick: _cache[
|
|
22613
|
-
}, toDisplayString(unref(chosen).excluded.length) + " skipped ", 1)) : unref(chosen).excluded.length ? (openBlock(), createElementBlock("span",
|
|
22634
|
+
onClick: _cache[11] || (_cache[11] = ($event) => reviewing.value = !unref(reviewing))
|
|
22635
|
+
}, 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
22636
|
unref(capability)?.isBlank ? (openBlock(), createBlock(BaseButton_default, {
|
|
22615
22637
|
key: 3,
|
|
22616
22638
|
size: "sm",
|
|
22617
22639
|
variant: "ghost",
|
|
22618
22640
|
"aria-pressed": unref(skipBlanks),
|
|
22619
|
-
onClick: _cache[
|
|
22641
|
+
onClick: _cache[12] || (_cache[12] = ($event) => skipBlanks.value = !unref(skipBlanks))
|
|
22620
22642
|
}, {
|
|
22621
22643
|
default: withCtx(() => [createTextVNode("Skip blanks " + toDisplayString(unref(skipBlanks) ? "on" : "off"), 1)]),
|
|
22622
22644
|
_: 1
|
|
22623
22645
|
}, 8, ["aria-pressed"])) : createCommentVNode("", true)
|
|
22624
|
-
]), createElementVNode("div",
|
|
22646
|
+
]), createElementVNode("div", _hoisted_20, [createVNode(BaseButton_default, {
|
|
22625
22647
|
variant: "ghost",
|
|
22626
22648
|
size: "sm",
|
|
22627
22649
|
onClick: unref(cancel)
|
|
22628
22650
|
}, {
|
|
22629
|
-
default: withCtx(() => [..._cache[
|
|
22651
|
+
default: withCtx(() => [..._cache[18] || (_cache[18] = [createTextVNode("Cancel", -1)])]),
|
|
22630
22652
|
_: 1
|
|
22631
22653
|
}, 8, ["onClick"]), createVNode(BaseButton_default, {
|
|
22632
22654
|
size: "sm",
|
|
@@ -22639,7 +22661,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22639
22661
|
default: withCtx(() => [(openBlock(), createElementBlock("div", {
|
|
22640
22662
|
key: unref(source),
|
|
22641
22663
|
class: "mint-picker mint-picker__source-panel",
|
|
22642
|
-
onKeydown: _cache[
|
|
22664
|
+
onKeydown: _cache[9] || (_cache[9] = (...args) => unref(keyboard) && unref(keyboard)(...args))
|
|
22643
22665
|
}, [unref(source) === "server" ? (openBlock(), createElementBlock("div", _hoisted_3, [
|
|
22644
22666
|
createElementVNode("nav", _hoisted_4, [!unref(mountView) ? (openBlock(), createElementBlock("button", {
|
|
22645
22667
|
key: 0,
|
|
@@ -22648,7 +22670,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22648
22670
|
"aria-current": unref(trail).length ? void 0 : "location",
|
|
22649
22671
|
onClick: _cache[2] || (_cache[2] = ($event) => unref(up)(""))
|
|
22650
22672
|
}, 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[
|
|
22673
|
+
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
22674
|
type: "button",
|
|
22653
22675
|
class: "mint-picker__crumb",
|
|
22654
22676
|
"aria-current": index === unref(trail).length - 1 ? "location" : void 0,
|
|
@@ -22656,43 +22678,66 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22656
22678
|
}, toDisplayString(crumb.label), 9, _hoisted_7)], 64);
|
|
22657
22679
|
}), 128))]),
|
|
22658
22680
|
accepts.value ? (openBlock(), createElementBlock("span", _hoisted_8, "Accepts " + toDisplayString(accepts.value), 1)) : createCommentVNode("", true),
|
|
22681
|
+
createVNode(ActionMenu_default, {
|
|
22682
|
+
label: "Sort",
|
|
22683
|
+
items: sortItems.value,
|
|
22684
|
+
onSelect: _cache[3] || (_cache[3] = ($event) => sort.value = $event.id)
|
|
22685
|
+
}, {
|
|
22686
|
+
trigger: withCtx(({ open: menuOpen, toggle, keydown }) => [createElementVNode("button", {
|
|
22687
|
+
type: "button",
|
|
22688
|
+
class: "mint-picker__sort",
|
|
22689
|
+
"aria-haspopup": "menu",
|
|
22690
|
+
"aria-expanded": menuOpen,
|
|
22691
|
+
"aria-label": `Sort: ${SORT_LABELS[unref(sort)]}`,
|
|
22692
|
+
onClick: toggle,
|
|
22693
|
+
onKeydown: keydown
|
|
22694
|
+
}, [createTextVNode(toDisplayString(SORT_LABELS[unref(sort)]) + " ", 1), _cache[16] || (_cache[16] = createElementVNode("svg", {
|
|
22695
|
+
viewBox: "0 0 16 16",
|
|
22696
|
+
fill: "none",
|
|
22697
|
+
stroke: "currentColor",
|
|
22698
|
+
"stroke-width": "1.5",
|
|
22699
|
+
"aria-hidden": "true"
|
|
22700
|
+
}, [createElementVNode("path", { d: "M4 6l4 4 4-4" })], -1))], 40, _hoisted_9)]),
|
|
22701
|
+
_: 1
|
|
22702
|
+
}, 8, ["items"]),
|
|
22659
22703
|
createElementVNode("button", {
|
|
22660
22704
|
type: "button",
|
|
22661
22705
|
class: "mint-picker__scope",
|
|
22662
22706
|
"aria-pressed": unref(recursive),
|
|
22663
|
-
onClick: _cache[
|
|
22664
|
-
}, toDisplayString(unref(recursive) ? "Subfolders" : "This folder"), 9,
|
|
22707
|
+
onClick: _cache[4] || (_cache[4] = ($event) => recursive.value = !unref(recursive))
|
|
22708
|
+
}, toDisplayString(unref(recursive) ? "Subfolders" : "This folder"), 9, _hoisted_10),
|
|
22665
22709
|
createElementVNode("button", {
|
|
22666
22710
|
type: "button",
|
|
22667
22711
|
class: "mint-picker__scope mint-picker__refresh",
|
|
22668
22712
|
"aria-label": "Refresh location",
|
|
22669
22713
|
title: "Refresh location",
|
|
22670
22714
|
disabled: unref(loading),
|
|
22671
|
-
onClick: _cache[
|
|
22672
|
-
}, [..._cache[
|
|
22715
|
+
onClick: _cache[5] || (_cache[5] = ($event) => unref(refresh)())
|
|
22716
|
+
}, [..._cache[17] || (_cache[17] = [createElementVNode("svg", {
|
|
22673
22717
|
viewBox: "0 0 24 24",
|
|
22674
22718
|
fill: "none",
|
|
22675
22719
|
stroke: "currentColor",
|
|
22676
22720
|
"stroke-width": "1.8",
|
|
22677
22721
|
"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",
|
|
22722
|
+
}, [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)
|
|
22723
|
+
])) : 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
22724
|
size: "lg",
|
|
22681
22725
|
mode: __props.selectionMode === "folder" ? "folder" : __props.selectionMode === "single-file" ? "file" : "file+folder",
|
|
22682
22726
|
multiple: __props.selectionMode !== "single-file",
|
|
22683
22727
|
"show-files": false,
|
|
22684
|
-
onUpload: _cache[
|
|
22728
|
+
onUpload: _cache[6] || (_cache[6] = (...args) => {
|
|
22685
22729
|
uploadError.value = "";
|
|
22686
22730
|
unref(chooseLocal)(...args);
|
|
22687
22731
|
}),
|
|
22688
|
-
onError: _cache[
|
|
22689
|
-
}, null, 8, ["mode", "multiple"]), uploadError.value || unref(error) || unref(resolutionError) ? (openBlock(), createElementBlock("p",
|
|
22732
|
+
onError: _cache[7] || (_cache[7] = ($event) => uploadError.value = $event)
|
|
22733
|
+
}, 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
22734
|
"empty-title": unref(path) ? "No readable files" : "No server locations configured",
|
|
22691
22735
|
view: __props.view,
|
|
22692
22736
|
rows: unref(rows),
|
|
22693
22737
|
loading: unref(loading),
|
|
22694
22738
|
error: unref(error),
|
|
22695
22739
|
query: unref(query),
|
|
22740
|
+
truncated: unref(nav).truncated.value,
|
|
22696
22741
|
mode: __props.selectionMode,
|
|
22697
22742
|
selected: unref(selection).selected,
|
|
22698
22743
|
selectable: unref(selection).selectable,
|
|
@@ -22712,6 +22757,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22712
22757
|
"loading",
|
|
22713
22758
|
"error",
|
|
22714
22759
|
"query",
|
|
22760
|
+
"truncated",
|
|
22715
22761
|
"mode",
|
|
22716
22762
|
"selected",
|
|
22717
22763
|
"selectable",
|
|
@@ -22732,7 +22778,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
22732
22778
|
busy: unref(resolving),
|
|
22733
22779
|
error: unref(resolutionError),
|
|
22734
22780
|
reviewing: unref(reviewing),
|
|
22735
|
-
onReview: _cache[
|
|
22781
|
+
onReview: _cache[8] || (_cache[8] = ($event) => reviewing.value = !unref(reviewing)),
|
|
22736
22782
|
onRetry: unref(selection).resolve
|
|
22737
22783
|
}, null, 8, [
|
|
22738
22784
|
"node",
|
|
@@ -22861,6 +22907,6 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
22861
22907
|
WellPlate: () => WellPlate_default
|
|
22862
22908
|
});
|
|
22863
22909
|
//#endregion
|
|
22864
|
-
export { PlateEditor_default as $, SampleLegend_default as A, AppToastContainer_default as At, StatusIndicator_default as B,
|
|
22910
|
+
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
22911
|
|
|
22866
|
-
//# sourceMappingURL=components-
|
|
22912
|
+
//# sourceMappingURL=components-GDDvof8D.js.map
|