@morscherlab/mint-sdk 1.2.0-beta.15 → 1.2.0-beta.16
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 +30 -0
- package/dist/{ExperimentPopover-BIZKoRTT.js → ExperimentPopover-CJdNlCZb.js} +3 -3
- package/dist/{ExperimentPopover-BIZKoRTT.js.map → ExperimentPopover-CJdNlCZb.js.map} +1 -1
- package/dist/{ExperimentSelectorModal-BeEOomw_.js → ExperimentSelectorModal-CZ1f_K9I.js} +5 -5
- package/dist/{ExperimentSelectorModal-BeEOomw_.js.map → ExperimentSelectorModal-CZ1f_K9I.js.map} +1 -1
- package/dist/{SettingsModal-Dphh3RrI.js → SettingsModal-DQUcpT4T.js} +5 -5
- package/dist/{SettingsModal-Dphh3RrI.js.map → SettingsModal-DQUcpT4T.js.map} +1 -1
- package/dist/{Skeleton-DxtwJ5gt.js → Skeleton-JaDtC8-9.js} +3 -3
- package/dist/{Skeleton-DxtwJ5gt.js.map → Skeleton-JaDtC8-9.js.map} +1 -1
- package/dist/__tests__/apiErrors.test.d.ts +1 -0
- package/dist/__tests__/components/PlotlyChart.test.d.ts +1 -0
- package/dist/apiErrors.d.ts +26 -0
- package/dist/components/BaseInput.vue.d.ts +1 -1
- package/dist/components/BaseSelect.vue.d.ts +1 -1
- package/dist/components/BaseTextarea.vue.d.ts +1 -1
- package/dist/components/BioTemplateExperimentWorkspaceView.vue.d.ts +2 -2
- package/dist/components/BioTemplatePackWorkspaceView.vue.d.ts +2 -2
- package/dist/components/ConcentrationInput.vue.d.ts +1 -1
- package/dist/components/DatePicker.vue.d.ts +1 -1
- package/dist/components/DateTimePicker.vue.d.ts +1 -1
- package/dist/components/FileBrowserModal.vue.d.ts +1 -1
- package/dist/components/FilePicker.vue.d.ts +3 -3
- package/dist/components/FileUploader.vue.d.ts +5 -2
- package/dist/components/FormulaInput.vue.d.ts +1 -1
- package/dist/components/GeneratedPlotlyResult.vue.d.ts +1 -3
- package/dist/components/MobileSupportGate.vue.d.ts +1 -1
- package/dist/components/MoleculeInput.vue.d.ts +1 -1
- package/dist/components/NumberInput.vue.d.ts +1 -1
- package/dist/components/PlotlyChart.vue.d.ts +59 -0
- package/dist/components/ResourceCard.vue.d.ts +1 -1
- package/dist/components/SecretInput.vue.d.ts +1 -1
- package/dist/components/SequenceInput.vue.d.ts +1 -1
- package/dist/components/StatusIndicator.vue.d.ts +1 -1
- package/dist/components/TagsInput.vue.d.ts +1 -1
- package/dist/components/TimePicker.vue.d.ts +1 -1
- package/dist/components/TimeRangeInput.vue.d.ts +1 -1
- package/dist/components/UnitInput.vue.d.ts +1 -1
- package/dist/components/WellPlate.vue.d.ts +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +8 -8
- package/dist/{components-6IIxCSI8.js → components-DT6ggNrt.js} +580 -366
- package/dist/components-DT6ggNrt.js.map +1 -0
- package/dist/composables/filePicker/localFiles.d.ts +1 -1
- package/dist/composables/filePicker/usePickerNavigation.d.ts +4 -3
- package/dist/composables/index.js +9 -9
- package/dist/composables/useApi.d.ts +2 -0
- package/dist/composables/useFilePicker.d.ts +5 -6
- package/dist/{composables-hY2Q2xPI.js → composables-DmF_8iyX.js} +13 -10
- package/dist/{composables-hY2Q2xPI.js.map → composables-DmF_8iyX.js.map} +1 -1
- package/dist/{errors-_W0-LbA6.js → errors-DZDb1cIb.js} +66 -5
- package/dist/errors-DZDb1cIb.js.map +1 -0
- package/dist/{experiment-Cwl9AYxw.js → experiment-CHm_TwJy.js} +2 -2
- package/dist/{experiment-Cwl9AYxw.js.map → experiment-CHm_TwJy.js.map} +1 -1
- package/dist/{experiment-utils-DV3DrvE_.js → experiment-utils-CV2Wza3z.js} +1 -1
- package/dist/{experiment-utils-DV3DrvE_.js.map → experiment-utils-CV2Wza3z.js.map} +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +15 -15
- package/dist/install.js +2 -2
- package/dist/stores/index.js +2 -2
- package/dist/styles.css +29 -18
- package/dist/templates/index.js +2 -2
- package/dist/{templates-Qq113pyZ.js → templates-CXARYr6_.js} +2 -2
- package/dist/{templates-Qq113pyZ.js.map → templates-CXARYr6_.js.map} +1 -1
- package/dist/types/filePicker.d.ts +9 -1
- package/dist/{useControlSchema-aMZlb4Sc.js → useControlSchema-BAzmP1_y.js} +42 -37
- package/dist/useControlSchema-BAzmP1_y.js.map +1 -0
- package/dist/{useDropdownState-DitCtrTT.js → useDropdownState-C7hRiVQf.js} +2 -2
- package/dist/{useDropdownState-DitCtrTT.js.map → useDropdownState-C7hRiVQf.js.map} +1 -1
- package/dist/{useExperimentSelector-I8HC8hUu.js → useExperimentSelector-D_vobhnW.js} +4 -4
- package/dist/{useExperimentSelector-I8HC8hUu.js.map → useExperimentSelector-D_vobhnW.js.map} +1 -1
- package/dist/{useFormBuilder-TCxNnqeb.js → useFormBuilder-DEHejpiL.js} +2 -2
- package/dist/{useFormBuilder-TCxNnqeb.js.map → useFormBuilder-DEHejpiL.js.map} +1 -1
- package/dist/{validation-nBbSn1TI.js → validation-OuEr0iAS.js} +9 -8
- package/dist/{validation-nBbSn1TI.js.map → validation-OuEr0iAS.js.map} +1 -1
- package/package.json +1 -1
- package/src/__tests__/apiErrors.test.ts +81 -0
- package/src/__tests__/components/FilePicker.state.test.ts +128 -1
- package/src/__tests__/components/FilePicker.test.ts +146 -1
- package/src/__tests__/components/GeneratedPlotlyResult.test.ts +52 -5
- package/src/__tests__/components/PlotlyChart.test.ts +305 -0
- package/src/__tests__/components/SegmentedControl.test.ts +19 -0
- package/src/__tests__/composables/useApi.test.ts +82 -9
- package/src/__tests__/composables/useGeneratedAnalysis.test.ts +7 -2
- package/src/__tests__/composables/usePluginClient.test.ts +3 -0
- package/src/apiErrors.ts +85 -0
- package/src/components/FilePicker.story.vue +44 -0
- package/src/components/FilePicker.vue +23 -40
- package/src/components/FileUploader.vue +32 -14
- package/src/components/GeneratedPlotlyResult.vue +34 -69
- package/src/components/GeneratedResultRenderer.vue +0 -5
- package/src/components/PlotlyChart.story.vue +61 -0
- package/src/components/PlotlyChart.vue +233 -0
- package/src/components/SegmentedControl.vue +2 -2
- package/src/components/index.ts +1 -0
- package/src/composables/filePicker/localFiles.ts +6 -3
- package/src/composables/filePicker/usePickerNavigation.ts +29 -8
- package/src/composables/filePicker/usePickerSelection.ts +17 -4
- package/src/composables/filePicker/validation.ts +1 -0
- package/src/composables/useApi.ts +33 -4
- package/src/composables/useFilePicker.ts +41 -22
- package/src/composables/useGeneratedAnalysis.ts +10 -17
- package/src/composables/usePluginClient.ts +3 -0
- package/src/index.ts +3 -0
- package/src/styles/components/file-picker.css +6 -5
- package/src/types/filePicker.ts +9 -2
- package/dist/components-6IIxCSI8.js.map +0 -1
- package/dist/errors-_W0-LbA6.js.map +0 -1
- package/dist/useControlSchema-aMZlb4Sc.js.map +0 -1
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { n as __exportAll, r as __toESM } from "./chunk-BoAXSpZd.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { t as
|
|
8
|
-
import {
|
|
9
|
-
import { i as usePlatformContext, t as useFormBuilder } from "./useFormBuilder-
|
|
2
|
+
import { i as useApi, l as tableDensityToSize, u as tryUseSettingsStore } from "./errors-DZDb1cIb.js";
|
|
3
|
+
import { f as BaseModal_default, h as BaseButton_default, m as useEventListener, p as useFocusTrap } from "./experiment-utils-CV2Wza3z.js";
|
|
4
|
+
import { a as BaseSelect_default, i as BasePill_default, n as useRequestSyncState, o as normalizeOptionInput, r as EmptyState_default, s as BaseInput_default, t as Skeleton_default } from "./Skeleton-JaDtC8-9.js";
|
|
5
|
+
import { A as useConcentrationUnits, Bt as MultiSelect_default, Gt as BaseToggle_default, I as useChemicalFormula, Jt as BaseTextarea_default, K as useGeneratedAnalysis, Kt as BaseCheckbox_default, L as GeneratedPathInput_default, M as SequenceInput_default, O as ConcentrationInput_default, Ot as formatDuration, P as FormulaInput_default, R as ArtifactSelectorModal_default, St as TimePicker_default, Tt as durationMinutes, U as resolveCurrentExperimentId, Ut as BaseSlider_default, V as getInjectedPlatformContext, Vt as useListSelection, Wt as BaseRadioGroup_default, X as jobStatusLabel, Z as normalizeJobPercent, _ as controlsToFormSchema, at as AlertBox_default, ct as SecretInput_default, f as resolveControlModel, g as mergeControlWorkspaceOptions, it as _plugin_vue_export_helper_default, j as MoleculeInput_default, k as UnitInput_default, kt as formatTime, o as defineDoseDesignControlModel, ot as FileUploader_default, qt as Tooltip_default, r as getControlDefaults, rt as isRecord, st as NumberInput_default, tt as DateTimePicker_default, u as useControlWorkspace, wt as compareTime, x as controlsToSidebarPanels, xt as TagsInput_default, y as controlsToSectionFormSchemas, zt as DatePicker_default } from "./useControlSchema-BAzmP1_y.js";
|
|
6
|
+
import { a as pickExistingRecordKeys, c as normalizeItemInput, i as formSchemaFieldNames, l as normalizeLabelItemInput, o as recordValuesEqualForKeys, r as FormFieldRendererInternal_default, s as FormField_default, t as SettingsModal_default } from "./SettingsModal-DQUcpT4T.js";
|
|
7
|
+
import { $ as getInjectedFrontendRevision, C as useExpansionSet, E as getSampleGroupParentPath, H as useListReorder, J as usePluginWorkspace, N as useAutoGroup, P as parseCSV, Q as useAppExperiment, R as DEFAULT_COLORS, S as useExperimentData, T as getSampleGroupMajorPrefix, U as useReorderAnnouncer, W as useDoseCalculator, X as useMobileSupportGate, Y as DEFAULT_MOBILE_VIEWPORT_QUERY, Z as APP_EXPERIMENT_KEY, a as DEFAULT_PRESETS, b as useScheduleDrag, c as useReagentSeries, d as useBioTemplatePresetWorkspace, dt as useRovingFocus, et as useRuntimeAlignment, f as useBioTemplatePackWorkspace, i as useProtocolTemplates, it as useToast, k as readFileAsText, l as useGroupAssignment, lt as useSortedItems, n as pickerFormat, nt as usePresenceHeartbeat, o as DEFAULT_UNITS, q as usePluginJobCenter, r as pickerReason, rt as useTheme, st as useTextSearch, t as pickerExclusion, u as useRackEditor, ut as useMenuKeyboard, w as useSampleGroups, x as useExperimentSamples, z as useWellPlateEditor } from "./validation-OuEr0iAS.js";
|
|
8
|
+
import { t as useDropdownState } from "./useDropdownState-C7hRiVQf.js";
|
|
9
|
+
import { i as usePlatformContext, t as useFormBuilder } from "./useFormBuilder-DEHejpiL.js";
|
|
10
10
|
import { t as ANALYSIS_FILE_ARTIFACT_SCHEMA } from "./analysisArtifactTypes-DQ0MjwHZ.js";
|
|
11
|
-
import { B as toBioTemplateComponentProps, Cn as SLOT_ORDER, F as getBioTemplateComponentProps, H as toBioTemplateComponentPropsById, L as toBioTemplateComponentBindings, R as toBioTemplateComponentBindingsById, Sn as SLOT_COLORS, V as toBioTemplateComponentPropsByComponent, _n as createWellGrid, dn as extractTemplateCollection, gn as createPlateRowLabels, hn as createPlateColumnLabels, mn as WELL_PLATE_SIZE_CONFIGS, pn as PLATE_CONFIGS, vn as getRectangleWellIds, xn as SAMPLE_COLOR_SCALE } from "./templates-
|
|
12
|
-
import { r as ConfirmDialog_default, t as ExperimentPopover_default } from "./ExperimentPopover-
|
|
13
|
-
import { r as ExperimentCodeBadge_default, t as ExperimentSelectorModal_default } from "./ExperimentSelectorModal-
|
|
11
|
+
import { B as toBioTemplateComponentProps, Cn as SLOT_ORDER, F as getBioTemplateComponentProps, H as toBioTemplateComponentPropsById, L as toBioTemplateComponentBindings, R as toBioTemplateComponentBindingsById, Sn as SLOT_COLORS, V as toBioTemplateComponentPropsByComponent, _n as createWellGrid, dn as extractTemplateCollection, gn as createPlateRowLabels, hn as createPlateColumnLabels, mn as WELL_PLATE_SIZE_CONFIGS, pn as PLATE_CONFIGS, vn as getRectangleWellIds, xn as SAMPLE_COLOR_SCALE } from "./templates-CXARYr6_.js";
|
|
12
|
+
import { r as ConfirmDialog_default, t as ExperimentPopover_default } from "./ExperimentPopover-CJdNlCZb.js";
|
|
13
|
+
import { r as ExperimentCodeBadge_default, t as ExperimentSelectorModal_default } from "./ExperimentSelectorModal-CZ1f_K9I.js";
|
|
14
14
|
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, reactive, ref, renderList, renderSlot, resolveComponent, resolveDynamicComponent, shallowRef, toDisplayString, toHandlers, toRaw, toRef, unref, useId, useModel, useSlots, vModelCheckbox, vModelSelect, vModelText, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
|
|
15
15
|
import { computePosition, flip, offset, shift } from "@floating-ui/dom";
|
|
16
16
|
import { Ellipsis, RefreshCw } from "lucide-vue-next";
|
|
17
17
|
//#region src/components/ColorSlider.vue?vue&type=script&setup=true&lang.ts
|
|
18
|
-
var _hoisted_1$
|
|
19
|
-
var _hoisted_2$
|
|
18
|
+
var _hoisted_1$86 = { class: "mint-color-slider__row" };
|
|
19
|
+
var _hoisted_2$76 = { class: "mint-color-slider__track" };
|
|
20
20
|
var _hoisted_3$69 = [
|
|
21
21
|
"value",
|
|
22
22
|
"min",
|
|
@@ -132,7 +132,7 @@ var ColorSlider_default = /* @__PURE__ */ defineComponent({
|
|
|
132
132
|
emit("update:modelValue", Number(target.value));
|
|
133
133
|
}
|
|
134
134
|
return (_ctx, _cache) => {
|
|
135
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-color-slider", { "mint-color-slider--disabled": __props.disabled }]) }, [createElementVNode("div", _hoisted_1$
|
|
135
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-color-slider", { "mint-color-slider--disabled": __props.disabled }]) }, [createElementVNode("div", _hoisted_1$86, [createElementVNode("div", _hoisted_2$76, [createElementVNode("input", {
|
|
136
136
|
type: "range",
|
|
137
137
|
value: currentValue.value,
|
|
138
138
|
min: __props.min,
|
|
@@ -168,7 +168,7 @@ var ColorSlider_default = /* @__PURE__ */ defineComponent({
|
|
|
168
168
|
});
|
|
169
169
|
//#endregion
|
|
170
170
|
//#region src/components/BaseTabs.vue?vue&type=script&setup=true&lang.ts
|
|
171
|
-
var _hoisted_1$
|
|
171
|
+
var _hoisted_1$85 = [
|
|
172
172
|
"id",
|
|
173
173
|
"aria-selected",
|
|
174
174
|
"aria-disabled",
|
|
@@ -176,7 +176,7 @@ var _hoisted_1$84 = [
|
|
|
176
176
|
"tabindex",
|
|
177
177
|
"onClick"
|
|
178
178
|
];
|
|
179
|
-
var _hoisted_2$
|
|
179
|
+
var _hoisted_2$75 = { class: "mint-tab__content" };
|
|
180
180
|
var _hoisted_3$68 = {
|
|
181
181
|
key: 0,
|
|
182
182
|
class: "mint-tab__icon mint-tab__icon--svg",
|
|
@@ -256,7 +256,7 @@ var BaseTabs_default = /* @__PURE__ */ defineComponent({
|
|
|
256
256
|
]),
|
|
257
257
|
onClick: ($event) => selectTab(tab.id),
|
|
258
258
|
onKeydown: _cache[0] || (_cache[0] = (...args) => unref(handleKeydown) && unref(handleKeydown)(...args))
|
|
259
|
-
}, [createElementVNode("span", _hoisted_2$
|
|
259
|
+
}, [createElementVNode("span", _hoisted_2$75, [
|
|
260
260
|
isSvgIcon(tab.icon) ? (openBlock(), createElementBlock("svg", _hoisted_3$68, [Array.isArray(tab.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(tab.icon, (d, index) => {
|
|
261
261
|
return openBlock(), createElementBlock("path", {
|
|
262
262
|
key: index,
|
|
@@ -268,21 +268,21 @@ var BaseTabs_default = /* @__PURE__ */ defineComponent({
|
|
|
268
268
|
}, null, 8, _hoisted_5$60))])) : tab.icon ? (openBlock(), createElementBlock("span", _hoisted_6$56, toDisplayString(tab.icon), 1)) : createCommentVNode("", true),
|
|
269
269
|
createTextVNode(" " + toDisplayString(tab.label) + " ", 1),
|
|
270
270
|
tab.badge !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_7$50, toDisplayString(tab.badge), 1)) : createCommentVNode("", true)
|
|
271
|
-
])], 42, _hoisted_1$
|
|
271
|
+
])], 42, _hoisted_1$85);
|
|
272
272
|
}), 128))], 2);
|
|
273
273
|
};
|
|
274
274
|
}
|
|
275
275
|
});
|
|
276
276
|
//#endregion
|
|
277
277
|
//#region src/components/SegmentedControl.vue?vue&type=script&setup=true&lang.ts
|
|
278
|
-
var _hoisted_1$
|
|
278
|
+
var _hoisted_1$84 = [
|
|
279
279
|
"aria-checked",
|
|
280
280
|
"tabindex",
|
|
281
281
|
"disabled",
|
|
282
282
|
"onClick",
|
|
283
283
|
"onKeydown"
|
|
284
284
|
];
|
|
285
|
-
var _hoisted_2$
|
|
285
|
+
var _hoisted_2$74 = { class: "mint-segmented-control__label" };
|
|
286
286
|
var _hoisted_3$67 = {
|
|
287
287
|
key: 0,
|
|
288
288
|
class: "mint-segmented-control__description"
|
|
@@ -294,7 +294,7 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
|
|
|
294
294
|
props: {
|
|
295
295
|
modelValue: {},
|
|
296
296
|
options: {},
|
|
297
|
-
variant: { default: "
|
|
297
|
+
variant: { default: "card" },
|
|
298
298
|
size: { default: "md" },
|
|
299
299
|
fullWidth: {
|
|
300
300
|
type: Boolean,
|
|
@@ -308,7 +308,7 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
|
|
|
308
308
|
},
|
|
309
309
|
emits: ["update:modelValue"],
|
|
310
310
|
setup(__props, { emit: __emit }) {
|
|
311
|
-
/** Renders a segmented button group for single-option selection,
|
|
311
|
+
/** Renders a segmented button group for single-option selection, defaulting to the card variant. */
|
|
312
312
|
const props = __props;
|
|
313
313
|
const emit = __emit;
|
|
314
314
|
const normalizedOptions = computed(() => props.options.map(normalizeOptionInput));
|
|
@@ -387,15 +387,15 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
|
|
|
387
387
|
]),
|
|
388
388
|
onClick: ($event) => handleSelect(option),
|
|
389
389
|
onKeydown: ($event) => handleKeydown($event, option)
|
|
390
|
-
}, [createElementVNode("span", _hoisted_2$
|
|
390
|
+
}, [createElementVNode("span", _hoisted_2$74, toDisplayString(option.label), 1), option.description && __props.variant === "card" ? (openBlock(), createElementBlock("span", _hoisted_3$67, toDisplayString(option.description), 1)) : createCommentVNode("", true)], 42, _hoisted_1$84);
|
|
391
391
|
}), 128))], 2);
|
|
392
392
|
};
|
|
393
393
|
}
|
|
394
394
|
});
|
|
395
395
|
//#endregion
|
|
396
396
|
//#region src/components/DropdownButton.vue?vue&type=script&setup=true&lang.ts
|
|
397
|
-
var _hoisted_1$
|
|
398
|
-
var _hoisted_2$
|
|
397
|
+
var _hoisted_1$83 = ["disabled", "aria-expanded"];
|
|
398
|
+
var _hoisted_2$73 = {
|
|
399
399
|
key: 0,
|
|
400
400
|
class: "mint-dropdown-button__spinner",
|
|
401
401
|
viewBox: "0 0 24 24",
|
|
@@ -505,7 +505,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
505
505
|
onClick: toggle,
|
|
506
506
|
onKeydown: _cache[0] || (_cache[0] = (...args) => unref(handleTriggerKeydown) && unref(handleTriggerKeydown)(...args))
|
|
507
507
|
}, [
|
|
508
|
-
__props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$
|
|
508
|
+
__props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$73, [..._cache[2] || (_cache[2] = [createElementVNode("circle", {
|
|
509
509
|
cx: "12",
|
|
510
510
|
cy: "12",
|
|
511
511
|
r: "10",
|
|
@@ -528,7 +528,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
528
528
|
"stroke-linecap": "round",
|
|
529
529
|
"stroke-linejoin": "round"
|
|
530
530
|
}, [..._cache[3] || (_cache[3] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))
|
|
531
|
-
], 42, _hoisted_1$
|
|
531
|
+
], 42, _hoisted_1$83), createVNode(Transition, { name: "mint-dropdown-button-menu" }, {
|
|
532
532
|
default: withCtx(() => [unref(isOpen) ? (openBlock(), createElementBlock("ul", {
|
|
533
533
|
key: 0,
|
|
534
534
|
ref_key: "panelRef",
|
|
@@ -564,8 +564,8 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
564
564
|
});
|
|
565
565
|
//#endregion
|
|
566
566
|
//#region src/components/Calendar.vue?vue&type=script&setup=true&lang.ts
|
|
567
|
-
var _hoisted_1$
|
|
568
|
-
var _hoisted_2$
|
|
567
|
+
var _hoisted_1$82 = { class: "mint-calendar" };
|
|
568
|
+
var _hoisted_2$72 = {
|
|
569
569
|
key: 0,
|
|
570
570
|
class: "mint-calendar__header"
|
|
571
571
|
};
|
|
@@ -798,8 +798,8 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
|
|
|
798
798
|
emit("navigate", "next", currentMonth.value, currentYear.value);
|
|
799
799
|
}
|
|
800
800
|
return (_ctx, _cache) => {
|
|
801
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
802
|
-
__props.showNavigation ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
801
|
+
return openBlock(), createElementBlock("div", _hoisted_1$82, [
|
|
802
|
+
__props.showNavigation ? (openBlock(), createElementBlock("div", _hoisted_2$72, [
|
|
803
803
|
createElementVNode("button", {
|
|
804
804
|
type: "button",
|
|
805
805
|
class: "mint-calendar__nav-btn",
|
|
@@ -872,7 +872,7 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
|
|
|
872
872
|
});
|
|
873
873
|
//#endregion
|
|
874
874
|
//#region src/components/LoadingSpinner.vue?vue&type=script&setup=true&lang.ts
|
|
875
|
-
var _hoisted_1$
|
|
875
|
+
var _hoisted_1$81 = { class: "mint-spinner__label" };
|
|
876
876
|
//#endregion
|
|
877
877
|
//#region src/components/LoadingSpinner.vue
|
|
878
878
|
var LoadingSpinner_default = /* @__PURE__ */ defineComponent({
|
|
@@ -907,14 +907,14 @@ var LoadingSpinner_default = /* @__PURE__ */ defineComponent({
|
|
|
907
907
|
style: { "opacity": "0.75" },
|
|
908
908
|
fill: "currentColor",
|
|
909
909
|
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
910
|
-
})], -1)), createElementVNode("span", _hoisted_1$
|
|
910
|
+
})], -1)), createElementVNode("span", _hoisted_1$81, toDisplayString(__props.label), 1)], 2);
|
|
911
911
|
};
|
|
912
912
|
}
|
|
913
913
|
});
|
|
914
914
|
//#endregion
|
|
915
915
|
//#region src/components/internal/DataStateInternal.vue?vue&type=script&setup=true&lang.ts
|
|
916
|
-
var _hoisted_1$
|
|
917
|
-
var _hoisted_2$
|
|
916
|
+
var _hoisted_1$80 = ["data-state"];
|
|
917
|
+
var _hoisted_2$71 = {
|
|
918
918
|
class: "mint-data-state__loading-text",
|
|
919
919
|
"aria-hidden": "true"
|
|
920
920
|
};
|
|
@@ -957,7 +957,7 @@ var DataStateInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
957
957
|
}, [__props.state === "loading" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createVNode(LoadingSpinner_default, {
|
|
958
958
|
size: spinnerSize.value,
|
|
959
959
|
label: __props.loadingLabel
|
|
960
|
-
}, null, 8, ["size", "label"]), createElementVNode("p", _hoisted_2$
|
|
960
|
+
}, null, 8, ["size", "label"]), createElementVNode("p", _hoisted_2$71, toDisplayString(__props.loadingLabel), 1)], 64)) : (openBlock(), createBlock(EmptyState_default, {
|
|
961
961
|
key: 1,
|
|
962
962
|
title: __props.title,
|
|
963
963
|
description: __props.description,
|
|
@@ -978,17 +978,17 @@ var DataStateInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
978
978
|
"size",
|
|
979
979
|
"variant",
|
|
980
980
|
"action-label"
|
|
981
|
-
]))], 10, _hoisted_1$
|
|
981
|
+
]))], 10, _hoisted_1$80);
|
|
982
982
|
};
|
|
983
983
|
}
|
|
984
984
|
});
|
|
985
985
|
//#endregion
|
|
986
986
|
//#region src/components/DataFrame.vue?vue&type=script&setup=true&lang.ts
|
|
987
|
-
var _hoisted_1$
|
|
987
|
+
var _hoisted_1$79 = {
|
|
988
988
|
key: 0,
|
|
989
989
|
class: "mint-dataframe__header"
|
|
990
990
|
};
|
|
991
|
-
var _hoisted_2$
|
|
991
|
+
var _hoisted_2$70 = { class: "mint-dataframe__search-wrapper" };
|
|
992
992
|
var _hoisted_3$64 = ["placeholder"];
|
|
993
993
|
var _hoisted_4$60 = { class: "mint-dataframe__table" };
|
|
994
994
|
var _hoisted_5$57 = {
|
|
@@ -1026,11 +1026,11 @@ var _hoisted_15$28 = {
|
|
|
1026
1026
|
key: 0,
|
|
1027
1027
|
class: "mint-dataframe__state"
|
|
1028
1028
|
};
|
|
1029
|
-
var _hoisted_16$
|
|
1029
|
+
var _hoisted_16$25 = {
|
|
1030
1030
|
key: 1,
|
|
1031
1031
|
class: "mint-dataframe__state"
|
|
1032
1032
|
};
|
|
1033
|
-
var _hoisted_17$
|
|
1033
|
+
var _hoisted_17$23 = {
|
|
1034
1034
|
key: 2,
|
|
1035
1035
|
class: "mint-dataframe__loading"
|
|
1036
1036
|
};
|
|
@@ -1325,7 +1325,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1325
1325
|
});
|
|
1326
1326
|
return (_ctx, _cache) => {
|
|
1327
1327
|
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-dataframe", { "mint-dataframe--bordered": __props.bordered }]) }, [
|
|
1328
|
-
__props.searchable ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
1328
|
+
__props.searchable ? (openBlock(), createElementBlock("div", _hoisted_1$79, [createElementVNode("div", _hoisted_2$70, [_cache[5] || (_cache[5] = createElementVNode("svg", {
|
|
1329
1329
|
class: "mint-dataframe__search-icon",
|
|
1330
1330
|
viewBox: "0 0 24 24",
|
|
1331
1331
|
fill: "none",
|
|
@@ -1478,12 +1478,12 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1478
1478
|
__props.error ? (openBlock(), createElementBlock("div", _hoisted_15$28, [renderSlot(_ctx.$slots, "error", { error: __props.error }, () => [createVNode(DataStateInternal_default, {
|
|
1479
1479
|
state: "error",
|
|
1480
1480
|
title: __props.error
|
|
1481
|
-
}, null, 8, ["title"])])])) : paginatedData.value.length === 0 && !__props.loading ? (openBlock(), createElementBlock("div", _hoisted_16$
|
|
1481
|
+
}, null, 8, ["title"])])])) : paginatedData.value.length === 0 && !__props.loading ? (openBlock(), createElementBlock("div", _hoisted_16$25, [renderSlot(_ctx.$slots, "empty", {}, () => [createVNode(DataStateInternal_default, {
|
|
1482
1482
|
state: "empty",
|
|
1483
1483
|
title: __props.emptyText,
|
|
1484
1484
|
"icon-path": EMPTY_ICON_PATH$2
|
|
1485
1485
|
}, null, 8, ["title"])])])) : createCommentVNode("", true),
|
|
1486
|
-
__props.loading ? (openBlock(), createElementBlock("div", _hoisted_17$
|
|
1486
|
+
__props.loading ? (openBlock(), createElementBlock("div", _hoisted_17$23, [renderSlot(_ctx.$slots, "loading", {}, () => [createVNode(LoadingSpinner_default, { size: "lg" })])])) : createCommentVNode("", true)
|
|
1487
1487
|
], 4),
|
|
1488
1488
|
__props.pagination ? (openBlock(), createElementBlock("div", _hoisted_18$20, [renderSlot(_ctx.$slots, "footer", {}, () => [createElementVNode("span", _hoisted_19$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_20$16, [
|
|
1489
1489
|
createElementVNode("button", {
|
|
@@ -1520,8 +1520,8 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1520
1520
|
});
|
|
1521
1521
|
//#endregion
|
|
1522
1522
|
//#region src/components/AppToastContainer.vue?vue&type=script&setup=true&lang.ts
|
|
1523
|
-
var _hoisted_1$
|
|
1524
|
-
var _hoisted_2$
|
|
1523
|
+
var _hoisted_1$78 = { class: "mint-toast__container" };
|
|
1524
|
+
var _hoisted_2$69 = ["onClick"];
|
|
1525
1525
|
var _hoisted_3$63 = { class: "mint-toast__message" };
|
|
1526
1526
|
//#endregion
|
|
1527
1527
|
//#region src/components/AppToastContainer.vue
|
|
@@ -1537,7 +1537,7 @@ var AppToastContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
1537
1537
|
info: "var(--mint-info)"
|
|
1538
1538
|
};
|
|
1539
1539
|
return (_ctx, _cache) => {
|
|
1540
|
-
return openBlock(), createBlock(Teleport, { to: "body" }, [createElementVNode("div", _hoisted_1$
|
|
1540
|
+
return openBlock(), createBlock(Teleport, { to: "body" }, [createElementVNode("div", _hoisted_1$78, [createVNode(TransitionGroup, { name: "toast" }, {
|
|
1541
1541
|
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(toasts), (toast) => {
|
|
1542
1542
|
return openBlock(), createElementBlock("div", {
|
|
1543
1543
|
key: toast.id,
|
|
@@ -1619,7 +1619,7 @@ var AppToastContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
1619
1619
|
animationDuration: `${toast.duration ?? 3500}ms`
|
|
1620
1620
|
})
|
|
1621
1621
|
}, null, 4)
|
|
1622
|
-
], 14, _hoisted_2$
|
|
1622
|
+
], 14, _hoisted_2$69);
|
|
1623
1623
|
}), 128))]),
|
|
1624
1624
|
_: 1
|
|
1625
1625
|
})])]);
|
|
@@ -1628,7 +1628,7 @@ var AppToastContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
1628
1628
|
});
|
|
1629
1629
|
//#endregion
|
|
1630
1630
|
//#region src/components/RuntimeUpdateNotice.vue?vue&type=script&setup=true&lang.ts
|
|
1631
|
-
var _hoisted_1$
|
|
1631
|
+
var _hoisted_1$77 = {
|
|
1632
1632
|
key: 0,
|
|
1633
1633
|
class: "mint-runtime-update",
|
|
1634
1634
|
role: "status"
|
|
@@ -1642,7 +1642,7 @@ var RuntimeUpdateNotice_default = /* @__PURE__ */ _plugin_vue_export_helper_defa
|
|
|
1642
1642
|
setup(__props, { emit: __emit }) {
|
|
1643
1643
|
const emit = __emit;
|
|
1644
1644
|
return (_ctx, _cache) => {
|
|
1645
|
-
return __props.visible ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
1645
|
+
return __props.visible ? (openBlock(), createElementBlock("div", _hoisted_1$77, [
|
|
1646
1646
|
createVNode(unref(RefreshCw), {
|
|
1647
1647
|
size: 16,
|
|
1648
1648
|
"aria-hidden": "true"
|
|
@@ -1658,7 +1658,7 @@ var RuntimeUpdateNotice_default = /* @__PURE__ */ _plugin_vue_export_helper_defa
|
|
|
1658
1658
|
}), [["__scopeId", "data-v-9ca77e18"]]);
|
|
1659
1659
|
//#endregion
|
|
1660
1660
|
//#region src/components/IconButton.vue?vue&type=script&setup=true&lang.ts
|
|
1661
|
-
var _hoisted_1$
|
|
1661
|
+
var _hoisted_1$76 = [
|
|
1662
1662
|
"disabled",
|
|
1663
1663
|
"aria-label",
|
|
1664
1664
|
"title"
|
|
@@ -1720,19 +1720,19 @@ var IconButton_default = /* @__PURE__ */ defineComponent({
|
|
|
1720
1720
|
}, null, -1)])], 2)) : (openBlock(), createElementBlock("span", {
|
|
1721
1721
|
key: 1,
|
|
1722
1722
|
class: normalizeClass(`mint-icon-button__icon--${__props.size}`)
|
|
1723
|
-
}, [renderSlot(_ctx.$slots, "default")], 2))], 10, _hoisted_1$
|
|
1723
|
+
}, [renderSlot(_ctx.$slots, "default")], 2))], 10, _hoisted_1$76);
|
|
1724
1724
|
};
|
|
1725
1725
|
}
|
|
1726
1726
|
});
|
|
1727
1727
|
//#endregion
|
|
1728
1728
|
//#region src/components/ActionMenu.vue?vue&type=script&setup=true&lang.ts
|
|
1729
|
-
var _hoisted_1$
|
|
1729
|
+
var _hoisted_1$75 = [
|
|
1730
1730
|
"href",
|
|
1731
1731
|
"target",
|
|
1732
1732
|
"rel",
|
|
1733
1733
|
"onClick"
|
|
1734
1734
|
];
|
|
1735
|
-
var _hoisted_2$
|
|
1735
|
+
var _hoisted_2$68 = ["disabled", "onClick"];
|
|
1736
1736
|
//#endregion
|
|
1737
1737
|
//#region src/components/ActionMenu.vue
|
|
1738
1738
|
var ActionMenu_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1862,21 +1862,21 @@ var ActionMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
1862
1862
|
class: normalizeClass(["mint-action-menu__item", { "mint-action-menu__item--danger": item.danger }]),
|
|
1863
1863
|
role: "menuitem",
|
|
1864
1864
|
onClick: ($event) => handleSelect(item)
|
|
1865
|
-
}, toDisplayString(item.label), 11, _hoisted_1$
|
|
1865
|
+
}, toDisplayString(item.label), 11, _hoisted_1$75)) : (openBlock(), createElementBlock("button", {
|
|
1866
1866
|
key: 1,
|
|
1867
1867
|
type: "button",
|
|
1868
1868
|
class: normalizeClass(["mint-action-menu__item", { "mint-action-menu__item--danger": item.danger }]),
|
|
1869
1869
|
role: "menuitem",
|
|
1870
1870
|
disabled: item.disabled,
|
|
1871
1871
|
onClick: ($event) => handleSelect(item)
|
|
1872
|
-
}, toDisplayString(item.label), 11, _hoisted_2$
|
|
1872
|
+
}, toDisplayString(item.label), 11, _hoisted_2$68))], 64);
|
|
1873
1873
|
}), 128))], 36)) : createCommentVNode("", true)]))], 64);
|
|
1874
1874
|
};
|
|
1875
1875
|
}
|
|
1876
1876
|
});
|
|
1877
1877
|
//#endregion
|
|
1878
1878
|
//#region src/components/ThemeToggle.vue?vue&type=script&setup=true&lang.ts
|
|
1879
|
-
var _hoisted_1$
|
|
1879
|
+
var _hoisted_1$74 = {
|
|
1880
1880
|
key: 0,
|
|
1881
1881
|
class: "mint-theme-toggle__icon",
|
|
1882
1882
|
viewBox: "0 0 24 24",
|
|
@@ -1886,7 +1886,7 @@ var _hoisted_1$73 = {
|
|
|
1886
1886
|
"stroke-linecap": "round",
|
|
1887
1887
|
"stroke-linejoin": "round"
|
|
1888
1888
|
};
|
|
1889
|
-
var _hoisted_2$
|
|
1889
|
+
var _hoisted_2$67 = {
|
|
1890
1890
|
key: 1,
|
|
1891
1891
|
class: "mint-theme-toggle__icon",
|
|
1892
1892
|
viewBox: "0 0 24 24",
|
|
@@ -1912,7 +1912,7 @@ var ThemeToggle_default = /* @__PURE__ */ defineComponent({
|
|
|
1912
1912
|
label: unref(isDark) ? "Switch to light mode" : "Switch to dark mode",
|
|
1913
1913
|
onClick: unref(toggleTheme)
|
|
1914
1914
|
}, {
|
|
1915
|
-
default: withCtx(() => [unref(isDark) ? (openBlock(), createElementBlock("svg", _hoisted_1$
|
|
1915
|
+
default: withCtx(() => [unref(isDark) ? (openBlock(), createElementBlock("svg", _hoisted_1$74, [..._cache[0] || (_cache[0] = [
|
|
1916
1916
|
createElementVNode("circle", {
|
|
1917
1917
|
cx: "12",
|
|
1918
1918
|
cy: "12",
|
|
@@ -1926,7 +1926,7 @@ var ThemeToggle_default = /* @__PURE__ */ defineComponent({
|
|
|
1926
1926
|
createElementVNode("path", { d: "M20 12h2" }, null, -1),
|
|
1927
1927
|
createElementVNode("path", { d: "m6.34 17.66-1.41 1.41" }, null, -1),
|
|
1928
1928
|
createElementVNode("path", { d: "m19.07 4.93-1.41 1.41" }, null, -1)
|
|
1929
|
-
])])) : (openBlock(), createElementBlock("svg", _hoisted_2$
|
|
1929
|
+
])])) : (openBlock(), createElementBlock("svg", _hoisted_2$67, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" }, null, -1)])]))]),
|
|
1930
1930
|
_: 1
|
|
1931
1931
|
}, 8, [
|
|
1932
1932
|
"size",
|
|
@@ -1938,8 +1938,8 @@ var ThemeToggle_default = /* @__PURE__ */ defineComponent({
|
|
|
1938
1938
|
});
|
|
1939
1939
|
//#endregion
|
|
1940
1940
|
//#region src/components/CollapsibleCard.vue?vue&type=script&setup=true&lang.ts
|
|
1941
|
-
var _hoisted_1$
|
|
1942
|
-
var _hoisted_2$
|
|
1941
|
+
var _hoisted_1$73 = { class: "mint-collapsible-card__header-shell" };
|
|
1942
|
+
var _hoisted_2$66 = ["disabled", "aria-expanded"];
|
|
1943
1943
|
var _hoisted_3$62 = { class: "mint-collapsible-card__title-section" };
|
|
1944
1944
|
var _hoisted_4$59 = ["d"];
|
|
1945
1945
|
var _hoisted_5$56 = ["d"];
|
|
@@ -1974,12 +1974,12 @@ var _hoisted_14$27 = {
|
|
|
1974
1974
|
class: "mint-collapsible-card__action-text-icon"
|
|
1975
1975
|
};
|
|
1976
1976
|
var _hoisted_15$27 = ["aria-checked", "onKeydown"];
|
|
1977
|
-
var _hoisted_16$
|
|
1977
|
+
var _hoisted_16$24 = [
|
|
1978
1978
|
"disabled",
|
|
1979
1979
|
"aria-label",
|
|
1980
1980
|
"aria-expanded"
|
|
1981
1981
|
];
|
|
1982
|
-
var _hoisted_17$
|
|
1982
|
+
var _hoisted_17$22 = { class: "mint-collapsible-card__body" };
|
|
1983
1983
|
var _hoisted_18$19 = { class: "mint-collapsible-card__content" };
|
|
1984
1984
|
//#endregion
|
|
1985
1985
|
//#region src/components/CollapsibleCard.vue
|
|
@@ -2060,7 +2060,7 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
2060
2060
|
emit("action", action.id);
|
|
2061
2061
|
}
|
|
2062
2062
|
return (_ctx, _cache) => {
|
|
2063
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-collapsible-card", __props.dense ? "mint-collapsible-card--dense" : ""]) }, [createElementVNode("div", _hoisted_1$
|
|
2063
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-collapsible-card", __props.dense ? "mint-collapsible-card--dense" : ""]) }, [createElementVNode("div", _hoisted_1$73, [createElementVNode("button", {
|
|
2064
2064
|
type: "button",
|
|
2065
2065
|
class: normalizeClass(headerClasses.value),
|
|
2066
2066
|
disabled: __props.disabled,
|
|
@@ -2092,7 +2092,7 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
2092
2092
|
key: 1,
|
|
2093
2093
|
class: "mint-collapsible-card__icon-text",
|
|
2094
2094
|
style: normalizeStyle(iconColorStyle.value)
|
|
2095
|
-
}, toDisplayString(__props.icon), 5))], 4)) : createCommentVNode("", true), createElementVNode("div", _hoisted_6$52, [createElementVNode("h3", _hoisted_7$46, toDisplayString(__props.title), 1), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_8$41, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)])])], 10, _hoisted_2$
|
|
2095
|
+
}, toDisplayString(__props.icon), 5))], 4)) : createCommentVNode("", true), createElementVNode("div", _hoisted_6$52, [createElementVNode("h3", _hoisted_7$46, toDisplayString(__props.title), 1), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_8$41, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)])])], 10, _hoisted_2$66), createElementVNode("div", _hoisted_9$39, [
|
|
2096
2096
|
__props.badge !== void 0 ? (openBlock(), createElementBlock("span", {
|
|
2097
2097
|
key: 0,
|
|
2098
2098
|
class: normalizeClass(badgeClasses.value)
|
|
@@ -2145,9 +2145,9 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
2145
2145
|
"stroke-linejoin": "round",
|
|
2146
2146
|
viewBox: "0 0 24 24",
|
|
2147
2147
|
"aria-hidden": "true"
|
|
2148
|
-
}, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))], 8, _hoisted_16$
|
|
2148
|
+
}, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))], 8, _hoisted_16$24)
|
|
2149
2149
|
])]), createVNode(Transition, { name: "collapse" }, {
|
|
2150
|
-
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_17$
|
|
2150
|
+
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_17$22, [createElementVNode("div", _hoisted_18$19, [renderSlot(_ctx.$slots, "default")])], 512), [[vShow, isOpen.value]])]),
|
|
2151
2151
|
_: 3
|
|
2152
2152
|
})], 2);
|
|
2153
2153
|
};
|
|
@@ -2285,12 +2285,12 @@ function isFiniteNumber(value, min, max) {
|
|
|
2285
2285
|
}
|
|
2286
2286
|
//#endregion
|
|
2287
2287
|
//#region src/components/internal/ActionItemInternal.vue?vue&type=script&setup=true&lang.ts
|
|
2288
|
-
var _hoisted_1$
|
|
2288
|
+
var _hoisted_1$72 = [
|
|
2289
2289
|
"href",
|
|
2290
2290
|
"aria-disabled",
|
|
2291
2291
|
"tabindex"
|
|
2292
2292
|
];
|
|
2293
|
-
var _hoisted_2$
|
|
2293
|
+
var _hoisted_2$65 = [
|
|
2294
2294
|
"href",
|
|
2295
2295
|
"aria-disabled",
|
|
2296
2296
|
"tabindex",
|
|
@@ -2342,7 +2342,7 @@ var ActionItemInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2342
2342
|
"aria-disabled": __props.disabled || void 0,
|
|
2343
2343
|
tabindex: __props.disabled ? -1 : void 0,
|
|
2344
2344
|
onClick: handleClick
|
|
2345
|
-
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$
|
|
2345
|
+
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$72)) : __props.to ? (openBlock(), createBlock(_component_router_link, {
|
|
2346
2346
|
key: 1,
|
|
2347
2347
|
to: __props.to,
|
|
2348
2348
|
custom: ""
|
|
@@ -2352,7 +2352,7 @@ var ActionItemInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2352
2352
|
"aria-disabled": __props.disabled || void 0,
|
|
2353
2353
|
tabindex: __props.disabled ? -1 : void 0,
|
|
2354
2354
|
onClick: ($event) => handleRouterClick($event, navigate)
|
|
2355
|
-
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$
|
|
2355
|
+
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$65)]),
|
|
2356
2356
|
_: 3
|
|
2357
2357
|
}, 8, ["to"])) : (openBlock(), createElementBlock("button", mergeProps({ key: 2 }, _ctx.$attrs, {
|
|
2358
2358
|
type: __props.type,
|
|
@@ -2364,8 +2364,8 @@ var ActionItemInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2364
2364
|
});
|
|
2365
2365
|
//#endregion
|
|
2366
2366
|
//#region src/components/PluginIcon.vue?vue&type=script&setup=true&lang.ts
|
|
2367
|
-
var _hoisted_1$
|
|
2368
|
-
var _hoisted_2$
|
|
2367
|
+
var _hoisted_1$71 = ["viewBox"];
|
|
2368
|
+
var _hoisted_2$64 = { key: 0 };
|
|
2369
2369
|
var _hoisted_3$60 = [
|
|
2370
2370
|
"id",
|
|
2371
2371
|
"x1",
|
|
@@ -2479,7 +2479,7 @@ var PluginIcon_default = /* @__PURE__ */ defineComponent({
|
|
|
2479
2479
|
viewBox: structuredIcon.value.viewBox,
|
|
2480
2480
|
"aria-hidden": "true"
|
|
2481
2481
|
}, [
|
|
2482
|
-
structuredIcon.value.gradient ? (openBlock(), createElementBlock("defs", _hoisted_2$
|
|
2482
|
+
structuredIcon.value.gradient ? (openBlock(), createElementBlock("defs", _hoisted_2$64, [createElementVNode("linearGradient", {
|
|
2483
2483
|
id: gradientId.value,
|
|
2484
2484
|
x1: gradientCoords.value.x1,
|
|
2485
2485
|
y1: gradientCoords.value.y1,
|
|
@@ -2514,7 +2514,7 @@ var PluginIcon_default = /* @__PURE__ */ defineComponent({
|
|
|
2514
2514
|
"stroke-linejoin": "round"
|
|
2515
2515
|
}, null, 8, _hoisted_6$51);
|
|
2516
2516
|
}), 128))
|
|
2517
|
-
], 8, _hoisted_1$
|
|
2517
|
+
], 8, _hoisted_1$71)) : detected.value.format === "path" || detected.value.format === "fallback" ? (openBlock(), createElementBlock("svg", _hoisted_7$45, [createElementVNode("path", { d: iconValue.value }, null, 8, _hoisted_8$40)])) : (openBlock(), createElementBlock("img", {
|
|
2518
2518
|
key: 2,
|
|
2519
2519
|
class: "mint-plugin-icon__img",
|
|
2520
2520
|
src: iconValue.value,
|
|
@@ -2527,8 +2527,8 @@ var PluginIcon_default = /* @__PURE__ */ defineComponent({
|
|
|
2527
2527
|
});
|
|
2528
2528
|
//#endregion
|
|
2529
2529
|
//#region src/components/internal/AppTopBarPageSelectorInternal.vue?vue&type=script&setup=true&lang.ts
|
|
2530
|
-
var _hoisted_1$
|
|
2531
|
-
var _hoisted_2$
|
|
2530
|
+
var _hoisted_1$70 = ["aria-expanded"];
|
|
2531
|
+
var _hoisted_2$63 = {
|
|
2532
2532
|
key: 1,
|
|
2533
2533
|
class: "mint-page-selector__icon-fallback"
|
|
2534
2534
|
};
|
|
@@ -2598,7 +2598,7 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2598
2598
|
icon: current.value.icon,
|
|
2599
2599
|
size: "sm",
|
|
2600
2600
|
variant: "solid"
|
|
2601
|
-
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_2$
|
|
2601
|
+
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_2$63, toDisplayString(current.value.label.charAt(0)), 1))])], 2)) : createCommentVNode("", true),
|
|
2602
2602
|
createElementVNode("span", _hoisted_3$59, toDisplayString(current.value?.label ?? __props.placeholder), 1),
|
|
2603
2603
|
createElementVNode("span", _hoisted_4$57, [(openBlock(), createElementBlock("svg", {
|
|
2604
2604
|
class: normalizeClass(["mint-page-selector__chevron", { "mint-page-selector__chevron--open": unref(isOpen) }]),
|
|
@@ -2609,7 +2609,7 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2609
2609
|
"stroke-linecap": "round",
|
|
2610
2610
|
"stroke-linejoin": "round"
|
|
2611
2611
|
}, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])
|
|
2612
|
-
], 10, _hoisted_1$
|
|
2612
|
+
], 10, _hoisted_1$70), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$54, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-page-selector__menu-title" }, "Go to", -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedPages.value, (page) => {
|
|
2613
2613
|
return openBlock(), createBlock(ActionItemInternal_default, {
|
|
2614
2614
|
key: page.id,
|
|
2615
2615
|
href: page.href,
|
|
@@ -2644,11 +2644,11 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2644
2644
|
});
|
|
2645
2645
|
//#endregion
|
|
2646
2646
|
//#region src/components/internal/AppTopBarPillNavInternal.vue?vue&type=script&setup=true&lang.ts
|
|
2647
|
-
var _hoisted_1$
|
|
2647
|
+
var _hoisted_1$69 = {
|
|
2648
2648
|
class: "mint-pill-nav",
|
|
2649
2649
|
"aria-label": "Primary"
|
|
2650
2650
|
};
|
|
2651
|
-
var _hoisted_2$
|
|
2651
|
+
var _hoisted_2$62 = [
|
|
2652
2652
|
"disabled",
|
|
2653
2653
|
"aria-expanded",
|
|
2654
2654
|
"onClick"
|
|
@@ -2744,7 +2744,7 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2744
2744
|
}
|
|
2745
2745
|
useEventListener(() => document, "click", handleClickOutside);
|
|
2746
2746
|
return (_ctx, _cache) => {
|
|
2747
|
-
return openBlock(), createElementBlock("nav", _hoisted_1$
|
|
2747
|
+
return openBlock(), createElementBlock("nav", _hoisted_1$69, [(openBlock(true), createElementBlock(Fragment, null, renderList(normalizedItems.value, (item) => {
|
|
2748
2748
|
return openBlock(), createElementBlock("div", {
|
|
2749
2749
|
key: item.id,
|
|
2750
2750
|
ref_for: true,
|
|
@@ -2783,7 +2783,7 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2783
2783
|
"stroke-linejoin": "round",
|
|
2784
2784
|
"aria-hidden": "true"
|
|
2785
2785
|
}, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))
|
|
2786
|
-
], 10, _hoisted_2$
|
|
2786
|
+
], 10, _hoisted_2$62)) : (openBlock(), createBlock(ActionItemInternal_default, {
|
|
2787
2787
|
key: 1,
|
|
2788
2788
|
href: item.href,
|
|
2789
2789
|
to: item.to,
|
|
@@ -2841,8 +2841,8 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2841
2841
|
});
|
|
2842
2842
|
//#endregion
|
|
2843
2843
|
//#region src/components/AppAvatarMenu.vue?vue&type=script&setup=true&lang.ts
|
|
2844
|
-
var _hoisted_1$
|
|
2845
|
-
var _hoisted_2$
|
|
2844
|
+
var _hoisted_1$68 = ["aria-expanded", "title"];
|
|
2845
|
+
var _hoisted_2$61 = { class: "mint-avatar-menu__avatar" };
|
|
2846
2846
|
var _hoisted_3$57 = {
|
|
2847
2847
|
key: 0,
|
|
2848
2848
|
class: "mint-avatar-menu__name"
|
|
@@ -2953,7 +2953,7 @@ var AppAvatarMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
2953
2953
|
title: __props.userName ? `${__props.userName} · Account menu` : "Account menu",
|
|
2954
2954
|
onClick: _cache[0] || (_cache[0] = withModifiers((...args) => unref(toggle) && unref(toggle)(...args), ["stop"])),
|
|
2955
2955
|
onKeydown: _cache[1] || (_cache[1] = (...args) => unref(handleTriggerKeydown) && unref(handleTriggerKeydown)(...args))
|
|
2956
|
-
}, [createElementVNode("span", _hoisted_2$
|
|
2956
|
+
}, [createElementVNode("span", _hoisted_2$61, [renderSlot(_ctx.$slots, "avatar", { initials: initials.value }, () => [createTextVNode(toDisplayString(initials.value), 1)])]), __props.userName ? (openBlock(), createElementBlock("span", _hoisted_3$57, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)], 42, _hoisted_1$68), unref(isOpen) ? (openBlock(), createElementBlock("div", {
|
|
2957
2957
|
key: 0,
|
|
2958
2958
|
ref_key: "panelRef",
|
|
2959
2959
|
ref: panelRef,
|
|
@@ -2999,8 +2999,8 @@ var AppAvatarMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
2999
2999
|
});
|
|
3000
3000
|
//#endregion
|
|
3001
3001
|
//#region src/components/AppPluginSwitcher.vue?vue&type=script&setup=true&lang.ts
|
|
3002
|
-
var _hoisted_1$
|
|
3003
|
-
var _hoisted_2$
|
|
3002
|
+
var _hoisted_1$67 = ["aria-expanded"];
|
|
3003
|
+
var _hoisted_2$60 = { class: "mint-plugin-switcher__label" };
|
|
3004
3004
|
var _hoisted_3$56 = {
|
|
3005
3005
|
key: 0,
|
|
3006
3006
|
class: "mint-plugin-switcher__version"
|
|
@@ -3081,7 +3081,7 @@ var AppPluginSwitcher_default = /* @__PURE__ */ defineComponent({
|
|
|
3081
3081
|
"aria-haspopup": "menu",
|
|
3082
3082
|
onClick: _cache[0] || (_cache[0] = withModifiers((...args) => unref(toggle) && unref(toggle)(...args), ["stop"]))
|
|
3083
3083
|
}, [
|
|
3084
|
-
createElementVNode("span", _hoisted_2$
|
|
3084
|
+
createElementVNode("span", _hoisted_2$60, toDisplayString(__props.current.label), 1),
|
|
3085
3085
|
__props.current.version ? (openBlock(), createElementBlock("span", _hoisted_3$56, "v" + toDisplayString(__props.current.version), 1)) : createCommentVNode("", true),
|
|
3086
3086
|
createElementVNode("span", _hoisted_4$54, [(openBlock(), createElementBlock("svg", {
|
|
3087
3087
|
class: normalizeClass(["mint-plugin-switcher__chevron", { "mint-plugin-switcher__chevron--open": unref(isOpen) }]),
|
|
@@ -3092,7 +3092,7 @@ var AppPluginSwitcher_default = /* @__PURE__ */ defineComponent({
|
|
|
3092
3092
|
"stroke-linecap": "round",
|
|
3093
3093
|
"stroke-linejoin": "round"
|
|
3094
3094
|
}, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])
|
|
3095
|
-
], 10, _hoisted_1$
|
|
3095
|
+
], 10, _hoisted_1$67), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$51, [
|
|
3096
3096
|
_cache[4] || (_cache[4] = createElementVNode("div", { class: "mint-plugin-switcher__menu-title" }, "Switch plugin", -1)),
|
|
3097
3097
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.plugins, (plugin) => {
|
|
3098
3098
|
return openBlock(), createBlock(ActionItemInternal_default, {
|
|
@@ -3189,8 +3189,8 @@ function currentItemIdFromLocation(pages, pathname, routePrefix) {
|
|
|
3189
3189
|
}
|
|
3190
3190
|
//#endregion
|
|
3191
3191
|
//#region src/components/AppTopBar.vue?vue&type=script&setup=true&lang.ts
|
|
3192
|
-
var _hoisted_1$
|
|
3193
|
-
var _hoisted_2$
|
|
3192
|
+
var _hoisted_1$66 = { class: "mint-topbar__container" };
|
|
3193
|
+
var _hoisted_2$59 = { class: "mint-topbar__brand" };
|
|
3194
3194
|
var _hoisted_3$55 = ["href"];
|
|
3195
3195
|
var _hoisted_4$53 = {
|
|
3196
3196
|
key: 0,
|
|
@@ -3231,11 +3231,11 @@ var _hoisted_14$26 = {
|
|
|
3231
3231
|
class: "mint-topbar__center"
|
|
3232
3232
|
};
|
|
3233
3233
|
var _hoisted_15$26 = { class: "mint-topbar__right" };
|
|
3234
|
-
var _hoisted_16$
|
|
3234
|
+
var _hoisted_16$23 = {
|
|
3235
3235
|
key: 0,
|
|
3236
3236
|
class: "mint-topbar__standalone-badge"
|
|
3237
3237
|
};
|
|
3238
|
-
var _hoisted_17$
|
|
3238
|
+
var _hoisted_17$21 = {
|
|
3239
3239
|
key: 2,
|
|
3240
3240
|
class: "mint-topbar__standalone-badge"
|
|
3241
3241
|
};
|
|
@@ -3309,9 +3309,9 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3309
3309
|
setup(__props, { emit: __emit }) {
|
|
3310
3310
|
/** Full application top bar with brand logo, page selector or plugin switcher, centered pill nav, experiment popover, and avatar menu. */
|
|
3311
3311
|
const props = __props;
|
|
3312
|
-
const SettingsModal = defineAsyncComponent(() => import("./SettingsModal-
|
|
3313
|
-
const ExperimentPopover = defineAsyncComponent(() => import("./ExperimentPopover-
|
|
3314
|
-
const ExperimentSelectorModal = defineAsyncComponent(() => import("./ExperimentSelectorModal-
|
|
3312
|
+
const SettingsModal = defineAsyncComponent(() => import("./SettingsModal-DQUcpT4T.js").then((n) => n.n));
|
|
3313
|
+
const ExperimentPopover = defineAsyncComponent(() => import("./ExperimentPopover-CJdNlCZb.js").then((n) => n.n));
|
|
3314
|
+
const ExperimentSelectorModal = defineAsyncComponent(() => import("./ExperimentSelectorModal-CZ1f_K9I.js").then((n) => n.n));
|
|
3315
3315
|
const emit = __emit;
|
|
3316
3316
|
const settingsOpen = ref(false);
|
|
3317
3317
|
const { isIntegrated, plugin } = usePlatformContext();
|
|
@@ -3347,8 +3347,8 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3347
3347
|
return (_ctx, _cache) => {
|
|
3348
3348
|
const _component_router_link = resolveComponent("router-link");
|
|
3349
3349
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
3350
|
-
createElementVNode("header", { class: normalizeClass(["mint-topbar", `mint-topbar--${props.variant}`]) }, [createElementVNode("div", _hoisted_1$
|
|
3351
|
-
createElementVNode("div", _hoisted_2$
|
|
3350
|
+
createElementVNode("header", { class: normalizeClass(["mint-topbar", `mint-topbar--${props.variant}`]) }, [createElementVNode("div", _hoisted_1$66, [
|
|
3351
|
+
createElementVNode("div", _hoisted_2$59, [__props.homePath && (__props.homePath.startsWith("http") || __props.homePath.startsWith("/")) ? (openBlock(), createElementBlock("a", {
|
|
3352
3352
|
key: 0,
|
|
3353
3353
|
href: __props.homePath,
|
|
3354
3354
|
class: "mint-topbar-home-link"
|
|
@@ -3439,13 +3439,13 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3439
3439
|
onOptionSelect: _cache[4] || (_cache[4] = (option, item) => emit("pill-option-select", option, item))
|
|
3440
3440
|
}, null, 8, ["items", "current-item-id"])) : createCommentVNode("", true)])])) : createCommentVNode("", true),
|
|
3441
3441
|
createElementVNode("div", _hoisted_15$26, [
|
|
3442
|
-
__props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span", _hoisted_16$
|
|
3442
|
+
__props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span", _hoisted_16$23, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
|
|
3443
3443
|
unref(appExperiment) && !isStandalone.value && canBindExperiment.value ? (openBlock(), createBlock(unref(ExperimentPopover), mergeProps({ key: 1 }, unref(appExperiment).popover.value, {
|
|
3444
3444
|
onSelect: _cache[5] || (_cache[5] = ($event) => unref(appExperiment).openModal()),
|
|
3445
3445
|
onSave: _cache[6] || (_cache[6] = ($event) => unref(appExperiment).handleSave()),
|
|
3446
3446
|
onDetach: _cache[7] || (_cache[7] = ($event) => unref(appExperiment).handleDetach())
|
|
3447
3447
|
}), null, 16)) : createCommentVNode("", true),
|
|
3448
|
-
unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span", _hoisted_17$
|
|
3448
|
+
unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span", _hoisted_17$21, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
|
|
3449
3449
|
renderSlot(_ctx.$slots, "actions"),
|
|
3450
3450
|
__props.showNotifications ? (openBlock(), createElementBlock("button", {
|
|
3451
3451
|
key: 3,
|
|
@@ -3578,11 +3578,11 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3578
3578
|
});
|
|
3579
3579
|
//#endregion
|
|
3580
3580
|
//#region src/components/StepWizard.vue?vue&type=script&setup=true&lang.ts
|
|
3581
|
-
var _hoisted_1$
|
|
3581
|
+
var _hoisted_1$65 = {
|
|
3582
3582
|
key: 0,
|
|
3583
3583
|
class: "mint-wizard__progress"
|
|
3584
3584
|
};
|
|
3585
|
-
var _hoisted_2$
|
|
3585
|
+
var _hoisted_2$58 = { class: "mint-wizard__steps-indicator" };
|
|
3586
3586
|
var _hoisted_3$54 = ["onClick"];
|
|
3587
3587
|
var _hoisted_4$52 = { class: "mint-wizard__step-dot" };
|
|
3588
3588
|
var _hoisted_5$49 = {
|
|
@@ -3694,11 +3694,11 @@ var StepWizard_default = /* @__PURE__ */ defineComponent({
|
|
|
3694
3694
|
tabindex: "0",
|
|
3695
3695
|
onKeydown: handleKeydown
|
|
3696
3696
|
}, [
|
|
3697
|
-
props.showProgress ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
3697
|
+
props.showProgress ? (openBlock(), createElementBlock("div", _hoisted_1$65, [renderSlot(_ctx.$slots, "progress", {
|
|
3698
3698
|
steps: props.steps,
|
|
3699
3699
|
current: props.modelValue,
|
|
3700
3700
|
states: stepStates.value
|
|
3701
|
-
}, () => [createElementVNode("div", _hoisted_2$
|
|
3701
|
+
}, () => [createElementVNode("div", _hoisted_2$58, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.steps, (step, index) => {
|
|
3702
3702
|
return openBlock(), createElementBlock(Fragment, { key: step.id }, [index > 0 ? (openBlock(), createElementBlock("div", {
|
|
3703
3703
|
key: 0,
|
|
3704
3704
|
class: normalizeClass(["mint-wizard__step-connector", stepStates.value[index - 1] === "completed" ? "mint-wizard__step-connector--completed" : ""])
|
|
@@ -3757,11 +3757,11 @@ var StepWizard_default = /* @__PURE__ */ defineComponent({
|
|
|
3757
3757
|
});
|
|
3758
3758
|
//#endregion
|
|
3759
3759
|
//#region src/components/internal/FormSectionRenderer.vue?vue&type=script&setup=true&lang.ts
|
|
3760
|
-
var _hoisted_1$
|
|
3760
|
+
var _hoisted_1$64 = {
|
|
3761
3761
|
key: 0,
|
|
3762
3762
|
class: "mint-form-section"
|
|
3763
3763
|
};
|
|
3764
|
-
var _hoisted_2$
|
|
3764
|
+
var _hoisted_2$57 = {
|
|
3765
3765
|
key: 1,
|
|
3766
3766
|
class: "mint-form-section--static"
|
|
3767
3767
|
};
|
|
@@ -3790,7 +3790,7 @@ var FormSectionRenderer_default = /* @__PURE__ */ defineComponent({
|
|
|
3790
3790
|
const visibleFields = computed(() => props.section.fields.filter((f) => props.builder.isFieldVisible(f.name)));
|
|
3791
3791
|
const gridStyle = computed(() => ({ gridTemplateColumns: `repeat(${props.section.columns ?? 1}, 1fr)` }));
|
|
3792
3792
|
return (_ctx, _cache) => {
|
|
3793
|
-
return visibleFields.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
3793
|
+
return visibleFields.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$64, [renderSlot(_ctx.$slots, `section:${__props.section.id}`, {
|
|
3794
3794
|
section: __props.section,
|
|
3795
3795
|
form: __props.builder.form
|
|
3796
3796
|
}, () => [__props.section.collapsible ? (openBlock(), createBlock(CollapsibleCard_default, {
|
|
@@ -3825,7 +3825,7 @@ var FormSectionRenderer_default = /* @__PURE__ */ defineComponent({
|
|
|
3825
3825
|
"title",
|
|
3826
3826
|
"subtitle",
|
|
3827
3827
|
"default-open"
|
|
3828
|
-
])) : (openBlock(), createElementBlock("div", _hoisted_2$
|
|
3828
|
+
])) : (openBlock(), createElementBlock("div", _hoisted_2$57, [__props.section.title || __props.section.description ? (openBlock(), createElementBlock("div", _hoisted_3$53, [__props.section.title ? (openBlock(), createElementBlock("h3", _hoisted_4$51, toDisplayString(__props.section.title), 1)) : createCommentVNode("", true), __props.section.description ? (openBlock(), createElementBlock("p", _hoisted_5$48, toDisplayString(__props.section.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", {
|
|
3829
3829
|
class: "mint-form-section__grid",
|
|
3830
3830
|
style: normalizeStyle(gridStyle.value)
|
|
3831
3831
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(visibleFields.value, (field) => {
|
|
@@ -3851,7 +3851,7 @@ var FormSectionRenderer_default = /* @__PURE__ */ defineComponent({
|
|
|
3851
3851
|
});
|
|
3852
3852
|
//#endregion
|
|
3853
3853
|
//#region src/components/FormActions.vue?vue&type=script&setup=true&lang.ts
|
|
3854
|
-
var _hoisted_1$
|
|
3854
|
+
var _hoisted_1$63 = { class: "mint-form-actions" };
|
|
3855
3855
|
//#endregion
|
|
3856
3856
|
//#region src/components/FormActions.vue
|
|
3857
3857
|
var FormActions_default = /* @__PURE__ */ defineComponent({
|
|
@@ -3908,7 +3908,7 @@ var FormActions_default = /* @__PURE__ */ defineComponent({
|
|
|
3908
3908
|
*/
|
|
3909
3909
|
const emit = __emit;
|
|
3910
3910
|
return (_ctx, _cache) => {
|
|
3911
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
3911
|
+
return openBlock(), createElementBlock("div", _hoisted_1$63, [
|
|
3912
3912
|
__props.showCancel ? (openBlock(), createBlock(BaseButton_default, {
|
|
3913
3913
|
key: 0,
|
|
3914
3914
|
variant: "ghost",
|
|
@@ -3953,7 +3953,7 @@ var FormActions_default = /* @__PURE__ */ defineComponent({
|
|
|
3953
3953
|
});
|
|
3954
3954
|
//#endregion
|
|
3955
3955
|
//#region src/components/FormBuilder.vue?vue&type=script&setup=true&lang.ts
|
|
3956
|
-
var _hoisted_1$
|
|
3956
|
+
var _hoisted_1$62 = { class: "mint-form-builder__step" };
|
|
3957
3957
|
//#endregion
|
|
3958
3958
|
//#region src/components/FormBuilder.vue
|
|
3959
3959
|
var FormBuilder_default = /* @__PURE__ */ defineComponent({
|
|
@@ -4102,7 +4102,7 @@ var FormBuilder_default = /* @__PURE__ */ defineComponent({
|
|
|
4102
4102
|
}, createSlots({ _: 2 }, [renderList(resolvedSchema.value.steps, (step) => {
|
|
4103
4103
|
return {
|
|
4104
4104
|
name: `step-${step.id}`,
|
|
4105
|
-
fn: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
4105
|
+
fn: withCtx(() => [createElementVNode("div", _hoisted_1$62, [(openBlock(true), createElementBlock(Fragment, null, renderList(step.sections, (section) => {
|
|
4106
4106
|
return openBlock(), createElementBlock(Fragment, { key: section.id }, [unref(builder).isSectionVisible(section.id) ? (openBlock(), createBlock(FormSectionRenderer_default, {
|
|
4107
4107
|
key: 0,
|
|
4108
4108
|
section,
|
|
@@ -4189,11 +4189,11 @@ var FormBuilder_default = /* @__PURE__ */ defineComponent({
|
|
|
4189
4189
|
});
|
|
4190
4190
|
//#endregion
|
|
4191
4191
|
//#region src/components/AppSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
4192
|
-
var _hoisted_1$
|
|
4192
|
+
var _hoisted_1$61 = {
|
|
4193
4193
|
key: 0,
|
|
4194
4194
|
class: "mint-sidebar__header"
|
|
4195
4195
|
};
|
|
4196
|
-
var _hoisted_2$
|
|
4196
|
+
var _hoisted_2$56 = {
|
|
4197
4197
|
key: 0,
|
|
4198
4198
|
class: "mint-sidebar__heading"
|
|
4199
4199
|
};
|
|
@@ -4238,11 +4238,11 @@ var _hoisted_15$25 = {
|
|
|
4238
4238
|
key: 1,
|
|
4239
4239
|
class: "mint-sidebar__rail-text-icon"
|
|
4240
4240
|
};
|
|
4241
|
-
var _hoisted_16$
|
|
4241
|
+
var _hoisted_16$22 = {
|
|
4242
4242
|
key: 4,
|
|
4243
4243
|
class: "mint-sidebar__footer"
|
|
4244
4244
|
};
|
|
4245
|
-
var _hoisted_17$
|
|
4245
|
+
var _hoisted_17$20 = {
|
|
4246
4246
|
key: 5,
|
|
4247
4247
|
class: "mint-sidebar__footer mint-sidebar__footer--collapsed"
|
|
4248
4248
|
};
|
|
@@ -4465,10 +4465,10 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4465
4465
|
class: normalizeClass(sidebarClasses.value),
|
|
4466
4466
|
style: normalizeStyle(sidebarStyle.value)
|
|
4467
4467
|
}, [
|
|
4468
|
-
_ctx.$slots.header || __props.title || __props.subtitle || __props.badge !== void 0 || resolvedCollapsible.value ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
4468
|
+
_ctx.$slots.header || __props.title || __props.subtitle || __props.badge !== void 0 || resolvedCollapsible.value ? (openBlock(), createElementBlock("div", _hoisted_1$61, [renderSlot(_ctx.$slots, "header", {
|
|
4469
4469
|
collapsed: collapsedModel.value,
|
|
4470
4470
|
toggleCollapsed
|
|
4471
|
-
}, () => [!collapsedModel.value ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
4471
|
+
}, () => [!collapsedModel.value ? (openBlock(), createElementBlock("div", _hoisted_2$56, [createElementVNode("div", _hoisted_3$52, [__props.title ? (openBlock(), createElementBlock("h2", _hoisted_4$50, toDisplayString(__props.title), 1)) : createCommentVNode("", true), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_5$47, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)]), __props.badge !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_6$44, toDisplayString(__props.badge), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), resolvedCollapsible.value ? (openBlock(), createElementBlock("button", {
|
|
4472
4472
|
key: 1,
|
|
4473
4473
|
type: "button",
|
|
4474
4474
|
class: "mint-sidebar__collapse-button",
|
|
@@ -4580,18 +4580,18 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4580
4580
|
class: normalizeClass(["mint-sidebar__rail-badge", badgeToneClass(section)])
|
|
4581
4581
|
}, toDisplayString(section.badge), 3)) : createCommentVNode("", true)], 8, _hoisted_11$28);
|
|
4582
4582
|
}), 128))])),
|
|
4583
|
-
!collapsedModel.value && _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_16$
|
|
4583
|
+
!collapsedModel.value && _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_16$22, [renderSlot(_ctx.$slots, "footer")])) : collapsedModel.value && _ctx.$slots["collapsed-footer"] ? (openBlock(), createElementBlock("div", _hoisted_17$20, [renderSlot(_ctx.$slots, "collapsed-footer")])) : createCommentVNode("", true)
|
|
4584
4584
|
], 6);
|
|
4585
4585
|
};
|
|
4586
4586
|
}
|
|
4587
4587
|
});
|
|
4588
4588
|
//#endregion
|
|
4589
4589
|
//#region src/components/AppLayout.vue?vue&type=script&setup=true&lang.ts
|
|
4590
|
-
var _hoisted_1$
|
|
4590
|
+
var _hoisted_1$60 = {
|
|
4591
4591
|
key: 0,
|
|
4592
4592
|
class: "mint-layout__topbar"
|
|
4593
4593
|
};
|
|
4594
|
-
var _hoisted_2$
|
|
4594
|
+
var _hoisted_2$55 = { class: "mint-layout__body" };
|
|
4595
4595
|
var _hoisted_3$51 = ["aria-label", "aria-expanded"];
|
|
4596
4596
|
var _hoisted_4$49 = {
|
|
4597
4597
|
key: 0,
|
|
@@ -4693,7 +4693,7 @@ var AppLayout_default = /* @__PURE__ */ defineComponent({
|
|
|
4693
4693
|
sidebarOpenModel.value = false;
|
|
4694
4694
|
}
|
|
4695
4695
|
return (_ctx, _cache) => {
|
|
4696
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(layoutClasses.value) }, [_ctx.$slots.topbar ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
4696
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(layoutClasses.value) }, [_ctx.$slots.topbar ? (openBlock(), createElementBlock("div", _hoisted_1$60, [renderSlot(_ctx.$slots, "topbar")])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$55, [
|
|
4697
4697
|
__props.responsiveSidebar && _ctx.$slots.sidebar ? (openBlock(), createElementBlock("button", {
|
|
4698
4698
|
key: 0,
|
|
4699
4699
|
type: "button",
|
|
@@ -4719,8 +4719,8 @@ var AppLayout_default = /* @__PURE__ */ defineComponent({
|
|
|
4719
4719
|
});
|
|
4720
4720
|
//#endregion
|
|
4721
4721
|
//#region src/components/MobileSupportGate.vue?vue&type=script&setup=true&lang.ts
|
|
4722
|
-
var _hoisted_1$
|
|
4723
|
-
var _hoisted_2$
|
|
4722
|
+
var _hoisted_1$59 = { class: "mint-mobile-support-gate__panel" };
|
|
4723
|
+
var _hoisted_2$54 = { class: "mint-mobile-support-gate__copy" };
|
|
4724
4724
|
var _hoisted_3$50 = { class: "mint-mobile-support-gate__eyebrow" };
|
|
4725
4725
|
var _hoisted_4$48 = { class: "mint-mobile-support-gate__message" };
|
|
4726
4726
|
var _hoisted_5$45 = { class: "mint-mobile-support-gate__hint" };
|
|
@@ -4757,9 +4757,9 @@ var MobileSupportGate_default = /* @__PURE__ */ defineComponent({
|
|
|
4757
4757
|
}, [renderSlot(_ctx.$slots, "unsupported", {
|
|
4758
4758
|
isMobileViewport: unref(isMobileViewport),
|
|
4759
4759
|
isSupported: unref(isSupported)
|
|
4760
|
-
}, () => [createElementVNode("section", _hoisted_1$
|
|
4760
|
+
}, () => [createElementVNode("section", _hoisted_1$59, [
|
|
4761
4761
|
_cache[1] || (_cache[1] = createStaticVNode("<div class=\"mint-mobile-support-gate__mark\" aria-hidden=\"true\"><svg class=\"mint-mobile-support-gate__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"12\" rx=\"2\"></rect><path d=\"M8 20h8\"></path><path d=\"M12 16v4\"></path></svg></div>", 1)),
|
|
4762
|
-
createElementVNode("div", _hoisted_2$
|
|
4762
|
+
createElementVNode("div", _hoisted_2$54, [
|
|
4763
4763
|
createElementVNode("p", _hoisted_3$50, toDisplayString(__props.appName), 1),
|
|
4764
4764
|
createElementVNode("h1", {
|
|
4765
4765
|
id: titleId,
|
|
@@ -5358,8 +5358,8 @@ function humanize(value) {
|
|
|
5358
5358
|
}
|
|
5359
5359
|
//#endregion
|
|
5360
5360
|
//#region src/components/ChartContainer.vue?vue&type=script&setup=true&lang.ts
|
|
5361
|
-
var _hoisted_1$
|
|
5362
|
-
var _hoisted_2$
|
|
5361
|
+
var _hoisted_1$58 = { class: "mint-chart" };
|
|
5362
|
+
var _hoisted_2$53 = {
|
|
5363
5363
|
key: 0,
|
|
5364
5364
|
class: "mint-chart__header"
|
|
5365
5365
|
};
|
|
@@ -5408,8 +5408,8 @@ var ChartContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
5408
5408
|
setup(__props) {
|
|
5409
5409
|
/** Wraps a chart with header, toolbar slot, loading overlay, empty state, and legend slot. */
|
|
5410
5410
|
return (_ctx, _cache) => {
|
|
5411
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
5412
|
-
__props.title || __props.description || _ctx.$slots.toolbar ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
5411
|
+
return openBlock(), createElementBlock("div", _hoisted_1$58, [
|
|
5412
|
+
__props.title || __props.description || _ctx.$slots.toolbar ? (openBlock(), createElementBlock("div", _hoisted_2$53, [__props.title || __props.description ? (openBlock(), createElementBlock("div", _hoisted_3$49, [__props.title ? (openBlock(), createElementBlock("h3", _hoisted_4$47, toDisplayString(__props.title), 1)) : createCommentVNode("", true), __props.description ? (openBlock(), createElementBlock("p", _hoisted_5$44, toDisplayString(__props.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), _ctx.$slots.toolbar ? (openBlock(), createElementBlock("div", _hoisted_6$42, [renderSlot(_ctx.$slots, "toolbar")])) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
5413
5413
|
createElementVNode("div", _hoisted_7$37, [__props.loading ? (openBlock(), createElementBlock("div", _hoisted_8$33, [createVNode(LoadingSpinner_default, { size: "lg" })])) : __props.empty ? renderSlot(_ctx.$slots, "empty", { key: 1 }, () => [createVNode(EmptyState_default, {
|
|
5414
5414
|
title: __props.emptyMessage,
|
|
5415
5415
|
size: "sm",
|
|
@@ -5421,74 +5421,252 @@ var ChartContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
5421
5421
|
}
|
|
5422
5422
|
});
|
|
5423
5423
|
//#endregion
|
|
5424
|
-
//#region src/components/
|
|
5425
|
-
var _hoisted_1$
|
|
5426
|
-
var _hoisted_2$53 = {
|
|
5427
|
-
key: 1,
|
|
5428
|
-
class: "mint-generated-result__plotly-error",
|
|
5429
|
-
role: "alert"
|
|
5430
|
-
};
|
|
5424
|
+
//#region src/components/PlotlyChart.vue?vue&type=script&setup=true&lang.ts
|
|
5425
|
+
var _hoisted_1$57 = ["aria-label"];
|
|
5431
5426
|
//#endregion
|
|
5432
|
-
//#region src/components/
|
|
5433
|
-
var
|
|
5434
|
-
__name: "
|
|
5427
|
+
//#region src/components/PlotlyChart.vue
|
|
5428
|
+
var PlotlyChart_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
5429
|
+
__name: "PlotlyChart",
|
|
5435
5430
|
props: {
|
|
5436
|
-
|
|
5437
|
-
|
|
5431
|
+
data: {},
|
|
5432
|
+
layout: { default: () => ({}) },
|
|
5433
|
+
config: { default: () => ({}) },
|
|
5434
|
+
title: {},
|
|
5435
|
+
description: {},
|
|
5436
|
+
loading: {
|
|
5437
|
+
type: Boolean,
|
|
5438
|
+
default: false
|
|
5439
|
+
},
|
|
5440
|
+
empty: {
|
|
5441
|
+
type: Boolean,
|
|
5442
|
+
default: false
|
|
5443
|
+
},
|
|
5444
|
+
emptyMessage: { default: "No data available" },
|
|
5445
|
+
ariaLabel: { default: "Interactive Plotly chart" }
|
|
5438
5446
|
},
|
|
5439
5447
|
setup(__props) {
|
|
5448
|
+
/**
|
|
5449
|
+
* Render native Plotly data with MINT loading, empty, theme, and error states.
|
|
5450
|
+
*
|
|
5451
|
+
* Plotly is loaded only when the component is mounted, so importing the SDK does
|
|
5452
|
+
* not add Plotly to the application's initial bundle.
|
|
5453
|
+
*
|
|
5454
|
+
* @example
|
|
5455
|
+
* ```vue
|
|
5456
|
+
* <PlotlyChart
|
|
5457
|
+
* title="QC overview"
|
|
5458
|
+
* :data="traces"
|
|
5459
|
+
* :layout="{ xaxis: { title: { text: 'Sample' } } }"
|
|
5460
|
+
* :config="{ toImageButtonOptions: { filename: 'qc-overview' } }"
|
|
5461
|
+
* />
|
|
5462
|
+
* ```
|
|
5463
|
+
*/
|
|
5440
5464
|
const props = __props;
|
|
5441
5465
|
const chartElement = ref(null);
|
|
5442
5466
|
const failed = ref(false);
|
|
5443
5467
|
let plotly = null;
|
|
5468
|
+
let resizeObserver = null;
|
|
5469
|
+
let themeObserver = null;
|
|
5470
|
+
let renderedElement = null;
|
|
5471
|
+
let rendering = false;
|
|
5472
|
+
let disposed = false;
|
|
5473
|
+
let revision = 0;
|
|
5444
5474
|
async function loadPlotly() {
|
|
5445
5475
|
const module = await import("./plotly.min-c2Sez60c.js").then((m) => /* @__PURE__ */ __toESM(m.default, 1));
|
|
5446
5476
|
return "default" in module ? module.default : module;
|
|
5447
5477
|
}
|
|
5478
|
+
function cssValue(name, fallback) {
|
|
5479
|
+
return getComputedStyle(chartElement.value ?? document.documentElement).getPropertyValue(name).trim() || getComputedStyle(document.documentElement).getPropertyValue(name).trim() || fallback;
|
|
5480
|
+
}
|
|
5481
|
+
function clonePlotlyInput(value) {
|
|
5482
|
+
const raw = toRaw(value);
|
|
5483
|
+
if (Array.isArray(raw)) return raw.map(clonePlotlyInput);
|
|
5484
|
+
if (raw !== null && typeof raw === "object") {
|
|
5485
|
+
if (Object.getPrototypeOf(raw) === Object.prototype) return Object.fromEntries(Object.entries(raw).map(([key, item]) => [key, clonePlotlyInput(item)]));
|
|
5486
|
+
return structuredClone(raw);
|
|
5487
|
+
}
|
|
5488
|
+
return raw;
|
|
5489
|
+
}
|
|
5490
|
+
function themedLayout() {
|
|
5491
|
+
const textColor = cssValue("--text-primary", "#1E293B");
|
|
5492
|
+
const gridColor = cssValue("--border-color", "#E5E7EB");
|
|
5493
|
+
const layout = clonePlotlyInput(props.layout);
|
|
5494
|
+
return {
|
|
5495
|
+
autosize: true,
|
|
5496
|
+
paper_bgcolor: "rgba(0,0,0,0)",
|
|
5497
|
+
plot_bgcolor: "rgba(0,0,0,0)",
|
|
5498
|
+
...layout,
|
|
5499
|
+
font: {
|
|
5500
|
+
color: textColor,
|
|
5501
|
+
family: cssValue("--font-sans", "Arial, sans-serif"),
|
|
5502
|
+
...layout.font
|
|
5503
|
+
},
|
|
5504
|
+
xaxis: {
|
|
5505
|
+
gridcolor: gridColor,
|
|
5506
|
+
...layout.xaxis
|
|
5507
|
+
},
|
|
5508
|
+
yaxis: {
|
|
5509
|
+
gridcolor: gridColor,
|
|
5510
|
+
...layout.yaxis
|
|
5511
|
+
}
|
|
5512
|
+
};
|
|
5513
|
+
}
|
|
5514
|
+
function purgeChart() {
|
|
5515
|
+
resizeObserver?.disconnect();
|
|
5516
|
+
if (renderedElement) plotly?.purge(renderedElement);
|
|
5517
|
+
renderedElement = null;
|
|
5518
|
+
}
|
|
5448
5519
|
async function renderChart() {
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5520
|
+
revision++;
|
|
5521
|
+
if (rendering || disposed || props.loading || props.empty) return;
|
|
5522
|
+
rendering = true;
|
|
5452
5523
|
try {
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5524
|
+
while (!disposed && !props.loading && !props.empty) {
|
|
5525
|
+
const currentRevision = revision;
|
|
5526
|
+
failed.value = false;
|
|
5527
|
+
await nextTick();
|
|
5528
|
+
if (disposed || props.loading || props.empty) break;
|
|
5529
|
+
try {
|
|
5530
|
+
plotly ??= await loadPlotly();
|
|
5531
|
+
if (disposed || props.loading || props.empty) break;
|
|
5532
|
+
if (currentRevision !== revision) continue;
|
|
5533
|
+
const element = chartElement.value;
|
|
5534
|
+
if (!element) break;
|
|
5535
|
+
renderedElement = element;
|
|
5536
|
+
await plotly.react(element, clonePlotlyInput(props.data), themedLayout(), {
|
|
5537
|
+
responsive: true,
|
|
5538
|
+
displaylogo: false,
|
|
5539
|
+
...props.config
|
|
5540
|
+
});
|
|
5541
|
+
if (disposed || props.loading || props.empty || element !== chartElement.value) purgeChart();
|
|
5542
|
+
else resizeObserver?.observe(element);
|
|
5543
|
+
} catch {
|
|
5544
|
+
purgeChart();
|
|
5545
|
+
if (!disposed && currentRevision === revision) failed.value = true;
|
|
5546
|
+
}
|
|
5547
|
+
if (currentRevision === revision) break;
|
|
5548
|
+
}
|
|
5549
|
+
} finally {
|
|
5550
|
+
rendering = false;
|
|
5551
|
+
if (disposed || props.loading || props.empty) purgeChart();
|
|
5464
5552
|
}
|
|
5465
5553
|
}
|
|
5466
|
-
onMounted(
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5554
|
+
onMounted(() => {
|
|
5555
|
+
if (typeof ResizeObserver !== "undefined") resizeObserver = new ResizeObserver(() => {
|
|
5556
|
+
if (rendering || !plotly || !renderedElement) return;
|
|
5557
|
+
Promise.resolve(plotly.Plots.resize(renderedElement)).catch(() => {});
|
|
5558
|
+
});
|
|
5559
|
+
if (typeof MutationObserver !== "undefined") {
|
|
5560
|
+
themeObserver = new MutationObserver(() => void renderChart());
|
|
5561
|
+
themeObserver.observe(document.documentElement, {
|
|
5562
|
+
attributes: true,
|
|
5563
|
+
attributeFilter: ["class", "style"]
|
|
5564
|
+
});
|
|
5565
|
+
}
|
|
5566
|
+
renderChart();
|
|
5567
|
+
});
|
|
5568
|
+
watch([
|
|
5569
|
+
() => props.data,
|
|
5570
|
+
() => props.layout,
|
|
5571
|
+
() => props.config,
|
|
5572
|
+
() => props.loading,
|
|
5573
|
+
() => props.empty
|
|
5574
|
+
], () => {
|
|
5575
|
+
if (props.loading || props.empty) {
|
|
5576
|
+
resizeObserver?.disconnect();
|
|
5577
|
+
if (!rendering) purgeChart();
|
|
5578
|
+
}
|
|
5579
|
+
renderChart();
|
|
5470
5580
|
});
|
|
5471
5581
|
onBeforeUnmount(() => {
|
|
5472
|
-
|
|
5582
|
+
disposed = true;
|
|
5583
|
+
resizeObserver?.disconnect();
|
|
5584
|
+
themeObserver?.disconnect();
|
|
5585
|
+
if (!rendering) purgeChart();
|
|
5473
5586
|
});
|
|
5474
5587
|
return (_ctx, _cache) => {
|
|
5475
|
-
return openBlock(), createBlock(ChartContainer_default, {
|
|
5476
|
-
|
|
5477
|
-
|
|
5588
|
+
return openBlock(), createBlock(ChartContainer_default, {
|
|
5589
|
+
title: __props.title,
|
|
5590
|
+
description: __props.description,
|
|
5591
|
+
loading: __props.loading,
|
|
5592
|
+
empty: __props.empty,
|
|
5593
|
+
"empty-message": __props.emptyMessage
|
|
5594
|
+
}, createSlots({
|
|
5595
|
+
default: withCtx(() => [failed.value ? renderSlot(_ctx.$slots, "error", { key: 0 }, () => [_cache[0] || (_cache[0] = createElementVNode("div", { class: "mint-plotly-chart__error" }, [createElementVNode("p", { role: "alert" }, "Unable to display this chart.")], -1))], true) : createCommentVNode("", true), withDirectives(createElementVNode("div", {
|
|
5596
|
+
ref_key: "chartElement",
|
|
5597
|
+
ref: chartElement,
|
|
5598
|
+
class: "mint-plotly-chart__plot",
|
|
5599
|
+
role: "group",
|
|
5600
|
+
"aria-label": __props.ariaLabel
|
|
5601
|
+
}, null, 8, _hoisted_1$57), [[vShow, !failed.value]])]),
|
|
5602
|
+
_: 2
|
|
5603
|
+
}, [
|
|
5604
|
+
_ctx.$slots.toolbar ? {
|
|
5605
|
+
name: "toolbar",
|
|
5606
|
+
fn: withCtx(() => [renderSlot(_ctx.$slots, "toolbar", {}, void 0, true)]),
|
|
5607
|
+
key: "0"
|
|
5608
|
+
} : void 0,
|
|
5609
|
+
_ctx.$slots.empty ? {
|
|
5610
|
+
name: "empty",
|
|
5611
|
+
fn: withCtx(() => [renderSlot(_ctx.$slots, "empty", {}, void 0, true)]),
|
|
5612
|
+
key: "1"
|
|
5613
|
+
} : void 0,
|
|
5614
|
+
_ctx.$slots.legend ? {
|
|
5615
|
+
name: "legend",
|
|
5616
|
+
fn: withCtx(() => [renderSlot(_ctx.$slots, "legend", {}, void 0, true)]),
|
|
5617
|
+
key: "2"
|
|
5618
|
+
} : void 0
|
|
5619
|
+
]), 1032, [
|
|
5620
|
+
"title",
|
|
5621
|
+
"description",
|
|
5622
|
+
"loading",
|
|
5623
|
+
"empty",
|
|
5624
|
+
"empty-message"
|
|
5625
|
+
]);
|
|
5626
|
+
};
|
|
5627
|
+
}
|
|
5628
|
+
}), [["__scopeId", "data-v-ee2f733a"]]);
|
|
5629
|
+
//#endregion
|
|
5630
|
+
//#region src/components/GeneratedPlotlyResult.vue?vue&type=script&setup=true&lang.ts
|
|
5631
|
+
var _hoisted_1$56 = ["src"];
|
|
5632
|
+
//#endregion
|
|
5633
|
+
//#region src/components/GeneratedPlotlyResult.vue
|
|
5634
|
+
var GeneratedPlotlyResult_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
5635
|
+
__name: "GeneratedPlotlyResult",
|
|
5636
|
+
props: {
|
|
5637
|
+
spec: {},
|
|
5638
|
+
fallback: {}
|
|
5639
|
+
},
|
|
5640
|
+
setup(__props) {
|
|
5641
|
+
const props = __props;
|
|
5642
|
+
const data = computed(() => {
|
|
5643
|
+
const traces = toRaw(props.spec).data;
|
|
5644
|
+
return Array.isArray(traces) ? [...toRaw(traces)] : [];
|
|
5645
|
+
});
|
|
5646
|
+
const layout = computed(() => props.spec.layout && typeof props.spec.layout === "object" ? props.spec.layout : {});
|
|
5647
|
+
const config = computed(() => props.spec.config && typeof props.spec.config === "object" ? props.spec.config : {});
|
|
5648
|
+
return (_ctx, _cache) => {
|
|
5649
|
+
return openBlock(), createBlock(PlotlyChart_default, {
|
|
5650
|
+
title: "Interactive chart",
|
|
5651
|
+
data: data.value,
|
|
5652
|
+
layout: layout.value,
|
|
5653
|
+
config: config.value
|
|
5654
|
+
}, createSlots({ _: 2 }, [__props.fallback ? {
|
|
5655
|
+
name: "error",
|
|
5656
|
+
fn: withCtx(() => [createElementVNode("img", {
|
|
5478
5657
|
class: "mint-generated-result__image",
|
|
5479
5658
|
src: `data:${__props.fallback.media_type};base64,${__props.fallback.data}`,
|
|
5480
5659
|
alt: "Static Plotly chart fallback"
|
|
5481
|
-
}, null, 8, _hoisted_1$56))
|
|
5482
|
-
|
|
5483
|
-
|
|
5484
|
-
|
|
5485
|
-
|
|
5486
|
-
|
|
5487
|
-
|
|
5488
|
-
});
|
|
5660
|
+
}, null, 8, _hoisted_1$56)]),
|
|
5661
|
+
key: "0"
|
|
5662
|
+
} : void 0]), 1032, [
|
|
5663
|
+
"data",
|
|
5664
|
+
"layout",
|
|
5665
|
+
"config"
|
|
5666
|
+
]);
|
|
5489
5667
|
};
|
|
5490
5668
|
}
|
|
5491
|
-
}), [["__scopeId", "data-v-
|
|
5669
|
+
}), [["__scopeId", "data-v-4a6d15d5"]]);
|
|
5492
5670
|
//#endregion
|
|
5493
5671
|
//#region src/components/GeneratedResultRenderer.vue?vue&type=script&setup=true&lang.ts
|
|
5494
5672
|
var _hoisted_1$55 = {
|
|
@@ -5568,7 +5746,7 @@ var GeneratedResultRenderer_default = /* @__PURE__ */ _plugin_vue_export_helper_
|
|
|
5568
5746
|
}, [createElementVNode("span", null, toDisplayString(__props.result.name), 1), createElementVNode("small", null, toDisplayString(__props.result.media_type), 1)], 8, _hoisted_5$43))]);
|
|
5569
5747
|
};
|
|
5570
5748
|
}
|
|
5571
|
-
}), [["__scopeId", "data-v-
|
|
5749
|
+
}), [["__scopeId", "data-v-7500041f"]]);
|
|
5572
5750
|
//#endregion
|
|
5573
5751
|
//#region src/components/JobsStatusTray.vue?vue&type=script&setup=true&lang.ts
|
|
5574
5752
|
var _hoisted_1$54 = { class: "mint-jobs-tray" };
|
|
@@ -5598,11 +5776,11 @@ var _hoisted_14$24 = {
|
|
|
5598
5776
|
role: "alert"
|
|
5599
5777
|
};
|
|
5600
5778
|
var _hoisted_15$24 = { class: "mint-jobs-tray__body" };
|
|
5601
|
-
var _hoisted_16$
|
|
5779
|
+
var _hoisted_16$21 = {
|
|
5602
5780
|
key: 0,
|
|
5603
5781
|
class: "mint-jobs-tray__empty"
|
|
5604
5782
|
};
|
|
5605
|
-
var _hoisted_17$
|
|
5783
|
+
var _hoisted_17$19 = { class: "mint-jobs-tray__job-heading" };
|
|
5606
5784
|
var _hoisted_18$17 = { class: "mint-jobs-tray__job-identity" };
|
|
5607
5785
|
var _hoisted_19$16 = ["onClick"];
|
|
5608
5786
|
var _hoisted_20$15 = { class: "mint-jobs-tray__kind" };
|
|
@@ -5825,12 +6003,12 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
5825
6003
|
onClick: _cache[2] || (_cache[2] = ($event) => unref(tray).activeTab.value = "history")
|
|
5826
6004
|
}, [_cache[7] || (_cache[7] = createTextVNode(" History ", -1)), createElementVNode("span", _hoisted_13$26, toDisplayString(unref(tray).historyJobs.value.length), 1)], 10, _hoisted_12$26)]),
|
|
5827
6005
|
unref(tray).error.value ? (openBlock(), createElementBlock("p", _hoisted_14$24, toDisplayString(unref(tray).error.value), 1)) : createCommentVNode("", true),
|
|
5828
|
-
createElementVNode("div", _hoisted_15$24, [unref(tray).activeTab.value === "active" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [unref(tray).activeJobs.value.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_16$
|
|
6006
|
+
createElementVNode("div", _hoisted_15$24, [unref(tray).activeTab.value === "active" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [unref(tray).activeJobs.value.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_16$21, " No active jobs ")) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(tray).activeJobs.value, (job) => {
|
|
5829
6007
|
return openBlock(), createElementBlock("article", {
|
|
5830
6008
|
key: job.job_id,
|
|
5831
6009
|
class: "mint-jobs-tray__job mint-jobs-tray__job--active"
|
|
5832
6010
|
}, [
|
|
5833
|
-
createElementVNode("div", _hoisted_17$
|
|
6011
|
+
createElementVNode("div", _hoisted_17$19, [createElementVNode("div", _hoisted_18$17, [createElementVNode("button", {
|
|
5834
6012
|
type: "button",
|
|
5835
6013
|
class: "mint-jobs-tray__job-select",
|
|
5836
6014
|
onClick: ($event) => emit("select", job)
|
|
@@ -6158,12 +6336,12 @@ var _hoisted_15$23 = {
|
|
|
6158
6336
|
key: 1,
|
|
6159
6337
|
class: "mint-dose-calculator__error"
|
|
6160
6338
|
};
|
|
6161
|
-
var _hoisted_16$
|
|
6339
|
+
var _hoisted_16$20 = {
|
|
6162
6340
|
key: 2,
|
|
6163
6341
|
class: "mint-dose-calculator__form",
|
|
6164
6342
|
role: "tabpanel"
|
|
6165
6343
|
};
|
|
6166
|
-
var _hoisted_17$
|
|
6344
|
+
var _hoisted_17$18 = { class: "mint-dose-calculator__field" };
|
|
6167
6345
|
var _hoisted_18$16 = { class: "mint-dose-calculator__field-row" };
|
|
6168
6346
|
var _hoisted_19$15 = { class: "mint-dose-calculator__field" };
|
|
6169
6347
|
var _hoisted_20$14 = { class: "mint-dose-calculator__input-wrapper" };
|
|
@@ -6378,8 +6556,8 @@ var DoseCalculator_default = /* @__PURE__ */ defineComponent({
|
|
|
6378
6556
|
createElementVNode("div", _hoisted_11$26, [_cache[13] || (_cache[13] = createElementVNode("span", { class: "mint-dose-calculator__result-label" }, "Diluent volume", -1)), createElementVNode("span", _hoisted_12$25, toDisplayString(unref(formatVolume)(dilutionResult.value.diluentVolume)), 1)]),
|
|
6379
6557
|
createElementVNode("div", _hoisted_13$25, [_cache[14] || (_cache[14] = createElementVNode("span", { class: "mint-dose-calculator__result-label" }, "Dilution factor", -1)), createElementVNode("span", _hoisted_14$23, toDisplayString(dilutionResult.value.dilutionFactor.toFixed(1)) + "× ", 1)])
|
|
6380
6558
|
])) : dilutionResult.value?.error ? (openBlock(), createElementBlock("div", _hoisted_15$23, toDisplayString(dilutionResult.value.error), 1)) : createCommentVNode("", true)
|
|
6381
|
-
])) : activeMode.value === "serial" ? (openBlock(), createElementBlock("div", _hoisted_16$
|
|
6382
|
-
createElementVNode("div", _hoisted_17$
|
|
6559
|
+
])) : activeMode.value === "serial" ? (openBlock(), createElementBlock("div", _hoisted_16$20, [
|
|
6560
|
+
createElementVNode("div", _hoisted_17$18, [_cache[17] || (_cache[17] = createElementVNode("label", { class: "mint-dose-calculator__field-label" }, "Starting Concentration", -1)), createVNode(ConcentrationInput_default, {
|
|
6383
6561
|
modelValue: serialStartConcentration.value,
|
|
6384
6562
|
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => serialStartConcentration.value = $event),
|
|
6385
6563
|
disabled: __props.disabled,
|
|
@@ -6519,8 +6697,8 @@ var _hoisted_14$22 = {
|
|
|
6519
6697
|
class: "mint-timeline__status-controls"
|
|
6520
6698
|
};
|
|
6521
6699
|
var _hoisted_15$22 = ["onClick"];
|
|
6522
|
-
var _hoisted_16$
|
|
6523
|
-
var _hoisted_17$
|
|
6700
|
+
var _hoisted_16$19 = ["aria-label", "onClick"];
|
|
6701
|
+
var _hoisted_17$17 = {
|
|
6524
6702
|
key: 2,
|
|
6525
6703
|
class: "mint-timeline__spacer--vertical"
|
|
6526
6704
|
};
|
|
@@ -6807,8 +6985,8 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
|
|
|
6807
6985
|
"stroke-linejoin": "round",
|
|
6808
6986
|
"stroke-width": "2",
|
|
6809
6987
|
d: "M12 4v16m8-8H4"
|
|
6810
|
-
})], -1)])], 8, _hoisted_16$
|
|
6811
|
-
__props.orientation === "vertical" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_17$
|
|
6988
|
+
})], -1)])], 8, _hoisted_16$19)) : createCommentVNode("", true),
|
|
6989
|
+
__props.orientation === "vertical" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_17$17)) : createCommentVNode("", true),
|
|
6812
6990
|
__props.orientation === "horizontal" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_18$15)) : createCommentVNode("", true)
|
|
6813
6991
|
], 40, _hoisted_2$47);
|
|
6814
6992
|
}), 128)),
|
|
@@ -7658,11 +7836,11 @@ var _hoisted_15$20 = {
|
|
|
7658
7836
|
key: 0,
|
|
7659
7837
|
class: "mint-well-plate__label"
|
|
7660
7838
|
};
|
|
7661
|
-
var _hoisted_16$
|
|
7839
|
+
var _hoisted_16$18 = {
|
|
7662
7840
|
key: 1,
|
|
7663
7841
|
class: "mint-well-plate__indicator"
|
|
7664
7842
|
};
|
|
7665
|
-
var _hoisted_17$
|
|
7843
|
+
var _hoisted_17$16 = {
|
|
7666
7844
|
key: 2,
|
|
7667
7845
|
class: "mint-well-plate__well-id"
|
|
7668
7846
|
};
|
|
@@ -7997,7 +8175,7 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
|
|
|
7997
8175
|
withKeys(withModifiers(($event) => unref(handleWellClick)(well, $event), ["exact"]), ["enter"]),
|
|
7998
8176
|
withKeys(withModifiers(($event) => unref(handleWellClick)(well, $event), ["exact", "prevent"]), ["space"])
|
|
7999
8177
|
]
|
|
8000
|
-
}, [getWellLabel(well) ? (openBlock(), createElementBlock("span", _hoisted_15$20, toDisplayString(getWellLabel(well)), 1)) : getSampleTypeIndicator(well) ? (openBlock(), createElementBlock("span", _hoisted_16$
|
|
8178
|
+
}, [getWellLabel(well) ? (openBlock(), createElementBlock("span", _hoisted_15$20, toDisplayString(getWellLabel(well)), 1)) : getSampleTypeIndicator(well) ? (openBlock(), createElementBlock("span", _hoisted_16$18, toDisplayString(getSampleTypeIndicator(well)), 1)) : props.showWellIds ? (openBlock(), createElementBlock("span", _hoisted_17$16, toDisplayString(well.id), 1)) : createCommentVNode("", true), getWellBadge(well) ? (openBlock(), createElementBlock("span", {
|
|
8001
8179
|
key: 3,
|
|
8002
8180
|
class: "mint-well-plate__badge",
|
|
8003
8181
|
style: normalizeStyle({ backgroundColor: getWellBadge(well)?.color }),
|
|
@@ -8764,11 +8942,11 @@ var _hoisted_13$20 = {
|
|
|
8764
8942
|
};
|
|
8765
8943
|
var _hoisted_14$19 = ["href"];
|
|
8766
8944
|
var _hoisted_15$19 = { key: 1 };
|
|
8767
|
-
var _hoisted_16$
|
|
8945
|
+
var _hoisted_16$17 = {
|
|
8768
8946
|
key: 2,
|
|
8769
8947
|
class: "mint-reagent-list__cell mint-reagent-list__cell--muted"
|
|
8770
8948
|
};
|
|
8771
|
-
var _hoisted_17$
|
|
8949
|
+
var _hoisted_17$15 = {
|
|
8772
8950
|
key: 3,
|
|
8773
8951
|
class: "mint-reagent-list__cell mint-reagent-list__cell--muted"
|
|
8774
8952
|
};
|
|
@@ -9067,8 +9245,8 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
|
|
|
9067
9245
|
rel: "noopener noreferrer",
|
|
9068
9246
|
class: "mint-reagent-list__link"
|
|
9069
9247
|
}, toDisplayString(reagent.name), 9, _hoisted_14$19)) : (openBlock(), createElementBlock("span", _hoisted_15$19, toDisplayString(reagent.name), 1))])) : createCommentVNode("", true),
|
|
9070
|
-
__props.columns.includes("catalog") ? (openBlock(), createElementBlock("td", _hoisted_16$
|
|
9071
|
-
__props.columns.includes("lot") ? (openBlock(), createElementBlock("td", _hoisted_17$
|
|
9248
|
+
__props.columns.includes("catalog") ? (openBlock(), createElementBlock("td", _hoisted_16$17, toDisplayString(reagent.catalogNumber || "-"), 1)) : createCommentVNode("", true),
|
|
9249
|
+
__props.columns.includes("lot") ? (openBlock(), createElementBlock("td", _hoisted_17$15, toDisplayString(reagent.lotNumber || "-"), 1)) : createCommentVNode("", true),
|
|
9072
9250
|
__props.columns.includes("expiry") ? (openBlock(), createElementBlock("td", _hoisted_18$13, [unref(isReagentExpired)(reagent) ? (openBlock(), createElementBlock("span", _hoisted_19$12, toDisplayString(unref(formatReagentExpiryDate)(reagent.expiryDate)), 1)) : unref(isReagentExpiringSoon)(reagent) ? (openBlock(), createElementBlock("span", _hoisted_20$11, toDisplayString(unref(formatReagentExpiryDate)(reagent.expiryDate)), 1)) : (openBlock(), createElementBlock("span", _hoisted_21$10, toDisplayString(unref(formatReagentExpiryDate)(reagent.expiryDate)), 1)), unref(isReagentExpired)(reagent) ? (openBlock(), createElementBlock("span", _hoisted_22$10, [..._cache[6] || (_cache[6] = [createElementVNode("svg", {
|
|
9073
9251
|
class: "mint-reagent-list__badge-icon",
|
|
9074
9252
|
fill: "none",
|
|
@@ -9253,11 +9431,11 @@ var _hoisted_15$18 = [
|
|
|
9253
9431
|
"aria-label",
|
|
9254
9432
|
"onClick"
|
|
9255
9433
|
];
|
|
9256
|
-
var _hoisted_16$
|
|
9434
|
+
var _hoisted_16$16 = {
|
|
9257
9435
|
key: 0,
|
|
9258
9436
|
class: "sg-field__order"
|
|
9259
9437
|
};
|
|
9260
|
-
var _hoisted_17$
|
|
9438
|
+
var _hoisted_17$14 = { class: "sg-field__layer" };
|
|
9261
9439
|
var _hoisted_18$12 = [
|
|
9262
9440
|
"disabled",
|
|
9263
9441
|
"aria-label",
|
|
@@ -9676,8 +9854,8 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9676
9854
|
"aria-label": "Group by " + field.key,
|
|
9677
9855
|
onClick: ($event) => toggle(i)
|
|
9678
9856
|
}, null, 10, _hoisted_15$18),
|
|
9679
|
-
on.value[i] && layers.value[i] !== null ? (openBlock(), createElementBlock("div", _hoisted_16$
|
|
9680
|
-
createElementVNode("span", _hoisted_17$
|
|
9857
|
+
on.value[i] && layers.value[i] !== null ? (openBlock(), createElementBlock("div", _hoisted_16$16, [
|
|
9858
|
+
createElementVNode("span", _hoisted_17$14, "Layer " + toDisplayString(layers.value[i]), 1),
|
|
9681
9859
|
createElementVNode("button", {
|
|
9682
9860
|
type: "button",
|
|
9683
9861
|
class: "sg-field__order-btn",
|
|
@@ -9874,8 +10052,8 @@ var _hoisted_15$17 = {
|
|
|
9874
10052
|
key: 0,
|
|
9875
10053
|
class: "mg2-list__empty"
|
|
9876
10054
|
};
|
|
9877
|
-
var _hoisted_16$
|
|
9878
|
-
var _hoisted_17$
|
|
10055
|
+
var _hoisted_16$15 = ["onClick"];
|
|
10056
|
+
var _hoisted_17$13 = ["checked"];
|
|
9879
10057
|
var _hoisted_18$11 = { class: "mg2-row__name" };
|
|
9880
10058
|
var _hoisted_19$10 = {
|
|
9881
10059
|
key: 0,
|
|
@@ -10195,7 +10373,7 @@ var SmartGroupManual_default = /* @__PURE__ */ defineComponent({
|
|
|
10195
10373
|
class: "mg2-cb",
|
|
10196
10374
|
checked: sel.value.has(match.index),
|
|
10197
10375
|
readonly: ""
|
|
10198
|
-
}, null, 8, _hoisted_17$
|
|
10376
|
+
}, null, 8, _hoisted_17$13),
|
|
10199
10377
|
createElementVNode("span", _hoisted_18$11, toDisplayString(match.sample.name), 1),
|
|
10200
10378
|
match.sample.group ? (openBlock(), createElementBlock("span", _hoisted_19$10, [
|
|
10201
10379
|
createElementVNode("span", {
|
|
@@ -10205,7 +10383,7 @@ var SmartGroupManual_default = /* @__PURE__ */ defineComponent({
|
|
|
10205
10383
|
createTextVNode(toDisplayString(match.sample.group), 1),
|
|
10206
10384
|
match.sample.sub ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(" · " + toDisplayString(match.sample.sub), 1)], 64)) : createCommentVNode("", true)
|
|
10207
10385
|
])) : (openBlock(), createElementBlock("span", _hoisted_20$9, "unassigned"))
|
|
10208
|
-
], 10, _hoisted_16$
|
|
10386
|
+
], 10, _hoisted_16$15);
|
|
10209
10387
|
}), 128))])
|
|
10210
10388
|
]), createElementVNode("div", _hoisted_21$8, [
|
|
10211
10389
|
createElementVNode("div", _hoisted_22$8, [_cache[14] || (_cache[14] = createElementVNode("span", { class: "mg2-cohorts__t" }, "Cohorts", -1)), createElementVNode("span", _hoisted_23$7, toDisplayString(tree.value.size) + " groups", 1)]),
|
|
@@ -11369,11 +11547,11 @@ var _hoisted_12$17 = {
|
|
|
11369
11547
|
var _hoisted_13$17 = { class: "mint-sample-selector__groups-header" };
|
|
11370
11548
|
var _hoisted_14$16 = { class: "mint-sample-selector__groups-title" };
|
|
11371
11549
|
var _hoisted_15$16 = { class: "mint-sample-selector__tree" };
|
|
11372
|
-
var _hoisted_16$
|
|
11550
|
+
var _hoisted_16$14 = {
|
|
11373
11551
|
key: 0,
|
|
11374
11552
|
class: "mint-sample-selector__hint"
|
|
11375
11553
|
};
|
|
11376
|
-
var _hoisted_17$
|
|
11554
|
+
var _hoisted_17$12 = {
|
|
11377
11555
|
key: 0,
|
|
11378
11556
|
class: "mint-sample-selector__ungrouped"
|
|
11379
11557
|
};
|
|
@@ -11675,8 +11853,8 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11675
11853
|
depth: 0,
|
|
11676
11854
|
ctx: treeContext.value
|
|
11677
11855
|
}, null, 8, ["node", "ctx"]);
|
|
11678
|
-
}), 128)), internalGroups.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_16$
|
|
11679
|
-
unref(ungroupedSamples).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_17$
|
|
11856
|
+
}), 128)), internalGroups.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_16$14, " Click Smart to auto-group samples ")) : createCommentVNode("", true)]),
|
|
11857
|
+
unref(ungroupedSamples).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_17$12, [createElementVNode("div", {
|
|
11680
11858
|
class: "mint-sample-selector__ungrouped-header",
|
|
11681
11859
|
onClick: _cache[2] || (_cache[2] = ($event) => toggleGroupExpanded("__ungrouped__"))
|
|
11682
11860
|
}, [
|
|
@@ -12032,8 +12210,8 @@ var _hoisted_15$15 = [
|
|
|
12032
12210
|
"onKeydown",
|
|
12033
12211
|
"onPointerdown"
|
|
12034
12212
|
];
|
|
12035
|
-
var _hoisted_16$
|
|
12036
|
-
var _hoisted_17$
|
|
12213
|
+
var _hoisted_16$13 = ["onPointerdown"];
|
|
12214
|
+
var _hoisted_17$11 = { class: "mint-schedule__event-title" };
|
|
12037
12215
|
var _hoisted_18$9 = { class: "mint-schedule__event-time" };
|
|
12038
12216
|
var _hoisted_19$8 = ["onPointerdown"];
|
|
12039
12217
|
var _hoisted_20$7 = {
|
|
@@ -12373,8 +12551,8 @@ var ScheduleCalendar_default = /* @__PURE__ */ defineComponent({
|
|
|
12373
12551
|
key: 0,
|
|
12374
12552
|
class: "mint-schedule__event-resize-handle mint-schedule__event-resize-handle--top",
|
|
12375
12553
|
onPointerdown: ($event) => onResizePointerDown(event, "top", dayIdx, $event)
|
|
12376
|
-
}, null, 40, _hoisted_16$
|
|
12377
|
-
createElementVNode("div", _hoisted_17$
|
|
12554
|
+
}, null, 40, _hoisted_16$13)) : createCommentVNode("", true),
|
|
12555
|
+
createElementVNode("div", _hoisted_17$11, toDisplayString(event.title), 1),
|
|
12378
12556
|
createElementVNode("div", _hoisted_18$9, toDisplayString(unref(formatEventTime)(event)), 1),
|
|
12379
12557
|
!__props.readonly && event.resizable !== false ? (openBlock(), createElementBlock("div", {
|
|
12380
12558
|
key: 1,
|
|
@@ -14420,12 +14598,12 @@ var _hoisted_12$14 = { class: "mint-group-assigner__zone-header" };
|
|
|
14420
14598
|
var _hoisted_13$14 = { class: "mint-group-assigner__zone-label" };
|
|
14421
14599
|
var _hoisted_14$14 = { class: "mint-group-assigner__zone-count" };
|
|
14422
14600
|
var _hoisted_15$14 = { class: "mint-group-assigner__zone-content" };
|
|
14423
|
-
var _hoisted_16$
|
|
14601
|
+
var _hoisted_16$12 = [
|
|
14424
14602
|
"aria-label",
|
|
14425
14603
|
"onDragstart",
|
|
14426
14604
|
"onKeydown"
|
|
14427
14605
|
];
|
|
14428
|
-
var _hoisted_17$
|
|
14606
|
+
var _hoisted_17$10 = { class: "mint-group-assigner__pill-name" };
|
|
14429
14607
|
var _hoisted_18$8 = { class: "mint-group-assigner__pill-count" };
|
|
14430
14608
|
var _hoisted_19$7 = ["onClick"];
|
|
14431
14609
|
var _hoisted_20$6 = {
|
|
@@ -14628,7 +14806,7 @@ var GroupAssigner_default = /* @__PURE__ */ defineComponent({
|
|
|
14628
14806
|
class: "mint-group-assigner__pill-color",
|
|
14629
14807
|
style: normalizeStyle({ backgroundColor: group.color })
|
|
14630
14808
|
}, null, 4),
|
|
14631
|
-
createElementVNode("span", _hoisted_17$
|
|
14809
|
+
createElementVNode("span", _hoisted_17$10, toDisplayString(group.name), 1),
|
|
14632
14810
|
createElementVNode("span", _hoisted_18$8, toDisplayString(group.count), 1),
|
|
14633
14811
|
createElementVNode("button", {
|
|
14634
14812
|
type: "button",
|
|
@@ -14642,7 +14820,7 @@ var GroupAssigner_default = /* @__PURE__ */ defineComponent({
|
|
|
14642
14820
|
stroke: "currentColor",
|
|
14643
14821
|
"stroke-width": "2"
|
|
14644
14822
|
}, [createElementVNode("path", { d: "M6 18L18 6M6 6l12 12" })], -1)])], 8, _hoisted_19$7)
|
|
14645
|
-
], 40, _hoisted_16$
|
|
14823
|
+
], 40, _hoisted_16$12);
|
|
14646
14824
|
}), 128)), unref(zone2Groups).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_20$6, " Drag groups here ")) : createCommentVNode("", true)])], 38)]),
|
|
14647
14825
|
unref(unassignedGroups).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_21$5, [createElementVNode("div", _hoisted_22$5, [_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", {
|
|
14648
14826
|
key: 0,
|
|
@@ -14779,8 +14957,8 @@ var _hoisted_12$13 = { class: "mint-reagent-editor__section" };
|
|
|
14779
14957
|
var _hoisted_13$13 = { class: "mint-reagent-editor__section-header" };
|
|
14780
14958
|
var _hoisted_14$13 = ["value"];
|
|
14781
14959
|
var _hoisted_15$13 = ["value"];
|
|
14782
|
-
var _hoisted_16$
|
|
14783
|
-
var _hoisted_17$
|
|
14960
|
+
var _hoisted_16$11 = { class: "mint-reagent-editor__generator" };
|
|
14961
|
+
var _hoisted_17$9 = { class: "mint-reagent-editor__generator-inputs" };
|
|
14784
14962
|
var _hoisted_18$7 = { class: "mint-reagent-editor__field mint-reagent-editor__field--flex" };
|
|
14785
14963
|
var _hoisted_19$6 = { class: "mint-reagent-editor__field mint-reagent-editor__field--flex" };
|
|
14786
14964
|
var _hoisted_20$5 = { class: "mint-reagent-editor__presets" };
|
|
@@ -15025,7 +15203,7 @@ var ReagentEditor_default = /* @__PURE__ */ defineComponent({
|
|
|
15025
15203
|
}, toDisplayString(u), 9, _hoisted_15$13);
|
|
15026
15204
|
}), 128))], 40, _hoisted_14$13)
|
|
15027
15205
|
]),
|
|
15028
|
-
createElementVNode("div", _hoisted_16$
|
|
15206
|
+
createElementVNode("div", _hoisted_16$11, [createElementVNode("div", _hoisted_17$9, [createElementVNode("div", _hoisted_18$7, [_cache[9] || (_cache[9] = createElementVNode("label", { class: "mint-reagent-editor__label" }, "Start", -1)), createVNode(NumberInput_default, {
|
|
15029
15207
|
modelValue: generatorStart.value,
|
|
15030
15208
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => generatorStart.value = $event),
|
|
15031
15209
|
min: 0,
|
|
@@ -15654,11 +15832,11 @@ var _hoisted_14$12 = {
|
|
|
15654
15832
|
class: "mint-protocol-editor__template-option-desc"
|
|
15655
15833
|
};
|
|
15656
15834
|
var _hoisted_15$12 = { class: "mint-protocol-editor__field" };
|
|
15657
|
-
var _hoisted_16$
|
|
15835
|
+
var _hoisted_16$10 = {
|
|
15658
15836
|
key: 0,
|
|
15659
15837
|
class: "mint-protocol-editor__field-error"
|
|
15660
15838
|
};
|
|
15661
|
-
var _hoisted_17$
|
|
15839
|
+
var _hoisted_17$8 = { class: "mint-protocol-editor__field" };
|
|
15662
15840
|
var _hoisted_18$6 = {
|
|
15663
15841
|
key: 0,
|
|
15664
15842
|
class: "mint-protocol-editor__preview"
|
|
@@ -15839,7 +16017,7 @@ var ProtocolStepEditor_default = /* @__PURE__ */ defineComponent({
|
|
|
15839
16017
|
class: normalizeClass(["mint-protocol-editor__input", validationErrors.value.name ? "mint-protocol-editor__input--error" : ""]),
|
|
15840
16018
|
placeholder: "Enter step name"
|
|
15841
16019
|
}, null, 2), [[vModelText, stepName.value]]),
|
|
15842
|
-
validationErrors.value.name ? (openBlock(), createElementBlock("span", _hoisted_16$
|
|
16020
|
+
validationErrors.value.name ? (openBlock(), createElementBlock("span", _hoisted_16$10, toDisplayString(validationErrors.value.name), 1)) : createCommentVNode("", true)
|
|
15843
16021
|
]),
|
|
15844
16022
|
selectedTemplate.value ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(selectedTemplate.value.parameters, (param) => {
|
|
15845
16023
|
return openBlock(), createBlock(ProtocolStepParameterField_default, {
|
|
@@ -15855,7 +16033,7 @@ var ProtocolStepEditor_default = /* @__PURE__ */ defineComponent({
|
|
|
15855
16033
|
"onUpdate:modelValue"
|
|
15856
16034
|
]);
|
|
15857
16035
|
}), 128)) : createCommentVNode("", true),
|
|
15858
|
-
createElementVNode("div", _hoisted_17$
|
|
16036
|
+
createElementVNode("div", _hoisted_17$8, [_cache[6] || (_cache[6] = createElementVNode("label", { class: "mint-protocol-editor__field-label" }, "Description", -1)), withDirectives(createElementVNode("textarea", {
|
|
15859
16037
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => stepDescription.value = $event),
|
|
15860
16038
|
class: "mint-protocol-editor__textarea",
|
|
15861
16039
|
placeholder: "Optional step description",
|
|
@@ -16283,11 +16461,11 @@ var _hoisted_13$11 = {
|
|
|
16283
16461
|
};
|
|
16284
16462
|
var _hoisted_14$11 = { class: "mint-instrument-alert__time" };
|
|
16285
16463
|
var _hoisted_15$11 = { class: "mint-instrument-alert__detail" };
|
|
16286
|
-
var _hoisted_16$
|
|
16464
|
+
var _hoisted_16$9 = {
|
|
16287
16465
|
key: 0,
|
|
16288
16466
|
class: "mint-instrument-alert__footer"
|
|
16289
16467
|
};
|
|
16290
|
-
var _hoisted_17$
|
|
16468
|
+
var _hoisted_17$7 = {
|
|
16291
16469
|
key: 0,
|
|
16292
16470
|
class: "mint-instrument-alert__code"
|
|
16293
16471
|
};
|
|
@@ -16441,7 +16619,7 @@ var InstrumentAlertLog_default = /* @__PURE__ */ defineComponent({
|
|
|
16441
16619
|
createElementVNode("span", _hoisted_14$11, toDisplayString(timeAgo(alert.timestamp)), 1)
|
|
16442
16620
|
]),
|
|
16443
16621
|
createElementVNode("div", _hoisted_15$11, toDisplayString(alertDetail(alert)), 1),
|
|
16444
|
-
alert.body?.code != null || __props.acknowledgeable && !alert.acknowledged && alert.level !== "info" ? (openBlock(), createElementBlock("div", _hoisted_16$
|
|
16622
|
+
alert.body?.code != null || __props.acknowledgeable && !alert.acknowledged && alert.level !== "info" ? (openBlock(), createElementBlock("div", _hoisted_16$9, [alert.body?.code != null ? (openBlock(), createElementBlock("span", _hoisted_17$7, " Code " + toDisplayString(alert.body.code), 1)) : createCommentVNode("", true), __props.acknowledgeable && !alert.acknowledged && alert.level !== "info" ? (openBlock(), createElementBlock("button", {
|
|
16445
16623
|
key: 1,
|
|
16446
16624
|
type: "button",
|
|
16447
16625
|
class: "mint-instrument-alert__ack",
|
|
@@ -16819,7 +16997,7 @@ var _hoisted_15$9 = {
|
|
|
16819
16997
|
key: 3,
|
|
16820
16998
|
class: "mint-lcms-sequence-table__state"
|
|
16821
16999
|
};
|
|
16822
|
-
var _hoisted_16$
|
|
17000
|
+
var _hoisted_16$8 = {
|
|
16823
17001
|
key: 4,
|
|
16824
17002
|
class: "mint-lcms-sequence-table__more"
|
|
16825
17003
|
};
|
|
@@ -16960,7 +17138,7 @@ var LcmsSequenceTable_default = /* @__PURE__ */ defineComponent({
|
|
|
16960
17138
|
size: "sm",
|
|
16961
17139
|
title: __props.emptyMessage
|
|
16962
17140
|
}, null, 8, ["title"])])])),
|
|
16963
|
-
hasMore.value && __props.showMoreLabel ? (openBlock(), createElementBlock("div", _hoisted_16$
|
|
17141
|
+
hasMore.value && __props.showMoreLabel ? (openBlock(), createElementBlock("div", _hoisted_16$8, " Showing first " + toDisplayString(__props.maxRows) + " of " + toDisplayString(__props.items.length) + " items ", 1)) : createCommentVNode("", true),
|
|
16964
17142
|
createElementVNode("div", {
|
|
16965
17143
|
role: "status",
|
|
16966
17144
|
"aria-live": "polite",
|
|
@@ -17008,7 +17186,7 @@ var _hoisted_15$8 = {
|
|
|
17008
17186
|
key: 3,
|
|
17009
17187
|
class: "mint-audit-trail__state"
|
|
17010
17188
|
};
|
|
17011
|
-
var _hoisted_16$
|
|
17189
|
+
var _hoisted_16$7 = {
|
|
17012
17190
|
key: 4,
|
|
17013
17191
|
class: "mint-audit-trail__state"
|
|
17014
17192
|
};
|
|
@@ -17142,7 +17320,7 @@ var AuditTrail_default = /* @__PURE__ */ defineComponent({
|
|
|
17142
17320
|
state: "loading",
|
|
17143
17321
|
size: "sm",
|
|
17144
17322
|
"loading-label": "Loading activity"
|
|
17145
|
-
})])])) : !sortedEntries.value.length ? (openBlock(), createElementBlock("div", _hoisted_16$
|
|
17323
|
+
})])])) : !sortedEntries.value.length ? (openBlock(), createElementBlock("div", _hoisted_16$7, [renderSlot(_ctx.$slots, "empty", {}, () => [createVNode(DataStateInternal_default, {
|
|
17146
17324
|
state: "empty",
|
|
17147
17325
|
size: "sm",
|
|
17148
17326
|
title: __props.emptyMessage
|
|
@@ -17195,8 +17373,8 @@ var _hoisted_14$7 = {
|
|
|
17195
17373
|
class: "mint-batch-progress__state"
|
|
17196
17374
|
};
|
|
17197
17375
|
var _hoisted_15$7 = ["data-item-id"];
|
|
17198
|
-
var _hoisted_16$
|
|
17199
|
-
var _hoisted_17$
|
|
17376
|
+
var _hoisted_16$6 = { class: "mint-batch-progress__item-row" };
|
|
17377
|
+
var _hoisted_17$6 = {
|
|
17200
17378
|
key: 0,
|
|
17201
17379
|
viewBox: "0 0 16 16",
|
|
17202
17380
|
fill: "none",
|
|
@@ -17353,8 +17531,8 @@ var BatchProgressList_default = /* @__PURE__ */ defineComponent({
|
|
|
17353
17531
|
key: item.id,
|
|
17354
17532
|
"data-item-id": item.id,
|
|
17355
17533
|
class: normalizeClass(["mint-batch-progress__item", `mint-batch-progress__item--${item.status}`])
|
|
17356
|
-
}, [renderSlot(_ctx.$slots, "item", { item }, () => [createElementVNode("div", _hoisted_16$
|
|
17357
|
-
createElementVNode("div", { class: normalizeClass(["mint-batch-progress__item-icon", `mint-batch-progress__item-icon--${item.status}`]) }, [item.status === "pending" ? (openBlock(), createElementBlock("svg", _hoisted_17$
|
|
17534
|
+
}, [renderSlot(_ctx.$slots, "item", { item }, () => [createElementVNode("div", _hoisted_16$6, [
|
|
17535
|
+
createElementVNode("div", { class: normalizeClass(["mint-batch-progress__item-icon", `mint-batch-progress__item-icon--${item.status}`]) }, [item.status === "pending" ? (openBlock(), createElementBlock("svg", _hoisted_17$6, [..._cache[0] || (_cache[0] = [createElementVNode("circle", {
|
|
17358
17536
|
cx: "8",
|
|
17359
17537
|
cy: "8",
|
|
17360
17538
|
r: "6.5"
|
|
@@ -17432,11 +17610,11 @@ var _hoisted_12$6 = { class: "mint-summary__pill-value" };
|
|
|
17432
17610
|
var _hoisted_13$6 = { class: "mint-summary__group-header" };
|
|
17433
17611
|
var _hoisted_14$6 = { class: "mint-summary__group-label" };
|
|
17434
17612
|
var _hoisted_15$6 = { class: "mint-summary__group-count" };
|
|
17435
|
-
var _hoisted_16$
|
|
17613
|
+
var _hoisted_16$5 = {
|
|
17436
17614
|
key: 0,
|
|
17437
17615
|
class: "mint-summary__group-meta"
|
|
17438
17616
|
};
|
|
17439
|
-
var _hoisted_17$
|
|
17617
|
+
var _hoisted_17$5 = { class: "mint-summary__pill-key" };
|
|
17440
17618
|
var _hoisted_18$3 = { class: "mint-summary__pill-value" };
|
|
17441
17619
|
var _hoisted_19$2 = { class: "mint-summary__table-header" };
|
|
17442
17620
|
var _hoisted_20$2 = { class: "mint-summary__section-label" };
|
|
@@ -17616,11 +17794,11 @@ var ExperimentDataViewer_default = /* @__PURE__ */ defineComponent({
|
|
|
17616
17794
|
class: "mint-summary__group-card"
|
|
17617
17795
|
}, [
|
|
17618
17796
|
createElementVNode("div", _hoisted_13$6, [createElementVNode("span", _hoisted_14$6, toDisplayString(item.label), 1), createElementVNode("span", _hoisted_15$6, toDisplayString(item.item_count) + " " + toDisplayString(item.item_key), 1)]),
|
|
17619
|
-
item.metadata && Object.keys(item.metadata).length ? (openBlock(), createElementBlock("div", _hoisted_16$
|
|
17797
|
+
item.metadata && Object.keys(item.metadata).length ? (openBlock(), createElementBlock("div", _hoisted_16$5, [(openBlock(true), createElementBlock(Fragment, null, renderList(item.metadata, (val, key) => {
|
|
17620
17798
|
return openBlock(), createElementBlock("span", {
|
|
17621
17799
|
key: String(key),
|
|
17622
17800
|
class: "mint-summary__pill mint-summary__pill--sm"
|
|
17623
|
-
}, [createElementVNode("span", _hoisted_17$
|
|
17801
|
+
}, [createElementVNode("span", _hoisted_17$5, toDisplayString(String(key).replace(/_/g, " ")), 1), createElementVNode("span", _hoisted_18$3, toDisplayString(val), 1)]);
|
|
17624
17802
|
}), 128))])) : createCommentVNode("", true),
|
|
17625
17803
|
item.rows.length ? (openBlock(), createBlock(DataFrame_default, {
|
|
17626
17804
|
key: 1,
|
|
@@ -17829,8 +18007,8 @@ var _hoisted_15$5 = {
|
|
|
17829
18007
|
key: 0,
|
|
17830
18008
|
class: "mint-resource-card__specs"
|
|
17831
18009
|
};
|
|
17832
|
-
var _hoisted_16$
|
|
17833
|
-
var _hoisted_17$
|
|
18010
|
+
var _hoisted_16$4 = { class: "mint-resource-card__spec-label" };
|
|
18011
|
+
var _hoisted_17$4 = { class: "mint-resource-card__spec-value" };
|
|
17834
18012
|
var _hoisted_18$2 = {
|
|
17835
18013
|
key: 1,
|
|
17836
18014
|
class: "mint-resource-card__footer"
|
|
@@ -17928,7 +18106,7 @@ var ResourceCard_default = /* @__PURE__ */ defineComponent({
|
|
|
17928
18106
|
return openBlock(), createElementBlock("div", {
|
|
17929
18107
|
key: spec.label,
|
|
17930
18108
|
class: "mint-resource-card__spec"
|
|
17931
|
-
}, [createElementVNode("span", _hoisted_16$
|
|
18109
|
+
}, [createElementVNode("span", _hoisted_16$4, toDisplayString(spec.label), 1), createElementVNode("span", _hoisted_17$4, toDisplayString(spec.value), 1)]);
|
|
17932
18110
|
}), 128))])])) : createCommentVNode("", true),
|
|
17933
18111
|
__props.tags.length > 0 || __props.showBookAction || _ctx.$slots.action ? (openBlock(), createElementBlock("div", _hoisted_18$2, [createElementVNode("div", _hoisted_19$1, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.tags, (tag) => {
|
|
17934
18112
|
return openBlock(), createBlock(BasePill_default, {
|
|
@@ -18539,8 +18717,8 @@ var _hoisted_12$3 = {
|
|
|
18539
18717
|
var _hoisted_13$3 = { class: "mint-file-browser__tray" };
|
|
18540
18718
|
var _hoisted_14$3 = { class: "mint-file-browser__tray-main" };
|
|
18541
18719
|
var _hoisted_15$3 = { class: "mint-file-browser__tray-head" };
|
|
18542
|
-
var _hoisted_16$
|
|
18543
|
-
var _hoisted_17$
|
|
18720
|
+
var _hoisted_16$3 = { class: "mint-file-browser__tray-count" };
|
|
18721
|
+
var _hoisted_17$3 = { class: "mint-file-browser__tray-summary" };
|
|
18544
18722
|
var _hoisted_18$1 = {
|
|
18545
18723
|
key: 0,
|
|
18546
18724
|
class: "mint-file-browser__chips",
|
|
@@ -18723,8 +18901,8 @@ var FileBrowserModal_default = /* @__PURE__ */ defineComponent({
|
|
|
18723
18901
|
_: 1
|
|
18724
18902
|
})) : createCommentVNode("", true)]),
|
|
18725
18903
|
footer: withCtx(() => [createElementVNode("div", _hoisted_13$3, [createElementVNode("div", _hoisted_14$3, [createElementVNode("div", _hoisted_15$3, [
|
|
18726
|
-
createElementVNode("span", _hoisted_16$
|
|
18727
|
-
createElementVNode("span", _hoisted_17$
|
|
18904
|
+
createElementVNode("span", _hoisted_16$3, toDisplayString(selectedCount.value) + " selected", 1),
|
|
18905
|
+
createElementVNode("span", _hoisted_17$3, toDisplayString(selectionSummary.value), 1),
|
|
18728
18906
|
selectedCount.value ? (openBlock(), createBlock(BaseButton_default, {
|
|
18729
18907
|
key: 0,
|
|
18730
18908
|
variant: "ghost",
|
|
@@ -19369,11 +19547,11 @@ var _hoisted_13$2 = {
|
|
|
19369
19547
|
};
|
|
19370
19548
|
var _hoisted_14$2 = { class: "mint-picker__row-meta" };
|
|
19371
19549
|
var _hoisted_15$2 = { key: 1 };
|
|
19372
|
-
var _hoisted_16$
|
|
19550
|
+
var _hoisted_16$2 = {
|
|
19373
19551
|
key: 2,
|
|
19374
19552
|
"aria-label": "Unavailable"
|
|
19375
19553
|
};
|
|
19376
|
-
var _hoisted_17$
|
|
19554
|
+
var _hoisted_17$2 = {
|
|
19377
19555
|
key: 0,
|
|
19378
19556
|
class: "mint-picker__branch-error",
|
|
19379
19557
|
role: "alert"
|
|
@@ -19551,7 +19729,7 @@ var FilePickerTreeInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
19551
19729
|
class: normalizeClass({ "mint-picker__partial": __props.selected(row.node) && __props.progress(row.node).split(" / ")[0] !== String(row.node.fileCount) })
|
|
19552
19730
|
}, toDisplayString(__props.progress(row.node)), 3)) : createCommentVNode("", true),
|
|
19553
19731
|
!__props.reason(row.node) && row.node.bytes != null ? (openBlock(), createElementBlock("span", _hoisted_15$2, toDisplayString(unref(formatBytes)(row.node.bytes)), 1)) : createCommentVNode("", true),
|
|
19554
|
-
__props.reason(row.node) ? (openBlock(), createElementBlock("span", _hoisted_16$
|
|
19732
|
+
__props.reason(row.node) ? (openBlock(), createElementBlock("span", _hoisted_16$2, "ⓘ")) : createCommentVNode("", true)
|
|
19555
19733
|
]),
|
|
19556
19734
|
__props.query && __props.mode === "folder" && row.node.kind === "file" && row.node.parentPath && !__props.reason(row.node) ? (openBlock(), createBlock(BaseButton_default, {
|
|
19557
19735
|
key: 2,
|
|
@@ -19562,7 +19740,7 @@ var FilePickerTreeInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
19562
19740
|
default: withCtx(() => [..._cache[4] || (_cache[4] = [createTextVNode("Select its folder", -1)])]),
|
|
19563
19741
|
_: 1
|
|
19564
19742
|
}, 8, ["onClick"])) : createCommentVNode("", true)
|
|
19565
|
-
], 46, _hoisted_5$2), row.error ? (openBlock(), createElementBlock("div", _hoisted_17$
|
|
19743
|
+
], 46, _hoisted_5$2), row.error ? (openBlock(), createElementBlock("div", _hoisted_17$2, [createTextVNode(toDisplayString(row.error), 1), createVNode(BaseButton_default, {
|
|
19566
19744
|
variant: "ghost",
|
|
19567
19745
|
size: "sm",
|
|
19568
19746
|
onClick: ($event) => emit("expand", row.node)
|
|
@@ -19606,12 +19784,12 @@ var _hoisted_12$1 = { key: 0 };
|
|
|
19606
19784
|
var _hoisted_13$1 = { key: 0 };
|
|
19607
19785
|
var _hoisted_14$1 = { key: 1 };
|
|
19608
19786
|
var _hoisted_15$1 = { key: 0 };
|
|
19609
|
-
var _hoisted_16 = {
|
|
19787
|
+
var _hoisted_16$1 = {
|
|
19610
19788
|
key: 1,
|
|
19611
19789
|
class: "mint-picker__preview-error",
|
|
19612
19790
|
role: "alert"
|
|
19613
19791
|
};
|
|
19614
|
-
var _hoisted_17 = {
|
|
19792
|
+
var _hoisted_17$1 = {
|
|
19615
19793
|
key: 2,
|
|
19616
19794
|
class: "mint-picker__ready",
|
|
19617
19795
|
role: "status"
|
|
@@ -19672,21 +19850,21 @@ var FilePickerPreviewInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
19672
19850
|
default: withCtx(() => [createTextVNode(toDisplayString(__props.exclusions.length) + " skipped · Review", 1)]),
|
|
19673
19851
|
_: 1
|
|
19674
19852
|
})) : createCommentVNode("", true),
|
|
19675
|
-
__props.error ? (openBlock(), createElementBlock("div", _hoisted_16, [createTextVNode(toDisplayString(__props.error), 1), createVNode(BaseButton_default, {
|
|
19853
|
+
__props.error ? (openBlock(), createElementBlock("div", _hoisted_16$1, [createTextVNode(toDisplayString(__props.error), 1), createVNode(BaseButton_default, {
|
|
19676
19854
|
variant: "secondary",
|
|
19677
19855
|
size: "sm",
|
|
19678
19856
|
onClick: _cache[2] || (_cache[2] = ($event) => emit("retry"))
|
|
19679
19857
|
}, {
|
|
19680
19858
|
default: withCtx(() => [..._cache[10] || (_cache[10] = [createTextVNode("Try again", -1)])]),
|
|
19681
19859
|
_: 1
|
|
19682
|
-
})])) : (openBlock(), createElementBlock("span", _hoisted_17, toDisplayString(__props.busy ? "Checking selection…" : "✓ Metadata available"), 1))
|
|
19860
|
+
})])) : (openBlock(), createElementBlock("span", _hoisted_17$1, toDisplayString(__props.busy ? "Checking selection…" : "✓ Metadata available"), 1))
|
|
19683
19861
|
])) : (openBlock(), createElementBlock("div", _hoisted_18, " Select a file or folder to preview its details. "))]);
|
|
19684
19862
|
};
|
|
19685
19863
|
}
|
|
19686
19864
|
});
|
|
19687
19865
|
//#endregion
|
|
19688
19866
|
//#region src/composables/filePicker/usePickerNavigation.ts
|
|
19689
|
-
function usePickerNavigation(adapter, request) {
|
|
19867
|
+
function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
19690
19868
|
const path = shallowRef("");
|
|
19691
19869
|
const trail = ref([]);
|
|
19692
19870
|
const entries = shallowRef([]);
|
|
@@ -19702,6 +19880,16 @@ function usePickerNavigation(adapter, request) {
|
|
|
19702
19880
|
let controller;
|
|
19703
19881
|
const pending = /* @__PURE__ */ new Map();
|
|
19704
19882
|
const childControllers = /* @__PURE__ */ new Set();
|
|
19883
|
+
function isAllowed(node) {
|
|
19884
|
+
const seen = /* @__PURE__ */ new Set();
|
|
19885
|
+
let current = node;
|
|
19886
|
+
while (current && !seen.has(current.path)) {
|
|
19887
|
+
if (!systemFilter(current)) return false;
|
|
19888
|
+
seen.add(current.path);
|
|
19889
|
+
current = current.parentPath ? nodes.value.get(current.parentPath) : void 0;
|
|
19890
|
+
}
|
|
19891
|
+
return true;
|
|
19892
|
+
}
|
|
19705
19893
|
function register(items, parent) {
|
|
19706
19894
|
for (const item of items) nodes.value.set(item.path, {
|
|
19707
19895
|
...item,
|
|
@@ -19729,7 +19917,7 @@ function usePickerNavigation(adapter, request) {
|
|
|
19729
19917
|
loading.value = false;
|
|
19730
19918
|
error.value = "";
|
|
19731
19919
|
}
|
|
19732
|
-
async function loadChildren(folder, ancestors = []) {
|
|
19920
|
+
async function loadChildren(folder, ancestors = [], refresh = false) {
|
|
19733
19921
|
if (ancestors.includes(folder)) throw new Error("The adapter returned a circular folder tree.");
|
|
19734
19922
|
const cached = children.value.get(folder);
|
|
19735
19923
|
if (cached) return cached;
|
|
@@ -19740,6 +19928,7 @@ function usePickerNavigation(adapter, request) {
|
|
|
19740
19928
|
childControllers.add(abort);
|
|
19741
19929
|
const task = adapter().listChildren(folder, {
|
|
19742
19930
|
...request(),
|
|
19931
|
+
...refresh && { refresh },
|
|
19743
19932
|
signal: abort.signal
|
|
19744
19933
|
}).then((items) => {
|
|
19745
19934
|
if (token !== epoch) throw new DOMException("Cancelled", "AbortError");
|
|
@@ -19762,12 +19951,13 @@ function usePickerNavigation(adapter, request) {
|
|
|
19762
19951
|
pending.set(folder, task);
|
|
19763
19952
|
return task;
|
|
19764
19953
|
}
|
|
19765
|
-
async function load(query = "", recursive = false) {
|
|
19954
|
+
async function load(query = "", recursive = false, refresh = false) {
|
|
19766
19955
|
const token = ++navigation;
|
|
19767
19956
|
controller?.abort();
|
|
19768
19957
|
controller = new AbortController();
|
|
19769
19958
|
const options = {
|
|
19770
19959
|
...request(),
|
|
19960
|
+
...refresh && { refresh },
|
|
19771
19961
|
signal: controller.signal
|
|
19772
19962
|
};
|
|
19773
19963
|
loading.value = true;
|
|
@@ -19777,7 +19967,7 @@ function usePickerNavigation(adapter, request) {
|
|
|
19777
19967
|
const items = query.trim() ? await adapter().search(query.trim(), {
|
|
19778
19968
|
path: path.value,
|
|
19779
19969
|
recursive
|
|
19780
|
-
}, options) : path.value ? await loadChildren(path.value) : await adapter().listRoot(options);
|
|
19970
|
+
}, options) : path.value ? await loadChildren(path.value, [], refresh) : await adapter().listRoot(options);
|
|
19781
19971
|
if (token !== navigation) return;
|
|
19782
19972
|
register(items, query.trim() ? void 0 : path.value);
|
|
19783
19973
|
entries.value = items;
|
|
@@ -19788,7 +19978,7 @@ function usePickerNavigation(adapter, request) {
|
|
|
19788
19978
|
}
|
|
19789
19979
|
}
|
|
19790
19980
|
async function expand(node) {
|
|
19791
|
-
if (node.kind !== "folder" || node.unavailableReason) return;
|
|
19981
|
+
if (node.kind !== "folder" || node.unavailableReason || !isAllowed(node)) return;
|
|
19792
19982
|
if (expanded.value.has(node.path)) {
|
|
19793
19983
|
expanded.value.delete(node.path);
|
|
19794
19984
|
return;
|
|
@@ -19806,7 +19996,7 @@ function usePickerNavigation(adapter, request) {
|
|
|
19806
19996
|
}
|
|
19807
19997
|
}
|
|
19808
19998
|
function enter(node) {
|
|
19809
|
-
if (node.kind !== "folder" || node.unavailableReason) return;
|
|
19999
|
+
if (node.kind !== "folder" || node.unavailableReason || !isAllowed(node)) return;
|
|
19810
20000
|
const index = trail.value.findIndex((crumb) => crumb.path === node.path);
|
|
19811
20001
|
trail.value = index >= 0 ? trail.value.slice(0, index + 1) : [...trail.value, {
|
|
19812
20002
|
path: node.path,
|
|
@@ -19825,6 +20015,7 @@ function usePickerNavigation(adapter, request) {
|
|
|
19825
20015
|
for (const item of items) {
|
|
19826
20016
|
if (ancestors.has(item.path) || depth > 30) continue;
|
|
19827
20017
|
const node = nodes.value.get(item.path) ?? item;
|
|
20018
|
+
if (!isAllowed(node)) continue;
|
|
19828
20019
|
result.push({
|
|
19829
20020
|
node,
|
|
19830
20021
|
depth,
|
|
@@ -19851,6 +20042,7 @@ function usePickerNavigation(adapter, request) {
|
|
|
19851
20042
|
loading,
|
|
19852
20043
|
error,
|
|
19853
20044
|
rows,
|
|
20045
|
+
isAllowed,
|
|
19854
20046
|
clear,
|
|
19855
20047
|
invalidate,
|
|
19856
20048
|
register,
|
|
@@ -19882,6 +20074,11 @@ function usePickerSelection(nav, mode, capability, skipBlanks) {
|
|
|
19882
20074
|
return false;
|
|
19883
20075
|
}
|
|
19884
20076
|
function exclusion(node) {
|
|
20077
|
+
if (!nav.isAllowed(node)) return {
|
|
20078
|
+
path: node.path,
|
|
20079
|
+
name: node.name,
|
|
20080
|
+
reason: "forbidden"
|
|
20081
|
+
};
|
|
19885
20082
|
const own = pickerExclusion(node, capability(), skipBlanks());
|
|
19886
20083
|
if (own) return own;
|
|
19887
20084
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -19960,11 +20157,12 @@ function usePickerSelection(nav, mode, capability, skipBlanks) {
|
|
|
19960
20157
|
selection.excluded.filter((item) => item.reason === "deselected").forEach((item) => dropped.value.add(item.path));
|
|
19961
20158
|
}
|
|
19962
20159
|
}
|
|
19963
|
-
const roots = computed(() => [...keys.value].map((key) => nav.nodes.value.get(key)).filter((node) => !!node && !ancestorSelected(node)));
|
|
20160
|
+
const roots = computed(() => [...keys.value].map((key) => nav.nodes.value.get(key)).filter((node) => !!node && !ancestorSelected(node) && nav.isAllowed(node)));
|
|
19964
20161
|
const chosen = computed(() => {
|
|
19965
20162
|
const files = [];
|
|
19966
20163
|
const excluded = [];
|
|
19967
20164
|
for (const node of nav.nodes.value.values()) {
|
|
20165
|
+
if (!nav.isAllowed(node)) continue;
|
|
19968
20166
|
if (!keys.value.has(node.path) && !ancestorSelected(node)) continue;
|
|
19969
20167
|
const reason = exclusion(node) ?? (dropped.value.has(node.path) ? {
|
|
19970
20168
|
path: node.path,
|
|
@@ -19994,6 +20192,7 @@ function usePickerSelection(nav, mode, capability, skipBlanks) {
|
|
|
19994
20192
|
const seen = /* @__PURE__ */ new Set();
|
|
19995
20193
|
async function walk(node, ancestors = []) {
|
|
19996
20194
|
if (token !== generation) throw new DOMException("Cancelled", "AbortError");
|
|
20195
|
+
if (!nav.isAllowed(node)) return [];
|
|
19997
20196
|
if (node.kind === "file") return [node];
|
|
19998
20197
|
if (node.unavailableReason) return [];
|
|
19999
20198
|
if (ancestors.includes(node.path)) throw new Error("The adapter returned a circular folder tree.");
|
|
@@ -20028,7 +20227,13 @@ function usePickerSelection(nav, mode, capability, skipBlanks) {
|
|
|
20028
20227
|
if (token === generation) resolving.value = false;
|
|
20029
20228
|
}
|
|
20030
20229
|
}
|
|
20031
|
-
const focused = computed(() =>
|
|
20230
|
+
const focused = computed(() => {
|
|
20231
|
+
const node = nav.nodes.value.get(focusPath.value);
|
|
20232
|
+
return node && nav.isAllowed(node) ? node : roots.value[roots.value.length - 1] ?? null;
|
|
20233
|
+
});
|
|
20234
|
+
watch(() => new Map([...nav.nodes.value].map(([path, node]) => [path, nav.isAllowed(node)])), (allowed, previous) => {
|
|
20235
|
+
if (keys.value.size && [...allowed].some(([path, value]) => previous.has(path) && value !== previous.get(path))) resolve();
|
|
20236
|
+
});
|
|
20032
20237
|
function folderProgress(node) {
|
|
20033
20238
|
if (node.kind !== "folder" || node.fileCount == null) return "";
|
|
20034
20239
|
const allowed = chosen.value.files.filter((file) => ancestorSelected(file, new Set([node.path]))).length;
|
|
@@ -20056,10 +20261,10 @@ function usePickerSelection(nav, mode, capability, skipBlanks) {
|
|
|
20056
20261
|
//#endregion
|
|
20057
20262
|
//#region src/composables/filePicker/localFiles.ts
|
|
20058
20263
|
/** Construct metadata only: no FileReader, arrayBuffer or upload. */
|
|
20059
|
-
function localFilesAdapter(files) {
|
|
20264
|
+
function localFilesAdapter(files, relativePaths) {
|
|
20060
20265
|
const nodes = /* @__PURE__ */ new Map();
|
|
20061
|
-
for (const file of files) {
|
|
20062
|
-
const relative = file.webkitRelativePath || file.name;
|
|
20266
|
+
for (const [index, file] of files.entries()) {
|
|
20267
|
+
const relative = relativePaths?.[index] || file.webkitRelativePath || file.name;
|
|
20063
20268
|
const parts = relative.split("/");
|
|
20064
20269
|
let parent = null;
|
|
20065
20270
|
for (let i = 0; i < parts.length - 1; i++) {
|
|
@@ -20122,8 +20327,9 @@ function useFilePicker(props, emit) {
|
|
|
20122
20327
|
const skipBlanks = shallowRef(false);
|
|
20123
20328
|
const reviewing = shallowRef(false);
|
|
20124
20329
|
const localFiles = shallowRef([]);
|
|
20125
|
-
const
|
|
20126
|
-
const
|
|
20330
|
+
const localPaths = /* @__PURE__ */ new WeakMap();
|
|
20331
|
+
const localAdapter = computed(() => localFilesAdapter(localFiles.value, localFiles.value.map((file) => localPaths.get(toRaw(file)))));
|
|
20332
|
+
const nav = usePickerNavigation(() => source.value === "localFile" ? localAdapter.value : props.adapter, () => ({ source: source.value }), (node) => props.systemFilter?.(node, source.value) !== false);
|
|
20127
20333
|
const capability = computed(() => props.capabilities[source.value]);
|
|
20128
20334
|
const selection = usePickerSelection(nav, () => props.selectionMode, () => capability.value, () => skipBlanks.value);
|
|
20129
20335
|
const { path, trail, loading, error, rows } = nav;
|
|
@@ -20143,10 +20349,7 @@ function useFilePicker(props, emit) {
|
|
|
20143
20349
|
formats
|
|
20144
20350
|
};
|
|
20145
20351
|
});
|
|
20146
|
-
const filesInput = ref(null);
|
|
20147
|
-
const folderInput = ref(null);
|
|
20148
20352
|
const searchArea = ref(null);
|
|
20149
|
-
const accept = computed(() => capability.value?.formats.map((format) => `.${format.replace(/^\./, "")}`).join(",") || void 0);
|
|
20150
20353
|
const confirmLabel = computed(() => ({
|
|
20151
20354
|
"single-file": "Use file",
|
|
20152
20355
|
"multi-file": "Use files",
|
|
@@ -20174,10 +20377,15 @@ function useFilePicker(props, emit) {
|
|
|
20174
20377
|
selection.reset(seed?.source === source.value ? seed : null);
|
|
20175
20378
|
reviewing.value = false;
|
|
20176
20379
|
if (!allowedSources.value.includes(source.value)) return;
|
|
20177
|
-
if (seed?.source === "localFile" && source.value === "localFile")
|
|
20380
|
+
if (seed?.source === "localFile" && source.value === "localFile") {
|
|
20381
|
+
seed.files.forEach((file, index) => {
|
|
20382
|
+
if (seed.relativePaths?.[index]) localPaths.set(toRaw(file), seed.relativePaths[index]);
|
|
20383
|
+
});
|
|
20384
|
+
localFiles.value = seed.files;
|
|
20385
|
+
}
|
|
20178
20386
|
await nav.load(query.value, recursive.value);
|
|
20179
20387
|
if (token !== openGeneration || !props.open) return;
|
|
20180
|
-
if (seed?.source === "localFile" && source.value === "localFile")
|
|
20388
|
+
if (seed?.source === "localFile" && source.value === "localFile") await selectLocalFiles();
|
|
20181
20389
|
if (selection.keys.value.size) await selection.resolve();
|
|
20182
20390
|
}
|
|
20183
20391
|
watch(() => props.open, (open) => {
|
|
@@ -20270,7 +20478,7 @@ function useFilePicker(props, emit) {
|
|
|
20270
20478
|
}
|
|
20271
20479
|
async function refresh() {
|
|
20272
20480
|
nav.invalidate();
|
|
20273
|
-
await nav.load(query.value, recursive.value);
|
|
20481
|
+
await nav.load(query.value, recursive.value, true);
|
|
20274
20482
|
if (selection.keys.value.size) await selection.resolve();
|
|
20275
20483
|
}
|
|
20276
20484
|
function selectParent(node) {
|
|
@@ -20283,12 +20491,14 @@ function useFilePicker(props, emit) {
|
|
|
20283
20491
|
nav.register([parent]);
|
|
20284
20492
|
selection.select(parent);
|
|
20285
20493
|
}
|
|
20286
|
-
async function chooseLocal(
|
|
20494
|
+
async function chooseLocal(files, _rootName, relativePaths) {
|
|
20287
20495
|
const token = openGeneration;
|
|
20288
|
-
|
|
20289
|
-
|
|
20290
|
-
|
|
20291
|
-
|
|
20496
|
+
if (!files.length || !props.open || source.value !== "localFile") return;
|
|
20497
|
+
files.forEach((file, index) => {
|
|
20498
|
+
if (relativePaths?.[index]) localPaths.set(toRaw(file), relativePaths[index]);
|
|
20499
|
+
});
|
|
20500
|
+
localFiles.value = files;
|
|
20501
|
+
clearTimeout(timer);
|
|
20292
20502
|
nav.clear();
|
|
20293
20503
|
selection.reset();
|
|
20294
20504
|
path.value = "";
|
|
@@ -20296,7 +20506,17 @@ function useFilePicker(props, emit) {
|
|
|
20296
20506
|
query.value = "";
|
|
20297
20507
|
await nav.load();
|
|
20298
20508
|
if (token !== openGeneration || !props.open || source.value !== "localFile") return;
|
|
20299
|
-
|
|
20509
|
+
await selectLocalFiles();
|
|
20510
|
+
}
|
|
20511
|
+
async function selectLocalFiles() {
|
|
20512
|
+
const token = openGeneration;
|
|
20513
|
+
const items = props.selectionMode === "single-file" || props.selectionMode === "multi-file" ? await localAdapter.value.search("", {
|
|
20514
|
+
path: "",
|
|
20515
|
+
recursive: true
|
|
20516
|
+
}) : nav.entries.value;
|
|
20517
|
+
if (token !== openGeneration || !props.open || source.value !== "localFile") return;
|
|
20518
|
+
nav.register(items);
|
|
20519
|
+
const candidates = items.filter((node) => selection.selectable(node));
|
|
20300
20520
|
for (const node of props.selectionMode === "single-file" || props.selectionMode === "folder" ? candidates.slice(0, 1) : candidates) selection.select(node, { ctrlKey: true });
|
|
20301
20521
|
}
|
|
20302
20522
|
function cancel() {
|
|
@@ -20307,13 +20527,17 @@ function useFilePicker(props, emit) {
|
|
|
20307
20527
|
if (!canConfirm.value) return;
|
|
20308
20528
|
const result = source.value === "localFile" ? {
|
|
20309
20529
|
source: "localFile",
|
|
20310
|
-
files: chosen.value.files.flatMap((node) => node.file ? [node.file] : [])
|
|
20530
|
+
files: chosen.value.files.flatMap((node) => node.file ? [toRaw(node.file)] : [])
|
|
20311
20531
|
} : {
|
|
20312
20532
|
source: "server",
|
|
20313
20533
|
folders: roots.value.filter((node) => node.kind === "folder").map((node) => node.path),
|
|
20314
20534
|
files: [...chosen.value.files],
|
|
20315
20535
|
excluded: [...chosen.value.excluded]
|
|
20316
20536
|
};
|
|
20537
|
+
if (result.source === "localFile") {
|
|
20538
|
+
const relativePaths = result.files.map((file) => localPaths.get(file) || file.webkitRelativePath || file.name);
|
|
20539
|
+
if (relativePaths.some((path, index) => path !== (result.files[index].webkitRelativePath || result.files[index].name))) result.relativePaths = relativePaths;
|
|
20540
|
+
}
|
|
20317
20541
|
lastConfirmed = result;
|
|
20318
20542
|
emit("select", result);
|
|
20319
20543
|
emit("update:open", false);
|
|
@@ -20346,10 +20570,7 @@ function useFilePicker(props, emit) {
|
|
|
20346
20570
|
focused,
|
|
20347
20571
|
resolving,
|
|
20348
20572
|
resolutionError,
|
|
20349
|
-
filesInput,
|
|
20350
|
-
folderInput,
|
|
20351
20573
|
searchArea,
|
|
20352
|
-
accept,
|
|
20353
20574
|
confirmLabel,
|
|
20354
20575
|
folderCount,
|
|
20355
20576
|
canConfirm,
|
|
@@ -20368,44 +20589,58 @@ function useFilePicker(props, emit) {
|
|
|
20368
20589
|
//#endregion
|
|
20369
20590
|
//#region src/components/FilePicker.vue?vue&type=script&setup=true&lang.ts
|
|
20370
20591
|
var _hoisted_1 = {
|
|
20592
|
+
key: 1,
|
|
20593
|
+
class: "mint-file-browser__title mint-picker__local-title"
|
|
20594
|
+
};
|
|
20595
|
+
var _hoisted_2 = {
|
|
20371
20596
|
viewBox: "0 0 24 24",
|
|
20372
20597
|
fill: "none",
|
|
20373
20598
|
stroke: "currentColor",
|
|
20374
20599
|
"stroke-width": "1.8",
|
|
20375
20600
|
"aria-hidden": "true"
|
|
20376
20601
|
};
|
|
20377
|
-
var
|
|
20378
|
-
var _hoisted_3 = { class: "mint-picker__pathbar" };
|
|
20602
|
+
var _hoisted_3 = ["d"];
|
|
20379
20603
|
var _hoisted_4 = {
|
|
20604
|
+
key: 0,
|
|
20605
|
+
class: "mint-picker__pathbar"
|
|
20606
|
+
};
|
|
20607
|
+
var _hoisted_5 = {
|
|
20380
20608
|
"aria-label": "Breadcrumb",
|
|
20381
20609
|
class: "mint-picker__breadcrumbs"
|
|
20382
20610
|
};
|
|
20383
|
-
var
|
|
20384
|
-
key:
|
|
20611
|
+
var _hoisted_6 = {
|
|
20612
|
+
key: 1,
|
|
20385
20613
|
class: "mint-picker__empty"
|
|
20386
20614
|
};
|
|
20387
|
-
var
|
|
20615
|
+
var _hoisted_7 = {
|
|
20616
|
+
key: 0,
|
|
20617
|
+
class: "mint-picker__local-upload"
|
|
20618
|
+
};
|
|
20619
|
+
var _hoisted_8 = {
|
|
20388
20620
|
key: 0,
|
|
20389
|
-
|
|
20621
|
+
role: "alert"
|
|
20622
|
+
};
|
|
20623
|
+
var _hoisted_9 = {
|
|
20624
|
+
key: 1,
|
|
20625
|
+
class: "mint-picker__workspace"
|
|
20390
20626
|
};
|
|
20391
|
-
var
|
|
20392
|
-
var
|
|
20393
|
-
var _hoisted_9 = { class: "mint-picker__footer" };
|
|
20394
|
-
var _hoisted_10 = {
|
|
20627
|
+
var _hoisted_10 = { class: "mint-picker__footer" };
|
|
20628
|
+
var _hoisted_11 = {
|
|
20395
20629
|
class: "mint-picker__receipt",
|
|
20396
20630
|
role: "status"
|
|
20397
20631
|
};
|
|
20398
|
-
var
|
|
20632
|
+
var _hoisted_12 = {
|
|
20399
20633
|
key: 0,
|
|
20400
20634
|
class: "mint-picker__badge"
|
|
20401
20635
|
};
|
|
20402
|
-
var
|
|
20636
|
+
var _hoisted_13 = {
|
|
20403
20637
|
key: 1,
|
|
20404
20638
|
class: "mint-picker__badge"
|
|
20405
20639
|
};
|
|
20406
|
-
var
|
|
20407
|
-
var
|
|
20408
|
-
var
|
|
20640
|
+
var _hoisted_14 = { key: 2 };
|
|
20641
|
+
var _hoisted_15 = { key: 3 };
|
|
20642
|
+
var _hoisted_16 = { key: 5 };
|
|
20643
|
+
var _hoisted_17 = { class: "mint-picker__actions" };
|
|
20409
20644
|
//#endregion
|
|
20410
20645
|
//#region src/components/FilePicker.vue
|
|
20411
20646
|
var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
@@ -20418,7 +20653,8 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20418
20653
|
capabilities: { default: () => ({}) },
|
|
20419
20654
|
initialPath: { default: "" },
|
|
20420
20655
|
initialSelection: { default: null },
|
|
20421
|
-
title: { default: "Choose data" }
|
|
20656
|
+
title: { default: "Choose data" },
|
|
20657
|
+
systemFilter: {}
|
|
20422
20658
|
},
|
|
20423
20659
|
emits: [
|
|
20424
20660
|
"update:open",
|
|
@@ -20426,7 +20662,11 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20426
20662
|
"cancel"
|
|
20427
20663
|
],
|
|
20428
20664
|
setup(__props, { emit: __emit }) {
|
|
20429
|
-
|
|
20665
|
+
/** Adapter-driven file picker with Finder-style selection, disclosure and metadata preview. */
|
|
20666
|
+
const props = __props;
|
|
20667
|
+
const emit = __emit;
|
|
20668
|
+
const uploadError = ref("");
|
|
20669
|
+
const { previewNode, sourceNames, sourceIcons, allowedSources, source, query, recursive, skipBlanks, reviewing, nav, selection, capability, path, trail, loading, error, rows, roots, chosen, focused, resolving, resolutionError, searchArea, confirmLabel, folderCount, canConfirm, switchSource, selectNode, enter, up, refresh, selectParent, chooseLocal, cancel, confirm, keyboard } = useFilePicker(props, emit);
|
|
20430
20670
|
return (_ctx, _cache) => {
|
|
20431
20671
|
return openBlock(), createBlock(FileBrowserDialogInternal_default, {
|
|
20432
20672
|
open: __props.open,
|
|
@@ -20435,12 +20675,13 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20435
20675
|
variant: "picker",
|
|
20436
20676
|
onClose: unref(cancel)
|
|
20437
20677
|
}, {
|
|
20438
|
-
header: withCtx(() => [
|
|
20678
|
+
header: withCtx(() => [unref(source) === "server" ? (openBlock(), createElementBlock("div", {
|
|
20679
|
+
key: 0,
|
|
20439
20680
|
ref_key: "searchArea",
|
|
20440
20681
|
ref: searchArea,
|
|
20441
20682
|
class: "mint-picker__search"
|
|
20442
20683
|
}, [
|
|
20443
|
-
_cache[
|
|
20684
|
+
_cache[11] || (_cache[11] = createElementVNode("svg", {
|
|
20444
20685
|
viewBox: "0 0 24 24",
|
|
20445
20686
|
fill: "none",
|
|
20446
20687
|
stroke: "currentColor",
|
|
@@ -20457,14 +20698,14 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20457
20698
|
"aria-label": "Search folders and files",
|
|
20458
20699
|
placeholder: "Search folders and files…"
|
|
20459
20700
|
}, null, 8, ["modelValue"]),
|
|
20460
|
-
_cache[
|
|
20461
|
-
], 512), unref(allowedSources).length > 1 ? (openBlock(), createElementBlock("div", {
|
|
20462
|
-
key:
|
|
20701
|
+
_cache[12] || (_cache[12] = createElementVNode("kbd", null, "/", -1))
|
|
20702
|
+
], 512)) : (openBlock(), createElementBlock("h2", _hoisted_1, toDisplayString(__props.title), 1)), unref(allowedSources).length > 1 ? (openBlock(), createElementBlock("div", {
|
|
20703
|
+
key: 2,
|
|
20463
20704
|
class: "mint-picker__sources",
|
|
20464
20705
|
role: "group",
|
|
20465
20706
|
"aria-label": "Data source",
|
|
20466
20707
|
style: normalizeStyle({ "--picker-source-index": unref(allowedSources).indexOf(unref(source)) })
|
|
20467
|
-
}, [_cache[
|
|
20708
|
+
}, [_cache[13] || (_cache[13] = createElementVNode("span", {
|
|
20468
20709
|
class: "mint-picker__source-indicator",
|
|
20469
20710
|
"aria-hidden": "true"
|
|
20470
20711
|
}, null, -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(allowedSources), (item) => {
|
|
@@ -20476,7 +20717,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20476
20717
|
"aria-pressed": item === unref(source),
|
|
20477
20718
|
onClick: ($event) => unref(switchSource)(item)
|
|
20478
20719
|
}, {
|
|
20479
|
-
default: withCtx(() => [(openBlock(), createElementBlock("svg",
|
|
20720
|
+
default: withCtx(() => [(openBlock(), createElementBlock("svg", _hoisted_2, [createElementVNode("path", { d: unref(sourceIcons)[item] }, null, 8, _hoisted_3)]))]),
|
|
20480
20721
|
_: 2
|
|
20481
20722
|
}, 1032, [
|
|
20482
20723
|
"label",
|
|
@@ -20484,35 +20725,35 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20484
20725
|
"onClick"
|
|
20485
20726
|
]);
|
|
20486
20727
|
}), 128))], 4)) : createCommentVNode("", true)]),
|
|
20487
|
-
footer: withCtx(() => [createElementVNode("div",
|
|
20488
|
-
unref(folderCount) ? (openBlock(), createElementBlock("span",
|
|
20489
|
-
unref(chosen).files.length ? (openBlock(), createElementBlock("span",
|
|
20490
|
-
unref(roots).length ? (openBlock(), createElementBlock("span",
|
|
20491
|
-
unref(chosen).excluded.length ? (openBlock(), createBlock(BaseButton_default, {
|
|
20728
|
+
footer: withCtx(() => [createElementVNode("div", _hoisted_10, [createElementVNode("div", _hoisted_11, [
|
|
20729
|
+
unref(folderCount) ? (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(unref(folderCount)) + " folder" + toDisplayString(unref(folderCount) === 1 ? "" : "s"), 1)) : createCommentVNode("", true),
|
|
20730
|
+
unref(chosen).files.length ? (openBlock(), createElementBlock("span", _hoisted_13, toDisplayString(unref(chosen).files.length) + " " + toDisplayString(unref(chosen).files.length === 1 ? "file" : "files"), 1)) : createCommentVNode("", true),
|
|
20731
|
+
unref(roots).length ? (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString(unref(resolving) ? "Checking…" : unref(formatBytes)(unref(chosen).bytes)), 1)) : (openBlock(), createElementBlock("span", _hoisted_15, "No selection")),
|
|
20732
|
+
unref(chosen).excluded.length && unref(source) === "server" ? (openBlock(), createBlock(BaseButton_default, {
|
|
20492
20733
|
key: 4,
|
|
20493
20734
|
variant: "ghost",
|
|
20494
20735
|
size: "sm",
|
|
20495
|
-
onClick: _cache[
|
|
20736
|
+
onClick: _cache[9] || (_cache[9] = ($event) => reviewing.value = !unref(reviewing))
|
|
20496
20737
|
}, {
|
|
20497
20738
|
default: withCtx(() => [createTextVNode(toDisplayString(unref(chosen).excluded.length) + " skipped", 1)]),
|
|
20498
20739
|
_: 1
|
|
20499
|
-
})) : createCommentVNode("", true),
|
|
20740
|
+
})) : unref(chosen).excluded.length ? (openBlock(), createElementBlock("span", _hoisted_16, toDisplayString(unref(chosen).excluded.length) + " skipped", 1)) : createCommentVNode("", true),
|
|
20500
20741
|
unref(capability)?.isBlank ? (openBlock(), createBlock(BaseButton_default, {
|
|
20501
|
-
key:
|
|
20742
|
+
key: 6,
|
|
20502
20743
|
size: "sm",
|
|
20503
20744
|
variant: "ghost",
|
|
20504
20745
|
"aria-pressed": unref(skipBlanks),
|
|
20505
|
-
onClick: _cache[
|
|
20746
|
+
onClick: _cache[10] || (_cache[10] = ($event) => skipBlanks.value = !unref(skipBlanks))
|
|
20506
20747
|
}, {
|
|
20507
20748
|
default: withCtx(() => [createTextVNode("Skip blanks " + toDisplayString(unref(skipBlanks) ? "on" : "off"), 1)]),
|
|
20508
20749
|
_: 1
|
|
20509
20750
|
}, 8, ["aria-pressed"])) : createCommentVNode("", true)
|
|
20510
|
-
]), createElementVNode("div",
|
|
20751
|
+
]), createElementVNode("div", _hoisted_17, [createVNode(BaseButton_default, {
|
|
20511
20752
|
variant: "ghost",
|
|
20512
20753
|
size: "sm",
|
|
20513
20754
|
onClick: unref(cancel)
|
|
20514
20755
|
}, {
|
|
20515
|
-
default: withCtx(() => [..._cache[
|
|
20756
|
+
default: withCtx(() => [..._cache[17] || (_cache[17] = [createTextVNode("Cancel", -1)])]),
|
|
20516
20757
|
_: 1
|
|
20517
20758
|
}, 8, ["onClick"]), createVNode(BaseButton_default, {
|
|
20518
20759
|
size: "sm",
|
|
@@ -20525,8 +20766,8 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20525
20766
|
default: withCtx(() => [(openBlock(), createElementBlock("div", {
|
|
20526
20767
|
key: unref(source),
|
|
20527
20768
|
class: "mint-picker mint-picker__source-panel",
|
|
20528
|
-
onKeydown: _cache[
|
|
20529
|
-
}, [
|
|
20769
|
+
onKeydown: _cache[8] || (_cache[8] = (...args) => unref(keyboard) && unref(keyboard)(...args))
|
|
20770
|
+
}, [unref(source) === "server" ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
20530
20771
|
createVNode(IconButton_default, {
|
|
20531
20772
|
label: "Up one level",
|
|
20532
20773
|
size: "sm",
|
|
@@ -20534,7 +20775,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20534
20775
|
disabled: !unref(path),
|
|
20535
20776
|
onClick: _cache[1] || (_cache[1] = ($event) => unref(up)())
|
|
20536
20777
|
}, {
|
|
20537
|
-
default: withCtx(() => [..._cache[
|
|
20778
|
+
default: withCtx(() => [..._cache[14] || (_cache[14] = [createElementVNode("svg", {
|
|
20538
20779
|
viewBox: "0 0 24 24",
|
|
20539
20780
|
fill: "none",
|
|
20540
20781
|
stroke: "currentColor",
|
|
@@ -20543,7 +20784,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20543
20784
|
}, [createElementVNode("path", { d: "M11 17l-5-5 5-5M6 12h13" })], -1)])]),
|
|
20544
20785
|
_: 1
|
|
20545
20786
|
}, 8, ["disabled"]),
|
|
20546
|
-
createElementVNode("nav",
|
|
20787
|
+
createElementVNode("nav", _hoisted_5, [createVNode(BaseButton_default, {
|
|
20547
20788
|
variant: "ghost",
|
|
20548
20789
|
size: "sm",
|
|
20549
20790
|
onClick: _cache[2] || (_cache[2] = ($event) => unref(up)(""))
|
|
@@ -20551,7 +20792,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20551
20792
|
default: withCtx(() => [createTextVNode(toDisplayString(unref(sourceNames)[unref(source)]), 1)]),
|
|
20552
20793
|
_: 1
|
|
20553
20794
|
}), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(trail), (crumb) => {
|
|
20554
|
-
return openBlock(), createElementBlock(Fragment, { key: crumb.path }, [_cache[
|
|
20795
|
+
return openBlock(), createElementBlock(Fragment, { key: crumb.path }, [_cache[15] || (_cache[15] = createElementVNode("span", null, "/", -1)), createVNode(BaseButton_default, {
|
|
20555
20796
|
variant: "ghost",
|
|
20556
20797
|
size: "sm",
|
|
20557
20798
|
onClick: ($event) => unref(up)(crumb.path)
|
|
@@ -20576,7 +20817,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20576
20817
|
disabled: unref(loading),
|
|
20577
20818
|
onClick: _cache[4] || (_cache[4] = ($event) => unref(refresh)())
|
|
20578
20819
|
}, {
|
|
20579
|
-
default: withCtx(() => [..._cache[
|
|
20820
|
+
default: withCtx(() => [..._cache[16] || (_cache[16] = [createElementVNode("svg", {
|
|
20580
20821
|
viewBox: "0 0 24 24",
|
|
20581
20822
|
fill: "none",
|
|
20582
20823
|
stroke: "currentColor",
|
|
@@ -20585,46 +20826,18 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20585
20826
|
}, [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)])]),
|
|
20586
20827
|
_: 1
|
|
20587
20828
|
}, 8, ["disabled"])
|
|
20588
|
-
]), !unref(allowedSources).length ? (openBlock(), createElementBlock("div",
|
|
20589
|
-
|
|
20590
|
-
|
|
20591
|
-
|
|
20592
|
-
|
|
20593
|
-
|
|
20594
|
-
|
|
20595
|
-
|
|
20596
|
-
|
|
20597
|
-
|
|
20598
|
-
|
|
20599
|
-
|
|
20600
|
-
ref: folderInput,
|
|
20601
|
-
type: "file",
|
|
20602
|
-
webkitdirectory: "",
|
|
20603
|
-
multiple: "",
|
|
20604
|
-
hidden: "",
|
|
20605
|
-
onChange: _cache[6] || (_cache[6] = (...args) => unref(chooseLocal) && unref(chooseLocal)(...args))
|
|
20606
|
-
}, null, 544),
|
|
20607
|
-
__props.selectionMode !== "folder" ? (openBlock(), createBlock(BaseButton_default, {
|
|
20608
|
-
key: 0,
|
|
20609
|
-
variant: "secondary",
|
|
20610
|
-
size: "sm",
|
|
20611
|
-
onClick: _cache[7] || (_cache[7] = ($event) => unref(filesInput)?.click())
|
|
20612
|
-
}, {
|
|
20613
|
-
default: withCtx(() => [..._cache[19] || (_cache[19] = [createTextVNode("Choose files…", -1)])]),
|
|
20614
|
-
_: 1
|
|
20615
|
-
})) : createCommentVNode("", true),
|
|
20616
|
-
__props.selectionMode !== "single-file" ? (openBlock(), createBlock(BaseButton_default, {
|
|
20617
|
-
key: 1,
|
|
20618
|
-
variant: "secondary",
|
|
20619
|
-
size: "sm",
|
|
20620
|
-
onClick: _cache[8] || (_cache[8] = ($event) => unref(folderInput)?.click())
|
|
20621
|
-
}, {
|
|
20622
|
-
default: withCtx(() => [..._cache[20] || (_cache[20] = [createTextVNode("Choose folder…", -1)])]),
|
|
20623
|
-
_: 1
|
|
20624
|
-
})) : createCommentVNode("", true),
|
|
20625
|
-
_cache[21] || (_cache[21] = createElementVNode("span", null, "Files stay in this browser.", -1))
|
|
20626
|
-
])) : createCommentVNode("", true), createElementVNode("div", _hoisted_8, [createVNode(FilePickerTreeInternal_default, {
|
|
20627
|
-
"empty-title": unref(path) ? "No readable files" : unref(source) === "localFile" ? "No files chosen" : "No server locations configured",
|
|
20829
|
+
])) : createCommentVNode("", true), !unref(allowedSources).length ? (openBlock(), createElementBlock("div", _hoisted_6, " No data sources are enabled. ")) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [unref(source) === "localFile" ? (openBlock(), createElementBlock("div", _hoisted_7, [createVNode(FileUploader_default, {
|
|
20830
|
+
size: "lg",
|
|
20831
|
+
mode: __props.selectionMode === "folder" ? "folder" : __props.selectionMode === "single-file" ? "file" : "file+folder",
|
|
20832
|
+
multiple: __props.selectionMode !== "single-file",
|
|
20833
|
+
"show-files": false,
|
|
20834
|
+
onUpload: _cache[5] || (_cache[5] = (...args) => {
|
|
20835
|
+
uploadError.value = "";
|
|
20836
|
+
unref(chooseLocal)(...args);
|
|
20837
|
+
}),
|
|
20838
|
+
onError: _cache[6] || (_cache[6] = ($event) => uploadError.value = $event)
|
|
20839
|
+
}, null, 8, ["mode", "multiple"]), uploadError.value || unref(error) || unref(resolutionError) ? (openBlock(), createElementBlock("p", _hoisted_8, toDisplayString(uploadError.value || unref(error) || unref(resolutionError)), 1)) : createCommentVNode("", true)])) : (openBlock(), createElementBlock("div", _hoisted_9, [createVNode(FilePickerTreeInternal_default, {
|
|
20840
|
+
"empty-title": unref(path) ? "No readable files" : "No server locations configured",
|
|
20628
20841
|
rows: unref(rows),
|
|
20629
20842
|
loading: unref(loading),
|
|
20630
20843
|
error: unref(error),
|
|
@@ -20665,7 +20878,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20665
20878
|
busy: unref(resolving),
|
|
20666
20879
|
error: unref(resolutionError),
|
|
20667
20880
|
reviewing: unref(reviewing),
|
|
20668
|
-
onReview: _cache[
|
|
20881
|
+
onReview: _cache[7] || (_cache[7] = ($event) => reviewing.value = !unref(reviewing)),
|
|
20669
20882
|
onRetry: unref(selection).resolve
|
|
20670
20883
|
}, null, 8, [
|
|
20671
20884
|
"node",
|
|
@@ -20676,7 +20889,7 @@ var FilePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
20676
20889
|
"error",
|
|
20677
20890
|
"reviewing",
|
|
20678
20891
|
"onRetry"
|
|
20679
|
-
])])], 64))], 32))]),
|
|
20892
|
+
])]))], 64))], 32))]),
|
|
20680
20893
|
_: 1
|
|
20681
20894
|
}, 8, [
|
|
20682
20895
|
"open",
|
|
@@ -20767,6 +20980,7 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
20767
20980
|
MultiSelect: () => MultiSelect_default,
|
|
20768
20981
|
NumberInput: () => NumberInput_default,
|
|
20769
20982
|
PlateMapEditor: () => PlateMapEditor_default,
|
|
20983
|
+
PlotlyChart: () => PlotlyChart_default,
|
|
20770
20984
|
PluginIcon: () => PluginIcon_default,
|
|
20771
20985
|
PluginWorkspaceView: () => PluginWorkspaceView_default,
|
|
20772
20986
|
ProgressBar: () => ProgressBar_default,
|
|
@@ -20802,6 +21016,6 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
20802
21016
|
WellPlate: () => WellPlate_default
|
|
20803
21017
|
});
|
|
20804
21018
|
//#endregion
|
|
20805
|
-
export { AutoGroupModal_default as $, ChemicalFormula_default as A,
|
|
21019
|
+
export { AutoGroupModal_default as $, ChemicalFormula_default as A, ActionMenu_default as At, BioTemplateExperimentWorkspaceView_default as B, ColorSlider_default as Bt, SequenceProgressBar_default as C, StepWizard_default as Ct, formatSequenceRemaining as D, PluginIcon_default as Dt, formatSequenceEta as E, AppAvatarMenu_default as Et, SmartGroupModal_default as F, LoadingSpinner_default as Ft, StatusIndicator_default as G, Breadcrumb_default as H, GroupAssigner_default as I, Calendar_default as It, DoseDesignWorkspaceView_default as J, Divider_default as K, RackEditor_default as L, DropdownButton_default as Lt, ProtocolStepEditor_default as M, RuntimeUpdateNotice_default as Mt, SampleHierarchyTree_default as N, AppToastContainer_default as Nt, sequenceProgressPercent as O, CollapsibleCard_default as Ot, ReagentEditor_default as P, DataFrame_default as Pt, SampleSelector_default as Q, BioTemplatePresetWorkspaceView_default as R, SegmentedControl_default as Rt, InstrumentAlertLog_default as S, FormActions_default as St, estimateSequenceRemainingSeconds as T, AppPluginSwitcher_default as Tt, Avatar_default as U, BioTemplateRenderer_default as V, ProgressBar_default as W, ComponentBindingRenderer_default as X, ControlWorkspaceView_default as Y, ScheduleCalendar_default as Z, inferLcmsPlateTypeFromWellIds as _, PluginWorkspaceView_default as _t, FileBrowserModal_default as a, WellPlate_default as at, InstrumentStatusCard_default as b, AppSidebar_default as bt, TimeRangeInput_default as c, GeneratedPluginView_default as ct, AuditTrail_default as d, GeneratedPlotlyResult_default as dt, SmartGroupManual_default as et, LcmsSequenceTable_default as f, PlotlyChart_default as ft, extractLcmsSampleName as g, normalizeGeneratedJobInput as gt, extractLcmsCommonPrefix as h, generatedJobFormSchema as ht, ArtifactSaveDialog_default as i, SampleLegend_default as it, ScientificNumber_default as j, IconButton_default as jt, sequenceSamplesRemaining as k, ThemeToggle_default as kt, ExperimentDataViewer_default as l, JobsStatusTray_default as lt, basenameFromWindowsPath as m, generatedJobDefaults as mt, FilePicker_default as n, ReagentList_default as nt, SectionCard_default as o, ExperimentTimeline_default as ot, DEFAULT_LCMS_SEQUENCE_COLUMNS as p, ChartContainer_default as pt, AppContainer_default as q, FitPanel_default as r, PlateMapEditor_default as rt, ResourceCard_default as s, DoseCalculator_default as st, components_exports as t, SmartGroupFieldRecipe_default as tt, BatchProgressList_default as u, GeneratedResultRenderer_default as ut, lcmsWellIdFromPosition as v, MobileSupportGate_default as vt, estimateSequenceFinishDate as w, AppTopBar_default as wt, InstrumentStateBadge_default as x, FormBuilder_default as xt, reconstructLcmsPlateCellsFromSequenceItems as y, AppLayout_default as yt, BioTemplatePackWorkspaceView_default as z, BaseTabs_default as zt };
|
|
20806
21020
|
|
|
20807
|
-
//# sourceMappingURL=components-
|
|
21021
|
+
//# sourceMappingURL=components-DT6ggNrt.js.map
|