@morscherlab/mint-sdk 1.1.7 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/components/RetiredStyles.test.d.ts +1 -0
- package/dist/__tests__/composables/autoGroup/groupByOrder.test.d.ts +1 -0
- package/dist/__tests__/composables/useSampleGroups.tree.test.d.ts +1 -0
- package/dist/components/AppTopBar.vue.d.ts +6 -11
- package/dist/components/AutoGroupModal.adapter.d.ts +10 -6
- package/dist/components/PluginIcon.vue.d.ts +2 -2
- package/dist/components/PluginWorkspaceView.props.d.ts +5 -7
- package/dist/components/PluginWorkspaceView.vue.d.ts +0 -3
- package/dist/components/SampleSelector.groups.d.ts +7 -7
- package/dist/components/SampleSelector.selection.d.ts +6 -12
- package/dist/components/SampleSelector.tree.d.ts +39 -0
- package/dist/components/SampleSelectorGroupNode.vue.d.ts +9 -0
- package/dist/components/SmartGroup.types.d.ts +5 -0
- package/dist/components/SmartGroupFieldRecipe.groups.d.ts +3 -2
- package/dist/components/SmartGroupFieldRecipe.vue.d.ts +2 -0
- package/dist/components/index.js +1 -1
- package/dist/{components-CDomhGSj.js → components-BbtUpCTv.js} +913 -943
- package/dist/components-BbtUpCTv.js.map +1 -0
- package/dist/composables/index.d.ts +1 -1
- package/dist/composables/index.js +1 -1
- package/dist/composables/useAutoGroup.d.ts +3 -0
- package/dist/composables/usePlatformContext.d.ts +3 -0
- package/dist/composables/useSampleGroups.d.ts +25 -0
- package/dist/index.js +2 -2
- package/dist/install.js +1 -1
- package/dist/styles.css +130 -557
- package/dist/types/platform.d.ts +1 -0
- package/dist/{useProtocolTemplates-BMt0LlXf.js → useProtocolTemplates-BWfNaynA.js} +199 -24
- package/dist/useProtocolTemplates-BWfNaynA.js.map +1 -0
- package/dist/utils/pluginIcon.d.ts +1 -1
- package/dist/utils/sampleGroupPath.d.ts +6 -0
- package/package.json +1 -1
- package/src/__tests__/components/AppAvatarMenu.test.ts +11 -0
- package/src/__tests__/components/AppTopBar.test.ts +84 -10
- package/src/__tests__/components/AppTopBarPageSelector.test.ts +1 -1
- package/src/__tests__/components/AutoGroupModal.adapter.test.ts +16 -6
- package/src/__tests__/components/PluginIcon.test.ts +19 -0
- package/src/__tests__/components/PluginWorkspaceView.test.ts +8 -0
- package/src/__tests__/components/RetiredStyles.test.ts +82 -0
- package/src/__tests__/components/SampleSelector.drag.test.ts +26 -0
- package/src/__tests__/components/SampleSelector.groups.test.ts +19 -6
- package/src/__tests__/components/SampleSelector.selection.test.ts +9 -23
- package/src/__tests__/components/SmartGroupFieldRecipe.groups.test.ts +5 -0
- package/src/__tests__/composables/autoGroup/compose.test.ts +9 -10
- package/src/__tests__/composables/autoGroup/groupByOrder.test.ts +249 -0
- package/src/__tests__/composables/autoGroup/integration.test.ts +3 -7
- package/src/__tests__/composables/useSampleGroups.tree.test.ts +145 -0
- package/src/components/AppTopBar.story.vue +9 -7
- package/src/components/AppTopBar.vue +79 -72
- package/src/components/AutoGroupModal.adapter.ts +17 -12
- package/src/components/AutoGroupModal.story.vue +89 -0
- package/src/components/AutoGroupModal.vue +16 -8
- package/src/components/PluginIcon.story.vue +11 -9
- package/src/components/PluginIcon.vue +3 -3
- package/src/components/PluginWorkspaceView.props.ts +5 -7
- package/src/components/PluginWorkspaceView.vue +0 -4
- package/src/components/SampleSelector.drag.ts +5 -5
- package/src/components/SampleSelector.groups.ts +15 -15
- package/src/components/SampleSelector.selection.ts +7 -46
- package/src/components/SampleSelector.story.vue +37 -0
- package/src/components/SampleSelector.tree.ts +48 -0
- package/src/components/SampleSelector.vue +52 -320
- package/src/components/SampleSelectorGroupNode.vue +197 -0
- package/src/components/SmartGroup.types.ts +5 -0
- package/src/components/SmartGroupFieldRecipe.groups.ts +6 -2
- package/src/components/SmartGroupFieldRecipe.vue +76 -4
- package/src/components/internal/AppTopBarPageSelectorInternal.vue +2 -2
- package/src/composables/autoGroup/compose.ts +31 -10
- package/src/composables/index.ts +1 -0
- package/src/composables/useAutoGroup.ts +108 -5
- package/src/composables/useSampleGroups.ts +118 -33
- package/src/styles/components/app-avatar-menu.css +2 -1
- package/src/styles/components/app-plugin-switcher.css +0 -13
- package/src/styles/components/app-top-bar.css +13 -54
- package/src/styles/components/dose-calculator.css +0 -4
- package/src/styles/components/experiment-popover.css +2 -104
- package/src/styles/components/experiment-selector-modal.css +0 -7
- package/src/styles/components/plugin-icon.css +3 -0
- package/src/styles/components/protocol-step-editor.css +0 -6
- package/src/styles/components/reagent-editor.css +0 -5
- package/src/styles/components/sample-hierarchy-tree.css +0 -4
- package/src/styles/components/sample-selector.css +0 -96
- package/src/styles/components/schedule-calendar.css +0 -6
- package/src/styles/components/smart-group.css +22 -0
- package/src/styles/components/well-plate.css +1 -27
- package/src/types/platform.ts +1 -0
- package/src/utils/pluginIcon.ts +5 -2
- package/src/utils/sampleGroupPath.ts +19 -0
- package/dist/components-CDomhGSj.js.map +0 -1
- package/dist/useProtocolTemplates-BMt0LlXf.js.map +0 -1
|
@@ -4,18 +4,18 @@ import { a as BaseSelect_default, i as BasePill_default, n as Skeleton_default,
|
|
|
4
4
|
import { A as useConcentrationUnits, At as BaseCheckbox_default, Ct as DatePicker_default, Dt as BaseSlider_default, Ft as shift, H as getInjectedPlatformContext, I as useChemicalFormula, It as BaseTextarea_default, L as GeneratedPathInput_default, M as SequenceInput_default, Mt as computePosition, Nt as flip, O as ConcentrationInput_default, Ot as BaseRadioGroup_default, P as FormulaInput_default, Pt as offset, Q as normalizeJobPercent, R as _plugin_vue_export_helper_default, T as getDefaultControlView, Tt as useListSelection, W as resolveCurrentExperimentId, Z as jobStatusLabel, _ as controlsToFormSchema, at as TagsInput_default, ct as compareTime, f as resolveControlModel, ft as formatDuration, g as mergeControlWorkspaceOptions, h as controlValuesToComponentProps, it as NumberInput_default, j as MoleculeInput_default, jt as Tooltip_default, k as UnitInput_default, kt as BaseToggle_default, lt as durationMinutes, m as controlValuesToComponentBindingsById, nt as AlertBox_default, o as defineDoseDesignControlModel, ot as TimePicker_default, p as controlValuesToComponentBindings, pt as formatTime, q as useGeneratedAnalysis, r as getControlDefaults, rt as FileUploader_default, tt as DateTimePicker_default, u as useControlWorkspace, w as controlsToViewItems, wt as MultiSelect_default, x as controlsToSidebarPanels, y as controlsToSectionFormSchemas, z as ArtifactSelectorModal_default } from "./useControlSchema-BMVb2XIQ.js";
|
|
5
5
|
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-D7LFUokT.js";
|
|
6
6
|
import { t as useDropdownState } from "./useDropdownState-DSb3BC3N.js";
|
|
7
|
-
import {
|
|
7
|
+
import { B as useDoseCalculator, C as getSampleGroupParentPath, G as useMobileSupportGate, J as useTheme, K as APP_EXPERIMENT_KEY, N as useAutoGroup, P as parseCSV, Q as useTextSearch, R as DEFAULT_COLORS, S as getSampleGroupMajorPrefix, U as usePluginJobCenter, W as DEFAULT_MOBILE_VIEWPORT_QUERY, Y as useToast, _ as useScheduleDrag, a as useReagentSeries, b as useExpansionSet, c as useBioTemplatePresetWorkspace, et as useSortedItems, k as readFileAsText, l as useBioTemplatePackWorkspace, n as DEFAULT_PRESETS, o as useGroupAssignment, q as useAppExperiment, r as DEFAULT_UNITS, s as useRackEditor, t as useProtocolTemplates, v as useExperimentSamples, x as useSampleGroups, y as useExperimentData, z as useWellPlateEditor } from "./useProtocolTemplates-BWfNaynA.js";
|
|
8
8
|
import { r as useApi } from "./useApi-CDBq6z23.js";
|
|
9
9
|
import { i as usePlatformContext, t as useFormBuilder } from "./useFormBuilder-DG3HOFGA.js";
|
|
10
10
|
import { t as ANALYSIS_FILE_ARTIFACT_SCHEMA } from "./analysisArtifactTypes-DQ0MjwHZ.js";
|
|
11
11
|
import { r as ConfirmDialog_default, t as ExperimentPopover_default } from "./ExperimentPopover-tLwJ7XF4.js";
|
|
12
12
|
import { B as toBioTemplateComponentProps, F as getBioTemplateComponentProps, H as toBioTemplateComponentPropsById, L as toBioTemplateComponentBindings, R as toBioTemplateComponentBindingsById, V as toBioTemplateComponentPropsByComponent, dn as extractTemplateCollection } from "./templates-Cr-48-u2.js";
|
|
13
13
|
import { r as ExperimentCodeBadge_default, t as ExperimentSelectorModal_default } from "./ExperimentSelectorModal-B6P2msT4.js";
|
|
14
|
-
import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, effectScope, guardReactiveProps, h, inject, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, reactive, ref, renderList, renderSlot, resolveComponent, resolveDynamicComponent, shallowRef, toDisplayString, toRaw, toRef, unref, useId, useModel, useSlots, vModelCheckbox, vModelSelect, vModelText, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
|
|
14
|
+
import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, effectScope, guardReactiveProps, h, inject, 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
|
//#region src/components/ColorSlider.vue?vue&type=script&setup=true&lang.ts
|
|
16
|
-
var _hoisted_1$
|
|
17
|
-
var _hoisted_2$
|
|
18
|
-
var _hoisted_3$
|
|
16
|
+
var _hoisted_1$76 = { class: "mint-color-slider__row" };
|
|
17
|
+
var _hoisted_2$68 = { class: "mint-color-slider__track" };
|
|
18
|
+
var _hoisted_3$61 = [
|
|
19
19
|
"value",
|
|
20
20
|
"min",
|
|
21
21
|
"max",
|
|
@@ -130,7 +130,7 @@ var ColorSlider_default = /* @__PURE__ */ defineComponent({
|
|
|
130
130
|
emit("update:modelValue", Number(target.value));
|
|
131
131
|
}
|
|
132
132
|
return (_ctx, _cache) => {
|
|
133
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-color-slider", { "mint-color-slider--disabled": __props.disabled }]) }, [createElementVNode("div", _hoisted_1$
|
|
133
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-color-slider", { "mint-color-slider--disabled": __props.disabled }]) }, [createElementVNode("div", _hoisted_1$76, [createElementVNode("div", _hoisted_2$68, [createElementVNode("input", {
|
|
134
134
|
type: "range",
|
|
135
135
|
value: currentValue.value,
|
|
136
136
|
min: __props.min,
|
|
@@ -147,7 +147,7 @@ var ColorSlider_default = /* @__PURE__ */ defineComponent({
|
|
|
147
147
|
"--thumb-size": `${sizeConfig.value.thumb}px`
|
|
148
148
|
}),
|
|
149
149
|
onInput: handleInput
|
|
150
|
-
}, null, 44, _hoisted_3$
|
|
150
|
+
}, null, 44, _hoisted_3$61)]), __props.showValue ? (openBlock(), createElementBlock("div", {
|
|
151
151
|
key: 0,
|
|
152
152
|
class: "mint-color-slider__badge",
|
|
153
153
|
style: normalizeStyle({
|
|
@@ -166,13 +166,13 @@ var ColorSlider_default = /* @__PURE__ */ defineComponent({
|
|
|
166
166
|
});
|
|
167
167
|
//#endregion
|
|
168
168
|
//#region src/components/BaseTabs.vue?vue&type=script&setup=true&lang.ts
|
|
169
|
-
var _hoisted_1$
|
|
169
|
+
var _hoisted_1$75 = [
|
|
170
170
|
"aria-selected",
|
|
171
171
|
"aria-disabled",
|
|
172
172
|
"onClick"
|
|
173
173
|
];
|
|
174
|
-
var _hoisted_2$
|
|
175
|
-
var _hoisted_3$
|
|
174
|
+
var _hoisted_2$67 = { class: "mint-tab__content" };
|
|
175
|
+
var _hoisted_3$60 = {
|
|
176
176
|
key: 0,
|
|
177
177
|
class: "mint-tab__icon mint-tab__icon--svg",
|
|
178
178
|
viewBox: "0 0 24 24",
|
|
@@ -183,8 +183,8 @@ var _hoisted_3$59 = {
|
|
|
183
183
|
"stroke-linejoin": "round",
|
|
184
184
|
"aria-hidden": "true"
|
|
185
185
|
};
|
|
186
|
-
var _hoisted_4$
|
|
187
|
-
var _hoisted_5$
|
|
186
|
+
var _hoisted_4$56 = ["d"];
|
|
187
|
+
var _hoisted_5$54 = ["d"];
|
|
188
188
|
var _hoisted_6$50 = {
|
|
189
189
|
key: 1,
|
|
190
190
|
class: "mint-tab__icon"
|
|
@@ -234,33 +234,33 @@ var BaseTabs_default = /* @__PURE__ */ defineComponent({
|
|
|
234
234
|
tab.disabled ? "mint-tab--disabled" : ""
|
|
235
235
|
]),
|
|
236
236
|
onClick: ($event) => selectTab(tab.id)
|
|
237
|
-
}, [createElementVNode("span", _hoisted_2$
|
|
238
|
-
isSvgIcon(tab.icon) ? (openBlock(), createElementBlock("svg", _hoisted_3$
|
|
237
|
+
}, [createElementVNode("span", _hoisted_2$67, [
|
|
238
|
+
isSvgIcon(tab.icon) ? (openBlock(), createElementBlock("svg", _hoisted_3$60, [Array.isArray(tab.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(tab.icon, (d, index) => {
|
|
239
239
|
return openBlock(), createElementBlock("path", {
|
|
240
240
|
key: index,
|
|
241
241
|
d
|
|
242
|
-
}, null, 8, _hoisted_4$
|
|
242
|
+
}, null, 8, _hoisted_4$56);
|
|
243
243
|
}), 128)) : (openBlock(), createElementBlock("path", {
|
|
244
244
|
key: 1,
|
|
245
245
|
d: tab.icon
|
|
246
|
-
}, null, 8, _hoisted_5$
|
|
246
|
+
}, null, 8, _hoisted_5$54))])) : tab.icon ? (openBlock(), createElementBlock("span", _hoisted_6$50, toDisplayString(tab.icon), 1)) : createCommentVNode("", true),
|
|
247
247
|
createTextVNode(" " + toDisplayString(tab.label) + " ", 1),
|
|
248
248
|
tab.badge !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_7$44, toDisplayString(tab.badge), 1)) : createCommentVNode("", true)
|
|
249
|
-
])], 10, _hoisted_1$
|
|
249
|
+
])], 10, _hoisted_1$75);
|
|
250
250
|
}), 128))], 2);
|
|
251
251
|
};
|
|
252
252
|
}
|
|
253
253
|
});
|
|
254
254
|
//#endregion
|
|
255
255
|
//#region src/components/SegmentedControl.vue?vue&type=script&setup=true&lang.ts
|
|
256
|
-
var _hoisted_1$
|
|
256
|
+
var _hoisted_1$74 = [
|
|
257
257
|
"aria-checked",
|
|
258
258
|
"disabled",
|
|
259
259
|
"onClick",
|
|
260
260
|
"onKeydown"
|
|
261
261
|
];
|
|
262
|
-
var _hoisted_2$
|
|
263
|
-
var _hoisted_3$
|
|
262
|
+
var _hoisted_2$66 = { class: "mint-segmented-control__label" };
|
|
263
|
+
var _hoisted_3$59 = {
|
|
264
264
|
key: 0,
|
|
265
265
|
class: "mint-segmented-control__description"
|
|
266
266
|
};
|
|
@@ -332,24 +332,24 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
|
|
|
332
332
|
]),
|
|
333
333
|
onClick: ($event) => handleSelect(option),
|
|
334
334
|
onKeydown: ($event) => handleKeydown($event, option)
|
|
335
|
-
}, [createElementVNode("span", _hoisted_2$
|
|
335
|
+
}, [createElementVNode("span", _hoisted_2$66, toDisplayString(option.label), 1), option.description && __props.variant === "card" ? (openBlock(), createElementBlock("span", _hoisted_3$59, toDisplayString(option.description), 1)) : createCommentVNode("", true)], 42, _hoisted_1$74);
|
|
336
336
|
}), 128))], 2);
|
|
337
337
|
};
|
|
338
338
|
}
|
|
339
339
|
});
|
|
340
340
|
//#endregion
|
|
341
341
|
//#region src/components/DropdownButton.vue?vue&type=script&setup=true&lang.ts
|
|
342
|
-
var _hoisted_1$
|
|
343
|
-
var _hoisted_2$
|
|
342
|
+
var _hoisted_1$73 = ["disabled", "aria-expanded"];
|
|
343
|
+
var _hoisted_2$65 = {
|
|
344
344
|
key: 0,
|
|
345
345
|
class: "mint-dropdown-button__spinner",
|
|
346
346
|
viewBox: "0 0 24 24",
|
|
347
347
|
fill: "none",
|
|
348
348
|
"aria-hidden": "true"
|
|
349
349
|
};
|
|
350
|
-
var _hoisted_3$
|
|
351
|
-
var _hoisted_4$
|
|
352
|
-
var _hoisted_5$
|
|
350
|
+
var _hoisted_3$58 = { class: "mint-dropdown-button__label" };
|
|
351
|
+
var _hoisted_4$55 = ["aria-activedescendant"];
|
|
352
|
+
var _hoisted_5$53 = [
|
|
353
353
|
"id",
|
|
354
354
|
"aria-selected",
|
|
355
355
|
"aria-disabled",
|
|
@@ -435,7 +435,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
435
435
|
"aria-haspopup": "listbox",
|
|
436
436
|
onClick: toggle
|
|
437
437
|
}, [
|
|
438
|
-
__props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$
|
|
438
|
+
__props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$65, [..._cache[0] || (_cache[0] = [createElementVNode("circle", {
|
|
439
439
|
cx: "12",
|
|
440
440
|
cy: "12",
|
|
441
441
|
r: "10",
|
|
@@ -448,7 +448,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
448
448
|
"stroke-width": "3",
|
|
449
449
|
"stroke-linecap": "round"
|
|
450
450
|
}, null, -1)])])) : createCommentVNode("", true),
|
|
451
|
-
createElementVNode("span", _hoisted_3$
|
|
451
|
+
createElementVNode("span", _hoisted_3$58, toDisplayString(selectedLabel.value), 1),
|
|
452
452
|
(openBlock(), createElementBlock("svg", {
|
|
453
453
|
class: normalizeClass(["mint-dropdown-button__chevron", { "mint-dropdown-button__chevron--open": unref(isOpen) }]),
|
|
454
454
|
viewBox: "0 0 24 24",
|
|
@@ -458,7 +458,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
458
458
|
"stroke-linecap": "round",
|
|
459
459
|
"stroke-linejoin": "round"
|
|
460
460
|
}, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))
|
|
461
|
-
], 10, _hoisted_1$
|
|
461
|
+
], 10, _hoisted_1$73), createVNode(Transition, { name: "mint-dropdown-button-menu" }, {
|
|
462
462
|
default: withCtx(() => [unref(isOpen) ? (openBlock(), createElementBlock("ul", {
|
|
463
463
|
key: 0,
|
|
464
464
|
class: "mint-dropdown-button__menu",
|
|
@@ -480,8 +480,8 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
480
480
|
createElementVNode("span", _hoisted_6$49, toDisplayString(option.label), 1),
|
|
481
481
|
option.description ? (openBlock(), createElementBlock("span", _hoisted_7$43, toDisplayString(option.description), 1)) : createCommentVNode("", true),
|
|
482
482
|
option.value === __props.modelValue ? (openBlock(), createElementBlock("svg", _hoisted_8$39, [..._cache[2] || (_cache[2] = [createElementVNode("path", { d: "M20 6 9 17l-5-5" }, null, -1)])])) : createCommentVNode("", true)
|
|
483
|
-
], 10, _hoisted_5$
|
|
484
|
-
}), 128))], 8, _hoisted_4$
|
|
483
|
+
], 10, _hoisted_5$53);
|
|
484
|
+
}), 128))], 8, _hoisted_4$55)) : createCommentVNode("", true)]),
|
|
485
485
|
_: 1
|
|
486
486
|
})], 512);
|
|
487
487
|
};
|
|
@@ -489,14 +489,14 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
489
489
|
});
|
|
490
490
|
//#endregion
|
|
491
491
|
//#region src/components/Calendar.vue?vue&type=script&setup=true&lang.ts
|
|
492
|
-
var _hoisted_1$
|
|
493
|
-
var _hoisted_2$
|
|
492
|
+
var _hoisted_1$72 = { class: "mint-calendar" };
|
|
493
|
+
var _hoisted_2$64 = {
|
|
494
494
|
key: 0,
|
|
495
495
|
class: "mint-calendar__header"
|
|
496
496
|
};
|
|
497
|
-
var _hoisted_3$
|
|
498
|
-
var _hoisted_4$
|
|
499
|
-
var _hoisted_5$
|
|
497
|
+
var _hoisted_3$57 = { class: "mint-calendar__title" };
|
|
498
|
+
var _hoisted_4$54 = { class: "mint-calendar__weekdays" };
|
|
499
|
+
var _hoisted_5$52 = { class: "mint-calendar__grid" };
|
|
500
500
|
var _hoisted_6$48 = [
|
|
501
501
|
"disabled",
|
|
502
502
|
"onClick",
|
|
@@ -723,8 +723,8 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
|
|
|
723
723
|
emit("navigate", "next", currentMonth.value, currentYear.value);
|
|
724
724
|
}
|
|
725
725
|
return (_ctx, _cache) => {
|
|
726
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
727
|
-
__props.showNavigation ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
726
|
+
return openBlock(), createElementBlock("div", _hoisted_1$72, [
|
|
727
|
+
__props.showNavigation ? (openBlock(), createElementBlock("div", _hoisted_2$64, [
|
|
728
728
|
createElementVNode("button", {
|
|
729
729
|
type: "button",
|
|
730
730
|
class: "mint-calendar__nav-btn",
|
|
@@ -743,7 +743,7 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
|
|
|
743
743
|
year: currentYear.value,
|
|
744
744
|
prevMonth,
|
|
745
745
|
nextMonth
|
|
746
|
-
}, () => [createElementVNode("span", _hoisted_3$
|
|
746
|
+
}, () => [createElementVNode("span", _hoisted_3$57, toDisplayString(monthLabel.value), 1)]),
|
|
747
747
|
createElementVNode("button", {
|
|
748
748
|
type: "button",
|
|
749
749
|
class: "mint-calendar__nav-btn",
|
|
@@ -758,7 +758,7 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
|
|
|
758
758
|
"stroke-linejoin": "round"
|
|
759
759
|
}, [createElementVNode("path", { d: "m9 18 6-6-6-6" })], -1)])])
|
|
760
760
|
])) : createCommentVNode("", true),
|
|
761
|
-
createElementVNode("div", _hoisted_4$
|
|
761
|
+
createElementVNode("div", _hoisted_4$54, [(openBlock(true), createElementBlock(Fragment, null, renderList(weekDayLabels.value, (label, i) => {
|
|
762
762
|
return openBlock(), createElementBlock("span", {
|
|
763
763
|
key: i,
|
|
764
764
|
class: "mint-calendar__weekday"
|
|
@@ -767,7 +767,7 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
|
|
|
767
767
|
index: i
|
|
768
768
|
}, () => [createTextVNode(toDisplayString(label), 1)])]);
|
|
769
769
|
}), 128))]),
|
|
770
|
-
createElementVNode("div", _hoisted_5$
|
|
770
|
+
createElementVNode("div", _hoisted_5$52, [(openBlock(true), createElementBlock(Fragment, null, renderList(calendarDays.value, (day, i) => {
|
|
771
771
|
return openBlock(), createElementBlock("button", {
|
|
772
772
|
key: i,
|
|
773
773
|
type: "button",
|
|
@@ -797,14 +797,14 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
|
|
|
797
797
|
});
|
|
798
798
|
//#endregion
|
|
799
799
|
//#region src/components/DataFrame.vue?vue&type=script&setup=true&lang.ts
|
|
800
|
-
var _hoisted_1$
|
|
800
|
+
var _hoisted_1$71 = {
|
|
801
801
|
key: 0,
|
|
802
802
|
class: "mint-dataframe__header"
|
|
803
803
|
};
|
|
804
|
-
var _hoisted_2$
|
|
805
|
-
var _hoisted_3$
|
|
806
|
-
var _hoisted_4$
|
|
807
|
-
var _hoisted_5$
|
|
804
|
+
var _hoisted_2$63 = { class: "mint-dataframe__search-wrapper" };
|
|
805
|
+
var _hoisted_3$56 = ["placeholder"];
|
|
806
|
+
var _hoisted_4$53 = { class: "mint-dataframe__table" };
|
|
807
|
+
var _hoisted_5$51 = {
|
|
808
808
|
key: 0,
|
|
809
809
|
class: "mint-dataframe__th mint-dataframe__th--checkbox"
|
|
810
810
|
};
|
|
@@ -838,7 +838,7 @@ var _hoisted_17$19 = {
|
|
|
838
838
|
key: 1,
|
|
839
839
|
class: "mint-dataframe__loading"
|
|
840
840
|
};
|
|
841
|
-
var _hoisted_18$
|
|
841
|
+
var _hoisted_18$18 = {
|
|
842
842
|
key: 1,
|
|
843
843
|
class: "mint-dataframe__footer"
|
|
844
844
|
};
|
|
@@ -1092,7 +1092,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1092
1092
|
});
|
|
1093
1093
|
return (_ctx, _cache) => {
|
|
1094
1094
|
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-dataframe", { "mint-dataframe--bordered": __props.bordered }]) }, [
|
|
1095
|
-
__props.searchable ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
1095
|
+
__props.searchable ? (openBlock(), createElementBlock("div", _hoisted_1$71, [createElementVNode("div", _hoisted_2$63, [_cache[5] || (_cache[5] = createElementVNode("svg", {
|
|
1096
1096
|
class: "mint-dataframe__search-icon",
|
|
1097
1097
|
viewBox: "0 0 24 24",
|
|
1098
1098
|
fill: "none",
|
|
@@ -1109,13 +1109,13 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1109
1109
|
type: "text",
|
|
1110
1110
|
class: "mint-dataframe__search",
|
|
1111
1111
|
placeholder: __props.searchPlaceholder
|
|
1112
|
-
}, null, 8, _hoisted_3$
|
|
1112
|
+
}, null, 8, _hoisted_3$56), [[vModelText, searchQuery.value]])])])) : createCommentVNode("", true),
|
|
1113
1113
|
createElementVNode("div", {
|
|
1114
1114
|
class: "mint-dataframe__table-wrapper",
|
|
1115
1115
|
style: normalizeStyle(wrapperStyle.value)
|
|
1116
1116
|
}, [
|
|
1117
|
-
createElementVNode("table", _hoisted_4$
|
|
1118
|
-
__props.selectable ? (openBlock(), createElementBlock("th", _hoisted_5$
|
|
1117
|
+
createElementVNode("table", _hoisted_4$53, [createElementVNode("thead", { class: normalizeClass(["mint-dataframe__thead", { "mint-dataframe__thead--sticky": __props.stickyHeader }]) }, [createElementVNode("tr", null, [
|
|
1118
|
+
__props.selectable ? (openBlock(), createElementBlock("th", _hoisted_5$51, [createElementVNode("input", {
|
|
1119
1119
|
type: "checkbox",
|
|
1120
1120
|
checked: allSelected.value,
|
|
1121
1121
|
indeterminate: selectIndeterminate.value,
|
|
@@ -1254,7 +1254,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1254
1254
|
"stroke-linecap": "round"
|
|
1255
1255
|
})], -1))])])) : createCommentVNode("", true)
|
|
1256
1256
|
], 4),
|
|
1257
|
-
__props.pagination ? (openBlock(), createElementBlock("div", _hoisted_18$
|
|
1257
|
+
__props.pagination ? (openBlock(), createElementBlock("div", _hoisted_18$18, [renderSlot(_ctx.$slots, "footer", {}, () => [createElementVNode("span", _hoisted_19$16, 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$15, [
|
|
1258
1258
|
createElementVNode("button", {
|
|
1259
1259
|
type: "button",
|
|
1260
1260
|
class: "mint-dataframe__page-btn",
|
|
@@ -1289,9 +1289,9 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1289
1289
|
});
|
|
1290
1290
|
//#endregion
|
|
1291
1291
|
//#region src/components/AppToastContainer.vue?vue&type=script&setup=true&lang.ts
|
|
1292
|
-
var _hoisted_1$
|
|
1293
|
-
var _hoisted_2$
|
|
1294
|
-
var _hoisted_3$
|
|
1292
|
+
var _hoisted_1$70 = { class: "mint-toast__container" };
|
|
1293
|
+
var _hoisted_2$62 = ["onClick"];
|
|
1294
|
+
var _hoisted_3$55 = { class: "mint-toast__message" };
|
|
1295
1295
|
//#endregion
|
|
1296
1296
|
//#region src/components/AppToastContainer.vue
|
|
1297
1297
|
var AppToastContainer_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1306,7 +1306,7 @@ var AppToastContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
1306
1306
|
info: "#3B82F6"
|
|
1307
1307
|
};
|
|
1308
1308
|
return (_ctx, _cache) => {
|
|
1309
|
-
return openBlock(), createBlock(Teleport, { to: "body" }, [createElementVNode("div", _hoisted_1$
|
|
1309
|
+
return openBlock(), createBlock(Teleport, { to: "body" }, [createElementVNode("div", _hoisted_1$70, [createVNode(TransitionGroup, { name: "toast" }, {
|
|
1310
1310
|
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(toasts), (toast) => {
|
|
1311
1311
|
return openBlock(), createElementBlock("div", {
|
|
1312
1312
|
key: toast.id,
|
|
@@ -1380,7 +1380,7 @@ var AppToastContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
1380
1380
|
createElementVNode("path", { d: "M12 16v-4" }, null, -1),
|
|
1381
1381
|
createElementVNode("path", { d: "M12 8h.01" }, null, -1)
|
|
1382
1382
|
])], 4)),
|
|
1383
|
-
createElementVNode("span", _hoisted_3$
|
|
1383
|
+
createElementVNode("span", _hoisted_3$55, toDisplayString(toast.message), 1),
|
|
1384
1384
|
createElementVNode("span", {
|
|
1385
1385
|
class: "mint-toast__progress",
|
|
1386
1386
|
style: normalizeStyle({
|
|
@@ -1388,7 +1388,7 @@ var AppToastContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
1388
1388
|
animationDuration: `${toast.duration ?? 3500}ms`
|
|
1389
1389
|
})
|
|
1390
1390
|
}, null, 4)
|
|
1391
|
-
], 14, _hoisted_2$
|
|
1391
|
+
], 14, _hoisted_2$62);
|
|
1392
1392
|
}), 128))]),
|
|
1393
1393
|
_: 1
|
|
1394
1394
|
})])]);
|
|
@@ -1540,7 +1540,7 @@ var Ellipsis = createLucideIcon("ellipsis", [
|
|
|
1540
1540
|
]);
|
|
1541
1541
|
//#endregion
|
|
1542
1542
|
//#region src/components/IconButton.vue?vue&type=script&setup=true&lang.ts
|
|
1543
|
-
var _hoisted_1$
|
|
1543
|
+
var _hoisted_1$69 = [
|
|
1544
1544
|
"disabled",
|
|
1545
1545
|
"aria-label",
|
|
1546
1546
|
"title"
|
|
@@ -1602,19 +1602,19 @@ var IconButton_default = /* @__PURE__ */ defineComponent({
|
|
|
1602
1602
|
}, null, -1)])], 2)) : (openBlock(), createElementBlock("span", {
|
|
1603
1603
|
key: 1,
|
|
1604
1604
|
class: normalizeClass(`mint-icon-button__icon--${__props.size}`)
|
|
1605
|
-
}, [renderSlot(_ctx.$slots, "default")], 2))], 10, _hoisted_1$
|
|
1605
|
+
}, [renderSlot(_ctx.$slots, "default")], 2))], 10, _hoisted_1$69);
|
|
1606
1606
|
};
|
|
1607
1607
|
}
|
|
1608
1608
|
});
|
|
1609
1609
|
//#endregion
|
|
1610
1610
|
//#region src/components/ActionMenu.vue?vue&type=script&setup=true&lang.ts
|
|
1611
|
-
var _hoisted_1$
|
|
1611
|
+
var _hoisted_1$68 = [
|
|
1612
1612
|
"href",
|
|
1613
1613
|
"target",
|
|
1614
1614
|
"rel",
|
|
1615
1615
|
"onClick"
|
|
1616
1616
|
];
|
|
1617
|
-
var _hoisted_2$
|
|
1617
|
+
var _hoisted_2$61 = ["disabled", "onClick"];
|
|
1618
1618
|
//#endregion
|
|
1619
1619
|
//#region src/components/ActionMenu.vue
|
|
1620
1620
|
var ActionMenu_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1781,21 +1781,21 @@ var ActionMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
1781
1781
|
class: normalizeClass(["mint-action-menu__item", { "mint-action-menu__item--danger": item.danger }]),
|
|
1782
1782
|
role: "menuitem",
|
|
1783
1783
|
onClick: ($event) => handleSelect(item)
|
|
1784
|
-
}, toDisplayString(item.label), 11, _hoisted_1$
|
|
1784
|
+
}, toDisplayString(item.label), 11, _hoisted_1$68)) : (openBlock(), createElementBlock("button", {
|
|
1785
1785
|
key: 1,
|
|
1786
1786
|
type: "button",
|
|
1787
1787
|
class: normalizeClass(["mint-action-menu__item", { "mint-action-menu__item--danger": item.danger }]),
|
|
1788
1788
|
role: "menuitem",
|
|
1789
1789
|
disabled: item.disabled,
|
|
1790
1790
|
onClick: ($event) => handleSelect(item)
|
|
1791
|
-
}, toDisplayString(item.label), 11, _hoisted_2$
|
|
1791
|
+
}, toDisplayString(item.label), 11, _hoisted_2$61))], 64);
|
|
1792
1792
|
}), 128))], 36)) : createCommentVNode("", true)]))], 64);
|
|
1793
1793
|
};
|
|
1794
1794
|
}
|
|
1795
1795
|
});
|
|
1796
1796
|
//#endregion
|
|
1797
1797
|
//#region src/components/ThemeToggle.vue?vue&type=script&setup=true&lang.ts
|
|
1798
|
-
var _hoisted_1$
|
|
1798
|
+
var _hoisted_1$67 = {
|
|
1799
1799
|
key: 0,
|
|
1800
1800
|
class: "mint-theme-toggle__icon",
|
|
1801
1801
|
viewBox: "0 0 24 24",
|
|
@@ -1805,7 +1805,7 @@ var _hoisted_1$66 = {
|
|
|
1805
1805
|
"stroke-linecap": "round",
|
|
1806
1806
|
"stroke-linejoin": "round"
|
|
1807
1807
|
};
|
|
1808
|
-
var _hoisted_2$
|
|
1808
|
+
var _hoisted_2$60 = {
|
|
1809
1809
|
key: 1,
|
|
1810
1810
|
class: "mint-theme-toggle__icon",
|
|
1811
1811
|
viewBox: "0 0 24 24",
|
|
@@ -1831,7 +1831,7 @@ var ThemeToggle_default = /* @__PURE__ */ defineComponent({
|
|
|
1831
1831
|
label: unref(isDark) ? "Switch to light mode" : "Switch to dark mode",
|
|
1832
1832
|
onClick: unref(toggleTheme)
|
|
1833
1833
|
}, {
|
|
1834
|
-
default: withCtx(() => [unref(isDark) ? (openBlock(), createElementBlock("svg", _hoisted_1$
|
|
1834
|
+
default: withCtx(() => [unref(isDark) ? (openBlock(), createElementBlock("svg", _hoisted_1$67, [..._cache[0] || (_cache[0] = [
|
|
1835
1835
|
createElementVNode("circle", {
|
|
1836
1836
|
cx: "12",
|
|
1837
1837
|
cy: "12",
|
|
@@ -1845,7 +1845,7 @@ var ThemeToggle_default = /* @__PURE__ */ defineComponent({
|
|
|
1845
1845
|
createElementVNode("path", { d: "M20 12h2" }, null, -1),
|
|
1846
1846
|
createElementVNode("path", { d: "m6.34 17.66-1.41 1.41" }, null, -1),
|
|
1847
1847
|
createElementVNode("path", { d: "m19.07 4.93-1.41 1.41" }, null, -1)
|
|
1848
|
-
])])) : (openBlock(), createElementBlock("svg", _hoisted_2$
|
|
1848
|
+
])])) : (openBlock(), createElementBlock("svg", _hoisted_2$60, [..._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)])]))]),
|
|
1849
1849
|
_: 1
|
|
1850
1850
|
}, 8, [
|
|
1851
1851
|
"size",
|
|
@@ -1857,11 +1857,11 @@ var ThemeToggle_default = /* @__PURE__ */ defineComponent({
|
|
|
1857
1857
|
});
|
|
1858
1858
|
//#endregion
|
|
1859
1859
|
//#region src/components/CollapsibleCard.vue?vue&type=script&setup=true&lang.ts
|
|
1860
|
-
var _hoisted_1$
|
|
1861
|
-
var _hoisted_2$
|
|
1862
|
-
var _hoisted_3$
|
|
1863
|
-
var _hoisted_4$
|
|
1864
|
-
var _hoisted_5$
|
|
1860
|
+
var _hoisted_1$66 = { class: "mint-collapsible-card__header-shell" };
|
|
1861
|
+
var _hoisted_2$59 = ["disabled", "aria-expanded"];
|
|
1862
|
+
var _hoisted_3$54 = { class: "mint-collapsible-card__title-section" };
|
|
1863
|
+
var _hoisted_4$52 = ["d"];
|
|
1864
|
+
var _hoisted_5$50 = ["d"];
|
|
1865
1865
|
var _hoisted_6$46 = { class: "mint-collapsible-card__titles" };
|
|
1866
1866
|
var _hoisted_7$40 = { class: "mint-collapsible-card__title" };
|
|
1867
1867
|
var _hoisted_8$36 = {
|
|
@@ -1899,7 +1899,7 @@ var _hoisted_16$18 = [
|
|
|
1899
1899
|
"aria-expanded"
|
|
1900
1900
|
];
|
|
1901
1901
|
var _hoisted_17$18 = { class: "mint-collapsible-card__body" };
|
|
1902
|
-
var _hoisted_18$
|
|
1902
|
+
var _hoisted_18$17 = { class: "mint-collapsible-card__content" };
|
|
1903
1903
|
//#endregion
|
|
1904
1904
|
//#region src/components/CollapsibleCard.vue
|
|
1905
1905
|
var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1979,13 +1979,13 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
1979
1979
|
emit("action", action.id);
|
|
1980
1980
|
}
|
|
1981
1981
|
return (_ctx, _cache) => {
|
|
1982
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-collapsible-card", __props.dense ? "mint-collapsible-card--dense" : ""]) }, [createElementVNode("div", _hoisted_1$
|
|
1982
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-collapsible-card", __props.dense ? "mint-collapsible-card--dense" : ""]) }, [createElementVNode("div", _hoisted_1$66, [createElementVNode("button", {
|
|
1983
1983
|
type: "button",
|
|
1984
1984
|
class: normalizeClass(headerClasses.value),
|
|
1985
1985
|
disabled: __props.disabled,
|
|
1986
1986
|
"aria-expanded": isOpen.value,
|
|
1987
1987
|
onClick: toggle
|
|
1988
|
-
}, [createElementVNode("div", _hoisted_3$
|
|
1988
|
+
}, [createElementVNode("div", _hoisted_3$54, [__props.icon ? (openBlock(), createElementBlock("div", {
|
|
1989
1989
|
key: 0,
|
|
1990
1990
|
class: "mint-collapsible-card__icon-badge",
|
|
1991
1991
|
style: normalizeStyle(iconBgStyle.value)
|
|
@@ -2003,15 +2003,15 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
2003
2003
|
return openBlock(), createElementBlock("path", {
|
|
2004
2004
|
key: i,
|
|
2005
2005
|
d
|
|
2006
|
-
}, null, 8, _hoisted_4$
|
|
2006
|
+
}, null, 8, _hoisted_4$52);
|
|
2007
2007
|
}), 128)) : (openBlock(), createElementBlock("path", {
|
|
2008
2008
|
key: 1,
|
|
2009
2009
|
d: __props.icon
|
|
2010
|
-
}, null, 8, _hoisted_5$
|
|
2010
|
+
}, null, 8, _hoisted_5$50))], 4)) : (openBlock(), createElementBlock("span", {
|
|
2011
2011
|
key: 1,
|
|
2012
2012
|
class: "mint-collapsible-card__icon-text",
|
|
2013
2013
|
style: normalizeStyle(iconColorStyle.value)
|
|
2014
|
-
}, toDisplayString(__props.icon), 5))], 4)) : createCommentVNode("", true), createElementVNode("div", _hoisted_6$46, [createElementVNode("h3", _hoisted_7$40, toDisplayString(__props.title), 1), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_8$36, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)])])], 10, _hoisted_2$
|
|
2014
|
+
}, toDisplayString(__props.icon), 5))], 4)) : createCommentVNode("", true), createElementVNode("div", _hoisted_6$46, [createElementVNode("h3", _hoisted_7$40, toDisplayString(__props.title), 1), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_8$36, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)])])], 10, _hoisted_2$59), createElementVNode("div", _hoisted_9$34, [
|
|
2015
2015
|
__props.badge !== void 0 ? (openBlock(), createElementBlock("span", {
|
|
2016
2016
|
key: 0,
|
|
2017
2017
|
class: normalizeClass(badgeClasses.value)
|
|
@@ -2066,7 +2066,7 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
2066
2066
|
"aria-hidden": "true"
|
|
2067
2067
|
}, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))], 8, _hoisted_16$18)
|
|
2068
2068
|
])]), createVNode(Transition, { name: "collapse" }, {
|
|
2069
|
-
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_17$18, [createElementVNode("div", _hoisted_18$
|
|
2069
|
+
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_17$18, [createElementVNode("div", _hoisted_18$17, [renderSlot(_ctx.$slots, "default")])], 512), [[vShow, isOpen.value]])]),
|
|
2070
2070
|
_: 3
|
|
2071
2071
|
})], 2);
|
|
2072
2072
|
};
|
|
@@ -2077,6 +2077,7 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
2077
2077
|
var PLUGIN_ICON_FALLBACK_PATH = "M14 7v4a1 1 0 0 0 1 1h4M5 3h9l5 5v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z";
|
|
2078
2078
|
var PATH_REGEX = /^[Mm][\s,\d\-.]/;
|
|
2079
2079
|
var RASTER_DATA_URL_REGEX = /^data:image\/(png|jpeg|jpg|gif|webp);/;
|
|
2080
|
+
var SAME_ORIGIN_ASSET_URL_REGEX = /^\/(?!\/)[^\s?#]+\.(?:svg|png|jpe?g|gif|webp)(?:[?#].*)?$/i;
|
|
2080
2081
|
var VIEW_BOX_REGEX = /^-?\d+(?:\.\d+)?\s+-?\d+(?:\.\d+)?\s+\d+(?:\.\d+)?\s+\d+(?:\.\d+)?$/;
|
|
2081
2082
|
var COLOR_REGEX = /^(#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})|currentColor|white|black|none)$/i;
|
|
2082
2083
|
var MAX_STRUCTURED_ICON_LENGTH = 8e3;
|
|
@@ -2104,8 +2105,8 @@ function detectPluginIcon(icon) {
|
|
|
2104
2105
|
format: "data-url",
|
|
2105
2106
|
value: raw
|
|
2106
2107
|
};
|
|
2107
|
-
if (raw.startsWith("https://")) return {
|
|
2108
|
-
format: "
|
|
2108
|
+
if (raw.startsWith("https://") || SAME_ORIGIN_ASSET_URL_REGEX.test(raw)) return {
|
|
2109
|
+
format: "asset-url",
|
|
2109
2110
|
value: raw
|
|
2110
2111
|
};
|
|
2111
2112
|
return {
|
|
@@ -2206,18 +2207,18 @@ function isFiniteNumber(value, min, max) {
|
|
|
2206
2207
|
}
|
|
2207
2208
|
//#endregion
|
|
2208
2209
|
//#region src/components/internal/ActionItemInternal.vue?vue&type=script&setup=true&lang.ts
|
|
2209
|
-
var _hoisted_1$
|
|
2210
|
+
var _hoisted_1$65 = [
|
|
2210
2211
|
"href",
|
|
2211
2212
|
"aria-disabled",
|
|
2212
2213
|
"tabindex"
|
|
2213
2214
|
];
|
|
2214
|
-
var _hoisted_2$
|
|
2215
|
+
var _hoisted_2$58 = [
|
|
2215
2216
|
"href",
|
|
2216
2217
|
"aria-disabled",
|
|
2217
2218
|
"tabindex",
|
|
2218
2219
|
"onClick"
|
|
2219
2220
|
];
|
|
2220
|
-
var _hoisted_3$
|
|
2221
|
+
var _hoisted_3$53 = ["type", "disabled"];
|
|
2221
2222
|
//#endregion
|
|
2222
2223
|
//#region src/components/internal/ActionItemInternal.vue
|
|
2223
2224
|
var ActionItemInternal_default = /* @__PURE__ */ defineComponent({
|
|
@@ -2263,7 +2264,7 @@ var ActionItemInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2263
2264
|
"aria-disabled": __props.disabled || void 0,
|
|
2264
2265
|
tabindex: __props.disabled ? -1 : void 0,
|
|
2265
2266
|
onClick: handleClick
|
|
2266
|
-
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$
|
|
2267
|
+
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$65)) : __props.to ? (openBlock(), createBlock(_component_router_link, {
|
|
2267
2268
|
key: 1,
|
|
2268
2269
|
to: __props.to,
|
|
2269
2270
|
custom: ""
|
|
@@ -2273,33 +2274,33 @@ var ActionItemInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2273
2274
|
"aria-disabled": __props.disabled || void 0,
|
|
2274
2275
|
tabindex: __props.disabled ? -1 : void 0,
|
|
2275
2276
|
onClick: ($event) => handleRouterClick($event, navigate)
|
|
2276
|
-
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$
|
|
2277
|
+
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$58)]),
|
|
2277
2278
|
_: 3
|
|
2278
2279
|
}, 8, ["to"])) : (openBlock(), createElementBlock("button", mergeProps({ key: 2 }, _ctx.$attrs, {
|
|
2279
2280
|
type: __props.type,
|
|
2280
2281
|
disabled: __props.disabled,
|
|
2281
2282
|
onClick: handleClick
|
|
2282
|
-
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_3$
|
|
2283
|
+
}), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_3$53));
|
|
2283
2284
|
};
|
|
2284
2285
|
}
|
|
2285
2286
|
});
|
|
2286
2287
|
//#endregion
|
|
2287
2288
|
//#region src/components/PluginIcon.vue?vue&type=script&setup=true&lang.ts
|
|
2288
|
-
var _hoisted_1$
|
|
2289
|
-
var _hoisted_2$
|
|
2290
|
-
var _hoisted_3$
|
|
2289
|
+
var _hoisted_1$64 = ["viewBox"];
|
|
2290
|
+
var _hoisted_2$57 = { key: 0 };
|
|
2291
|
+
var _hoisted_3$52 = [
|
|
2291
2292
|
"id",
|
|
2292
2293
|
"x1",
|
|
2293
2294
|
"y1",
|
|
2294
2295
|
"x2",
|
|
2295
2296
|
"y2"
|
|
2296
2297
|
];
|
|
2297
|
-
var _hoisted_4$
|
|
2298
|
+
var _hoisted_4$51 = [
|
|
2298
2299
|
"offset",
|
|
2299
2300
|
"stop-color",
|
|
2300
2301
|
"stop-opacity"
|
|
2301
2302
|
];
|
|
2302
|
-
var _hoisted_5$
|
|
2303
|
+
var _hoisted_5$49 = [
|
|
2303
2304
|
"x",
|
|
2304
2305
|
"y",
|
|
2305
2306
|
"width",
|
|
@@ -2343,10 +2344,10 @@ var PluginIcon_default = /* @__PURE__ */ defineComponent({
|
|
|
2343
2344
|
* - Structured MINT icon JSON ({"type":"mint-icon",...}) → controlled multi-color SVG
|
|
2344
2345
|
* - SVG path data (e.g. "M13 10V3...") → inline <svg><path>
|
|
2345
2346
|
* - Raster data URL (data:image/png|jpeg|jpg|gif|webp;...) → <img>
|
|
2346
|
-
* - https:// URL → <img> with no-referrer + lazy loading
|
|
2347
|
+
* - https:// URL or root-relative static image/SVG asset → <img> with no-referrer + lazy loading
|
|
2347
2348
|
* - Anything else → MINT canonical plugin placeholder path
|
|
2348
2349
|
*
|
|
2349
|
-
* http
|
|
2350
|
+
* http://, protocol-relative, and data:image/svg+xml URLs are deliberately rejected
|
|
2350
2351
|
* (mixed-content + XSS, see spec 2026-05-04-plugin-icon-component-design.md). */
|
|
2351
2352
|
const props = __props;
|
|
2352
2353
|
const detected = computed(() => detectPluginIcon(props.icon));
|
|
@@ -2400,7 +2401,7 @@ var PluginIcon_default = /* @__PURE__ */ defineComponent({
|
|
|
2400
2401
|
viewBox: structuredIcon.value.viewBox,
|
|
2401
2402
|
"aria-hidden": "true"
|
|
2402
2403
|
}, [
|
|
2403
|
-
structuredIcon.value.gradient ? (openBlock(), createElementBlock("defs", _hoisted_2$
|
|
2404
|
+
structuredIcon.value.gradient ? (openBlock(), createElementBlock("defs", _hoisted_2$57, [createElementVNode("linearGradient", {
|
|
2404
2405
|
id: gradientId.value,
|
|
2405
2406
|
x1: gradientCoords.value.x1,
|
|
2406
2407
|
y1: gradientCoords.value.y1,
|
|
@@ -2412,8 +2413,8 @@ var PluginIcon_default = /* @__PURE__ */ defineComponent({
|
|
|
2412
2413
|
offset: stop.offset,
|
|
2413
2414
|
"stop-color": stop.color,
|
|
2414
2415
|
"stop-opacity": stop.opacity
|
|
2415
|
-
}, null, 8, _hoisted_4$
|
|
2416
|
-
}), 128))], 8, _hoisted_3$
|
|
2416
|
+
}, null, 8, _hoisted_4$51);
|
|
2417
|
+
}), 128))], 8, _hoisted_3$52)])) : createCommentVNode("", true),
|
|
2417
2418
|
structuredIcon.value.background ? (openBlock(), createElementBlock("rect", {
|
|
2418
2419
|
key: 1,
|
|
2419
2420
|
x: structuredViewBox.value.x,
|
|
@@ -2422,7 +2423,7 @@ var PluginIcon_default = /* @__PURE__ */ defineComponent({
|
|
|
2422
2423
|
height: structuredViewBox.value.height,
|
|
2423
2424
|
rx: structuredIcon.value.background.radius,
|
|
2424
2425
|
fill: backgroundFill.value
|
|
2425
|
-
}, null, 8, _hoisted_5$
|
|
2426
|
+
}, null, 8, _hoisted_5$49)) : createCommentVNode("", true),
|
|
2426
2427
|
(openBlock(true), createElementBlock(Fragment, null, renderList(structuredIcon.value.paths, (path, index) => {
|
|
2427
2428
|
return openBlock(), createElementBlock("path", {
|
|
2428
2429
|
key: index,
|
|
@@ -2435,7 +2436,7 @@ var PluginIcon_default = /* @__PURE__ */ defineComponent({
|
|
|
2435
2436
|
"stroke-linejoin": "round"
|
|
2436
2437
|
}, null, 8, _hoisted_6$45);
|
|
2437
2438
|
}), 128))
|
|
2438
|
-
], 8, _hoisted_1$
|
|
2439
|
+
], 8, _hoisted_1$64)) : detected.value.format === "path" || detected.value.format === "fallback" ? (openBlock(), createElementBlock("svg", _hoisted_7$39, [createElementVNode("path", { d: iconValue.value }, null, 8, _hoisted_8$35)])) : (openBlock(), createElementBlock("img", {
|
|
2439
2440
|
key: 2,
|
|
2440
2441
|
class: "mint-plugin-icon__img",
|
|
2441
2442
|
src: iconValue.value,
|
|
@@ -2448,17 +2449,17 @@ var PluginIcon_default = /* @__PURE__ */ defineComponent({
|
|
|
2448
2449
|
});
|
|
2449
2450
|
//#endregion
|
|
2450
2451
|
//#region src/components/internal/AppTopBarPageSelectorInternal.vue?vue&type=script&setup=true&lang.ts
|
|
2451
|
-
var _hoisted_1$
|
|
2452
|
-
var _hoisted_2$
|
|
2452
|
+
var _hoisted_1$63 = ["aria-expanded"];
|
|
2453
|
+
var _hoisted_2$56 = {
|
|
2453
2454
|
key: 1,
|
|
2454
2455
|
class: "mint-page-selector__icon-fallback"
|
|
2455
2456
|
};
|
|
2456
|
-
var _hoisted_3$
|
|
2457
|
-
var _hoisted_4$
|
|
2457
|
+
var _hoisted_3$51 = { class: "mint-page-selector__label" };
|
|
2458
|
+
var _hoisted_4$50 = {
|
|
2458
2459
|
class: "mint-page-selector__chevron-wrap",
|
|
2459
2460
|
"aria-hidden": "true"
|
|
2460
2461
|
};
|
|
2461
|
-
var _hoisted_5$
|
|
2462
|
+
var _hoisted_5$48 = {
|
|
2462
2463
|
key: 0,
|
|
2463
2464
|
class: "mint-page-selector__menu",
|
|
2464
2465
|
role: "menu"
|
|
@@ -2516,10 +2517,10 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2516
2517
|
class: "mint-page-selector__trigger-metadata-icon",
|
|
2517
2518
|
icon: current.value.icon,
|
|
2518
2519
|
size: "sm",
|
|
2519
|
-
variant: "
|
|
2520
|
-
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_2$
|
|
2521
|
-
createElementVNode("span", _hoisted_3$
|
|
2522
|
-
createElementVNode("span", _hoisted_4$
|
|
2520
|
+
variant: "solid"
|
|
2521
|
+
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_2$56, toDisplayString(current.value.label.charAt(0)), 1))])], 2)) : createCommentVNode("", true),
|
|
2522
|
+
createElementVNode("span", _hoisted_3$51, toDisplayString(current.value?.label ?? __props.placeholder), 1),
|
|
2523
|
+
createElementVNode("span", _hoisted_4$50, [(openBlock(), createElementBlock("svg", {
|
|
2523
2524
|
class: normalizeClass(["mint-page-selector__chevron", { "mint-page-selector__chevron--open": unref(isOpen) }]),
|
|
2524
2525
|
viewBox: "0 0 24 24",
|
|
2525
2526
|
fill: "none",
|
|
@@ -2528,7 +2529,7 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2528
2529
|
"stroke-linecap": "round",
|
|
2529
2530
|
"stroke-linejoin": "round"
|
|
2530
2531
|
}, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])
|
|
2531
|
-
], 10, _hoisted_1$
|
|
2532
|
+
], 10, _hoisted_1$63), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$48, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-page-selector__menu-title" }, "Go to", -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedPages.value, (page) => {
|
|
2532
2533
|
return openBlock(), createBlock(ActionItemInternal_default, {
|
|
2533
2534
|
key: page.id,
|
|
2534
2535
|
href: page.href,
|
|
@@ -2547,7 +2548,7 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2547
2548
|
class: "mint-page-selector__metadata-icon",
|
|
2548
2549
|
icon: page.icon,
|
|
2549
2550
|
size: "sm",
|
|
2550
|
-
variant: "
|
|
2551
|
+
variant: "solid"
|
|
2551
2552
|
}, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_6$44, toDisplayString(page.label.charAt(0)), 1))])], 2), createElementVNode("span", _hoisted_7$38, toDisplayString(page.label), 1)]),
|
|
2552
2553
|
_: 2
|
|
2553
2554
|
}, 1032, [
|
|
@@ -2563,16 +2564,16 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2563
2564
|
});
|
|
2564
2565
|
//#endregion
|
|
2565
2566
|
//#region src/components/internal/AppTopBarPillNavInternal.vue?vue&type=script&setup=true&lang.ts
|
|
2566
|
-
var _hoisted_1$
|
|
2567
|
+
var _hoisted_1$62 = {
|
|
2567
2568
|
class: "mint-pill-nav",
|
|
2568
2569
|
"aria-label": "Primary"
|
|
2569
2570
|
};
|
|
2570
|
-
var _hoisted_2$
|
|
2571
|
+
var _hoisted_2$55 = [
|
|
2571
2572
|
"disabled",
|
|
2572
2573
|
"aria-expanded",
|
|
2573
2574
|
"onClick"
|
|
2574
2575
|
];
|
|
2575
|
-
var _hoisted_3$
|
|
2576
|
+
var _hoisted_3$50 = {
|
|
2576
2577
|
key: 0,
|
|
2577
2578
|
class: "mint-pill-nav__icon",
|
|
2578
2579
|
viewBox: "0 0 24 24",
|
|
@@ -2583,8 +2584,8 @@ var _hoisted_3$49 = {
|
|
|
2583
2584
|
"stroke-linejoin": "round",
|
|
2584
2585
|
"aria-hidden": "true"
|
|
2585
2586
|
};
|
|
2586
|
-
var _hoisted_4$
|
|
2587
|
-
var _hoisted_5$
|
|
2587
|
+
var _hoisted_4$49 = ["d"];
|
|
2588
|
+
var _hoisted_5$47 = ["d"];
|
|
2588
2589
|
var _hoisted_6$43 = {
|
|
2589
2590
|
key: 0,
|
|
2590
2591
|
class: "mint-pill-nav__icon",
|
|
@@ -2663,7 +2664,7 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2663
2664
|
}
|
|
2664
2665
|
useEventListener(() => document, "click", handleClickOutside);
|
|
2665
2666
|
return (_ctx, _cache) => {
|
|
2666
|
-
return openBlock(), createElementBlock("nav", _hoisted_1$
|
|
2667
|
+
return openBlock(), createElementBlock("nav", _hoisted_1$62, [(openBlock(true), createElementBlock(Fragment, null, renderList(normalizedItems.value, (item) => {
|
|
2667
2668
|
return openBlock(), createElementBlock("div", {
|
|
2668
2669
|
key: item.id,
|
|
2669
2670
|
ref_for: true,
|
|
@@ -2682,15 +2683,15 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2682
2683
|
"aria-haspopup": "menu",
|
|
2683
2684
|
onClick: withModifiers(($event) => handleClick(item), ["stop"])
|
|
2684
2685
|
}, [
|
|
2685
|
-
isSvgIcon(item.icon) ? (openBlock(), createElementBlock("svg", _hoisted_3$
|
|
2686
|
+
isSvgIcon(item.icon) ? (openBlock(), createElementBlock("svg", _hoisted_3$50, [Array.isArray(item.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(item.icon, (d, index) => {
|
|
2686
2687
|
return openBlock(), createElementBlock("path", {
|
|
2687
2688
|
key: index,
|
|
2688
2689
|
d
|
|
2689
|
-
}, null, 8, _hoisted_4$
|
|
2690
|
+
}, null, 8, _hoisted_4$49);
|
|
2690
2691
|
}), 128)) : (openBlock(), createElementBlock("path", {
|
|
2691
2692
|
key: 1,
|
|
2692
2693
|
d: item.icon
|
|
2693
|
-
}, null, 8, _hoisted_5$
|
|
2694
|
+
}, null, 8, _hoisted_5$47))])) : createCommentVNode("", true),
|
|
2694
2695
|
createTextVNode(" " + toDisplayString(item.label) + " ", 1),
|
|
2695
2696
|
(openBlock(), createElementBlock("svg", {
|
|
2696
2697
|
class: normalizeClass(["mint-pill-nav__chevron", { "mint-pill-nav__chevron--open": openItemId.value === item.id }]),
|
|
@@ -2702,7 +2703,7 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2702
2703
|
"stroke-linejoin": "round",
|
|
2703
2704
|
"aria-hidden": "true"
|
|
2704
2705
|
}, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))
|
|
2705
|
-
], 10, _hoisted_2$
|
|
2706
|
+
], 10, _hoisted_2$55)) : (openBlock(), createBlock(ActionItemInternal_default, {
|
|
2706
2707
|
key: 1,
|
|
2707
2708
|
href: item.href,
|
|
2708
2709
|
to: item.to,
|
|
@@ -2760,18 +2761,18 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
2760
2761
|
});
|
|
2761
2762
|
//#endregion
|
|
2762
2763
|
//#region src/components/AppAvatarMenu.vue?vue&type=script&setup=true&lang.ts
|
|
2763
|
-
var _hoisted_1$
|
|
2764
|
-
var _hoisted_2$
|
|
2765
|
-
var _hoisted_3$
|
|
2764
|
+
var _hoisted_1$61 = ["aria-expanded", "title"];
|
|
2765
|
+
var _hoisted_2$54 = { class: "mint-avatar-menu__avatar" };
|
|
2766
|
+
var _hoisted_3$49 = {
|
|
2766
2767
|
key: 0,
|
|
2767
2768
|
class: "mint-avatar-menu__name"
|
|
2768
2769
|
};
|
|
2769
|
-
var _hoisted_4$
|
|
2770
|
+
var _hoisted_4$48 = {
|
|
2770
2771
|
key: 0,
|
|
2771
2772
|
class: "mint-avatar-menu__panel",
|
|
2772
2773
|
role: "menu"
|
|
2773
2774
|
};
|
|
2774
|
-
var _hoisted_5$
|
|
2775
|
+
var _hoisted_5$46 = {
|
|
2775
2776
|
key: 0,
|
|
2776
2777
|
class: "mint-avatar-menu__header"
|
|
2777
2778
|
};
|
|
@@ -2863,8 +2864,8 @@ var AppAvatarMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
2863
2864
|
"aria-haspopup": "menu",
|
|
2864
2865
|
title: __props.userName ? `${__props.userName} · Account menu` : "Account menu",
|
|
2865
2866
|
onClick: _cache[0] || (_cache[0] = withModifiers((...args) => unref(toggle) && unref(toggle)(...args), ["stop"]))
|
|
2866
|
-
}, [createElementVNode("span", _hoisted_2$
|
|
2867
|
-
__props.userName || __props.userEmail ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
2867
|
+
}, [createElementVNode("span", _hoisted_2$54, [renderSlot(_ctx.$slots, "avatar", { initials: initials.value }, () => [createTextVNode(toDisplayString(initials.value), 1)])]), __props.userName ? (openBlock(), createElementBlock("span", _hoisted_3$49, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)], 10, _hoisted_1$61), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_4$48, [
|
|
2868
|
+
__props.userName || __props.userEmail ? (openBlock(), createElementBlock("div", _hoisted_5$46, [__props.userName ? (openBlock(), createElementBlock("div", _hoisted_6$42, toDisplayString(__props.userName), 1)) : createCommentVNode("", true), __props.userEmail ? (openBlock(), createElementBlock("div", _hoisted_7$36, toDisplayString(__props.userEmail), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
2868
2869
|
renderSlot(_ctx.$slots, "items", { close: closeSilently }, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
2869
2870
|
return openBlock(), createElementBlock(Fragment, { key: item.id }, [item.divider ? (openBlock(), createElementBlock("div", _hoisted_8$33)) : (openBlock(), createBlock(ActionItemInternal_default, {
|
|
2870
2871
|
key: 1,
|
|
@@ -2902,17 +2903,17 @@ var AppAvatarMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
2902
2903
|
});
|
|
2903
2904
|
//#endregion
|
|
2904
2905
|
//#region src/components/AppPluginSwitcher.vue?vue&type=script&setup=true&lang.ts
|
|
2905
|
-
var _hoisted_1$
|
|
2906
|
-
var _hoisted_2$
|
|
2907
|
-
var _hoisted_3$
|
|
2906
|
+
var _hoisted_1$60 = ["aria-expanded"];
|
|
2907
|
+
var _hoisted_2$53 = { class: "mint-plugin-switcher__label" };
|
|
2908
|
+
var _hoisted_3$48 = {
|
|
2908
2909
|
key: 0,
|
|
2909
2910
|
class: "mint-plugin-switcher__version"
|
|
2910
2911
|
};
|
|
2911
|
-
var _hoisted_4$
|
|
2912
|
+
var _hoisted_4$47 = {
|
|
2912
2913
|
class: "mint-plugin-switcher__chevron-wrap",
|
|
2913
2914
|
"aria-hidden": "true"
|
|
2914
2915
|
};
|
|
2915
|
-
var _hoisted_5$
|
|
2916
|
+
var _hoisted_5$45 = {
|
|
2916
2917
|
key: 0,
|
|
2917
2918
|
class: "mint-plugin-switcher__menu",
|
|
2918
2919
|
role: "menu"
|
|
@@ -2982,9 +2983,9 @@ var AppPluginSwitcher_default = /* @__PURE__ */ defineComponent({
|
|
|
2982
2983
|
"aria-haspopup": "menu",
|
|
2983
2984
|
onClick: _cache[0] || (_cache[0] = withModifiers((...args) => unref(toggle) && unref(toggle)(...args), ["stop"]))
|
|
2984
2985
|
}, [
|
|
2985
|
-
createElementVNode("span", _hoisted_2$
|
|
2986
|
-
__props.current.version ? (openBlock(), createElementBlock("span", _hoisted_3$
|
|
2987
|
-
createElementVNode("span", _hoisted_4$
|
|
2986
|
+
createElementVNode("span", _hoisted_2$53, toDisplayString(__props.current.label), 1),
|
|
2987
|
+
__props.current.version ? (openBlock(), createElementBlock("span", _hoisted_3$48, "v" + toDisplayString(__props.current.version), 1)) : createCommentVNode("", true),
|
|
2988
|
+
createElementVNode("span", _hoisted_4$47, [(openBlock(), createElementBlock("svg", {
|
|
2988
2989
|
class: normalizeClass(["mint-plugin-switcher__chevron", { "mint-plugin-switcher__chevron--open": unref(isOpen) }]),
|
|
2989
2990
|
viewBox: "0 0 24 24",
|
|
2990
2991
|
fill: "none",
|
|
@@ -2993,7 +2994,7 @@ var AppPluginSwitcher_default = /* @__PURE__ */ defineComponent({
|
|
|
2993
2994
|
"stroke-linecap": "round",
|
|
2994
2995
|
"stroke-linejoin": "round"
|
|
2995
2996
|
}, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])
|
|
2996
|
-
], 10, _hoisted_1$
|
|
2997
|
+
], 10, _hoisted_1$60), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$45, [
|
|
2997
2998
|
_cache[4] || (_cache[4] = createElementVNode("div", { class: "mint-plugin-switcher__menu-title" }, "Switch plugin", -1)),
|
|
2998
2999
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.plugins, (plugin) => {
|
|
2999
3000
|
return openBlock(), createBlock(ActionItemInternal_default, {
|
|
@@ -3090,54 +3091,61 @@ function currentItemIdFromLocation(pages, pathname, routePrefix) {
|
|
|
3090
3091
|
}
|
|
3091
3092
|
//#endregion
|
|
3092
3093
|
//#region src/components/AppTopBar.vue?vue&type=script&setup=true&lang.ts
|
|
3093
|
-
var _hoisted_1$
|
|
3094
|
-
var _hoisted_2$
|
|
3095
|
-
var _hoisted_3$
|
|
3096
|
-
var _hoisted_4$
|
|
3094
|
+
var _hoisted_1$59 = { class: "mint-topbar__container" };
|
|
3095
|
+
var _hoisted_2$52 = { class: "mint-topbar__brand" };
|
|
3096
|
+
var _hoisted_3$47 = ["href"];
|
|
3097
|
+
var _hoisted_4$46 = {
|
|
3097
3098
|
key: 0,
|
|
3098
|
-
class: "mint-
|
|
3099
|
+
class: "mint-topbar__identity"
|
|
3099
3100
|
};
|
|
3100
|
-
var _hoisted_5$
|
|
3101
|
+
var _hoisted_5$44 = {
|
|
3101
3102
|
key: 0,
|
|
3102
3103
|
class: "mint-topbar__logo"
|
|
3103
3104
|
};
|
|
3104
3105
|
var _hoisted_6$40 = {
|
|
3105
3106
|
key: 0,
|
|
3106
|
-
class: "mint-
|
|
3107
|
+
class: "mint-topbar__identity"
|
|
3107
3108
|
};
|
|
3108
3109
|
var _hoisted_7$34 = {
|
|
3110
|
+
key: 0,
|
|
3111
|
+
class: "mint-topbar__logo"
|
|
3112
|
+
};
|
|
3113
|
+
var _hoisted_8$31 = {
|
|
3114
|
+
key: 0,
|
|
3115
|
+
class: "mint-topbar__identity"
|
|
3116
|
+
};
|
|
3117
|
+
var _hoisted_9$29 = {
|
|
3118
|
+
key: 0,
|
|
3119
|
+
class: "mint-topbar__logo"
|
|
3120
|
+
};
|
|
3121
|
+
var _hoisted_10$27 = {
|
|
3109
3122
|
key: 2,
|
|
3110
3123
|
class: "mint-topbar-title-group"
|
|
3111
3124
|
};
|
|
3112
|
-
var
|
|
3113
|
-
var
|
|
3114
|
-
var
|
|
3125
|
+
var _hoisted_11$25 = { class: "mint-topbar-title" };
|
|
3126
|
+
var _hoisted_12$23 = { class: "mint-topbar-subtitle" };
|
|
3127
|
+
var _hoisted_13$23 = {
|
|
3115
3128
|
key: 3,
|
|
3116
3129
|
class: "mint-topbar__title-only"
|
|
3117
3130
|
};
|
|
3118
|
-
var
|
|
3131
|
+
var _hoisted_14$20 = {
|
|
3119
3132
|
key: 4,
|
|
3120
3133
|
class: "mint-topbar__center"
|
|
3121
3134
|
};
|
|
3122
|
-
var
|
|
3123
|
-
var
|
|
3135
|
+
var _hoisted_15$19 = { class: "mint-topbar__right" };
|
|
3136
|
+
var _hoisted_16$17 = {
|
|
3124
3137
|
key: 0,
|
|
3125
3138
|
class: "mint-topbar__standalone-badge"
|
|
3126
3139
|
};
|
|
3127
|
-
var
|
|
3140
|
+
var _hoisted_17$17 = {
|
|
3128
3141
|
key: 2,
|
|
3129
3142
|
class: "mint-topbar__standalone-badge"
|
|
3130
3143
|
};
|
|
3131
|
-
var
|
|
3144
|
+
var _hoisted_18$16 = {
|
|
3132
3145
|
key: 0,
|
|
3133
3146
|
class: "mint-topbar__icon-btn-dot",
|
|
3134
3147
|
"aria-hidden": "true"
|
|
3135
3148
|
};
|
|
3136
|
-
var _hoisted_16$17 = { class: "mint-topbar__profile-avatar" };
|
|
3137
|
-
var _hoisted_17$17 = {
|
|
3138
|
-
key: 0,
|
|
3139
|
-
class: "mint-topbar__profile-name"
|
|
3140
|
-
};
|
|
3141
3149
|
//#endregion
|
|
3142
3150
|
//#region src/components/AppTopBar.vue
|
|
3143
3151
|
var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
@@ -3184,16 +3192,11 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3184
3192
|
default: false
|
|
3185
3193
|
},
|
|
3186
3194
|
adminPath: { default: "/admin" },
|
|
3187
|
-
showProfile: {
|
|
3188
|
-
type: Boolean,
|
|
3189
|
-
default: false
|
|
3190
|
-
},
|
|
3191
3195
|
userName: {},
|
|
3192
3196
|
userInitial: {},
|
|
3193
3197
|
userEmail: {}
|
|
3194
3198
|
},
|
|
3195
3199
|
emits: [
|
|
3196
|
-
"profile-click",
|
|
3197
3200
|
"admin-click",
|
|
3198
3201
|
"page-selector-select",
|
|
3199
3202
|
"pill-select",
|
|
@@ -3216,6 +3219,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3216
3219
|
const { isIntegrated, plugin } = usePlatformContext();
|
|
3217
3220
|
const isStandalone = computed(() => !isIntegrated.value);
|
|
3218
3221
|
const appExperiment = inject(APP_EXPERIMENT_KEY, null);
|
|
3222
|
+
const canBindExperiment = computed(() => plugin.value?.plugin_type !== "static");
|
|
3219
3223
|
const pluginIcon = computed(() => {
|
|
3220
3224
|
const currentPlugin = plugin.value;
|
|
3221
3225
|
return currentPlugin?.icon ? {
|
|
@@ -3223,11 +3227,6 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3223
3227
|
color: currentPlugin.color
|
|
3224
3228
|
} : null;
|
|
3225
3229
|
});
|
|
3226
|
-
const profileInitial = computed(() => {
|
|
3227
|
-
if (props.userInitial) return props.userInitial;
|
|
3228
|
-
if (props.userName) return props.userName.charAt(0).toUpperCase();
|
|
3229
|
-
return "U";
|
|
3230
|
-
});
|
|
3231
3230
|
const hasPlatformPageSelector = computed(() => props.pageSelector === void 0 && (plugin.value?.nav_items?.length ?? 0) > 1);
|
|
3232
3231
|
const hasPageSelector = computed(() => (props.pageSelector?.length ?? 0) > 1 || hasPlatformPageSelector.value);
|
|
3233
3232
|
const hasPluginSwitcher = computed(() => !!props.pluginSwitcher);
|
|
@@ -3243,40 +3242,61 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3243
3242
|
return (_ctx, _cache) => {
|
|
3244
3243
|
const _component_router_link = resolveComponent("router-link");
|
|
3245
3244
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
3246
|
-
createElementVNode("header", { class: normalizeClass(["mint-topbar", `mint-topbar--${props.variant}`]) }, [createElementVNode("div", _hoisted_1$
|
|
3247
|
-
createElementVNode("div", _hoisted_2$
|
|
3245
|
+
createElementVNode("header", { class: normalizeClass(["mint-topbar", `mint-topbar--${props.variant}`]) }, [createElementVNode("div", _hoisted_1$59, [
|
|
3246
|
+
createElementVNode("div", _hoisted_2$52, [__props.homePath && (__props.homePath.startsWith("http") || __props.homePath.startsWith("/")) ? (openBlock(), createElementBlock("a", {
|
|
3248
3247
|
key: 0,
|
|
3249
3248
|
href: __props.homePath,
|
|
3250
3249
|
class: "mint-topbar-home-link"
|
|
3251
|
-
}, [
|
|
3250
|
+
}, [unref(isIntegrated) || _ctx.$slots.icon || _ctx.$slots.logo || pluginIcon.value || __props.showLogo ? (openBlock(), createElementBlock("span", _hoisted_4$46, [unref(isIntegrated) ? (openBlock(), createBlock(PluginIcon_default, {
|
|
3251
|
+
key: 0,
|
|
3252
|
+
class: "mint-topbar__plugin-icon",
|
|
3253
|
+
icon: unref(plugin)?.icon,
|
|
3254
|
+
tone: unref(plugin)?.color,
|
|
3255
|
+
size: "topbar",
|
|
3256
|
+
variant: "solid"
|
|
3257
|
+
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "icon", { key: 1 }, () => [pluginIcon.value ? (openBlock(), createBlock(PluginIcon_default, {
|
|
3252
3258
|
key: 0,
|
|
3253
3259
|
class: "mint-topbar__plugin-icon",
|
|
3254
3260
|
icon: pluginIcon.value.icon,
|
|
3255
3261
|
tone: pluginIcon.value.color,
|
|
3256
|
-
size: "
|
|
3262
|
+
size: "topbar",
|
|
3257
3263
|
variant: "solid"
|
|
3258
|
-
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div",
|
|
3264
|
+
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div", _hoisted_5$44, [..._cache[16] || (_cache[16] = [createElementVNode("div", { class: "mint-topbar__logo-icon" }, [createElementVNode("span", { class: "mint-topbar__logo-text" }, "M")], -1)])])) : createCommentVNode("", true)])])])) : createCommentVNode("", true)], 8, _hoisted_3$47)) : __props.homePath ? (openBlock(), createBlock(_component_router_link, {
|
|
3259
3265
|
key: 1,
|
|
3260
3266
|
to: __props.homePath,
|
|
3261
3267
|
class: "mint-topbar-home-link"
|
|
3262
3268
|
}, {
|
|
3263
|
-
default: withCtx(() => [
|
|
3269
|
+
default: withCtx(() => [unref(isIntegrated) || _ctx.$slots.icon || _ctx.$slots.logo || pluginIcon.value || __props.showLogo ? (openBlock(), createElementBlock("span", _hoisted_6$40, [unref(isIntegrated) ? (openBlock(), createBlock(PluginIcon_default, {
|
|
3270
|
+
key: 0,
|
|
3271
|
+
class: "mint-topbar__plugin-icon",
|
|
3272
|
+
icon: unref(plugin)?.icon,
|
|
3273
|
+
tone: unref(plugin)?.color,
|
|
3274
|
+
size: "topbar",
|
|
3275
|
+
variant: "solid"
|
|
3276
|
+
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "icon", { key: 1 }, () => [pluginIcon.value ? (openBlock(), createBlock(PluginIcon_default, {
|
|
3264
3277
|
key: 0,
|
|
3265
3278
|
class: "mint-topbar__plugin-icon",
|
|
3266
3279
|
icon: pluginIcon.value.icon,
|
|
3267
3280
|
tone: pluginIcon.value.color,
|
|
3268
|
-
size: "
|
|
3281
|
+
size: "topbar",
|
|
3269
3282
|
variant: "solid"
|
|
3270
|
-
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div",
|
|
3283
|
+
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div", _hoisted_7$34, [..._cache[17] || (_cache[17] = [createElementVNode("div", { class: "mint-topbar__logo-icon" }, [createElementVNode("span", { class: "mint-topbar__logo-text" }, "M")], -1)])])) : createCommentVNode("", true)])])])) : createCommentVNode("", true)]),
|
|
3271
3284
|
_: 3
|
|
3272
|
-
}, 8, ["to"])) :
|
|
3285
|
+
}, 8, ["to"])) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [unref(isIntegrated) || _ctx.$slots.icon || _ctx.$slots.logo || pluginIcon.value || __props.showLogo ? (openBlock(), createElementBlock("span", _hoisted_8$31, [unref(isIntegrated) ? (openBlock(), createBlock(PluginIcon_default, {
|
|
3286
|
+
key: 0,
|
|
3287
|
+
class: "mint-topbar__plugin-icon",
|
|
3288
|
+
icon: unref(plugin)?.icon,
|
|
3289
|
+
tone: unref(plugin)?.color,
|
|
3290
|
+
size: "topbar",
|
|
3291
|
+
variant: "solid"
|
|
3292
|
+
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "icon", { key: 1 }, () => [pluginIcon.value ? (openBlock(), createBlock(PluginIcon_default, {
|
|
3273
3293
|
key: 0,
|
|
3274
3294
|
class: "mint-topbar__plugin-icon",
|
|
3275
3295
|
icon: pluginIcon.value.icon,
|
|
3276
3296
|
tone: pluginIcon.value.color,
|
|
3277
|
-
size: "
|
|
3297
|
+
size: "topbar",
|
|
3278
3298
|
variant: "solid"
|
|
3279
|
-
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div",
|
|
3299
|
+
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div", _hoisted_9$29, [..._cache[18] || (_cache[18] = [createElementVNode("div", { class: "mint-topbar__logo-icon" }, [createElementVNode("span", { class: "mint-topbar__logo-text" }, "M")], -1)])])) : createCommentVNode("", true)])])])) : createCommentVNode("", true)], 64))]),
|
|
3280
3300
|
hasPluginSwitcher.value && __props.pluginSwitcher ? (openBlock(), createBlock(AppPluginSwitcher_default, {
|
|
3281
3301
|
key: 0,
|
|
3282
3302
|
current: __props.pluginSwitcher.current,
|
|
@@ -3304,23 +3324,23 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3304
3324
|
fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, "page-selector-item-icon", normalizeProps(guardReactiveProps(slotProps)))]),
|
|
3305
3325
|
key: "1"
|
|
3306
3326
|
} : void 0]), 1032, ["pages", "current-page-id"])) : createCommentVNode("", true),
|
|
3307
|
-
hasTitleGroup.value ? (openBlock(), createElementBlock("div",
|
|
3327
|
+
hasTitleGroup.value ? (openBlock(), createElementBlock("div", _hoisted_10$27, [createElementVNode("span", _hoisted_11$25, toDisplayString(__props.title), 1), createElementVNode("span", _hoisted_12$23, toDisplayString(__props.subtitle), 1)])) : hasTitleOnly.value ? (openBlock(), createElementBlock("span", _hoisted_13$23, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
3308
3328
|
renderSlot(_ctx.$slots, "nav"),
|
|
3309
|
-
hasPillNav.value || _ctx.$slots.center ? (openBlock(), createElementBlock("div",
|
|
3329
|
+
hasPillNav.value || _ctx.$slots.center ? (openBlock(), createElementBlock("div", _hoisted_14$20, [renderSlot(_ctx.$slots, "center", {}, () => [hasPillNav.value && __props.pillNav ? (openBlock(), createBlock(AppTopBarPillNavInternal_default, {
|
|
3310
3330
|
key: 0,
|
|
3311
3331
|
items: normalizedPillNav.value,
|
|
3312
3332
|
"current-item-id": __props.currentPillId,
|
|
3313
3333
|
onSelect: _cache[3] || (_cache[3] = ($event) => emit("pill-select", $event)),
|
|
3314
3334
|
onOptionSelect: _cache[4] || (_cache[4] = (option, item) => emit("pill-option-select", option, item))
|
|
3315
3335
|
}, null, 8, ["items", "current-item-id"])) : createCommentVNode("", true)])])) : createCommentVNode("", true),
|
|
3316
|
-
createElementVNode("div",
|
|
3317
|
-
__props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span",
|
|
3318
|
-
unref(appExperiment) && !isStandalone.value ? (openBlock(), createBlock(unref(ExperimentPopover), mergeProps({ key: 1 }, unref(appExperiment).popover.value, {
|
|
3336
|
+
createElementVNode("div", _hoisted_15$19, [
|
|
3337
|
+
__props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span", _hoisted_16$17, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
|
|
3338
|
+
unref(appExperiment) && !isStandalone.value && canBindExperiment.value ? (openBlock(), createBlock(unref(ExperimentPopover), mergeProps({ key: 1 }, unref(appExperiment).popover.value, {
|
|
3319
3339
|
onSelect: _cache[5] || (_cache[5] = ($event) => unref(appExperiment).openModal()),
|
|
3320
3340
|
onSave: _cache[6] || (_cache[6] = ($event) => unref(appExperiment).handleSave()),
|
|
3321
3341
|
onDetach: _cache[7] || (_cache[7] = ($event) => unref(appExperiment).handleDetach())
|
|
3322
3342
|
}), null, 16)) : createCommentVNode("", true),
|
|
3323
|
-
unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span",
|
|
3343
|
+
unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span", _hoisted_17$17, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
|
|
3324
3344
|
renderSlot(_ctx.$slots, "actions"),
|
|
3325
3345
|
__props.showNotifications ? (openBlock(), createElementBlock("button", {
|
|
3326
3346
|
key: 3,
|
|
@@ -3328,7 +3348,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3328
3348
|
class: "mint-topbar__icon-btn",
|
|
3329
3349
|
"aria-label": "Notifications",
|
|
3330
3350
|
onClick: _cache[8] || (_cache[8] = ($event) => emit("notifications-click"))
|
|
3331
|
-
}, [_cache[
|
|
3351
|
+
}, [_cache[19] || (_cache[19] = createElementVNode("svg", {
|
|
3332
3352
|
class: "mint-topbar__icon-btn-icon",
|
|
3333
3353
|
viewBox: "0 0 24 24",
|
|
3334
3354
|
fill: "none",
|
|
@@ -3336,7 +3356,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3336
3356
|
"stroke-width": "2",
|
|
3337
3357
|
"stroke-linecap": "round",
|
|
3338
3358
|
"stroke-linejoin": "round"
|
|
3339
|
-
}, [createElementVNode("path", { d: "M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" }), createElementVNode("path", { d: "M10.3 21a1.94 1.94 0 0 0 3.4 0" })], -1)), __props.hasNotificationDot ? (openBlock(), createElementBlock("span",
|
|
3359
|
+
}, [createElementVNode("path", { d: "M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" }), createElementVNode("path", { d: "M10.3 21a1.94 1.94 0 0 0 3.4 0" })], -1)), __props.hasNotificationDot ? (openBlock(), createElementBlock("span", _hoisted_18$16)) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
3340
3360
|
__props.showThemeToggle ? (openBlock(), createBlock(ThemeToggle_default, {
|
|
3341
3361
|
key: 4,
|
|
3342
3362
|
size: "sm"
|
|
@@ -3347,7 +3367,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3347
3367
|
class: "mint-topbar__settings-btn",
|
|
3348
3368
|
"aria-label": "Open settings",
|
|
3349
3369
|
onClick: _cache[9] || (_cache[9] = ($event) => settingsOpen.value = true)
|
|
3350
|
-
}, [..._cache[
|
|
3370
|
+
}, [..._cache[20] || (_cache[20] = [createElementVNode("svg", {
|
|
3351
3371
|
class: "mint-topbar__settings-icon",
|
|
3352
3372
|
viewBox: "0 0 24 24",
|
|
3353
3373
|
fill: "none",
|
|
@@ -3367,7 +3387,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3367
3387
|
"aria-label": "Admin Dashboard",
|
|
3368
3388
|
onClick: _cache[10] || (_cache[10] = ($event) => emit("admin-click"))
|
|
3369
3389
|
}, {
|
|
3370
|
-
default: withCtx(() => [..._cache[
|
|
3390
|
+
default: withCtx(() => [..._cache[21] || (_cache[21] = [createElementVNode("svg", {
|
|
3371
3391
|
class: "mint-topbar__admin-icon",
|
|
3372
3392
|
viewBox: "0 0 24 24",
|
|
3373
3393
|
fill: "none",
|
|
@@ -3399,19 +3419,13 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3399
3419
|
"user-initial",
|
|
3400
3420
|
"user-email",
|
|
3401
3421
|
"items"
|
|
3402
|
-
])) :
|
|
3403
|
-
key: 8,
|
|
3404
|
-
type: "button",
|
|
3405
|
-
class: "mint-topbar__profile-btn",
|
|
3406
|
-
"aria-label": "Edit profile",
|
|
3407
|
-
onClick: _cache[13] || (_cache[13] = ($event) => emit("profile-click"))
|
|
3408
|
-
}, [createElementVNode("div", _hoisted_16$17, toDisplayString(profileInitial.value), 1), __props.userName ? (openBlock(), createElementBlock("span", _hoisted_17$17, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true)
|
|
3422
|
+
])) : createCommentVNode("", true)
|
|
3409
3423
|
])
|
|
3410
3424
|
])], 2),
|
|
3411
3425
|
__props.showSettings && settingsOpen.value ? (openBlock(), createBlock(unref(SettingsModal), {
|
|
3412
3426
|
key: 0,
|
|
3413
3427
|
modelValue: settingsOpen.value,
|
|
3414
|
-
"onUpdate:modelValue": _cache[
|
|
3428
|
+
"onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => settingsOpen.value = $event),
|
|
3415
3429
|
title: __props.settingsConfig?.title,
|
|
3416
3430
|
tabs: normalizedSettingsTabs.value,
|
|
3417
3431
|
"show-appearance": __props.settingsConfig?.showAppearance ?? true,
|
|
@@ -3424,7 +3438,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3424
3438
|
values: __props.settingsConfig?.values,
|
|
3425
3439
|
enhancements: __props.settingsConfig?.enhancements,
|
|
3426
3440
|
"user-type": __props.settingsConfig?.userType,
|
|
3427
|
-
"onUpdate:values": _cache[
|
|
3441
|
+
"onUpdate:values": _cache[14] || (_cache[14] = ($event) => emit("settings-values-change", $event))
|
|
3428
3442
|
}, createSlots({
|
|
3429
3443
|
appearance: withCtx(() => [renderSlot(_ctx.$slots, "settings-appearance")]),
|
|
3430
3444
|
_: 2
|
|
@@ -3448,21 +3462,21 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
3448
3462
|
"enhancements",
|
|
3449
3463
|
"user-type"
|
|
3450
3464
|
])) : createCommentVNode("", true),
|
|
3451
|
-
unref(appExperiment) && !isStandalone.value && unref(appExperiment).selectorModal.value.modelValue ? (openBlock(), createBlock(unref(ExperimentSelectorModal), mergeProps({ key: 1 }, unref(appExperiment).selectorModal.value, { "onUpdate:modelValue": _cache[
|
|
3465
|
+
unref(appExperiment) && !isStandalone.value && canBindExperiment.value && unref(appExperiment).selectorModal.value.modelValue ? (openBlock(), createBlock(unref(ExperimentSelectorModal), mergeProps({ key: 1 }, unref(appExperiment).selectorModal.value, { "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => $event ? unref(appExperiment).openModal() : unref(appExperiment).closeModal()) }), null, 16)) : createCommentVNode("", true)
|
|
3452
3466
|
], 64);
|
|
3453
3467
|
};
|
|
3454
3468
|
}
|
|
3455
3469
|
});
|
|
3456
3470
|
//#endregion
|
|
3457
3471
|
//#region src/components/StepWizard.vue?vue&type=script&setup=true&lang.ts
|
|
3458
|
-
var _hoisted_1$
|
|
3472
|
+
var _hoisted_1$58 = {
|
|
3459
3473
|
key: 0,
|
|
3460
3474
|
class: "mint-wizard__progress"
|
|
3461
3475
|
};
|
|
3462
|
-
var _hoisted_2$
|
|
3463
|
-
var _hoisted_3$
|
|
3464
|
-
var _hoisted_4$
|
|
3465
|
-
var _hoisted_5$
|
|
3476
|
+
var _hoisted_2$51 = { class: "mint-wizard__steps-indicator" };
|
|
3477
|
+
var _hoisted_3$46 = ["onClick"];
|
|
3478
|
+
var _hoisted_4$45 = { class: "mint-wizard__step-dot" };
|
|
3479
|
+
var _hoisted_5$43 = {
|
|
3466
3480
|
key: 0,
|
|
3467
3481
|
width: "12",
|
|
3468
3482
|
height: "12",
|
|
@@ -3571,18 +3585,18 @@ var StepWizard_default = /* @__PURE__ */ defineComponent({
|
|
|
3571
3585
|
tabindex: "0",
|
|
3572
3586
|
onKeydown: handleKeydown
|
|
3573
3587
|
}, [
|
|
3574
|
-
props.showProgress ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
3588
|
+
props.showProgress ? (openBlock(), createElementBlock("div", _hoisted_1$58, [renderSlot(_ctx.$slots, "progress", {
|
|
3575
3589
|
steps: props.steps,
|
|
3576
3590
|
current: props.modelValue,
|
|
3577
3591
|
states: stepStates.value
|
|
3578
|
-
}, () => [createElementVNode("div", _hoisted_2$
|
|
3592
|
+
}, () => [createElementVNode("div", _hoisted_2$51, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.steps, (step, index) => {
|
|
3579
3593
|
return openBlock(), createElementBlock(Fragment, { key: step.id }, [index > 0 ? (openBlock(), createElementBlock("div", {
|
|
3580
3594
|
key: 0,
|
|
3581
3595
|
class: normalizeClass(["mint-wizard__step-connector", stepStates.value[index - 1] === "completed" ? "mint-wizard__step-connector--completed" : ""])
|
|
3582
3596
|
}, null, 2)) : createCommentVNode("", true), createElementVNode("div", {
|
|
3583
3597
|
class: normalizeClass(["mint-wizard__step-indicator", `mint-wizard__step-indicator--${stepStates.value[index]}`]),
|
|
3584
3598
|
onClick: ($event) => goToStep(index)
|
|
3585
|
-
}, [createElementVNode("div", _hoisted_4$
|
|
3599
|
+
}, [createElementVNode("div", _hoisted_4$45, [stepStates.value[index] === "completed" ? (openBlock(), createElementBlock("svg", _hoisted_5$43, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "M20 6 9 17l-5-5" }, null, -1)])])) : props.showStepNumbers ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(index + 1), 1)], 64)) : createCommentVNode("", true)]), createElementVNode("div", _hoisted_6$39, toDisplayString(step.label), 1)], 10, _hoisted_3$46)], 64);
|
|
3586
3600
|
}), 128))])])])) : createCommentVNode("", true),
|
|
3587
3601
|
createElementVNode("div", _hoisted_7$33, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.steps, (step, index) => {
|
|
3588
3602
|
return withDirectives((openBlock(), createElementBlock("div", {
|
|
@@ -3634,23 +3648,23 @@ var StepWizard_default = /* @__PURE__ */ defineComponent({
|
|
|
3634
3648
|
});
|
|
3635
3649
|
//#endregion
|
|
3636
3650
|
//#region src/components/internal/FormSectionRenderer.vue?vue&type=script&setup=true&lang.ts
|
|
3637
|
-
var _hoisted_1$
|
|
3651
|
+
var _hoisted_1$57 = {
|
|
3638
3652
|
key: 0,
|
|
3639
3653
|
class: "mint-form-section"
|
|
3640
3654
|
};
|
|
3641
|
-
var _hoisted_2$
|
|
3655
|
+
var _hoisted_2$50 = {
|
|
3642
3656
|
key: 1,
|
|
3643
3657
|
class: "mint-form-section--static"
|
|
3644
3658
|
};
|
|
3645
|
-
var _hoisted_3$
|
|
3659
|
+
var _hoisted_3$45 = {
|
|
3646
3660
|
key: 0,
|
|
3647
3661
|
class: "mint-form-section__header"
|
|
3648
3662
|
};
|
|
3649
|
-
var _hoisted_4$
|
|
3663
|
+
var _hoisted_4$44 = {
|
|
3650
3664
|
key: 0,
|
|
3651
3665
|
class: "mint-form-section__title"
|
|
3652
3666
|
};
|
|
3653
|
-
var _hoisted_5$
|
|
3667
|
+
var _hoisted_5$42 = {
|
|
3654
3668
|
key: 1,
|
|
3655
3669
|
class: "mint-form-section__description"
|
|
3656
3670
|
};
|
|
@@ -3667,7 +3681,7 @@ var FormSectionRenderer_default = /* @__PURE__ */ defineComponent({
|
|
|
3667
3681
|
const visibleFields = computed(() => props.section.fields.filter((f) => props.builder.isFieldVisible(f.name)));
|
|
3668
3682
|
const gridStyle = computed(() => ({ gridTemplateColumns: `repeat(${props.section.columns ?? 1}, 1fr)` }));
|
|
3669
3683
|
return (_ctx, _cache) => {
|
|
3670
|
-
return visibleFields.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
3684
|
+
return visibleFields.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$57, [renderSlot(_ctx.$slots, `section:${__props.section.id}`, {
|
|
3671
3685
|
section: __props.section,
|
|
3672
3686
|
form: __props.builder.form
|
|
3673
3687
|
}, () => [__props.section.collapsible ? (openBlock(), createBlock(CollapsibleCard_default, {
|
|
@@ -3702,7 +3716,7 @@ var FormSectionRenderer_default = /* @__PURE__ */ defineComponent({
|
|
|
3702
3716
|
"title",
|
|
3703
3717
|
"subtitle",
|
|
3704
3718
|
"default-open"
|
|
3705
|
-
])) : (openBlock(), createElementBlock("div", _hoisted_2$
|
|
3719
|
+
])) : (openBlock(), createElementBlock("div", _hoisted_2$50, [__props.section.title || __props.section.description ? (openBlock(), createElementBlock("div", _hoisted_3$45, [__props.section.title ? (openBlock(), createElementBlock("h3", _hoisted_4$44, toDisplayString(__props.section.title), 1)) : createCommentVNode("", true), __props.section.description ? (openBlock(), createElementBlock("p", _hoisted_5$42, toDisplayString(__props.section.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", {
|
|
3706
3720
|
class: "mint-form-section__grid",
|
|
3707
3721
|
style: normalizeStyle(gridStyle.value)
|
|
3708
3722
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(visibleFields.value, (field) => {
|
|
@@ -3728,7 +3742,7 @@ var FormSectionRenderer_default = /* @__PURE__ */ defineComponent({
|
|
|
3728
3742
|
});
|
|
3729
3743
|
//#endregion
|
|
3730
3744
|
//#region src/components/FormActions.vue?vue&type=script&setup=true&lang.ts
|
|
3731
|
-
var _hoisted_1$
|
|
3745
|
+
var _hoisted_1$56 = { class: "mint-form-actions" };
|
|
3732
3746
|
//#endregion
|
|
3733
3747
|
//#region src/components/FormActions.vue
|
|
3734
3748
|
var FormActions_default = /* @__PURE__ */ defineComponent({
|
|
@@ -3785,7 +3799,7 @@ var FormActions_default = /* @__PURE__ */ defineComponent({
|
|
|
3785
3799
|
*/
|
|
3786
3800
|
const emit = __emit;
|
|
3787
3801
|
return (_ctx, _cache) => {
|
|
3788
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
3802
|
+
return openBlock(), createElementBlock("div", _hoisted_1$56, [
|
|
3789
3803
|
__props.showCancel ? (openBlock(), createBlock(BaseButton_default, {
|
|
3790
3804
|
key: 0,
|
|
3791
3805
|
variant: "ghost",
|
|
@@ -3830,7 +3844,7 @@ var FormActions_default = /* @__PURE__ */ defineComponent({
|
|
|
3830
3844
|
});
|
|
3831
3845
|
//#endregion
|
|
3832
3846
|
//#region src/components/FormBuilder.vue?vue&type=script&setup=true&lang.ts
|
|
3833
|
-
var _hoisted_1$
|
|
3847
|
+
var _hoisted_1$55 = { class: "mint-form-builder__step" };
|
|
3834
3848
|
//#endregion
|
|
3835
3849
|
//#region src/components/FormBuilder.vue
|
|
3836
3850
|
var FormBuilder_default = /* @__PURE__ */ defineComponent({
|
|
@@ -3979,7 +3993,7 @@ var FormBuilder_default = /* @__PURE__ */ defineComponent({
|
|
|
3979
3993
|
}, createSlots({ _: 2 }, [renderList(resolvedSchema.value.steps, (step) => {
|
|
3980
3994
|
return {
|
|
3981
3995
|
name: `step-${step.id}`,
|
|
3982
|
-
fn: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
3996
|
+
fn: withCtx(() => [createElementVNode("div", _hoisted_1$55, [(openBlock(true), createElementBlock(Fragment, null, renderList(step.sections, (section) => {
|
|
3983
3997
|
return openBlock(), createElementBlock(Fragment, { key: section.id }, [unref(builder).isSectionVisible(section.id) ? (openBlock(), createBlock(FormSectionRenderer_default, {
|
|
3984
3998
|
key: 0,
|
|
3985
3999
|
section,
|
|
@@ -4066,20 +4080,20 @@ var FormBuilder_default = /* @__PURE__ */ defineComponent({
|
|
|
4066
4080
|
});
|
|
4067
4081
|
//#endregion
|
|
4068
4082
|
//#region src/components/AppSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
4069
|
-
var _hoisted_1$
|
|
4083
|
+
var _hoisted_1$54 = {
|
|
4070
4084
|
key: 0,
|
|
4071
4085
|
class: "mint-sidebar__header"
|
|
4072
4086
|
};
|
|
4073
|
-
var _hoisted_2$
|
|
4087
|
+
var _hoisted_2$49 = {
|
|
4074
4088
|
key: 0,
|
|
4075
4089
|
class: "mint-sidebar__heading"
|
|
4076
4090
|
};
|
|
4077
|
-
var _hoisted_3$
|
|
4078
|
-
var _hoisted_4$
|
|
4091
|
+
var _hoisted_3$44 = { class: "mint-sidebar__heading-copy" };
|
|
4092
|
+
var _hoisted_4$43 = {
|
|
4079
4093
|
key: 0,
|
|
4080
4094
|
class: "mint-sidebar__title"
|
|
4081
4095
|
};
|
|
4082
|
-
var _hoisted_5$
|
|
4096
|
+
var _hoisted_5$41 = {
|
|
4083
4097
|
key: 1,
|
|
4084
4098
|
class: "mint-sidebar__subtitle"
|
|
4085
4099
|
};
|
|
@@ -4342,10 +4356,10 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4342
4356
|
class: normalizeClass(sidebarClasses.value),
|
|
4343
4357
|
style: normalizeStyle(sidebarStyle.value)
|
|
4344
4358
|
}, [
|
|
4345
|
-
_ctx.$slots.header || __props.title || __props.subtitle || __props.badge !== void 0 || resolvedCollapsible.value ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
4359
|
+
_ctx.$slots.header || __props.title || __props.subtitle || __props.badge !== void 0 || resolvedCollapsible.value ? (openBlock(), createElementBlock("div", _hoisted_1$54, [renderSlot(_ctx.$slots, "header", {
|
|
4346
4360
|
collapsed: collapsedModel.value,
|
|
4347
4361
|
toggleCollapsed
|
|
4348
|
-
}, () => [!collapsedModel.value ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
4362
|
+
}, () => [!collapsedModel.value ? (openBlock(), createElementBlock("div", _hoisted_2$49, [createElementVNode("div", _hoisted_3$44, [__props.title ? (openBlock(), createElementBlock("h2", _hoisted_4$43, toDisplayString(__props.title), 1)) : createCommentVNode("", true), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_5$41, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)]), __props.badge !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_6$38, toDisplayString(__props.badge), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), resolvedCollapsible.value ? (openBlock(), createElementBlock("button", {
|
|
4349
4363
|
key: 1,
|
|
4350
4364
|
type: "button",
|
|
4351
4365
|
class: "mint-sidebar__collapse-button",
|
|
@@ -4464,13 +4478,13 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
|
|
|
4464
4478
|
});
|
|
4465
4479
|
//#endregion
|
|
4466
4480
|
//#region src/components/AppLayout.vue?vue&type=script&setup=true&lang.ts
|
|
4467
|
-
var _hoisted_1$
|
|
4481
|
+
var _hoisted_1$53 = {
|
|
4468
4482
|
key: 0,
|
|
4469
4483
|
class: "mint-layout__topbar"
|
|
4470
4484
|
};
|
|
4471
|
-
var _hoisted_2$
|
|
4472
|
-
var _hoisted_3$
|
|
4473
|
-
var _hoisted_4$
|
|
4485
|
+
var _hoisted_2$48 = { class: "mint-layout__body" };
|
|
4486
|
+
var _hoisted_3$43 = ["aria-label", "aria-expanded"];
|
|
4487
|
+
var _hoisted_4$42 = {
|
|
4474
4488
|
key: 0,
|
|
4475
4489
|
class: "mint-layout__sidebar-toggle-icon",
|
|
4476
4490
|
viewBox: "0 0 24 24",
|
|
@@ -4481,7 +4495,7 @@ var _hoisted_4$41 = {
|
|
|
4481
4495
|
"stroke-linejoin": "round",
|
|
4482
4496
|
"aria-hidden": "true"
|
|
4483
4497
|
};
|
|
4484
|
-
var _hoisted_5$
|
|
4498
|
+
var _hoisted_5$40 = {
|
|
4485
4499
|
key: 1,
|
|
4486
4500
|
class: "mint-layout__sidebar-toggle-icon",
|
|
4487
4501
|
viewBox: "0 0 24 24",
|
|
@@ -4570,7 +4584,7 @@ var AppLayout_default = /* @__PURE__ */ defineComponent({
|
|
|
4570
4584
|
sidebarOpenModel.value = false;
|
|
4571
4585
|
}
|
|
4572
4586
|
return (_ctx, _cache) => {
|
|
4573
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(layoutClasses.value) }, [_ctx.$slots.topbar ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
4587
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(layoutClasses.value) }, [_ctx.$slots.topbar ? (openBlock(), createElementBlock("div", _hoisted_1$53, [renderSlot(_ctx.$slots, "topbar")])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$48, [
|
|
4574
4588
|
__props.responsiveSidebar && _ctx.$slots.sidebar ? (openBlock(), createElementBlock("button", {
|
|
4575
4589
|
key: 0,
|
|
4576
4590
|
type: "button",
|
|
@@ -4578,7 +4592,7 @@ var AppLayout_default = /* @__PURE__ */ defineComponent({
|
|
|
4578
4592
|
"aria-label": sidebarOpenModel.value ? __props.sidebarCloseLabel : __props.sidebarToggleLabel,
|
|
4579
4593
|
"aria-expanded": sidebarOpenModel.value,
|
|
4580
4594
|
onClick: toggleSidebar
|
|
4581
|
-
}, [!sidebarOpenModel.value ? (openBlock(), createElementBlock("svg", _hoisted_4$
|
|
4595
|
+
}, [!sidebarOpenModel.value ? (openBlock(), createElementBlock("svg", _hoisted_4$42, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "M4 6h16M4 12h16M4 18h16" }, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_5$40, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "M6 18 18 6M6 6l12 12" }, null, -1)])]))], 8, _hoisted_3$43)) : createCommentVNode("", true),
|
|
4582
4596
|
__props.responsiveSidebar && _ctx.$slots.sidebar && sidebarOpenModel.value ? (openBlock(), createElementBlock("div", {
|
|
4583
4597
|
key: 1,
|
|
4584
4598
|
class: "mint-layout__sidebar-backdrop",
|
|
@@ -4596,11 +4610,11 @@ var AppLayout_default = /* @__PURE__ */ defineComponent({
|
|
|
4596
4610
|
});
|
|
4597
4611
|
//#endregion
|
|
4598
4612
|
//#region src/components/MobileSupportGate.vue?vue&type=script&setup=true&lang.ts
|
|
4599
|
-
var _hoisted_1$
|
|
4600
|
-
var _hoisted_2$
|
|
4601
|
-
var _hoisted_3$
|
|
4602
|
-
var _hoisted_4$
|
|
4603
|
-
var _hoisted_5$
|
|
4613
|
+
var _hoisted_1$52 = { class: "mint-mobile-support-gate__panel" };
|
|
4614
|
+
var _hoisted_2$47 = { class: "mint-mobile-support-gate__copy" };
|
|
4615
|
+
var _hoisted_3$42 = { class: "mint-mobile-support-gate__eyebrow" };
|
|
4616
|
+
var _hoisted_4$41 = { class: "mint-mobile-support-gate__message" };
|
|
4617
|
+
var _hoisted_5$39 = { class: "mint-mobile-support-gate__hint" };
|
|
4604
4618
|
var nextMobileSupportGateTitleId = 0;
|
|
4605
4619
|
//#endregion
|
|
4606
4620
|
//#region src/components/MobileSupportGate.vue
|
|
@@ -4634,17 +4648,17 @@ var MobileSupportGate_default = /* @__PURE__ */ defineComponent({
|
|
|
4634
4648
|
}, [renderSlot(_ctx.$slots, "unsupported", {
|
|
4635
4649
|
isMobileViewport: unref(isMobileViewport),
|
|
4636
4650
|
isSupported: unref(isSupported)
|
|
4637
|
-
}, () => [createElementVNode("section", _hoisted_1$
|
|
4651
|
+
}, () => [createElementVNode("section", _hoisted_1$52, [
|
|
4638
4652
|
_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)),
|
|
4639
|
-
createElementVNode("div", _hoisted_2$
|
|
4640
|
-
createElementVNode("p", _hoisted_3$
|
|
4653
|
+
createElementVNode("div", _hoisted_2$47, [
|
|
4654
|
+
createElementVNode("p", _hoisted_3$42, toDisplayString(__props.appName), 1),
|
|
4641
4655
|
createElementVNode("h1", {
|
|
4642
4656
|
id: titleId,
|
|
4643
4657
|
class: "mint-mobile-support-gate__title"
|
|
4644
4658
|
}, toDisplayString(__props.title), 1),
|
|
4645
|
-
createElementVNode("p", _hoisted_4$
|
|
4659
|
+
createElementVNode("p", _hoisted_4$41, toDisplayString(__props.message), 1)
|
|
4646
4660
|
]),
|
|
4647
|
-
createElementVNode("div", _hoisted_5$
|
|
4661
|
+
createElementVNode("div", _hoisted_5$39, [_cache[0] || (_cache[0] = createElementVNode("svg", {
|
|
4648
4662
|
class: "mint-mobile-support-gate__hint-icon",
|
|
4649
4663
|
viewBox: "0 0 24 24",
|
|
4650
4664
|
fill: "none",
|
|
@@ -4865,10 +4879,6 @@ var PluginWorkspaceView_default = /* @__PURE__ */ defineComponent({
|
|
|
4865
4879
|
default: false
|
|
4866
4880
|
},
|
|
4867
4881
|
adminPath: { default: "/admin" },
|
|
4868
|
-
showProfile: {
|
|
4869
|
-
type: Boolean,
|
|
4870
|
-
default: false
|
|
4871
|
-
},
|
|
4872
4882
|
userName: { default: void 0 },
|
|
4873
4883
|
userInitial: { default: void 0 },
|
|
4874
4884
|
userEmail: { default: void 0 },
|
|
@@ -4971,7 +4981,6 @@ var PluginWorkspaceView_default = /* @__PURE__ */ defineComponent({
|
|
|
4971
4981
|
"sign-out",
|
|
4972
4982
|
"notifications-click",
|
|
4973
4983
|
"settings-values-change",
|
|
4974
|
-
"profile-click",
|
|
4975
4984
|
"admin-click",
|
|
4976
4985
|
"experiment-select",
|
|
4977
4986
|
"experiment-detach",
|
|
@@ -5101,7 +5110,6 @@ var PluginWorkspaceView_default = /* @__PURE__ */ defineComponent({
|
|
|
5101
5110
|
"has-notification-dot": __props.hasNotificationDot,
|
|
5102
5111
|
"show-admin": __props.showAdmin,
|
|
5103
5112
|
"admin-path": __props.adminPath,
|
|
5104
|
-
"show-profile": __props.showProfile,
|
|
5105
5113
|
"user-name": __props.userName,
|
|
5106
5114
|
"user-initial": __props.userInitial,
|
|
5107
5115
|
"user-email": __props.userEmail,
|
|
@@ -5114,8 +5122,7 @@ var PluginWorkspaceView_default = /* @__PURE__ */ defineComponent({
|
|
|
5114
5122
|
onSignOut: _cache[3] || (_cache[3] = ($event) => emit("sign-out")),
|
|
5115
5123
|
onNotificationsClick: _cache[4] || (_cache[4] = ($event) => emit("notifications-click")),
|
|
5116
5124
|
onSettingsValuesChange: _cache[5] || (_cache[5] = ($event) => emit("settings-values-change", $event)),
|
|
5117
|
-
|
|
5118
|
-
onAdminClick: _cache[7] || (_cache[7] = ($event) => emit("admin-click"))
|
|
5125
|
+
onAdminClick: _cache[6] || (_cache[6] = ($event) => emit("admin-click"))
|
|
5119
5126
|
}, createSlots({ _: 2 }, [renderList(topBarSlotNames.value, (slotName) => {
|
|
5120
5127
|
return {
|
|
5121
5128
|
name: slotName,
|
|
@@ -5142,7 +5149,6 @@ var PluginWorkspaceView_default = /* @__PURE__ */ defineComponent({
|
|
|
5142
5149
|
"has-notification-dot",
|
|
5143
5150
|
"show-admin",
|
|
5144
5151
|
"admin-path",
|
|
5145
|
-
"show-profile",
|
|
5146
5152
|
"user-name",
|
|
5147
5153
|
"user-initial",
|
|
5148
5154
|
"user-email",
|
|
@@ -5200,9 +5206,9 @@ var PluginWorkspaceView_default = /* @__PURE__ */ defineComponent({
|
|
|
5200
5206
|
"collapse-button-label": __props.sidebarCollapseButtonLabel,
|
|
5201
5207
|
"expand-button-label": __props.sidebarExpandButtonLabel,
|
|
5202
5208
|
"onUpdate:modelValue": unref(handleControlValuesUpdate),
|
|
5203
|
-
"onUpdate:collapsed": _cache[
|
|
5209
|
+
"onUpdate:collapsed": _cache[7] || (_cache[7] = ($event) => emit("update:sidebarCollapsed", $event)),
|
|
5204
5210
|
"onUpdate:toggle": handleToggle,
|
|
5205
|
-
onSectionAction: _cache[
|
|
5211
|
+
onSectionAction: _cache[8] || (_cache[8] = (sectionId, actionId) => emit("section-action", sectionId, actionId)),
|
|
5206
5212
|
onFormSubmit: handleFormSubmit,
|
|
5207
5213
|
onFormCancel: handleFormCancel
|
|
5208
5214
|
}, createSlots({ _: 2 }, [renderList(sidebarSlotNames.value, (slotName) => {
|
|
@@ -5344,7 +5350,7 @@ function humanize(value) {
|
|
|
5344
5350
|
}
|
|
5345
5351
|
//#endregion
|
|
5346
5352
|
//#region src/components/LoadingSpinner.vue?vue&type=script&setup=true&lang.ts
|
|
5347
|
-
var _hoisted_1$
|
|
5353
|
+
var _hoisted_1$51 = { class: "mint-spinner__label" };
|
|
5348
5354
|
//#endregion
|
|
5349
5355
|
//#region src/components/LoadingSpinner.vue
|
|
5350
5356
|
var LoadingSpinner_default = /* @__PURE__ */ defineComponent({
|
|
@@ -5379,26 +5385,26 @@ var LoadingSpinner_default = /* @__PURE__ */ defineComponent({
|
|
|
5379
5385
|
style: { "opacity": "0.75" },
|
|
5380
5386
|
fill: "currentColor",
|
|
5381
5387
|
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"
|
|
5382
|
-
})], -1)), createElementVNode("span", _hoisted_1$
|
|
5388
|
+
})], -1)), createElementVNode("span", _hoisted_1$51, toDisplayString(__props.label), 1)], 2);
|
|
5383
5389
|
};
|
|
5384
5390
|
}
|
|
5385
5391
|
});
|
|
5386
5392
|
//#endregion
|
|
5387
5393
|
//#region src/components/ChartContainer.vue?vue&type=script&setup=true&lang.ts
|
|
5388
|
-
var _hoisted_1$
|
|
5389
|
-
var _hoisted_2$
|
|
5394
|
+
var _hoisted_1$50 = { class: "mint-chart" };
|
|
5395
|
+
var _hoisted_2$46 = {
|
|
5390
5396
|
key: 0,
|
|
5391
5397
|
class: "mint-chart__header"
|
|
5392
5398
|
};
|
|
5393
|
-
var _hoisted_3$
|
|
5399
|
+
var _hoisted_3$41 = {
|
|
5394
5400
|
key: 0,
|
|
5395
5401
|
class: "mint-chart__header-text"
|
|
5396
5402
|
};
|
|
5397
|
-
var _hoisted_4$
|
|
5403
|
+
var _hoisted_4$40 = {
|
|
5398
5404
|
key: 0,
|
|
5399
5405
|
class: "mint-chart__title"
|
|
5400
5406
|
};
|
|
5401
|
-
var _hoisted_5$
|
|
5407
|
+
var _hoisted_5$38 = {
|
|
5402
5408
|
key: 1,
|
|
5403
5409
|
class: "mint-chart__description"
|
|
5404
5410
|
};
|
|
@@ -5435,8 +5441,8 @@ var ChartContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
5435
5441
|
setup(__props) {
|
|
5436
5442
|
/** Wraps a chart with header, toolbar slot, loading overlay, empty state, and legend slot. */
|
|
5437
5443
|
return (_ctx, _cache) => {
|
|
5438
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
5439
|
-
__props.title || __props.description || _ctx.$slots.toolbar ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
5444
|
+
return openBlock(), createElementBlock("div", _hoisted_1$50, [
|
|
5445
|
+
__props.title || __props.description || _ctx.$slots.toolbar ? (openBlock(), createElementBlock("div", _hoisted_2$46, [__props.title || __props.description ? (openBlock(), createElementBlock("div", _hoisted_3$41, [__props.title ? (openBlock(), createElementBlock("h3", _hoisted_4$40, toDisplayString(__props.title), 1)) : createCommentVNode("", true), __props.description ? (openBlock(), createElementBlock("p", _hoisted_5$38, toDisplayString(__props.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), _ctx.$slots.toolbar ? (openBlock(), createElementBlock("div", _hoisted_6$36, [renderSlot(_ctx.$slots, "toolbar")])) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
5440
5446
|
createElementVNode("div", _hoisted_7$31, [__props.loading ? (openBlock(), createElementBlock("div", _hoisted_8$28, [createVNode(LoadingSpinner_default, { size: "lg" })])) : __props.empty ? renderSlot(_ctx.$slots, "empty", { key: 1 }, () => [createVNode(EmptyState_default, {
|
|
5441
5447
|
title: __props.emptyMessage,
|
|
5442
5448
|
size: "sm",
|
|
@@ -5449,8 +5455,8 @@ var ChartContainer_default = /* @__PURE__ */ defineComponent({
|
|
|
5449
5455
|
});
|
|
5450
5456
|
//#endregion
|
|
5451
5457
|
//#region src/components/GeneratedPlotlyResult.vue?vue&type=script&setup=true&lang.ts
|
|
5452
|
-
var _hoisted_1$
|
|
5453
|
-
var _hoisted_2$
|
|
5458
|
+
var _hoisted_1$49 = ["src"];
|
|
5459
|
+
var _hoisted_2$45 = {
|
|
5454
5460
|
key: 1,
|
|
5455
5461
|
class: "mint-generated-result__plotly-error",
|
|
5456
5462
|
role: "alert"
|
|
@@ -5505,7 +5511,7 @@ var GeneratedPlotlyResult_default = /* @__PURE__ */ _plugin_vue_export_helper_de
|
|
|
5505
5511
|
class: "mint-generated-result__image",
|
|
5506
5512
|
src: `data:${__props.fallback.media_type};base64,${__props.fallback.data}`,
|
|
5507
5513
|
alt: "Static Plotly chart fallback"
|
|
5508
|
-
}, null, 8, _hoisted_1$
|
|
5514
|
+
}, null, 8, _hoisted_1$49)) : failed.value ? (openBlock(), createElementBlock("p", _hoisted_2$45, " Unable to display this chart. ")) : createCommentVNode("", true), withDirectives(createElementVNode("div", {
|
|
5509
5515
|
ref_key: "chartElement",
|
|
5510
5516
|
ref: chartElement,
|
|
5511
5517
|
class: "mint-generated-result__plotly",
|
|
@@ -5518,20 +5524,20 @@ var GeneratedPlotlyResult_default = /* @__PURE__ */ _plugin_vue_export_helper_de
|
|
|
5518
5524
|
}), [["__scopeId", "data-v-3a33df40"]]);
|
|
5519
5525
|
//#endregion
|
|
5520
5526
|
//#region src/components/GeneratedResultRenderer.vue?vue&type=script&setup=true&lang.ts
|
|
5521
|
-
var _hoisted_1$
|
|
5527
|
+
var _hoisted_1$48 = {
|
|
5522
5528
|
class: "mint-generated-result",
|
|
5523
5529
|
"aria-live": "polite"
|
|
5524
5530
|
};
|
|
5525
|
-
var _hoisted_2$
|
|
5531
|
+
var _hoisted_2$44 = {
|
|
5526
5532
|
key: 0,
|
|
5527
5533
|
class: "mint-generated-result__text"
|
|
5528
5534
|
};
|
|
5529
|
-
var _hoisted_3$
|
|
5535
|
+
var _hoisted_3$40 = {
|
|
5530
5536
|
key: 1,
|
|
5531
5537
|
class: "mint-generated-result__json"
|
|
5532
5538
|
};
|
|
5533
|
-
var _hoisted_4$
|
|
5534
|
-
var _hoisted_5$
|
|
5539
|
+
var _hoisted_4$39 = ["src", "alt"];
|
|
5540
|
+
var _hoisted_5$37 = ["href", "download"];
|
|
5535
5541
|
//#endregion
|
|
5536
5542
|
//#region src/components/GeneratedResultRenderer.vue
|
|
5537
5543
|
var GeneratedResultRenderer_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
@@ -5565,7 +5571,7 @@ var GeneratedResultRenderer_default = /* @__PURE__ */ _plugin_vue_export_helper_
|
|
|
5565
5571
|
return value.replace(/[_-]+/g, " ").replace(/^\w/, (character) => character.toUpperCase());
|
|
5566
5572
|
}
|
|
5567
5573
|
return (_ctx, _cache) => {
|
|
5568
|
-
return openBlock(), createElementBlock("article", _hoisted_1$
|
|
5574
|
+
return openBlock(), createElementBlock("article", _hoisted_1$48, [__props.result.kind === "text" ? (openBlock(), createElementBlock("p", _hoisted_2$44, toDisplayString(__props.result.text), 1)) : __props.result.kind === "json" ? (openBlock(), createElementBlock("pre", _hoisted_3$40, toDisplayString(formattedJson.value), 1)) : __props.result.kind === "table" ? (openBlock(), createBlock(DataFrame_default, {
|
|
5569
5575
|
key: 2,
|
|
5570
5576
|
data: __props.result.rows,
|
|
5571
5577
|
columns: tableColumns.value,
|
|
@@ -5581,7 +5587,7 @@ var GeneratedResultRenderer_default = /* @__PURE__ */ _plugin_vue_export_helper_
|
|
|
5581
5587
|
class: "mint-generated-result__image",
|
|
5582
5588
|
src: `data:${__props.result.media_type};base64,${__props.result.data}`,
|
|
5583
5589
|
alt: __props.result.alt
|
|
5584
|
-
}, null, 8, _hoisted_4$
|
|
5590
|
+
}, null, 8, _hoisted_4$39)]),
|
|
5585
5591
|
_: 1
|
|
5586
5592
|
})) : __props.result.kind === "plotly" ? (openBlock(), createBlock(GeneratedPlotlyResult_default, {
|
|
5587
5593
|
key: 4,
|
|
@@ -5592,21 +5598,21 @@ var GeneratedResultRenderer_default = /* @__PURE__ */ _plugin_vue_export_helper_
|
|
|
5592
5598
|
class: "mint-generated-result__artifact",
|
|
5593
5599
|
href: artifactHref.value,
|
|
5594
5600
|
download: __props.result.name
|
|
5595
|
-
}, [createElementVNode("span", null, toDisplayString(__props.result.name), 1), createElementVNode("small", null, toDisplayString(__props.result.media_type), 1)], 8, _hoisted_5$
|
|
5601
|
+
}, [createElementVNode("span", null, toDisplayString(__props.result.name), 1), createElementVNode("small", null, toDisplayString(__props.result.media_type), 1)], 8, _hoisted_5$37))]);
|
|
5596
5602
|
};
|
|
5597
5603
|
}
|
|
5598
5604
|
}), [["__scopeId", "data-v-a3757b3e"]]);
|
|
5599
5605
|
//#endregion
|
|
5600
5606
|
//#region src/components/JobsStatusTray.vue?vue&type=script&setup=true&lang.ts
|
|
5601
|
-
var _hoisted_1$
|
|
5602
|
-
var _hoisted_2$
|
|
5603
|
-
var _hoisted_3$
|
|
5604
|
-
var _hoisted_4$
|
|
5607
|
+
var _hoisted_1$47 = { class: "mint-jobs-tray" };
|
|
5608
|
+
var _hoisted_2$43 = ["aria-expanded"];
|
|
5609
|
+
var _hoisted_3$39 = { class: "mint-jobs-tray__trigger-label" };
|
|
5610
|
+
var _hoisted_4$38 = {
|
|
5605
5611
|
key: 0,
|
|
5606
5612
|
class: "mint-jobs-tray__count",
|
|
5607
5613
|
"aria-live": "polite"
|
|
5608
5614
|
};
|
|
5609
|
-
var _hoisted_5$
|
|
5615
|
+
var _hoisted_5$36 = { class: "mint-jobs-tray__header" };
|
|
5610
5616
|
var _hoisted_6$35 = { class: "mint-jobs-tray__subtitle" };
|
|
5611
5617
|
var _hoisted_7$30 = { class: "mint-jobs-tray__header-actions" };
|
|
5612
5618
|
var _hoisted_8$27 = ["disabled"];
|
|
@@ -5638,20 +5644,20 @@ var _hoisted_22$10 = { class: "mint-jobs-tray__job-footer" };
|
|
|
5638
5644
|
var _hoisted_23$9 = { class: "mint-jobs-tray__job-actions" };
|
|
5639
5645
|
var _hoisted_24$9 = ["disabled", "onClick"];
|
|
5640
5646
|
var _hoisted_25$9 = ["disabled", "onClick"];
|
|
5641
|
-
var _hoisted_26$
|
|
5647
|
+
var _hoisted_26$8 = {
|
|
5642
5648
|
key: 0,
|
|
5643
5649
|
class: "mint-jobs-tray__clear-row"
|
|
5644
5650
|
};
|
|
5645
|
-
var _hoisted_27$
|
|
5651
|
+
var _hoisted_27$7 = {
|
|
5646
5652
|
key: 1,
|
|
5647
5653
|
class: "mint-jobs-tray__empty"
|
|
5648
5654
|
};
|
|
5649
|
-
var _hoisted_28$
|
|
5650
|
-
var _hoisted_29$
|
|
5651
|
-
var _hoisted_30$
|
|
5652
|
-
var _hoisted_31$
|
|
5653
|
-
var _hoisted_32$
|
|
5654
|
-
var _hoisted_33$
|
|
5655
|
+
var _hoisted_28$6 = { class: "mint-jobs-tray__job-heading" };
|
|
5656
|
+
var _hoisted_29$5 = { class: "mint-jobs-tray__job-identity" };
|
|
5657
|
+
var _hoisted_30$5 = ["onClick"];
|
|
5658
|
+
var _hoisted_31$5 = { class: "mint-jobs-tray__kind" };
|
|
5659
|
+
var _hoisted_32$5 = { class: "mint-jobs-tray__job-footer" };
|
|
5660
|
+
var _hoisted_33$5 = ["disabled", "onClick"];
|
|
5655
5661
|
//#endregion
|
|
5656
5662
|
//#region src/components/JobsStatusTray.vue
|
|
5657
5663
|
var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
@@ -5766,7 +5772,7 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
5766
5772
|
return openBlock(), createBlock(Teleport, {
|
|
5767
5773
|
to: teleportTarget.value,
|
|
5768
5774
|
disabled: __props.teleportTo === false
|
|
5769
|
-
}, [createElementVNode("div", _hoisted_1$
|
|
5775
|
+
}, [createElementVNode("div", _hoisted_1$47, [
|
|
5770
5776
|
createElementVNode("button", {
|
|
5771
5777
|
ref_key: "triggerRef",
|
|
5772
5778
|
ref: triggerRef,
|
|
@@ -5784,9 +5790,9 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
5784
5790
|
stroke: "currentColor",
|
|
5785
5791
|
"aria-hidden": "true"
|
|
5786
5792
|
}, [..._cache[3] || (_cache[3] = [createElementVNode("path", { d: "M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2" }, null, -1), createElementVNode("path", { d: "M9 5a3 3 0 0 1 6 0v2H9V5Z" }, null, -1)])], 2)),
|
|
5787
|
-
createElementVNode("span", _hoisted_3$
|
|
5788
|
-
unref(tray).activeJobs.value.length > 0 ? (openBlock(), createElementBlock("span", _hoisted_4$
|
|
5789
|
-
], 8, _hoisted_2$
|
|
5793
|
+
createElementVNode("span", _hoisted_3$39, toDisplayString(unref(tray).featuredJob.value ? unref(jobStatusLabel)(unref(tray).featuredJob.value.status) : "Jobs"), 1),
|
|
5794
|
+
unref(tray).activeJobs.value.length > 0 ? (openBlock(), createElementBlock("span", _hoisted_4$38, toDisplayString(unref(tray).activeJobs.value.length), 1)) : createCommentVNode("", true)
|
|
5795
|
+
], 8, _hoisted_2$43),
|
|
5790
5796
|
createVNode(Transition, { name: "mint-jobs-tray-fade" }, {
|
|
5791
5797
|
default: withCtx(() => [unref(tray).isOpen.value ? (openBlock(), createElementBlock("div", {
|
|
5792
5798
|
key: 0,
|
|
@@ -5809,7 +5815,7 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
5809
5815
|
tabindex: "-1",
|
|
5810
5816
|
onKeydown: onPanelKeydown
|
|
5811
5817
|
}, [
|
|
5812
|
-
createElementVNode("header", _hoisted_5$
|
|
5818
|
+
createElementVNode("header", _hoisted_5$36, [createElementVNode("div", null, [createElementVNode("h2", {
|
|
5813
5819
|
id: titleId,
|
|
5814
5820
|
class: "mint-jobs-tray__title"
|
|
5815
5821
|
}, toDisplayString(__props.title), 1), createElementVNode("p", _hoisted_6$35, toDisplayString(unref(tray).jobs.value.length) + " total", 1)]), createElementVNode("div", _hoisted_7$30, [unref(tray).canRefresh.value ? (openBlock(), createElementBlock("button", {
|
|
@@ -5892,21 +5898,21 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
5892
5898
|
}, [createElementVNode("path", { d: "M4 7h16M9 7V4h6v3m-8 0 1 13h8l1-13M10 11v5M14 11v5" })], -1)])], 8, _hoisted_25$9)) : createCommentVNode("", true)])])
|
|
5893
5899
|
]);
|
|
5894
5900
|
}), 128))], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
5895
|
-
canClear.value ? (openBlock(), createElementBlock("div", _hoisted_26$
|
|
5901
|
+
canClear.value ? (openBlock(), createElementBlock("div", _hoisted_26$8, [createElementVNode("button", {
|
|
5896
5902
|
type: "button",
|
|
5897
5903
|
class: "mint-jobs-tray__action mint-jobs-tray__action--danger",
|
|
5898
5904
|
onClick: clearFinished
|
|
5899
5905
|
}, " Clear finished ")])) : createCommentVNode("", true),
|
|
5900
|
-
unref(tray).historyJobs.value.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_27$
|
|
5906
|
+
unref(tray).historyJobs.value.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_27$7, " No job history ")) : createCommentVNode("", true),
|
|
5901
5907
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(tray).historyJobs.value, (job) => {
|
|
5902
5908
|
return openBlock(), createElementBlock("article", {
|
|
5903
5909
|
key: job.job_id,
|
|
5904
5910
|
class: "mint-jobs-tray__job"
|
|
5905
|
-
}, [createElementVNode("div", _hoisted_28$
|
|
5911
|
+
}, [createElementVNode("div", _hoisted_28$6, [createElementVNode("div", _hoisted_29$5, [createElementVNode("button", {
|
|
5906
5912
|
type: "button",
|
|
5907
5913
|
class: "mint-jobs-tray__job-select",
|
|
5908
5914
|
onClick: ($event) => emit("select", job)
|
|
5909
|
-
}, toDisplayString(job.name), 9, _hoisted_30$
|
|
5915
|
+
}, toDisplayString(job.name), 9, _hoisted_30$5), createElementVNode("span", _hoisted_31$5, toDisplayString(job.kind), 1)]), createElementVNode("span", { class: normalizeClass(["mint-jobs-tray__status", statusClass(job)]) }, toDisplayString(unref(jobStatusLabel)(job.status)), 3)]), createElementVNode("div", _hoisted_32$5, [createElementVNode("span", null, toDisplayString(formatTimestamp(job.completed_at || job.created_at)), 1), job.can_delete && unref(tray).canDelete.value ? (openBlock(), createElementBlock("button", {
|
|
5910
5916
|
key: 0,
|
|
5911
5917
|
type: "button",
|
|
5912
5918
|
class: "mint-jobs-tray__icon-button mint-jobs-tray__icon-button--danger",
|
|
@@ -5918,7 +5924,7 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
5918
5924
|
fill: "none",
|
|
5919
5925
|
stroke: "currentColor",
|
|
5920
5926
|
"aria-hidden": "true"
|
|
5921
|
-
}, [createElementVNode("path", { d: "M4 7h16M9 7V4h6v3m-8 0 1 13h8l1-13M10 11v5M14 11v5" })], -1)])], 8, _hoisted_33$
|
|
5927
|
+
}, [createElementVNode("path", { d: "M4 7h16M9 7V4h6v3m-8 0 1 13h8l1-13M10 11v5M14 11v5" })], -1)])], 8, _hoisted_33$5)) : createCommentVNode("", true)])]);
|
|
5922
5928
|
}), 128))
|
|
5923
5929
|
], 64))])
|
|
5924
5930
|
], 544)) : createCommentVNode("", true)]),
|
|
@@ -5930,17 +5936,17 @@ var JobsStatusTray_default = /* @__PURE__ */ defineComponent({
|
|
|
5930
5936
|
});
|
|
5931
5937
|
//#endregion
|
|
5932
5938
|
//#region src/components/GeneratedPluginView.vue?vue&type=script&setup=true&lang.ts
|
|
5933
|
-
var _hoisted_1$
|
|
5934
|
-
var _hoisted_2$
|
|
5939
|
+
var _hoisted_1$46 = { class: "mint-generated-workspace" };
|
|
5940
|
+
var _hoisted_2$42 = {
|
|
5935
5941
|
key: 0,
|
|
5936
5942
|
class: "mint-generated-workspace__loading"
|
|
5937
5943
|
};
|
|
5938
|
-
var _hoisted_3$
|
|
5944
|
+
var _hoisted_3$38 = {
|
|
5939
5945
|
key: 1,
|
|
5940
5946
|
class: "mint-generated-workspace__header"
|
|
5941
5947
|
};
|
|
5942
|
-
var _hoisted_4$
|
|
5943
|
-
var _hoisted_5$
|
|
5948
|
+
var _hoisted_4$37 = { key: 0 };
|
|
5949
|
+
var _hoisted_5$35 = {
|
|
5944
5950
|
class: "mint-generated-workspace__resources",
|
|
5945
5951
|
"aria-label": "Job resource requirements"
|
|
5946
5952
|
};
|
|
@@ -6043,17 +6049,17 @@ var GeneratedPluginView_default = /* @__PURE__ */ _plugin_vue_export_helper_defa
|
|
|
6043
6049
|
"onUpdate:values": updateValues,
|
|
6044
6050
|
onFormSubmit: submitJob
|
|
6045
6051
|
}, {
|
|
6046
|
-
default: withCtx(() => [createElementVNode("main", _hoisted_1$
|
|
6052
|
+
default: withCtx(() => [createElementVNode("main", _hoisted_1$46, [unref(generated).isLoading.value ? (openBlock(), createElementBlock("div", _hoisted_2$42, [createVNode(LoadingSpinner_default, { size: "lg" }), _cache[1] || (_cache[1] = createElementVNode("span", null, "Loading analysis workspace", -1))])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
6047
6053
|
unref(generated).error.value ? (openBlock(), createBlock(AlertBox_default, {
|
|
6048
6054
|
key: 0,
|
|
6049
6055
|
type: "error",
|
|
6050
6056
|
message: unref(generated).error.value
|
|
6051
6057
|
}, null, 8, ["message"])) : createCommentVNode("", true),
|
|
6052
|
-
activeDefinition.value ? (openBlock(), createElementBlock("header", _hoisted_3$
|
|
6058
|
+
activeDefinition.value ? (openBlock(), createElementBlock("header", _hoisted_3$38, [createElementVNode("div", null, [
|
|
6053
6059
|
_cache[2] || (_cache[2] = createElementVNode("p", { class: "mint-generated-workspace__eyebrow" }, "Analysis result", -1)),
|
|
6054
6060
|
createElementVNode("h1", null, toDisplayString(activeDefinition.value.title), 1),
|
|
6055
|
-
activeDefinition.value.description ? (openBlock(), createElementBlock("p", _hoisted_4$
|
|
6056
|
-
]), createElementVNode("div", _hoisted_5$
|
|
6061
|
+
activeDefinition.value.description ? (openBlock(), createElementBlock("p", _hoisted_4$37, toDisplayString(activeDefinition.value.description), 1)) : createCommentVNode("", true)
|
|
6062
|
+
]), createElementVNode("div", _hoisted_5$35, [createElementVNode("span", null, toDisplayString(resourceSummary(activeDefinition.value)), 1)])])) : createCommentVNode("", true),
|
|
6057
6063
|
createElementVNode("section", _hoisted_6$34, [currentResult.value ? (openBlock(), createBlock(GeneratedResultRenderer_default, {
|
|
6058
6064
|
key: 0,
|
|
6059
6065
|
result: currentResult.value
|
|
@@ -6086,11 +6092,11 @@ var GeneratedPluginView_default = /* @__PURE__ */ _plugin_vue_export_helper_defa
|
|
|
6086
6092
|
}), [["__scopeId", "data-v-6c599fd1"]]);
|
|
6087
6093
|
//#endregion
|
|
6088
6094
|
//#region src/components/DoseCalculatorVolumeField.vue?vue&type=script&setup=true&lang.ts
|
|
6089
|
-
var _hoisted_1$
|
|
6090
|
-
var _hoisted_2$
|
|
6091
|
-
var _hoisted_3$
|
|
6092
|
-
var _hoisted_4$
|
|
6093
|
-
var _hoisted_5$
|
|
6095
|
+
var _hoisted_1$45 = { class: "mint-dose-calculator__field" };
|
|
6096
|
+
var _hoisted_2$41 = { class: "mint-dose-calculator__field-label" };
|
|
6097
|
+
var _hoisted_3$37 = { class: "mint-dose-calculator__field-row" };
|
|
6098
|
+
var _hoisted_4$36 = ["value", "disabled"];
|
|
6099
|
+
var _hoisted_5$34 = ["value", "disabled"];
|
|
6094
6100
|
var _hoisted_6$33 = ["value"];
|
|
6095
6101
|
//#endregion
|
|
6096
6102
|
//#region src/components/DoseCalculatorVolumeField.vue
|
|
@@ -6127,7 +6133,7 @@ var DoseCalculatorVolumeField_default = /* @__PURE__ */ defineComponent({
|
|
|
6127
6133
|
});
|
|
6128
6134
|
}
|
|
6129
6135
|
return (_ctx, _cache) => {
|
|
6130
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
6136
|
+
return openBlock(), createElementBlock("div", _hoisted_1$45, [createElementVNode("label", _hoisted_2$41, toDisplayString(__props.label), 1), createElementVNode("div", _hoisted_3$37, [createElementVNode("input", {
|
|
6131
6137
|
type: "number",
|
|
6132
6138
|
value: __props.modelValue.value,
|
|
6133
6139
|
disabled: __props.disabled,
|
|
@@ -6135,7 +6141,7 @@ var DoseCalculatorVolumeField_default = /* @__PURE__ */ defineComponent({
|
|
|
6135
6141
|
min: "0",
|
|
6136
6142
|
step: "any",
|
|
6137
6143
|
onInput: handleValueInput
|
|
6138
|
-
}, null, 40, _hoisted_4$
|
|
6144
|
+
}, null, 40, _hoisted_4$36), createElementVNode("select", {
|
|
6139
6145
|
value: __props.modelValue.unit,
|
|
6140
6146
|
disabled: __props.disabled,
|
|
6141
6147
|
class: "mint-dose-calculator__select",
|
|
@@ -6145,21 +6151,21 @@ var DoseCalculatorVolumeField_default = /* @__PURE__ */ defineComponent({
|
|
|
6145
6151
|
key: unit,
|
|
6146
6152
|
value: unit
|
|
6147
6153
|
}, toDisplayString(unit), 9, _hoisted_6$33);
|
|
6148
|
-
}), 128))], 40, _hoisted_5$
|
|
6154
|
+
}), 128))], 40, _hoisted_5$34)])]);
|
|
6149
6155
|
};
|
|
6150
6156
|
}
|
|
6151
6157
|
});
|
|
6152
6158
|
//#endregion
|
|
6153
6159
|
//#region src/components/DoseCalculator.vue?vue&type=script&setup=true&lang.ts
|
|
6154
|
-
var _hoisted_1$
|
|
6160
|
+
var _hoisted_1$44 = {
|
|
6155
6161
|
key: 0,
|
|
6156
6162
|
class: "mint-dose-calculator__tabs",
|
|
6157
6163
|
role: "tablist"
|
|
6158
6164
|
};
|
|
6159
|
-
var _hoisted_2$
|
|
6160
|
-
var _hoisted_3$
|
|
6161
|
-
var _hoisted_4$
|
|
6162
|
-
var _hoisted_5$
|
|
6165
|
+
var _hoisted_2$40 = ["aria-selected"];
|
|
6166
|
+
var _hoisted_3$36 = ["aria-selected"];
|
|
6167
|
+
var _hoisted_4$35 = ["aria-selected"];
|
|
6168
|
+
var _hoisted_5$33 = {
|
|
6163
6169
|
key: 1,
|
|
6164
6170
|
class: "mint-dose-calculator__form",
|
|
6165
6171
|
role: "tabpanel"
|
|
@@ -6197,28 +6203,28 @@ var _hoisted_24$8 = {
|
|
|
6197
6203
|
class: "mint-dose-calculator__preview"
|
|
6198
6204
|
};
|
|
6199
6205
|
var _hoisted_25$8 = { class: "mint-dose-calculator__preview-steps" };
|
|
6200
|
-
var _hoisted_26$
|
|
6201
|
-
var _hoisted_27$
|
|
6202
|
-
var _hoisted_28$
|
|
6203
|
-
var _hoisted_29$
|
|
6206
|
+
var _hoisted_26$7 = { class: "mint-dose-calculator__preview-step" };
|
|
6207
|
+
var _hoisted_27$6 = { class: "mint-dose-calculator__preview-step-num" };
|
|
6208
|
+
var _hoisted_28$5 = { class: "mint-dose-calculator__preview-step-conc" };
|
|
6209
|
+
var _hoisted_29$4 = {
|
|
6204
6210
|
key: 0,
|
|
6205
6211
|
class: "mint-dose-calculator__preview-arrow"
|
|
6206
6212
|
};
|
|
6207
|
-
var _hoisted_30$
|
|
6213
|
+
var _hoisted_30$4 = {
|
|
6208
6214
|
key: 1,
|
|
6209
6215
|
class: "mint-dose-calculator__error"
|
|
6210
6216
|
};
|
|
6211
|
-
var _hoisted_31$
|
|
6217
|
+
var _hoisted_31$4 = {
|
|
6212
6218
|
key: 3,
|
|
6213
6219
|
class: "mint-dose-calculator__form",
|
|
6214
6220
|
role: "tabpanel"
|
|
6215
6221
|
};
|
|
6216
|
-
var _hoisted_32$
|
|
6217
|
-
var _hoisted_33$
|
|
6222
|
+
var _hoisted_32$4 = { class: "mint-dose-calculator__field" };
|
|
6223
|
+
var _hoisted_33$4 = {
|
|
6218
6224
|
key: 0,
|
|
6219
6225
|
class: "mint-dose-calculator__error"
|
|
6220
6226
|
};
|
|
6221
|
-
var _hoisted_34$
|
|
6227
|
+
var _hoisted_34$4 = {
|
|
6222
6228
|
key: 4,
|
|
6223
6229
|
class: "mint-dose-calculator__mw-section"
|
|
6224
6230
|
};
|
|
@@ -6344,30 +6350,30 @@ var DoseCalculator_default = /* @__PURE__ */ defineComponent({
|
|
|
6344
6350
|
});
|
|
6345
6351
|
return (_ctx, _cache) => {
|
|
6346
6352
|
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-dose-calculator", __props.disabled ? "mint-dose-calculator--disabled" : ""]) }, [
|
|
6347
|
-
showTabs.value ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
6353
|
+
showTabs.value ? (openBlock(), createElementBlock("div", _hoisted_1$44, [
|
|
6348
6354
|
createElementVNode("button", {
|
|
6349
6355
|
type: "button",
|
|
6350
6356
|
class: normalizeClass(["mint-dose-calculator__tab", activeMode.value === "dilution" ? "mint-dose-calculator__tab--active" : ""]),
|
|
6351
6357
|
role: "tab",
|
|
6352
6358
|
"aria-selected": activeMode.value === "dilution",
|
|
6353
6359
|
onClick: _cache[0] || (_cache[0] = ($event) => activeMode.value = "dilution")
|
|
6354
|
-
}, " Dilution ", 10, _hoisted_2$
|
|
6360
|
+
}, " Dilution ", 10, _hoisted_2$40),
|
|
6355
6361
|
createElementVNode("button", {
|
|
6356
6362
|
type: "button",
|
|
6357
6363
|
class: normalizeClass(["mint-dose-calculator__tab", activeMode.value === "serial" ? "mint-dose-calculator__tab--active" : ""]),
|
|
6358
6364
|
role: "tab",
|
|
6359
6365
|
"aria-selected": activeMode.value === "serial",
|
|
6360
6366
|
onClick: _cache[1] || (_cache[1] = ($event) => activeMode.value = "serial")
|
|
6361
|
-
}, " Serial ", 10, _hoisted_3$
|
|
6367
|
+
}, " Serial ", 10, _hoisted_3$36),
|
|
6362
6368
|
createElementVNode("button", {
|
|
6363
6369
|
type: "button",
|
|
6364
6370
|
class: normalizeClass(["mint-dose-calculator__tab", activeMode.value === "conversion" ? "mint-dose-calculator__tab--active" : ""]),
|
|
6365
6371
|
role: "tab",
|
|
6366
6372
|
"aria-selected": activeMode.value === "conversion",
|
|
6367
6373
|
onClick: _cache[2] || (_cache[2] = ($event) => activeMode.value = "conversion")
|
|
6368
|
-
}, " Conversion ", 10, _hoisted_4$
|
|
6374
|
+
}, " Conversion ", 10, _hoisted_4$35)
|
|
6369
6375
|
])) : createCommentVNode("", true),
|
|
6370
|
-
activeMode.value === "dilution" ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
6376
|
+
activeMode.value === "dilution" ? (openBlock(), createElementBlock("div", _hoisted_5$33, [
|
|
6371
6377
|
createElementVNode("div", _hoisted_6$32, [_cache[10] || (_cache[10] = createElementVNode("label", { class: "mint-dose-calculator__field-label" }, "Stock Concentration", -1)), createVNode(ConcentrationInput_default, {
|
|
6372
6378
|
modelValue: stockConcentration.value,
|
|
6373
6379
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => stockConcentration.value = $event),
|
|
@@ -6446,15 +6452,15 @@ var DoseCalculator_default = /* @__PURE__ */ defineComponent({
|
|
|
6446
6452
|
]),
|
|
6447
6453
|
_cache[22] || (_cache[22] = createElementVNode("div", { class: "mint-dose-calculator__divider" }, null, -1)),
|
|
6448
6454
|
serialResult.value?.valid ? (openBlock(), createElementBlock("div", _hoisted_24$8, [_cache[21] || (_cache[21] = createElementVNode("div", { class: "mint-dose-calculator__preview-title" }, "Preview", -1)), createElementVNode("div", _hoisted_25$8, [(openBlock(true), createElementBlock(Fragment, null, renderList(serialResult.value.steps, (step, index) => {
|
|
6449
|
-
return openBlock(), createElementBlock(Fragment, { key: step.stepNumber }, [createElementVNode("div", _hoisted_26$
|
|
6450
|
-
}), 128))])])) : serialResult.value?.error ? (openBlock(), createElementBlock("div", _hoisted_30$
|
|
6451
|
-
])) : activeMode.value === "conversion" ? (openBlock(), createElementBlock("div", _hoisted_31$
|
|
6455
|
+
return openBlock(), createElementBlock(Fragment, { key: step.stepNumber }, [createElementVNode("div", _hoisted_26$7, [createElementVNode("span", _hoisted_27$6, toDisplayString(step.stepNumber) + ":", 1), createElementVNode("span", _hoisted_28$5, toDisplayString(unref(formatWithUnit)(step.concentration, 3)), 1)]), index < serialResult.value.steps.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_29$4, " → ")) : createCommentVNode("", true)], 64);
|
|
6456
|
+
}), 128))])])) : serialResult.value?.error ? (openBlock(), createElementBlock("div", _hoisted_30$4, toDisplayString(serialResult.value.error), 1)) : createCommentVNode("", true)
|
|
6457
|
+
])) : activeMode.value === "conversion" ? (openBlock(), createElementBlock("div", _hoisted_31$4, [createElementVNode("div", _hoisted_32$4, [_cache[23] || (_cache[23] = createElementVNode("label", { class: "mint-dose-calculator__field-label" }, "Input Concentration", -1)), createVNode(ConcentrationInput_default, {
|
|
6452
6458
|
disabled: __props.disabled,
|
|
6453
6459
|
"molecular-weight": __props.molecularWeight,
|
|
6454
6460
|
"show-conversion": true,
|
|
6455
6461
|
size: "md"
|
|
6456
|
-
}, null, 8, ["disabled", "molecular-weight"])]), !__props.molecularWeight ? (openBlock(), createElementBlock("div", _hoisted_33$
|
|
6457
|
-
__props.molecularWeight ? (openBlock(), createElementBlock("div", _hoisted_34$
|
|
6462
|
+
}, null, 8, ["disabled", "molecular-weight"])]), !__props.molecularWeight ? (openBlock(), createElementBlock("div", _hoisted_33$4, " Provide molecular weight for mass ↔ molarity conversion ")) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
6463
|
+
__props.molecularWeight ? (openBlock(), createElementBlock("div", _hoisted_34$4, [createElementVNode("span", _hoisted_35$4, " Molecular Weight: " + toDisplayString(__props.molecularWeight) + " g/mol ", 1)])) : createCommentVNode("", true),
|
|
6458
6464
|
hasTargetWells.value ? (openBlock(), createElementBlock("div", _hoisted_36$4, [createElementVNode("button", {
|
|
6459
6465
|
type: "button",
|
|
6460
6466
|
class: "mint-dose-calculator__apply-btn",
|
|
@@ -6505,19 +6511,19 @@ function formatProtocolDuration(minutes) {
|
|
|
6505
6511
|
}
|
|
6506
6512
|
//#endregion
|
|
6507
6513
|
//#region src/components/ExperimentTimeline.vue?vue&type=script&setup=true&lang.ts
|
|
6508
|
-
var _hoisted_1$
|
|
6509
|
-
var _hoisted_2$
|
|
6514
|
+
var _hoisted_1$43 = ["aria-label"];
|
|
6515
|
+
var _hoisted_2$39 = [
|
|
6510
6516
|
"draggable",
|
|
6511
6517
|
"onDragstart",
|
|
6512
6518
|
"onDragover",
|
|
6513
6519
|
"onDrop"
|
|
6514
6520
|
];
|
|
6515
|
-
var _hoisted_3$
|
|
6521
|
+
var _hoisted_3$35 = {
|
|
6516
6522
|
key: 0,
|
|
6517
6523
|
class: "mint-timeline__connector"
|
|
6518
6524
|
};
|
|
6519
|
-
var _hoisted_4$
|
|
6520
|
-
var _hoisted_5$
|
|
6525
|
+
var _hoisted_4$34 = ["onClick"];
|
|
6526
|
+
var _hoisted_5$32 = {
|
|
6521
6527
|
fill: "none",
|
|
6522
6528
|
stroke: "currentColor",
|
|
6523
6529
|
viewBox: "0 0 24 24"
|
|
@@ -6724,7 +6730,7 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
|
|
|
6724
6730
|
onDrop: ($event) => handleDrop($event, step),
|
|
6725
6731
|
onDragend: handleDragEnd
|
|
6726
6732
|
}, [
|
|
6727
|
-
index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
6733
|
+
index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_3$35)) : createCommentVNode("", true),
|
|
6728
6734
|
createElementVNode("div", {
|
|
6729
6735
|
class: normalizeClass([
|
|
6730
6736
|
"mint-timeline__card",
|
|
@@ -6747,7 +6753,7 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
|
|
|
6747
6753
|
backgroundColor: `${getStepColor(step)}20`,
|
|
6748
6754
|
color: getStepColor(step)
|
|
6749
6755
|
} : {})
|
|
6750
|
-
}, [(openBlock(), createElementBlock("svg", _hoisted_5$
|
|
6756
|
+
}, [(openBlock(), createElementBlock("svg", _hoisted_5$32, [createElementVNode("path", {
|
|
6751
6757
|
"stroke-linecap": "round",
|
|
6752
6758
|
"stroke-linejoin": "round",
|
|
6753
6759
|
"stroke-width": "2",
|
|
@@ -6818,7 +6824,7 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
|
|
|
6818
6824
|
onClick: withModifiers(($event) => handleStatusChange(step, status), ["stop"])
|
|
6819
6825
|
}, toDisplayString(status.replace("_", " ")), 11, _hoisted_15$15);
|
|
6820
6826
|
}), 64))])) : createCommentVNode("", true)
|
|
6821
|
-
], 8, _hoisted_10$22)) : createCommentVNode("", true)], 14, _hoisted_4$
|
|
6827
|
+
], 8, _hoisted_10$22)) : createCommentVNode("", true)], 14, _hoisted_4$34),
|
|
6822
6828
|
__props.editable && __props.orientation === "vertical" ? (openBlock(), createElementBlock("button", {
|
|
6823
6829
|
key: 1,
|
|
6824
6830
|
type: "button",
|
|
@@ -6837,7 +6843,7 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
|
|
|
6837
6843
|
})], -1)])], 8, _hoisted_16$13)) : createCommentVNode("", true),
|
|
6838
6844
|
__props.orientation === "vertical" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_17$13)) : createCommentVNode("", true),
|
|
6839
6845
|
__props.orientation === "horizontal" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_18$13)) : createCommentVNode("", true)
|
|
6840
|
-
], 40, _hoisted_2$
|
|
6846
|
+
], 40, _hoisted_2$39);
|
|
6841
6847
|
}), 128)),
|
|
6842
6848
|
sortedSteps.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_19$13, [createElementVNode("div", _hoisted_20$12, [_cache[5] || (_cache[5] = createElementVNode("p", { class: "mint-timeline__empty-text" }, "No protocol steps defined", -1)), __props.editable ? (openBlock(), createElementBlock("button", {
|
|
6843
6849
|
key: 0,
|
|
@@ -6860,17 +6866,17 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
|
|
|
6860
6866
|
"stroke-width": "2",
|
|
6861
6867
|
d: "M12 4v16m8-8H4"
|
|
6862
6868
|
})], -1)), createElementVNode("span", { class: normalizeClass(`mint-timeline__add-end-text--${__props.size}`) }, "Add Step", 2)], 2)) : createCommentVNode("", true)
|
|
6863
|
-
], 10, _hoisted_1$
|
|
6869
|
+
], 10, _hoisted_1$43);
|
|
6864
6870
|
};
|
|
6865
6871
|
}
|
|
6866
6872
|
});
|
|
6867
6873
|
//#endregion
|
|
6868
6874
|
//#region src/components/internal/WellEditPopupInternal.vue?vue&type=script&setup=true&lang.ts
|
|
6869
|
-
var _hoisted_1$
|
|
6870
|
-
var _hoisted_2$
|
|
6871
|
-
var _hoisted_3$
|
|
6872
|
-
var _hoisted_4$
|
|
6873
|
-
var _hoisted_5$
|
|
6875
|
+
var _hoisted_1$42 = { class: "mint-well-edit-popup__header" };
|
|
6876
|
+
var _hoisted_2$38 = { class: "mint-well-edit-popup__header-left" };
|
|
6877
|
+
var _hoisted_3$34 = { class: "mint-well-edit-popup__well-id" };
|
|
6878
|
+
var _hoisted_4$33 = { class: "mint-well-edit-popup__body" };
|
|
6879
|
+
var _hoisted_5$31 = { key: 0 };
|
|
6874
6880
|
var _hoisted_6$30 = { class: "mint-well-edit-popup__row" };
|
|
6875
6881
|
var _hoisted_7$27 = { key: 0 };
|
|
6876
6882
|
var _hoisted_8$24 = { class: "mint-well-edit-popup__type-grid" };
|
|
@@ -6988,7 +6994,7 @@ var WellEditPopupInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
6988
6994
|
style: normalizeStyle(popupStyle.value),
|
|
6989
6995
|
onClick: _cache[5] || (_cache[5] = withModifiers(() => {}, ["stop"]))
|
|
6990
6996
|
}, [
|
|
6991
|
-
createElementVNode("div", _hoisted_1$
|
|
6997
|
+
createElementVNode("div", _hoisted_1$42, [createElementVNode("div", _hoisted_2$38, [createElementVNode("span", _hoisted_3$34, toDisplayString(__props.wellId), 1), _cache[6] || (_cache[6] = createElementVNode("span", { class: "mint-well-edit-popup__title" }, "Edit Well", -1))]), createElementVNode("button", {
|
|
6992
6998
|
class: "mint-well-edit-popup__close",
|
|
6993
6999
|
onClick: close
|
|
6994
7000
|
}, [..._cache[7] || (_cache[7] = [createElementVNode("svg", {
|
|
@@ -7001,8 +7007,8 @@ var WellEditPopupInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
7001
7007
|
"stroke-linecap": "round",
|
|
7002
7008
|
"stroke-linejoin": "round"
|
|
7003
7009
|
}, [createElementVNode("path", { d: "M18 6 6 18" }), createElementVNode("path", { d: "m6 6 12 12" })], -1)])])]),
|
|
7004
|
-
createElementVNode("div", _hoisted_4$
|
|
7005
|
-
hasField("label") ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
7010
|
+
createElementVNode("div", _hoisted_4$33, [
|
|
7011
|
+
hasField("label") ? (openBlock(), createElementBlock("div", _hoisted_5$31, [_cache[8] || (_cache[8] = createElementVNode("label", { class: "mint-well-edit-popup__label" }, "Sample Name", -1)), withDirectives(createElementVNode("input", {
|
|
7006
7012
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => formData.value.label = $event),
|
|
7007
7013
|
type: "text",
|
|
7008
7014
|
placeholder: "e.g., Sample_001",
|
|
@@ -7687,11 +7693,11 @@ var DEFAULT_WELL_LEGEND_ITEMS = [
|
|
|
7687
7693
|
];
|
|
7688
7694
|
//#endregion
|
|
7689
7695
|
//#region src/components/WellPlate.vue?vue&type=script&setup=true&lang.ts
|
|
7690
|
-
var _hoisted_1$
|
|
7691
|
-
var _hoisted_2$
|
|
7692
|
-
var _hoisted_3$
|
|
7693
|
-
var _hoisted_4$
|
|
7694
|
-
var _hoisted_5$
|
|
7696
|
+
var _hoisted_1$41 = { class: "mint-well-plate__scroll" };
|
|
7697
|
+
var _hoisted_2$37 = { class: "mint-well-plate__content" };
|
|
7698
|
+
var _hoisted_3$33 = ["aria-label"];
|
|
7699
|
+
var _hoisted_4$32 = { key: 0 };
|
|
7700
|
+
var _hoisted_5$30 = ["colspan"];
|
|
7695
7701
|
var _hoisted_6$29 = ["colspan"];
|
|
7696
7702
|
var _hoisted_7$26 = { key: 1 };
|
|
7697
7703
|
var _hoisted_8$23 = ["rowspan"];
|
|
@@ -7911,7 +7917,7 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
|
|
|
7911
7917
|
ref: plateRef,
|
|
7912
7918
|
class: normalizeClass(["mint-well-plate", isFillMode.value ? "mint-well-plate--fill" : "mint-well-plate--inline"]),
|
|
7913
7919
|
style: normalizeStyle(containerStyle.value)
|
|
7914
|
-
}, [createElementVNode("div", _hoisted_1$
|
|
7920
|
+
}, [createElementVNode("div", _hoisted_1$41, [createElementVNode("div", _hoisted_2$37, [
|
|
7915
7921
|
createElementVNode("table", {
|
|
7916
7922
|
ref_key: "tableRef",
|
|
7917
7923
|
ref: tableRef,
|
|
@@ -7920,7 +7926,7 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
|
|
|
7920
7926
|
"aria-label": `${props.format}-well plate`,
|
|
7921
7927
|
style: normalizeStyle(tableStyle.value)
|
|
7922
7928
|
}, [
|
|
7923
|
-
hasColumnConditions.value ? (openBlock(), createElementBlock("thead", _hoisted_4$
|
|
7929
|
+
hasColumnConditions.value ? (openBlock(), createElementBlock("thead", _hoisted_4$32, [createElementVNode("tr", null, [
|
|
7924
7930
|
createElementVNode("th", { style: normalizeStyle({ width: sizeConfig.value.headerWidth }) }, null, 4),
|
|
7925
7931
|
hasRowConditions.value ? (openBlock(), createElementBlock("th", {
|
|
7926
7932
|
key: 0,
|
|
@@ -7936,7 +7942,7 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
|
|
|
7936
7942
|
fontSize: sizeConfig.value.fontSize,
|
|
7937
7943
|
color: span.condition.color
|
|
7938
7944
|
})
|
|
7939
|
-
}, [createTextVNode(toDisplayString(span.condition.label), 1), span.condition.unit ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(" (" + toDisplayString(span.condition.unit) + ")", 1)], 64)) : createCommentVNode("", true)], 12, _hoisted_5$
|
|
7945
|
+
}, [createTextVNode(toDisplayString(span.condition.label), 1), span.condition.unit ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(" (" + toDisplayString(span.condition.unit) + ")", 1)], 64)) : createCommentVNode("", true)], 12, _hoisted_5$30)) : (openBlock(), createElementBlock("th", {
|
|
7940
7946
|
key: 1,
|
|
7941
7947
|
colspan: span.colspan
|
|
7942
7948
|
}, null, 8, _hoisted_6$29))], 64);
|
|
@@ -8048,7 +8054,7 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
|
|
|
8048
8054
|
}), 128))
|
|
8049
8055
|
]);
|
|
8050
8056
|
}), 128))])
|
|
8051
|
-
], 12, _hoisted_3$
|
|
8057
|
+
], 12, _hoisted_3$33),
|
|
8052
8058
|
props.heatmap?.enabled && props.heatmap.showLegend ? (openBlock(), createElementBlock("div", _hoisted_16$12, [
|
|
8053
8059
|
createElementVNode("span", _hoisted_17$12, toDisplayString(props.heatmap.min ?? 0), 1),
|
|
8054
8060
|
createElementVNode("div", _hoisted_18$12, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.heatmap.colorScale === "custom" && props.heatmap.customColors?.length ? props.heatmap.customColors : unref(HEATMAP_COLORS)[props.heatmap.colorScale || "viridis"], (color, index) => {
|
|
@@ -8106,8 +8112,8 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
|
|
|
8106
8112
|
});
|
|
8107
8113
|
//#endregion
|
|
8108
8114
|
//#region src/components/SampleLegend.vue?vue&type=script&setup=true&lang.ts
|
|
8109
|
-
var _hoisted_1$
|
|
8110
|
-
var _hoisted_2$
|
|
8115
|
+
var _hoisted_1$40 = ["aria-pressed", "onClick"];
|
|
8116
|
+
var _hoisted_2$36 = ["aria-label", "onClick"];
|
|
8111
8117
|
//#endregion
|
|
8112
8118
|
//#region src/components/SampleLegend.vue
|
|
8113
8119
|
var SampleLegend_default = /* @__PURE__ */ defineComponent({
|
|
@@ -8207,8 +8213,8 @@ var SampleLegend_default = /* @__PURE__ */ defineComponent({
|
|
|
8207
8213
|
"stroke-linejoin": "round",
|
|
8208
8214
|
"stroke-width": "2",
|
|
8209
8215
|
d: "M6 18L18 6M6 6l12 12"
|
|
8210
|
-
})], -1)])], 8, _hoisted_2$
|
|
8211
|
-
], 10, _hoisted_1$
|
|
8216
|
+
})], -1)])], 8, _hoisted_2$36)) : createCommentVNode("", true)
|
|
8217
|
+
], 10, _hoisted_1$40);
|
|
8212
8218
|
}), 128)), __props.editable ? (openBlock(), createElementBlock("button", {
|
|
8213
8219
|
key: 0,
|
|
8214
8220
|
type: "button",
|
|
@@ -8231,11 +8237,11 @@ var SampleLegend_default = /* @__PURE__ */ defineComponent({
|
|
|
8231
8237
|
});
|
|
8232
8238
|
//#endregion
|
|
8233
8239
|
//#region src/components/internal/PlateMapEditorToolbarInternal.vue?vue&type=script&setup=true&lang.ts
|
|
8234
|
-
var _hoisted_1$
|
|
8235
|
-
var _hoisted_2$
|
|
8236
|
-
var _hoisted_3$
|
|
8237
|
-
var _hoisted_4$
|
|
8238
|
-
var _hoisted_5$
|
|
8240
|
+
var _hoisted_1$39 = { class: "mint-plate-editor__toolbar" };
|
|
8241
|
+
var _hoisted_2$35 = { class: "mint-plate-editor__tabs" };
|
|
8242
|
+
var _hoisted_3$32 = ["onClick"];
|
|
8243
|
+
var _hoisted_4$31 = { class: "mint-plate-editor__tab-name" };
|
|
8244
|
+
var _hoisted_5$29 = {
|
|
8239
8245
|
key: 0,
|
|
8240
8246
|
class: "mint-plate-editor__tab-count"
|
|
8241
8247
|
};
|
|
@@ -8270,8 +8276,8 @@ var PlateMapEditorToolbarInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
8270
8276
|
const props = __props;
|
|
8271
8277
|
const emit = __emit;
|
|
8272
8278
|
return (_ctx, _cache) => {
|
|
8273
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
8274
|
-
createElementVNode("div", _hoisted_2$
|
|
8279
|
+
return openBlock(), createElementBlock("div", _hoisted_1$39, [
|
|
8280
|
+
createElementVNode("div", _hoisted_2$35, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.plates, (plate, index) => {
|
|
8275
8281
|
return openBlock(), createElementBlock("button", {
|
|
8276
8282
|
key: plate.id,
|
|
8277
8283
|
type: "button",
|
|
@@ -8282,8 +8288,8 @@ var PlateMapEditorToolbarInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
8282
8288
|
class: "mint-plate-editor__tab-slot",
|
|
8283
8289
|
style: normalizeStyle({ backgroundColor: __props.slotColorForPlate(plate.id, index) })
|
|
8284
8290
|
}, null, 4),
|
|
8285
|
-
createElementVNode("span", _hoisted_4$
|
|
8286
|
-
__props.plateWellCounts[plate.id] > 0 ? (openBlock(), createElementBlock("span", _hoisted_5$
|
|
8291
|
+
createElementVNode("span", _hoisted_4$31, toDisplayString(plate.name), 1),
|
|
8292
|
+
__props.plateWellCounts[plate.id] > 0 ? (openBlock(), createElementBlock("span", _hoisted_5$29, toDisplayString(__props.plateWellCounts[plate.id]), 1)) : createCommentVNode("", true),
|
|
8287
8293
|
props.plates.length > 1 ? (openBlock(), createElementBlock("button", {
|
|
8288
8294
|
key: 1,
|
|
8289
8295
|
type: "button",
|
|
@@ -8298,7 +8304,7 @@ var PlateMapEditorToolbarInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
8298
8304
|
"stroke-linecap": "round",
|
|
8299
8305
|
"stroke-linejoin": "round"
|
|
8300
8306
|
}, [createElementVNode("path", { d: "M18 6 6 18" }), createElementVNode("path", { d: "m6 6 12 12" })], -1)])], 8, _hoisted_6$28)) : createCommentVNode("", true)
|
|
8301
|
-
], 10, _hoisted_3$
|
|
8307
|
+
], 10, _hoisted_3$32);
|
|
8302
8308
|
}), 128)), __props.canAddPlate ? (openBlock(), createElementBlock("button", {
|
|
8303
8309
|
key: 0,
|
|
8304
8310
|
type: "button",
|
|
@@ -8385,17 +8391,17 @@ var PlateMapEditorToolbarInternal_default = /* @__PURE__ */ defineComponent({
|
|
|
8385
8391
|
});
|
|
8386
8392
|
//#endregion
|
|
8387
8393
|
//#region src/components/PlateMapEditor.vue?vue&type=script&setup=true&lang.ts
|
|
8388
|
-
var _hoisted_1$
|
|
8389
|
-
var _hoisted_2$
|
|
8394
|
+
var _hoisted_1$38 = { class: "mint-plate-editor__main" };
|
|
8395
|
+
var _hoisted_2$34 = {
|
|
8390
8396
|
key: 2,
|
|
8391
8397
|
class: "mint-plate-editor__selection-bar"
|
|
8392
8398
|
};
|
|
8393
|
-
var _hoisted_3$
|
|
8394
|
-
var _hoisted_4$
|
|
8399
|
+
var _hoisted_3$31 = { class: "mint-plate-editor__selection-count" };
|
|
8400
|
+
var _hoisted_4$30 = {
|
|
8395
8401
|
key: 0,
|
|
8396
8402
|
class: "mint-plate-editor__sidebar"
|
|
8397
8403
|
};
|
|
8398
|
-
var _hoisted_5$
|
|
8404
|
+
var _hoisted_5$28 = { class: "mint-plate-editor__sidebar-panel" };
|
|
8399
8405
|
var _hoisted_6$27 = {
|
|
8400
8406
|
key: 0,
|
|
8401
8407
|
class: "mint-plate-editor__add-sample"
|
|
@@ -8589,7 +8595,7 @@ var PlateMapEditor_default = /* @__PURE__ */ defineComponent({
|
|
|
8589
8595
|
useEventListener(() => document, "keydown", handleKeyDown);
|
|
8590
8596
|
return (_ctx, _cache) => {
|
|
8591
8597
|
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-plate-editor", { "mint-plate-editor--with-sidebar": __props.showSidebar }]) }, [
|
|
8592
|
-
createElementVNode("div", _hoisted_1$
|
|
8598
|
+
createElementVNode("div", _hoisted_1$38, [
|
|
8593
8599
|
__props.showToolbar ? (openBlock(), createBlock(PlateMapEditorToolbarInternal_default, {
|
|
8594
8600
|
key: 0,
|
|
8595
8601
|
plates: unref(editor).plates.value,
|
|
@@ -8632,8 +8638,8 @@ var PlateMapEditor_default = /* @__PURE__ */ defineComponent({
|
|
|
8632
8638
|
"sample-colors",
|
|
8633
8639
|
"size"
|
|
8634
8640
|
])) : createCommentVNode("", true),
|
|
8635
|
-
unref(editor).selectedWells.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
8636
|
-
createElementVNode("span", _hoisted_3$
|
|
8641
|
+
unref(editor).selectedWells.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$34, [
|
|
8642
|
+
createElementVNode("span", _hoisted_3$31, [createElementVNode("strong", null, toDisplayString(unref(editor).selectedWells.value.length), 1), _cache[8] || (_cache[8] = createTextVNode(" wells selected ", -1))]),
|
|
8637
8643
|
_cache[9] || (_cache[9] = createElementVNode("div", { class: "mint-plate-editor__spacer" }, null, -1)),
|
|
8638
8644
|
unref(editor).activeSampleId.value ? (openBlock(), createElementBlock("button", {
|
|
8639
8645
|
key: 0,
|
|
@@ -8649,7 +8655,7 @@ var PlateMapEditor_default = /* @__PURE__ */ defineComponent({
|
|
|
8649
8655
|
])) : createCommentVNode("", true),
|
|
8650
8656
|
_cache[10] || (_cache[10] = createStaticVNode("<div class=\"mint-plate-editor__legend\"><div class=\"mint-plate-editor__legend-items\"><div class=\"mint-plate-editor__legend-item\"><div class=\"mint-plate-editor__legend-swatch\" style=\"background-color:rgba(16, 185, 129, 0.15);border:1px solid rgba(16, 185, 129, 0.4);\"></div><span class=\"mint-plate-editor__legend-label\">Sample</span></div><div class=\"mint-plate-editor__legend-item\"><div class=\"mint-plate-editor__legend-swatch\" style=\"background-color:rgba(59, 130, 246, 0.15);border:1px solid rgba(59, 130, 246, 0.4);\"></div><span class=\"mint-plate-editor__legend-label\">Control</span></div><div class=\"mint-plate-editor__legend-item\"><div class=\"mint-plate-editor__legend-swatch\" style=\"background-color:rgba(249, 115, 22, 0.15);border:1px solid rgba(249, 115, 22, 0.4);\"></div><span class=\"mint-plate-editor__legend-label\">Blank</span></div><div class=\"mint-plate-editor__legend-item\"><div class=\"mint-plate-editor__legend-swatch\" style=\"background-color:rgba(139, 92, 246, 0.15);border:1px solid rgba(139, 92, 246, 0.4);\"></div><span class=\"mint-plate-editor__legend-label\">QC</span></div></div><span class=\"mint-plate-editor__legend-hint\"><svg fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72\"></path><path d=\"m14 7 3 3\"></path><path d=\"M5 6v4\"></path><path d=\"M19 14v4\"></path><path d=\"M10 2v2\"></path><path d=\"M7 8H3\"></path><path d=\"M21 16h-4\"></path><path d=\"M11 3H9\"></path></svg> Drag to select </span></div>", 1))
|
|
8651
8657
|
]),
|
|
8652
|
-
__props.showSidebar ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
8658
|
+
__props.showSidebar ? (openBlock(), createElementBlock("div", _hoisted_4$30, [createElementVNode("div", _hoisted_5$28, [
|
|
8653
8659
|
_cache[11] || (_cache[11] = createElementVNode("h3", { class: "mint-plate-editor__sidebar-title" }, "Sample Types", -1)),
|
|
8654
8660
|
createVNode(SampleLegend_default, {
|
|
8655
8661
|
"model-value": unref(editor).activeSampleId.value,
|
|
@@ -8774,17 +8780,17 @@ function getReagentRowClasses(reagent, options) {
|
|
|
8774
8780
|
}
|
|
8775
8781
|
//#endregion
|
|
8776
8782
|
//#region src/components/ReagentList.vue?vue&type=script&setup=true&lang.ts
|
|
8777
|
-
var _hoisted_1$
|
|
8778
|
-
var _hoisted_2$
|
|
8779
|
-
var _hoisted_3$
|
|
8783
|
+
var _hoisted_1$37 = { class: "mint-reagent-list" };
|
|
8784
|
+
var _hoisted_2$33 = { class: "mint-reagent-list__header" };
|
|
8785
|
+
var _hoisted_3$30 = {
|
|
8780
8786
|
key: 0,
|
|
8781
8787
|
class: "mint-reagent-list__search"
|
|
8782
8788
|
};
|
|
8783
|
-
var _hoisted_4$
|
|
8789
|
+
var _hoisted_4$29 = {
|
|
8784
8790
|
key: 0,
|
|
8785
8791
|
class: "mint-reagent-list__table"
|
|
8786
8792
|
};
|
|
8787
|
-
var _hoisted_5$
|
|
8793
|
+
var _hoisted_5$27 = {
|
|
8788
8794
|
key: 0,
|
|
8789
8795
|
style: { "width": "24px" }
|
|
8790
8796
|
};
|
|
@@ -8861,30 +8867,30 @@ var _hoisted_25$7 = {
|
|
|
8861
8867
|
key: 6,
|
|
8862
8868
|
class: "mint-reagent-list__cell mint-reagent-list__cell--muted"
|
|
8863
8869
|
};
|
|
8864
|
-
var _hoisted_26$
|
|
8870
|
+
var _hoisted_26$6 = {
|
|
8865
8871
|
key: 7,
|
|
8866
8872
|
class: "mint-reagent-list__cell"
|
|
8867
8873
|
};
|
|
8868
|
-
var _hoisted_27$
|
|
8874
|
+
var _hoisted_27$5 = {
|
|
8869
8875
|
key: 0,
|
|
8870
8876
|
class: "mint-reagent-list__stock"
|
|
8871
8877
|
};
|
|
8872
|
-
var _hoisted_28$
|
|
8873
|
-
var _hoisted_29$
|
|
8874
|
-
var _hoisted_30$
|
|
8878
|
+
var _hoisted_28$4 = { class: "mint-reagent-list__stock-bar" };
|
|
8879
|
+
var _hoisted_29$3 = { class: "mint-reagent-list__stock-text" };
|
|
8880
|
+
var _hoisted_30$3 = {
|
|
8875
8881
|
key: 1,
|
|
8876
8882
|
class: "mint-reagent-list__cell--muted"
|
|
8877
8883
|
};
|
|
8878
|
-
var _hoisted_31$
|
|
8884
|
+
var _hoisted_31$3 = {
|
|
8879
8885
|
key: 8,
|
|
8880
8886
|
class: "mint-reagent-list__cell mint-reagent-list__cell--muted"
|
|
8881
8887
|
};
|
|
8882
|
-
var _hoisted_32$
|
|
8888
|
+
var _hoisted_32$3 = {
|
|
8883
8889
|
key: 9,
|
|
8884
8890
|
class: "mint-reagent-list__cell mint-reagent-list__cell--actions"
|
|
8885
8891
|
};
|
|
8886
|
-
var _hoisted_33$
|
|
8887
|
-
var _hoisted_34$
|
|
8892
|
+
var _hoisted_33$3 = ["onClick"];
|
|
8893
|
+
var _hoisted_34$3 = ["onClick"];
|
|
8888
8894
|
var _hoisted_35$3 = {
|
|
8889
8895
|
key: 1,
|
|
8890
8896
|
class: "mint-reagent-list__empty"
|
|
@@ -9025,7 +9031,7 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
|
|
|
9025
9031
|
dragOverId.value = null;
|
|
9026
9032
|
}
|
|
9027
9033
|
return (_ctx, _cache) => {
|
|
9028
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
9034
|
+
return openBlock(), createElementBlock("div", _hoisted_1$37, [createElementVNode("div", _hoisted_2$33, [__props.searchable ? (openBlock(), createElementBlock("div", _hoisted_3$30, [_cache[1] || (_cache[1] = createElementVNode("svg", {
|
|
9029
9035
|
class: "mint-reagent-list__search-icon",
|
|
9030
9036
|
fill: "none",
|
|
9031
9037
|
stroke: "currentColor",
|
|
@@ -9054,8 +9060,8 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
|
|
|
9054
9060
|
"stroke-linejoin": "round",
|
|
9055
9061
|
"stroke-width": "2",
|
|
9056
9062
|
d: "M12 4v16m8-8H4"
|
|
9057
|
-
})], -1), createTextVNode(" Add ", -1)])])) : createCommentVNode("", true)]), unref(filteredReagents).length > 0 ? (openBlock(), createElementBlock("table", _hoisted_4$
|
|
9058
|
-
__props.sortable && !__props.readonly ? (openBlock(), createElementBlock("th", _hoisted_5$
|
|
9063
|
+
})], -1), createTextVNode(" Add ", -1)])])) : createCommentVNode("", true)]), unref(filteredReagents).length > 0 ? (openBlock(), createElementBlock("table", _hoisted_4$29, [createElementVNode("thead", null, [createElementVNode("tr", null, [
|
|
9064
|
+
__props.sortable && !__props.readonly ? (openBlock(), createElementBlock("th", _hoisted_5$27)) : createCommentVNode("", true),
|
|
9059
9065
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (col) => {
|
|
9060
9066
|
return openBlock(), createElementBlock("th", {
|
|
9061
9067
|
key: col,
|
|
@@ -9127,12 +9133,12 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
|
|
|
9127
9133
|
class: normalizeClass(["mint-reagent-list__storage", `mint-reagent-list__storage--${reagent.storageCondition}`])
|
|
9128
9134
|
}, toDisplayString(reagent.storageCondition), 3)) : (openBlock(), createElementBlock("span", _hoisted_24$7, "-"))])) : createCommentVNode("", true),
|
|
9129
9135
|
__props.columns.includes("location") ? (openBlock(), createElementBlock("td", _hoisted_25$7, toDisplayString(reagent.location || "-"), 1)) : createCommentVNode("", true),
|
|
9130
|
-
__props.columns.includes("stock") && __props.showStockLevel ? (openBlock(), createElementBlock("td", _hoisted_26$
|
|
9136
|
+
__props.columns.includes("stock") && __props.showStockLevel ? (openBlock(), createElementBlock("td", _hoisted_26$6, [reagent.stockLevel !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_27$5, [createElementVNode("div", _hoisted_28$4, [createElementVNode("div", {
|
|
9131
9137
|
class: normalizeClass(["mint-reagent-list__stock-fill", unref(getReagentStockFillClass)(unref(getReagentStockLevel)(reagent))]),
|
|
9132
9138
|
style: normalizeStyle({ width: `${Math.min(100, unref(getReagentStockLevel)(reagent))}%` })
|
|
9133
|
-
}, null, 6)]), createElementVNode("span", _hoisted_29$
|
|
9134
|
-
__props.columns.includes("supplier") ? (openBlock(), createElementBlock("td", _hoisted_31$
|
|
9135
|
-
!__props.readonly ? (openBlock(), createElementBlock("td", _hoisted_32$
|
|
9139
|
+
}, null, 6)]), createElementVNode("span", _hoisted_29$3, toDisplayString(unref(getReagentStockLevel)(reagent)) + "% ", 1)])) : (openBlock(), createElementBlock("span", _hoisted_30$3, "-"))])) : createCommentVNode("", true),
|
|
9140
|
+
__props.columns.includes("supplier") ? (openBlock(), createElementBlock("td", _hoisted_31$3, toDisplayString(reagent.supplier || "-"), 1)) : createCommentVNode("", true),
|
|
9141
|
+
!__props.readonly ? (openBlock(), createElementBlock("td", _hoisted_32$3, [createElementVNode("button", {
|
|
9136
9142
|
type: "button",
|
|
9137
9143
|
class: "mint-reagent-list__action-btn",
|
|
9138
9144
|
"aria-label": "Edit",
|
|
@@ -9146,7 +9152,7 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
|
|
|
9146
9152
|
"stroke-linejoin": "round",
|
|
9147
9153
|
"stroke-width": "2",
|
|
9148
9154
|
d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"
|
|
9149
|
-
})], -1)])], 8, _hoisted_33$
|
|
9155
|
+
})], -1)])], 8, _hoisted_33$3), createElementVNode("button", {
|
|
9150
9156
|
type: "button",
|
|
9151
9157
|
class: "mint-reagent-list__action-btn mint-reagent-list__action-btn--danger",
|
|
9152
9158
|
"aria-label": "Remove",
|
|
@@ -9160,7 +9166,7 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
|
|
|
9160
9166
|
"stroke-linejoin": "round",
|
|
9161
9167
|
"stroke-width": "2",
|
|
9162
9168
|
d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
|
|
9163
|
-
})], -1)])], 8, _hoisted_34$
|
|
9169
|
+
})], -1)])], 8, _hoisted_34$3)])) : createCommentVNode("", true)
|
|
9164
9170
|
], 42, _hoisted_10$18);
|
|
9165
9171
|
}), 128))])])) : (openBlock(), createElementBlock("div", _hoisted_35$3, [
|
|
9166
9172
|
_cache[8] || (_cache[8] = createElementVNode("svg", {
|
|
@@ -9189,10 +9195,11 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
|
|
|
9189
9195
|
//#region src/components/SmartGroupFieldRecipe.groups.ts
|
|
9190
9196
|
/**
|
|
9191
9197
|
* Build the ordered group list from whichever fields are switched on.
|
|
9192
|
-
* Returns an empty list when no field is active.
|
|
9198
|
+
* Returns an empty list when no field is active. `layerOrder` (field indices
|
|
9199
|
+
* in layer order) overrides the default field-order joining of the group name.
|
|
9193
9200
|
*/
|
|
9194
|
-
function computeFieldGroups(samples, fields, on, palette) {
|
|
9195
|
-
const keys = fields.filter((_, i) => on[i]).map((field) => field.key);
|
|
9201
|
+
function computeFieldGroups(samples, fields, on, palette, layerOrder) {
|
|
9202
|
+
const keys = layerOrder ? layerOrder.filter((i) => on[i]).map((i) => fields[i].key) : fields.filter((_, i) => on[i]).map((field) => field.key);
|
|
9196
9203
|
if (keys.length === 0) return [];
|
|
9197
9204
|
const order = [];
|
|
9198
9205
|
const counts = /* @__PURE__ */ new Map();
|
|
@@ -9244,11 +9251,11 @@ function fieldRecipeSummary(input) {
|
|
|
9244
9251
|
}
|
|
9245
9252
|
//#endregion
|
|
9246
9253
|
//#region src/components/SmartGroupFieldRecipe.vue?vue&type=script&setup=true&lang.ts
|
|
9247
|
-
var _hoisted_1$
|
|
9248
|
-
var _hoisted_2$
|
|
9249
|
-
var _hoisted_3$
|
|
9250
|
-
var _hoisted_4$
|
|
9251
|
-
var _hoisted_5$
|
|
9254
|
+
var _hoisted_1$36 = { class: "sg-modal fr" };
|
|
9255
|
+
var _hoisted_2$32 = { class: "sg-head" };
|
|
9256
|
+
var _hoisted_3$29 = { class: "sg-head__sub" };
|
|
9257
|
+
var _hoisted_4$28 = ["aria-expanded"];
|
|
9258
|
+
var _hoisted_5$26 = {
|
|
9252
9259
|
key: 0,
|
|
9253
9260
|
class: "fr-csv-menu",
|
|
9254
9261
|
role: "menu"
|
|
@@ -9285,37 +9292,52 @@ var _hoisted_15$11 = [
|
|
|
9285
9292
|
"aria-label",
|
|
9286
9293
|
"onClick"
|
|
9287
9294
|
];
|
|
9288
|
-
var _hoisted_16$10 = {
|
|
9289
|
-
|
|
9295
|
+
var _hoisted_16$10 = {
|
|
9296
|
+
key: 0,
|
|
9297
|
+
class: "sg-field__order"
|
|
9298
|
+
};
|
|
9299
|
+
var _hoisted_17$10 = { class: "sg-field__layer" };
|
|
9300
|
+
var _hoisted_18$10 = [
|
|
9301
|
+
"disabled",
|
|
9302
|
+
"aria-label",
|
|
9303
|
+
"onClick"
|
|
9304
|
+
];
|
|
9305
|
+
var _hoisted_19$10 = [
|
|
9306
|
+
"disabled",
|
|
9307
|
+
"aria-label",
|
|
9308
|
+
"onClick"
|
|
9309
|
+
];
|
|
9310
|
+
var _hoisted_20$9 = { class: "sg-field__vals" };
|
|
9311
|
+
var _hoisted_21$8 = {
|
|
9290
9312
|
key: 2,
|
|
9291
9313
|
class: "sg-summary fr-summary--mute"
|
|
9292
9314
|
};
|
|
9293
|
-
var
|
|
9294
|
-
var
|
|
9315
|
+
var _hoisted_22$7 = { class: "sg-summary__icon" };
|
|
9316
|
+
var _hoisted_23$6 = {
|
|
9295
9317
|
key: 3,
|
|
9296
9318
|
class: "sg-summary sg-summary--warn"
|
|
9297
9319
|
};
|
|
9298
|
-
var
|
|
9299
|
-
var
|
|
9320
|
+
var _hoisted_24$6 = { class: "sg-summary__icon" };
|
|
9321
|
+
var _hoisted_25$6 = {
|
|
9300
9322
|
key: 4,
|
|
9301
9323
|
class: "sg-summary"
|
|
9302
9324
|
};
|
|
9303
|
-
var
|
|
9304
|
-
var
|
|
9305
|
-
var
|
|
9306
|
-
var
|
|
9307
|
-
var
|
|
9308
|
-
var
|
|
9325
|
+
var _hoisted_26$5 = { class: "sg-summary__icon" };
|
|
9326
|
+
var _hoisted_27$4 = { class: "sg-body__side" };
|
|
9327
|
+
var _hoisted_28$3 = { class: "sg-preview__head" };
|
|
9328
|
+
var _hoisted_29$2 = { class: "sg-preview__count" };
|
|
9329
|
+
var _hoisted_30$2 = { class: "sg-grouplist" };
|
|
9330
|
+
var _hoisted_31$2 = {
|
|
9309
9331
|
key: 0,
|
|
9310
9332
|
class: "fr-empty"
|
|
9311
9333
|
};
|
|
9312
|
-
var
|
|
9313
|
-
var
|
|
9314
|
-
var
|
|
9315
|
-
var
|
|
9316
|
-
var
|
|
9317
|
-
var
|
|
9318
|
-
var
|
|
9334
|
+
var _hoisted_32$2 = { class: "sg-group__name" };
|
|
9335
|
+
var _hoisted_33$2 = { class: "sg-group__count" };
|
|
9336
|
+
var _hoisted_34$2 = { class: "sg-qc" };
|
|
9337
|
+
var _hoisted_35$2 = { class: "sg-qc__head" };
|
|
9338
|
+
var _hoisted_36$2 = ["value"];
|
|
9339
|
+
var _hoisted_37$2 = { class: "sg-foot" };
|
|
9340
|
+
var _hoisted_38$2 = { class: "sg-foot__hint" };
|
|
9319
9341
|
var DEFAULT_SAMPLES = [
|
|
9320
9342
|
{
|
|
9321
9343
|
Condition: "Control",
|
|
@@ -9378,6 +9400,7 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9378
9400
|
palette: { default: () => DEFAULT_PALETTE$1 },
|
|
9379
9401
|
qcColor: { default: "var(--grp-qc)" },
|
|
9380
9402
|
enabled: {},
|
|
9403
|
+
layers: {},
|
|
9381
9404
|
groups: {},
|
|
9382
9405
|
qcChip: {},
|
|
9383
9406
|
route: {},
|
|
@@ -9397,6 +9420,7 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9397
9420
|
"manual",
|
|
9398
9421
|
"close",
|
|
9399
9422
|
"toggle",
|
|
9423
|
+
"move",
|
|
9400
9424
|
"update:route",
|
|
9401
9425
|
"csv-file",
|
|
9402
9426
|
"download-template",
|
|
@@ -9424,7 +9448,8 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9424
9448
|
close: "M6 18L18 6M6 6l12 12",
|
|
9425
9449
|
upload: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 3v12",
|
|
9426
9450
|
download: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3",
|
|
9427
|
-
chev: "M6 9l6 6 6-6"
|
|
9451
|
+
chev: "M6 9l6 6 6-6",
|
|
9452
|
+
chevUp: "M18 15l-6-6-6 6"
|
|
9428
9453
|
};
|
|
9429
9454
|
const MAX_BAR = 44;
|
|
9430
9455
|
const fileInput = ref(null);
|
|
@@ -9472,15 +9497,31 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9472
9497
|
emit("download-prefilled");
|
|
9473
9498
|
}
|
|
9474
9499
|
const onInner = ref(props.initialOn ? [...props.initialOn] : props.fields.map((field) => !field.rep));
|
|
9500
|
+
const orderInner = ref(onInner.value.flatMap((isOn, i) => isOn ? [i] : []));
|
|
9475
9501
|
const routeInner = ref(props.initialRoute);
|
|
9476
9502
|
const controlledEnabled = computed(() => props.enabled !== void 0);
|
|
9477
9503
|
const controlledRoute = computed(() => props.route !== void 0);
|
|
9478
9504
|
const on = computed(() => props.enabled ?? onInner.value);
|
|
9479
9505
|
const currentRoute = computed(() => props.route ?? routeInner.value);
|
|
9480
|
-
const
|
|
9506
|
+
const layers = computed(() => {
|
|
9507
|
+
if (props.layers !== void 0) return props.layers;
|
|
9508
|
+
if (controlledEnabled.value) {
|
|
9509
|
+
let layer = 0;
|
|
9510
|
+
return props.fields.map((_, i) => on.value[i] ? ++layer : null);
|
|
9511
|
+
}
|
|
9512
|
+
return props.fields.map((_, i) => {
|
|
9513
|
+
const pos = orderInner.value.indexOf(i);
|
|
9514
|
+
return pos === -1 ? null : pos + 1;
|
|
9515
|
+
});
|
|
9516
|
+
});
|
|
9517
|
+
const layerOrder = computed(() => layers.value.flatMap((layer, i) => layer === null ? [] : [{
|
|
9518
|
+
layer,
|
|
9519
|
+
i
|
|
9520
|
+
}]).sort((a, b) => a.layer - b.layer).map((entry) => entry.i));
|
|
9521
|
+
const computedBase = computed(() => computeFieldGroups(props.samples, props.fields, on.value, props.palette, layerOrder.value));
|
|
9481
9522
|
const baseGroups = computed(() => props.groups ?? computedBase.value);
|
|
9482
9523
|
const groups = computed(() => props.groups ?? appendQcGroup(computedBase.value, currentRoute.value, props.qcColor));
|
|
9483
|
-
const activeFactors = computed(() =>
|
|
9524
|
+
const activeFactors = computed(() => layerOrder.value.map((i) => props.fields[i].key));
|
|
9484
9525
|
const counts = computed(() => baseGroups.value.map((group) => group.count));
|
|
9485
9526
|
const uniform = computed(() => counts.value.length > 0 && counts.value.every((count) => count === counts.value[0]));
|
|
9486
9527
|
const repField = computed(() => props.fields.find((field) => field.rep));
|
|
@@ -9510,7 +9551,22 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9510
9551
|
emit("toggle", index);
|
|
9511
9552
|
return;
|
|
9512
9553
|
}
|
|
9554
|
+
const wasOn = onInner.value[index];
|
|
9513
9555
|
onInner.value = onInner.value.map((value, i) => i === index ? !value : value);
|
|
9556
|
+
orderInner.value = wasOn ? orderInner.value.filter((i) => i !== index) : [...orderInner.value, index];
|
|
9557
|
+
}
|
|
9558
|
+
function moveLayer(index, direction) {
|
|
9559
|
+
if (controlledEnabled.value) {
|
|
9560
|
+
emit("move", index, direction);
|
|
9561
|
+
return;
|
|
9562
|
+
}
|
|
9563
|
+
const from = orderInner.value.indexOf(index);
|
|
9564
|
+
if (from === -1) return;
|
|
9565
|
+
const to = direction === "up" ? from - 1 : from + 1;
|
|
9566
|
+
if (to < 0 || to >= orderInner.value.length) return;
|
|
9567
|
+
const next = [...orderInner.value];
|
|
9568
|
+
[next[from], next[to]] = [next[to], next[from]];
|
|
9569
|
+
orderInner.value = next;
|
|
9514
9570
|
}
|
|
9515
9571
|
function onRouteChange(value) {
|
|
9516
9572
|
if (controlledRoute.value) {
|
|
@@ -9529,14 +9585,14 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9529
9585
|
});
|
|
9530
9586
|
}
|
|
9531
9587
|
return (_ctx, _cache) => {
|
|
9532
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
9533
|
-
createElementVNode("div", _hoisted_2$
|
|
9588
|
+
return openBlock(), createElementBlock("div", _hoisted_1$36, [
|
|
9589
|
+
createElementVNode("div", _hoisted_2$32, [
|
|
9534
9590
|
createVNode(Icon, {
|
|
9535
9591
|
d: ICON.bolt,
|
|
9536
9592
|
size: 18
|
|
9537
9593
|
}, null, 8, ["d"]),
|
|
9538
9594
|
_cache[11] || (_cache[11] = createElementVNode("span", { class: "sg-head__title" }, "Group samples", -1)),
|
|
9539
|
-
createElementVNode("span", _hoisted_3$
|
|
9595
|
+
createElementVNode("span", _hoisted_3$29, [createTextVNode("· " + toDisplayString(__props.headerCount) + " samples", 1), __props.experimentLabel ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(" from " + toDisplayString(__props.experimentLabel), 1)], 64)) : createCommentVNode("", true)]),
|
|
9540
9596
|
_cache[12] || (_cache[12] = createElementVNode("div", { class: "sg-head__spacer" }, null, -1)),
|
|
9541
9597
|
createElementVNode("div", {
|
|
9542
9598
|
ref_key: "csvMenuRoot",
|
|
@@ -9559,8 +9615,8 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9559
9615
|
d: ICON.chev,
|
|
9560
9616
|
size: 13
|
|
9561
9617
|
}, null, 8, ["d"])
|
|
9562
|
-
], 8, _hoisted_4$
|
|
9563
|
-
unref(csvMenuOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
9618
|
+
], 8, _hoisted_4$28),
|
|
9619
|
+
unref(csvMenuOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$26, [
|
|
9564
9620
|
createElementVNode("button", {
|
|
9565
9621
|
type: "button",
|
|
9566
9622
|
class: "fr-csv-item",
|
|
@@ -9657,13 +9713,38 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9657
9713
|
"aria-label": "Group by " + field.key,
|
|
9658
9714
|
onClick: ($event) => toggle(i)
|
|
9659
9715
|
}, null, 10, _hoisted_15$11),
|
|
9660
|
-
|
|
9716
|
+
on.value[i] && layers.value[i] !== null ? (openBlock(), createElementBlock("div", _hoisted_16$10, [
|
|
9717
|
+
createElementVNode("span", _hoisted_17$10, "Layer " + toDisplayString(layers.value[i]), 1),
|
|
9718
|
+
createElementVNode("button", {
|
|
9719
|
+
type: "button",
|
|
9720
|
+
class: "sg-field__order-btn",
|
|
9721
|
+
disabled: layers.value[i] === 1,
|
|
9722
|
+
"aria-label": "Move " + field.key + " up a layer",
|
|
9723
|
+
title: "Move up a layer",
|
|
9724
|
+
onClick: withModifiers(($event) => moveLayer(i, "up"), ["stop"])
|
|
9725
|
+
}, [createVNode(Icon, {
|
|
9726
|
+
d: ICON.chevUp,
|
|
9727
|
+
size: 12
|
|
9728
|
+
}, null, 8, ["d"])], 8, _hoisted_18$10),
|
|
9729
|
+
createElementVNode("button", {
|
|
9730
|
+
type: "button",
|
|
9731
|
+
class: "sg-field__order-btn",
|
|
9732
|
+
disabled: layers.value[i] === layerOrder.value.length,
|
|
9733
|
+
"aria-label": "Move " + field.key + " down a layer",
|
|
9734
|
+
title: "Move down a layer",
|
|
9735
|
+
onClick: withModifiers(($event) => moveLayer(i, "down"), ["stop"])
|
|
9736
|
+
}, [createVNode(Icon, {
|
|
9737
|
+
d: ICON.chev,
|
|
9738
|
+
size: 12
|
|
9739
|
+
}, null, 8, ["d"])], 8, _hoisted_19$10)
|
|
9740
|
+
])) : createCommentVNode("", true),
|
|
9741
|
+
createElementVNode("div", _hoisted_20$9, toDisplayString(field.vals), 1)
|
|
9661
9742
|
], 2);
|
|
9662
9743
|
}), 128))]),
|
|
9663
|
-
summary.value.kind === "mute" ? (openBlock(), createElementBlock("div",
|
|
9744
|
+
summary.value.kind === "mute" ? (openBlock(), createElementBlock("div", _hoisted_21$8, [createElementVNode("span", _hoisted_22$7, [createVNode(Icon, {
|
|
9664
9745
|
d: ICON.info,
|
|
9665
9746
|
size: 16
|
|
9666
|
-
}, null, 8, ["d"])]), _cache[15] || (_cache[15] = createElementVNode("span", null, "Turn on at least one field to form groups.", -1))])) : summary.value.kind === "warn" ? (openBlock(), createElementBlock("div",
|
|
9747
|
+
}, null, 8, ["d"])]), _cache[15] || (_cache[15] = createElementVNode("span", null, "Turn on at least one field to form groups.", -1))])) : summary.value.kind === "warn" ? (openBlock(), createElementBlock("div", _hoisted_23$6, [createElementVNode("span", _hoisted_24$6, [createVNode(Icon, {
|
|
9667
9748
|
d: ICON.warn,
|
|
9668
9749
|
size: 16
|
|
9669
9750
|
}, null, 8, ["d"])]), createElementVNode("span", null, [
|
|
@@ -9674,7 +9755,7 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9674
9755
|
_cache[18] || (_cache[18] = createTextVNode(". Turn it off to keep ", -1)),
|
|
9675
9756
|
createElementVNode("code", null, toDisplayString(repRange.value), 1),
|
|
9676
9757
|
_cache[19] || (_cache[19] = createTextVNode(" together. ", -1))
|
|
9677
|
-
])])) : (openBlock(), createElementBlock("div",
|
|
9758
|
+
])])) : (openBlock(), createElementBlock("div", _hoisted_25$6, [createElementVNode("span", _hoisted_26$5, [createVNode(Icon, {
|
|
9678
9759
|
d: ICON.info,
|
|
9679
9760
|
size: 16
|
|
9680
9761
|
}, null, 8, ["d"])]), createElementVNode("span", null, [
|
|
@@ -9684,9 +9765,9 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9684
9765
|
createElementVNode("b", null, [createTextVNode(toDisplayString(baseGroups.value.length) + " groups", 1), uniform.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(" of " + toDisplayString(counts.value[0]), 1)], 64)) : createCommentVNode("", true)]),
|
|
9685
9766
|
_cache[22] || (_cache[22] = createTextVNode(". Replicates kept together. ", -1))
|
|
9686
9767
|
])]))
|
|
9687
|
-
], 32), createElementVNode("div",
|
|
9688
|
-
createElementVNode("div",
|
|
9689
|
-
createElementVNode("div",
|
|
9768
|
+
], 32), createElementVNode("div", _hoisted_27$4, [
|
|
9769
|
+
createElementVNode("div", _hoisted_28$3, [_cache[24] || (_cache[24] = createTextVNode(" Resulting groups ", -1)), createElementVNode("span", _hoisted_29$2, toDisplayString(groups.value.length) + " groups · " + toDisplayString(groupedSampleTotal.value) + " samples", 1)]),
|
|
9770
|
+
createElementVNode("div", _hoisted_30$2, [groups.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_31$2, "No groups yet — pick a field to start.")) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(groups.value, (group) => {
|
|
9690
9771
|
return openBlock(), createElementBlock("div", {
|
|
9691
9772
|
key: group.name,
|
|
9692
9773
|
class: "sg-group"
|
|
@@ -9695,7 +9776,7 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9695
9776
|
class: "sg-dot",
|
|
9696
9777
|
style: normalizeStyle({ background: group.color })
|
|
9697
9778
|
}, null, 4),
|
|
9698
|
-
createElementVNode("span",
|
|
9779
|
+
createElementVNode("span", _hoisted_32$2, toDisplayString(group.name), 1),
|
|
9699
9780
|
createElementVNode("span", {
|
|
9700
9781
|
class: "sg-group__bar",
|
|
9701
9782
|
style: normalizeStyle({
|
|
@@ -9703,10 +9784,10 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9703
9784
|
"--g": group.color
|
|
9704
9785
|
})
|
|
9705
9786
|
}, null, 4),
|
|
9706
|
-
createElementVNode("span",
|
|
9787
|
+
createElementVNode("span", _hoisted_33$2, toDisplayString(group.count), 1)
|
|
9707
9788
|
]);
|
|
9708
9789
|
}), 128))]),
|
|
9709
|
-
createElementVNode("div",
|
|
9790
|
+
createElementVNode("div", _hoisted_34$2, [createElementVNode("div", _hoisted_35$2, [_cache[26] || (_cache[26] = createElementVNode("span", { class: "sg-qc__title" }, "Quality control", -1)), createElementVNode("select", {
|
|
9710
9791
|
class: "sg-qc__route",
|
|
9711
9792
|
value: currentRoute.value,
|
|
9712
9793
|
onChange: _cache[4] || (_cache[4] = ($event) => onRouteChange($event.target.value))
|
|
@@ -9714,7 +9795,7 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9714
9795
|
createElementVNode("option", null, "Overlay only", -1),
|
|
9715
9796
|
createElementVNode("option", null, "Exclude", -1),
|
|
9716
9797
|
createElementVNode("option", null, "Mix into groups", -1)
|
|
9717
|
-
])], 40,
|
|
9798
|
+
])], 40, _hoisted_36$2)]), qcChip.value ? (openBlock(), createElementBlock("span", {
|
|
9718
9799
|
key: 0,
|
|
9719
9800
|
class: normalizeClass(["sg-qc__chip", { "fr-qc__chip--off": currentRoute.value === "Exclude" }])
|
|
9720
9801
|
}, [createElementVNode("span", {
|
|
@@ -9722,8 +9803,8 @@ var SmartGroupFieldRecipe_default = /* @__PURE__ */ defineComponent({
|
|
|
9722
9803
|
style: normalizeStyle({ background: __props.qcColor })
|
|
9723
9804
|
}, null, 4), createTextVNode(toDisplayString(qcChip.value.name) + " ×" + toDisplayString(qcChip.value.count), 1)], 2)) : createCommentVNode("", true)])
|
|
9724
9805
|
])]),
|
|
9725
|
-
createElementVNode("div",
|
|
9726
|
-
createElementVNode("span",
|
|
9806
|
+
createElementVNode("div", _hoisted_37$2, [
|
|
9807
|
+
createElementVNode("span", _hoisted_38$2, "Applies to " + toDisplayString(sampleTotal.value) + " samples" + toDisplayString(footHint.value), 1),
|
|
9727
9808
|
_cache[29] || (_cache[29] = createElementVNode("div", { class: "sg-foot__spacer" }, null, -1)),
|
|
9728
9809
|
createVNode(BaseButton_default, {
|
|
9729
9810
|
variant: "ghost",
|
|
@@ -9808,15 +9889,15 @@ function assignSamples(samples, selected, assignment) {
|
|
|
9808
9889
|
}
|
|
9809
9890
|
//#endregion
|
|
9810
9891
|
//#region src/components/SmartGroupManual.vue?vue&type=script&setup=true&lang.ts
|
|
9811
|
-
var _hoisted_1$
|
|
9812
|
-
var _hoisted_2$
|
|
9813
|
-
var _hoisted_3$
|
|
9892
|
+
var _hoisted_1$35 = { class: "sg-modal mg2" };
|
|
9893
|
+
var _hoisted_2$31 = { class: "sg-head" };
|
|
9894
|
+
var _hoisted_3$28 = {
|
|
9814
9895
|
class: "sg-mode",
|
|
9815
9896
|
role: "tablist",
|
|
9816
9897
|
"aria-label": "Grouping mode"
|
|
9817
9898
|
};
|
|
9818
|
-
var _hoisted_4$
|
|
9819
|
-
var _hoisted_5$
|
|
9899
|
+
var _hoisted_4$27 = { class: "mg2-body" };
|
|
9900
|
+
var _hoisted_5$25 = { class: "mg2-find" };
|
|
9820
9901
|
var _hoisted_6$24 = { class: "mg2-search" };
|
|
9821
9902
|
var _hoisted_7$21 = { class: "mg2-chips" };
|
|
9822
9903
|
var _hoisted_8$18 = ["onClick"];
|
|
@@ -9846,25 +9927,25 @@ var _hoisted_22$6 = { class: "mg2-cohorts__head" };
|
|
|
9846
9927
|
var _hoisted_23$5 = { class: "mg2-cohorts__n" };
|
|
9847
9928
|
var _hoisted_24$5 = { class: "mg2-progress" };
|
|
9848
9929
|
var _hoisted_25$5 = { class: "mg2-progress__top" };
|
|
9849
|
-
var _hoisted_26$
|
|
9850
|
-
var _hoisted_27$
|
|
9851
|
-
var _hoisted_28$
|
|
9852
|
-
var _hoisted_29$
|
|
9930
|
+
var _hoisted_26$4 = { class: "mg2-progress__pct" };
|
|
9931
|
+
var _hoisted_27$3 = { class: "mg2-progress__track" };
|
|
9932
|
+
var _hoisted_28$2 = { class: "mg2-tree" };
|
|
9933
|
+
var _hoisted_29$1 = {
|
|
9853
9934
|
key: 0,
|
|
9854
9935
|
class: "mg2-tree__empty"
|
|
9855
9936
|
};
|
|
9856
|
-
var _hoisted_30$
|
|
9857
|
-
var _hoisted_31$
|
|
9858
|
-
var _hoisted_32$
|
|
9859
|
-
var _hoisted_33$
|
|
9860
|
-
var _hoisted_34$
|
|
9861
|
-
var _hoisted_35$
|
|
9862
|
-
var _hoisted_36$
|
|
9863
|
-
var _hoisted_37$
|
|
9864
|
-
var _hoisted_38$
|
|
9865
|
-
var _hoisted_39$
|
|
9866
|
-
var _hoisted_40$
|
|
9867
|
-
var _hoisted_41$
|
|
9937
|
+
var _hoisted_30$1 = { class: "mg2-grp__row" };
|
|
9938
|
+
var _hoisted_31$1 = { class: "mg2-grp__name" };
|
|
9939
|
+
var _hoisted_32$1 = { class: "mg2-grp__n" };
|
|
9940
|
+
var _hoisted_33$1 = { class: "mg2-sub" };
|
|
9941
|
+
var _hoisted_34$1 = { class: "mg2-sub__name" };
|
|
9942
|
+
var _hoisted_35$1 = { class: "mg2-sub__n" };
|
|
9943
|
+
var _hoisted_36$1 = { class: "mg2-sub2__name" };
|
|
9944
|
+
var _hoisted_37$1 = { class: "mg2-sub2__n" };
|
|
9945
|
+
var _hoisted_38$1 = { class: "mg2-unassigned__act" };
|
|
9946
|
+
var _hoisted_39$1 = { class: "mg2-bar__inner" };
|
|
9947
|
+
var _hoisted_40$1 = { class: "mg2-bar__count" };
|
|
9948
|
+
var _hoisted_41$1 = { class: "mg2-field mg2-field--grow" };
|
|
9868
9949
|
var _hoisted_42 = { class: "mg2-combo" };
|
|
9869
9950
|
var _hoisted_43 = ["value"];
|
|
9870
9951
|
var _hoisted_44 = { class: "mg2-combo__chev" };
|
|
@@ -10078,8 +10159,8 @@ var SmartGroupManual_default = /* @__PURE__ */ defineComponent({
|
|
|
10078
10159
|
emit("done", { samples: samples.value });
|
|
10079
10160
|
}
|
|
10080
10161
|
return (_ctx, _cache) => {
|
|
10081
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
10082
|
-
createElementVNode("div", _hoisted_2$
|
|
10162
|
+
return openBlock(), createElementBlock("div", _hoisted_1$35, [
|
|
10163
|
+
createElementVNode("div", _hoisted_2$31, [
|
|
10083
10164
|
createVNode(Icon, {
|
|
10084
10165
|
d: ICON.layers,
|
|
10085
10166
|
size: 18
|
|
@@ -10087,7 +10168,7 @@ var SmartGroupManual_default = /* @__PURE__ */ defineComponent({
|
|
|
10087
10168
|
_cache[10] || (_cache[10] = createElementVNode("span", { class: "sg-head__title" }, "Group samples", -1)),
|
|
10088
10169
|
_cache[11] || (_cache[11] = createElementVNode("span", { class: "sg-head__sub" }, "· when names can’t be parsed automatically", -1)),
|
|
10089
10170
|
_cache[12] || (_cache[12] = createElementVNode("div", { class: "sg-head__spacer" }, null, -1)),
|
|
10090
|
-
createElementVNode("div", _hoisted_3$
|
|
10171
|
+
createElementVNode("div", _hoisted_3$28, [createElementVNode("button", {
|
|
10091
10172
|
type: "button",
|
|
10092
10173
|
class: "sg-mode__btn",
|
|
10093
10174
|
role: "tab",
|
|
@@ -10108,7 +10189,7 @@ var SmartGroupManual_default = /* @__PURE__ */ defineComponent({
|
|
|
10108
10189
|
size: 16
|
|
10109
10190
|
}, null, 8, ["d"])])
|
|
10110
10191
|
]),
|
|
10111
|
-
createElementVNode("div", _hoisted_4$
|
|
10192
|
+
createElementVNode("div", _hoisted_4$27, [createElementVNode("div", _hoisted_5$25, [
|
|
10112
10193
|
createElementVNode("div", _hoisted_6$24, [
|
|
10113
10194
|
createVNode(Icon, {
|
|
10114
10195
|
d: ICON.search,
|
|
@@ -10165,27 +10246,27 @@ var SmartGroupManual_default = /* @__PURE__ */ defineComponent({
|
|
|
10165
10246
|
}), 128))])
|
|
10166
10247
|
]), createElementVNode("div", _hoisted_21$7, [
|
|
10167
10248
|
createElementVNode("div", _hoisted_22$6, [_cache[14] || (_cache[14] = createElementVNode("span", { class: "mg2-cohorts__t" }, "Cohorts", -1)), createElementVNode("span", _hoisted_23$5, toDisplayString(tree.value.size) + " groups", 1)]),
|
|
10168
|
-
createElementVNode("div", _hoisted_24$5, [createElementVNode("div", _hoisted_25$5, [createElementVNode("span", null, [createElementVNode("b", null, toDisplayString(assignedCount.value), 1), createTextVNode(" of " + toDisplayString(samples.value.length) + " grouped", 1)]), createElementVNode("span", _hoisted_26$
|
|
10249
|
+
createElementVNode("div", _hoisted_24$5, [createElementVNode("div", _hoisted_25$5, [createElementVNode("span", null, [createElementVNode("b", null, toDisplayString(assignedCount.value), 1), createTextVNode(" of " + toDisplayString(samples.value.length) + " grouped", 1)]), createElementVNode("span", _hoisted_26$4, toDisplayString(pct.value) + "%", 1)]), createElementVNode("div", _hoisted_27$3, [createElementVNode("div", {
|
|
10169
10250
|
class: "mg2-progress__fill",
|
|
10170
10251
|
style: normalizeStyle({ width: pct.value + "%" })
|
|
10171
10252
|
}, null, 4)])]),
|
|
10172
|
-
createElementVNode("div", _hoisted_28$
|
|
10253
|
+
createElementVNode("div", _hoisted_28$2, [tree.value.size === 0 ? (openBlock(), createElementBlock("div", _hoisted_29$1, " No cohorts yet. Select samples and assign them to start building. ")) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList([...tree.value.entries()], ([name, group]) => {
|
|
10173
10254
|
return openBlock(), createElementBlock("div", {
|
|
10174
10255
|
key: name,
|
|
10175
10256
|
class: "mg2-grp"
|
|
10176
|
-
}, [createElementVNode("div", _hoisted_30$
|
|
10257
|
+
}, [createElementVNode("div", _hoisted_30$1, [
|
|
10177
10258
|
createElementVNode("span", {
|
|
10178
10259
|
class: "sg-dot",
|
|
10179
10260
|
style: normalizeStyle({ background: group.color ?? void 0 })
|
|
10180
10261
|
}, null, 4),
|
|
10181
|
-
createElementVNode("span", _hoisted_31$
|
|
10182
|
-
createElementVNode("span", _hoisted_32$
|
|
10262
|
+
createElementVNode("span", _hoisted_31$1, toDisplayString(name), 1),
|
|
10263
|
+
createElementVNode("span", _hoisted_32$1, toDisplayString(group.total), 1)
|
|
10183
10264
|
]), (openBlock(true), createElementBlock(Fragment, null, renderList([...group.subs.entries()], ([subName, subNode]) => {
|
|
10184
|
-
return openBlock(), createElementBlock(Fragment, { key: subName }, [createElementVNode("div", _hoisted_33$
|
|
10265
|
+
return openBlock(), createElementBlock(Fragment, { key: subName }, [createElementVNode("div", _hoisted_33$1, [createElementVNode("span", _hoisted_34$1, toDisplayString(subName), 1), createElementVNode("span", _hoisted_35$1, toDisplayString(subNode.total), 1)]), (openBlock(true), createElementBlock(Fragment, null, renderList(subsWithout(subNode), ([s2, count]) => {
|
|
10185
10266
|
return openBlock(), createElementBlock("div", {
|
|
10186
10267
|
key: s2,
|
|
10187
10268
|
class: "mg2-sub2"
|
|
10188
|
-
}, [createElementVNode("span", _hoisted_36$
|
|
10269
|
+
}, [createElementVNode("span", _hoisted_36$1, toDisplayString(s2), 1), createElementVNode("span", _hoisted_37$1, toDisplayString(count), 1)]);
|
|
10189
10270
|
}), 128))], 64);
|
|
10190
10271
|
}), 128))]);
|
|
10191
10272
|
}), 128))]),
|
|
@@ -10203,16 +10284,16 @@ var SmartGroupManual_default = /* @__PURE__ */ defineComponent({
|
|
|
10203
10284
|
}, null, -1)),
|
|
10204
10285
|
createElementVNode("b", null, toDisplayString(unassignedCount.value), 1),
|
|
10205
10286
|
_cache[16] || (_cache[16] = createTextVNode(" still unassigned ", -1)),
|
|
10206
|
-
createElementVNode("span", _hoisted_38$
|
|
10287
|
+
createElementVNode("span", _hoisted_38$1, toDisplayString(filter.value === "unassigned" ? "showing" : "show"), 1)
|
|
10207
10288
|
], 2)) : createCommentVNode("", true)
|
|
10208
10289
|
])]),
|
|
10209
|
-
createElementVNode("div", { class: normalizeClass(["mg2-bar", { "mg2-bar--open": sel.value.size > 0 }]) }, [createElementVNode("div", _hoisted_39$
|
|
10210
|
-
createElementVNode("span", _hoisted_40$
|
|
10290
|
+
createElementVNode("div", { class: normalizeClass(["mg2-bar", { "mg2-bar--open": sel.value.size > 0 }]) }, [createElementVNode("div", _hoisted_39$1, [
|
|
10291
|
+
createElementVNode("span", _hoisted_40$1, [createElementVNode("b", null, toDisplayString(sel.value.size), 1), _cache[17] || (_cache[17] = createTextVNode("\xA0selected", -1))]),
|
|
10211
10292
|
createVNode(Icon, {
|
|
10212
10293
|
d: ICON.arrow,
|
|
10213
10294
|
size: 16
|
|
10214
10295
|
}, null, 8, ["d"]),
|
|
10215
|
-
createElementVNode("div", _hoisted_41$
|
|
10296
|
+
createElementVNode("div", _hoisted_41$1, [_cache[18] || (_cache[18] = createElementVNode("span", { class: "mg2-field__l" }, "Group", -1)), createElementVNode("div", _hoisted_42, [
|
|
10216
10297
|
createElementVNode("span", {
|
|
10217
10298
|
class: "sg-dot",
|
|
10218
10299
|
style: normalizeStyle({ background: color.value })
|
|
@@ -10319,18 +10400,20 @@ function roleLabel(role) {
|
|
|
10319
10400
|
/**
|
|
10320
10401
|
* Columns worth offering as grouping toggles: factors and replicates, plus any
|
|
10321
10402
|
* column already enabled in `groupBy` (so a manual group-by choice still shows).
|
|
10322
|
-
* Preserves the engine's column order.
|
|
10403
|
+
* Preserves the engine's column order. `groupBy` is the schema's ORDERED layer
|
|
10404
|
+
* list — entry N is hierarchy layer N of the composed group names.
|
|
10323
10405
|
*/
|
|
10324
|
-
function candidateColumns(columns,
|
|
10406
|
+
function candidateColumns(columns, groupBy) {
|
|
10407
|
+
const enabled = new Set(groupBy);
|
|
10325
10408
|
return columns.filter((c) => c.role === "factor" || c.role === "replicate" || enabled.has(c.index));
|
|
10326
10409
|
}
|
|
10327
|
-
/**
|
|
10328
|
-
|
|
10329
|
-
|
|
10330
|
-
|
|
10331
|
-
|
|
10332
|
-
function engineFieldsToCards(columns,
|
|
10333
|
-
const candidates = candidateColumns(columns,
|
|
10410
|
+
/**
|
|
10411
|
+
* Map engine columns to Field Recipe cards + their on/off state (same order).
|
|
10412
|
+
* `layers` aligns with the cards: the column's 1-based position in the
|
|
10413
|
+
* `groupBy` layer order, or `null` when the column is not grouped by.
|
|
10414
|
+
*/
|
|
10415
|
+
function engineFieldsToCards(columns, groupBy) {
|
|
10416
|
+
const candidates = candidateColumns(columns, groupBy);
|
|
10334
10417
|
return {
|
|
10335
10418
|
fields: candidates.map((c) => ({
|
|
10336
10419
|
key: c.displayName ?? c.name,
|
|
@@ -10338,7 +10421,11 @@ function engineFieldsToCards(columns, enabled) {
|
|
|
10338
10421
|
vals: c.uniqueValues.join(", "),
|
|
10339
10422
|
rep: c.role === "replicate"
|
|
10340
10423
|
})),
|
|
10341
|
-
enabled: candidates.map((c) =>
|
|
10424
|
+
enabled: candidates.map((c) => groupBy.includes(c.index)),
|
|
10425
|
+
layers: candidates.map((c) => {
|
|
10426
|
+
const pos = groupBy.indexOf(c.index);
|
|
10427
|
+
return pos === -1 ? null : pos + 1;
|
|
10428
|
+
})
|
|
10342
10429
|
};
|
|
10343
10430
|
}
|
|
10344
10431
|
/** Map engine sample groups to the live preview rail shape. */
|
|
@@ -10513,8 +10600,8 @@ var AutoGroupModal_default = /* @__PURE__ */ defineComponent({
|
|
|
10513
10600
|
excludeQc.value = value === "exclude";
|
|
10514
10601
|
autoGroup.setClassDispositions((c) => c.kind !== "biological" && c.kind !== "unknown", value === "exclude" ? "exclude" : value === "overlay" ? "overlay" : "group");
|
|
10515
10602
|
}
|
|
10516
|
-
const
|
|
10517
|
-
const
|
|
10603
|
+
const groupByOrder = computed(() => autoGroup.activeSchema.value?.groupBy ?? []);
|
|
10604
|
+
const fieldCards = computed(() => engineFieldsToCards(autoGroup.fields.value, groupByOrder.value));
|
|
10518
10605
|
const railGroups = computed(() => engineGroupsToRail(autoGroup.result.value.experimentalGroups ?? autoGroup.groups.value));
|
|
10519
10606
|
const qcSampleCount = computed(() => autoGroup.classes.value.filter((c) => c.kind !== "biological" && c.kind !== "unknown").reduce((acc, c) => acc + c.members.length, 0));
|
|
10520
10607
|
const qcChip = computed(() => qcRouting.value !== "mix" && qcSampleCount.value > 0 ? {
|
|
@@ -10524,9 +10611,14 @@ var AutoGroupModal_default = /* @__PURE__ */ defineComponent({
|
|
|
10524
10611
|
const fieldRecipeRoute = computed(() => engineToQcRoute(qcRouting.value));
|
|
10525
10612
|
const headerCount = computed(() => autoGroup.samples.value.length);
|
|
10526
10613
|
function onToggleField(cardIndex) {
|
|
10527
|
-
const
|
|
10528
|
-
if (
|
|
10529
|
-
autoGroup.
|
|
10614
|
+
const field = fieldCards.value.fields[cardIndex];
|
|
10615
|
+
if (!field) return;
|
|
10616
|
+
autoGroup.toggleGroupByField(field.key);
|
|
10617
|
+
}
|
|
10618
|
+
function onMoveField(cardIndex, direction) {
|
|
10619
|
+
const field = fieldCards.value.fields[cardIndex];
|
|
10620
|
+
if (!field) return;
|
|
10621
|
+
autoGroup.moveGroupByField(field.key, direction);
|
|
10530
10622
|
}
|
|
10531
10623
|
function onRouteChange(route) {
|
|
10532
10624
|
setQcRouting(qcRouteToEngine(route));
|
|
@@ -10634,6 +10726,7 @@ var AutoGroupModal_default = /* @__PURE__ */ defineComponent({
|
|
|
10634
10726
|
key: 1,
|
|
10635
10727
|
fields: fieldCards.value.fields,
|
|
10636
10728
|
enabled: fieldCards.value.enabled,
|
|
10729
|
+
layers: fieldCards.value.layers,
|
|
10637
10730
|
groups: railGroups.value,
|
|
10638
10731
|
"qc-chip": qcChip.value,
|
|
10639
10732
|
route: fieldRecipeRoute.value,
|
|
@@ -10643,6 +10736,7 @@ var AutoGroupModal_default = /* @__PURE__ */ defineComponent({
|
|
|
10643
10736
|
loading: experimentLoading.value,
|
|
10644
10737
|
"experiment-label": "",
|
|
10645
10738
|
onToggle: onToggleField,
|
|
10739
|
+
onMove: onMoveField,
|
|
10646
10740
|
"onUpdate:route": onRouteChange,
|
|
10647
10741
|
onCsvFile,
|
|
10648
10742
|
onDownloadTemplate,
|
|
@@ -10654,6 +10748,7 @@ var AutoGroupModal_default = /* @__PURE__ */ defineComponent({
|
|
|
10654
10748
|
}, null, 8, [
|
|
10655
10749
|
"fields",
|
|
10656
10750
|
"enabled",
|
|
10751
|
+
"layers",
|
|
10657
10752
|
"groups",
|
|
10658
10753
|
"qc-chip",
|
|
10659
10754
|
"route",
|
|
@@ -10682,9 +10777,9 @@ var AutoGroupModal_default = /* @__PURE__ */ defineComponent({
|
|
|
10682
10777
|
});
|
|
10683
10778
|
//#endregion
|
|
10684
10779
|
//#region src/components/SampleSelectorSampleRow.vue?vue&type=script&setup=true&lang.ts
|
|
10685
|
-
var _hoisted_1$
|
|
10686
|
-
var _hoisted_2$
|
|
10687
|
-
var _hoisted_3$
|
|
10780
|
+
var _hoisted_1$34 = ["title", "aria-label"];
|
|
10781
|
+
var _hoisted_2$30 = ["checked", "aria-label"];
|
|
10782
|
+
var _hoisted_3$27 = { class: "mint-sample-selector__sample-name" };
|
|
10688
10783
|
//#endregion
|
|
10689
10784
|
//#region src/components/SampleSelectorSampleRow.vue
|
|
10690
10785
|
var SampleSelectorSampleRow_default = /* @__PURE__ */ defineComponent({
|
|
@@ -10735,8 +10830,8 @@ var SampleSelectorSampleRow_default = /* @__PURE__ */ defineComponent({
|
|
|
10735
10830
|
style: normalizeStyle(__props.accentColor ? { accentColor: __props.accentColor } : void 0),
|
|
10736
10831
|
"aria-label": `Select sample ${__props.sample}`,
|
|
10737
10832
|
onChange: _cache[0] || (_cache[0] = ($event) => emit("toggle"))
|
|
10738
|
-
}, null, 46, _hoisted_2$
|
|
10739
|
-
createElementVNode("span", _hoisted_3$
|
|
10833
|
+
}, null, 46, _hoisted_2$30),
|
|
10834
|
+
createElementVNode("span", _hoisted_3$27, toDisplayString(__props.sample), 1),
|
|
10740
10835
|
__props.removable ? (openBlock(), createElementBlock("button", {
|
|
10741
10836
|
key: 0,
|
|
10742
10837
|
type: "button",
|
|
@@ -10755,7 +10850,211 @@ var SampleSelectorSampleRow_default = /* @__PURE__ */ defineComponent({
|
|
|
10755
10850
|
"stroke-width": "2",
|
|
10756
10851
|
d: "M20 12H4"
|
|
10757
10852
|
})], -1)])])) : createCommentVNode("", true)
|
|
10758
|
-
], 10, _hoisted_1$
|
|
10853
|
+
], 10, _hoisted_1$34);
|
|
10854
|
+
};
|
|
10855
|
+
}
|
|
10856
|
+
});
|
|
10857
|
+
//#endregion
|
|
10858
|
+
//#region src/components/SampleSelector.tree.ts
|
|
10859
|
+
/** Every concrete group name beneath a node, in tree order. */
|
|
10860
|
+
function collectLeafGroupNames(node) {
|
|
10861
|
+
if (node.group) return [node.group.name];
|
|
10862
|
+
return node.children.flatMap(collectLeafGroupNames);
|
|
10863
|
+
}
|
|
10864
|
+
/** Expansion keys for a whole tree, used by "expand all". */
|
|
10865
|
+
function collectNodeKeys(nodes) {
|
|
10866
|
+
return nodes.flatMap((node) => [node.key, ...collectNodeKeys(node.children)]);
|
|
10867
|
+
}
|
|
10868
|
+
//#endregion
|
|
10869
|
+
//#region src/components/SampleSelectorGroupNode.vue?vue&type=script&setup=true&lang.ts
|
|
10870
|
+
var _hoisted_1$33 = ["draggable"];
|
|
10871
|
+
var _hoisted_2$29 = [
|
|
10872
|
+
"checked",
|
|
10873
|
+
"indeterminate",
|
|
10874
|
+
"aria-label"
|
|
10875
|
+
];
|
|
10876
|
+
var _hoisted_3$26 = ["title", "aria-label"];
|
|
10877
|
+
var _hoisted_4$26 = ["title"];
|
|
10878
|
+
var _hoisted_5$24 = ["title", "aria-label"];
|
|
10879
|
+
//#endregion
|
|
10880
|
+
//#region src/components/SampleSelectorGroupNode.vue
|
|
10881
|
+
var SampleSelectorGroupNode_default = /* @__PURE__ */ defineComponent({
|
|
10882
|
+
__name: "SampleSelectorGroupNode",
|
|
10883
|
+
props: {
|
|
10884
|
+
node: {},
|
|
10885
|
+
depth: {},
|
|
10886
|
+
ctx: {}
|
|
10887
|
+
},
|
|
10888
|
+
setup(__props) {
|
|
10889
|
+
/**
|
|
10890
|
+
* One row of the sample-selector group hierarchy, rendered recursively so a
|
|
10891
|
+
* grouping of any depth (Tissue → Dose → Timepoint → samples) nests properly.
|
|
10892
|
+
*
|
|
10893
|
+
* Roots carry the family affordances (large dot, colour-family picker) and
|
|
10894
|
+
* leaves carry the group affordances (sample drop target, sample rows); the
|
|
10895
|
+
* levels in between are pure path nodes that aggregate their descendants.
|
|
10896
|
+
*/
|
|
10897
|
+
const props = __props;
|
|
10898
|
+
const isRoot = computed(() => props.depth === 0);
|
|
10899
|
+
const isLeaf = computed(() => props.node.children.length === 0);
|
|
10900
|
+
const expanded = computed(() => props.ctx.isExpanded(props.node.key));
|
|
10901
|
+
const leafGroupNames = computed(() => collectLeafGroupNames(props.node));
|
|
10902
|
+
/** Roots reorder as a family, leaves as individual groups; path nodes stay put. */
|
|
10903
|
+
const dragKind = computed(() => isRoot.value ? "major" : isLeaf.value ? "sub" : null);
|
|
10904
|
+
/** Reorder drags address a family by its label but a group by its full name. */
|
|
10905
|
+
const dragName = computed(() => isRoot.value ? props.node.label : props.node.group?.name ?? props.node.label);
|
|
10906
|
+
const isDragging = computed(() => dragKind.value !== null && props.ctx.draggingGroup() === dragName.value && props.ctx.draggingGroupKind() === dragKind.value);
|
|
10907
|
+
const reorderEdge = computed(() => {
|
|
10908
|
+
if (dragKind.value === null) return null;
|
|
10909
|
+
if (props.ctx.reorderTarget() !== dragName.value) return null;
|
|
10910
|
+
if (props.ctx.draggingGroupKind() !== dragKind.value) return null;
|
|
10911
|
+
return props.ctx.reorderPosition();
|
|
10912
|
+
});
|
|
10913
|
+
function onHeaderDragStart(event) {
|
|
10914
|
+
if (dragKind.value === null) return;
|
|
10915
|
+
props.ctx.onGroupDragStart(dragName.value, dragKind.value, event);
|
|
10916
|
+
}
|
|
10917
|
+
function onHeaderDragOver(event) {
|
|
10918
|
+
if (dragKind.value === null) return;
|
|
10919
|
+
props.ctx.onGroupDragOver(dragName.value, dragKind.value, event);
|
|
10920
|
+
}
|
|
10921
|
+
function onHeaderDrop(event) {
|
|
10922
|
+
if (dragKind.value === null) return;
|
|
10923
|
+
props.ctx.onGroupDrop(dragName.value, dragKind.value, event);
|
|
10924
|
+
}
|
|
10925
|
+
return (_ctx, _cache) => {
|
|
10926
|
+
const _component_SampleSelectorGroupNode = resolveComponent("SampleSelectorGroupNode", true);
|
|
10927
|
+
return openBlock(), createElementBlock("div", mergeProps({ class: [isRoot.value ? "mint-sample-selector__major-group" : "mint-sample-selector__sub-group", isLeaf.value && __props.ctx.dragOverGroup() === __props.node.group?.name ? "mint-sample-selector__sub-group--drag-over" : ""] }, toHandlers(isLeaf.value && __props.node.group ? {
|
|
10928
|
+
dragover: (e) => __props.ctx.onSampleDragOver(__props.node.group.name, e),
|
|
10929
|
+
dragleave: __props.ctx.onSampleDragLeave,
|
|
10930
|
+
drop: (e) => __props.ctx.onSampleDrop(__props.node.group.name, e)
|
|
10931
|
+
} : {}, true)), [createElementVNode("div", {
|
|
10932
|
+
class: normalizeClass([
|
|
10933
|
+
isRoot.value ? "mint-sample-selector__major-header" : "mint-sample-selector__sub-header",
|
|
10934
|
+
isDragging.value ? "mint-sample-selector__header--dragging" : "",
|
|
10935
|
+
reorderEdge.value === "before" ? "mint-sample-selector__header--drag-over-before" : "",
|
|
10936
|
+
reorderEdge.value === "after" ? "mint-sample-selector__header--drag-over-after" : ""
|
|
10937
|
+
]),
|
|
10938
|
+
draggable: dragKind.value !== null,
|
|
10939
|
+
onClick: _cache[4] || (_cache[4] = ($event) => __props.ctx.toggleExpanded(__props.node.key)),
|
|
10940
|
+
onDragstart: onHeaderDragStart,
|
|
10941
|
+
onDragend: _cache[5] || (_cache[5] = (...args) => __props.ctx.onGroupDragEnd && __props.ctx.onGroupDragEnd(...args)),
|
|
10942
|
+
onDragover: onHeaderDragOver,
|
|
10943
|
+
onDragleave: _cache[6] || (_cache[6] = ($event) => __props.ctx.onGroupDragLeave($event)),
|
|
10944
|
+
onDrop: onHeaderDrop
|
|
10945
|
+
}, [
|
|
10946
|
+
(openBlock(), createElementBlock("svg", {
|
|
10947
|
+
class: normalizeClass([
|
|
10948
|
+
"mint-sample-selector__chevron",
|
|
10949
|
+
isRoot.value ? "" : "mint-sample-selector__chevron--small",
|
|
10950
|
+
expanded.value ? "mint-sample-selector__chevron--open" : ""
|
|
10951
|
+
]),
|
|
10952
|
+
fill: "none",
|
|
10953
|
+
stroke: "currentColor",
|
|
10954
|
+
viewBox: "0 0 24 24"
|
|
10955
|
+
}, [..._cache[7] || (_cache[7] = [createElementVNode("path", {
|
|
10956
|
+
"stroke-linecap": "round",
|
|
10957
|
+
"stroke-linejoin": "round",
|
|
10958
|
+
"stroke-width": "2",
|
|
10959
|
+
d: "M9 5l7 7-7 7"
|
|
10960
|
+
}, null, -1)])], 2)),
|
|
10961
|
+
createElementVNode("input", {
|
|
10962
|
+
type: "checkbox",
|
|
10963
|
+
checked: __props.ctx.isFullySelected(__props.node.allSamples),
|
|
10964
|
+
indeterminate: __props.ctx.isPartiallySelected(__props.node.allSamples),
|
|
10965
|
+
class: normalizeClass(["mint-sample-selector__checkbox", isRoot.value ? "" : "mint-sample-selector__checkbox--small"]),
|
|
10966
|
+
style: normalizeStyle({ accentColor: __props.node.color }),
|
|
10967
|
+
"aria-label": `Select ${__props.node.label}`,
|
|
10968
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"])),
|
|
10969
|
+
onChange: _cache[1] || (_cache[1] = ($event) => __props.ctx.toggleSamples(__props.node.allSamples))
|
|
10970
|
+
}, null, 46, _hoisted_2$29),
|
|
10971
|
+
isRoot.value ? (openBlock(), createElementBlock("button", {
|
|
10972
|
+
key: 0,
|
|
10973
|
+
type: "button",
|
|
10974
|
+
class: "mint-sample-selector__color-dot mint-sample-selector__color-dot--large mint-sample-selector__color-dot--clickable",
|
|
10975
|
+
style: normalizeStyle({ backgroundColor: __props.node.color }),
|
|
10976
|
+
title: `Change ${__props.node.label} color family`,
|
|
10977
|
+
"aria-label": `Change ${__props.node.label} color family`,
|
|
10978
|
+
onClick: _cache[2] || (_cache[2] = withModifiers(($event) => __props.ctx.openColorPicker(leafGroupNames.value, $event), ["stop"]))
|
|
10979
|
+
}, null, 12, _hoisted_3$26)) : (openBlock(), createElementBlock("div", {
|
|
10980
|
+
key: 1,
|
|
10981
|
+
class: "mint-sample-selector__color-dot",
|
|
10982
|
+
style: normalizeStyle({ backgroundColor: __props.node.color }),
|
|
10983
|
+
"aria-hidden": "true"
|
|
10984
|
+
}, null, 4)),
|
|
10985
|
+
createElementVNode("span", {
|
|
10986
|
+
class: normalizeClass(isRoot.value ? "mint-sample-selector__major-name" : "mint-sample-selector__sub-name"),
|
|
10987
|
+
title: __props.node.group?.name ?? __props.node.label
|
|
10988
|
+
}, toDisplayString(__props.node.label), 11, _hoisted_4$26),
|
|
10989
|
+
createElementVNode("span", {
|
|
10990
|
+
class: normalizeClass(["mint-sample-selector__count-badge", isRoot.value ? "" : "mint-sample-selector__count-badge--small"]),
|
|
10991
|
+
style: normalizeStyle({
|
|
10992
|
+
backgroundColor: __props.node.displayBg,
|
|
10993
|
+
color: __props.node.color
|
|
10994
|
+
})
|
|
10995
|
+
}, toDisplayString(__props.node.allSamples.length), 7),
|
|
10996
|
+
createElementVNode("button", {
|
|
10997
|
+
type: "button",
|
|
10998
|
+
class: "mint-sample-selector__delete-btn mint-sample-selector__delete-btn--hidden",
|
|
10999
|
+
title: `Remove ${__props.node.label}`,
|
|
11000
|
+
"aria-label": `Remove ${__props.node.label}`,
|
|
11001
|
+
onClick: _cache[3] || (_cache[3] = withModifiers(($event) => __props.ctx.removeGroups(leafGroupNames.value), ["stop"]))
|
|
11002
|
+
}, [..._cache[8] || (_cache[8] = [createElementVNode("svg", {
|
|
11003
|
+
fill: "none",
|
|
11004
|
+
stroke: "currentColor",
|
|
11005
|
+
viewBox: "0 0 24 24"
|
|
11006
|
+
}, [createElementVNode("path", {
|
|
11007
|
+
"stroke-linecap": "round",
|
|
11008
|
+
"stroke-linejoin": "round",
|
|
11009
|
+
"stroke-width": "2",
|
|
11010
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
11011
|
+
})], -1)])], 8, _hoisted_5$24)
|
|
11012
|
+
], 42, _hoisted_1$33), createVNode(Transition, { name: "mint-collapse" }, {
|
|
11013
|
+
default: withCtx(() => [expanded.value && !isLeaf.value ? (openBlock(), createElementBlock("div", {
|
|
11014
|
+
key: 0,
|
|
11015
|
+
class: "mint-sample-selector__sub-groups",
|
|
11016
|
+
style: normalizeStyle({ borderColor: __props.node.displayBorder })
|
|
11017
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.node.children, (child) => {
|
|
11018
|
+
return openBlock(), createBlock(_component_SampleSelectorGroupNode, {
|
|
11019
|
+
key: child.key,
|
|
11020
|
+
node: child,
|
|
11021
|
+
depth: __props.depth + 1,
|
|
11022
|
+
ctx: __props.ctx
|
|
11023
|
+
}, null, 8, [
|
|
11024
|
+
"node",
|
|
11025
|
+
"depth",
|
|
11026
|
+
"ctx"
|
|
11027
|
+
]);
|
|
11028
|
+
}), 128))], 4)) : expanded.value && __props.node.group ? (openBlock(), createElementBlock("div", {
|
|
11029
|
+
key: 1,
|
|
11030
|
+
class: "mint-sample-selector__samples",
|
|
11031
|
+
style: normalizeStyle({ borderColor: __props.node.displayBorder })
|
|
11032
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.node.group.samples, (sample) => {
|
|
11033
|
+
return openBlock(), createBlock(SampleSelectorSampleRow_default, {
|
|
11034
|
+
key: sample,
|
|
11035
|
+
sample,
|
|
11036
|
+
selected: __props.ctx.isSampleSelected(sample),
|
|
11037
|
+
dragging: __props.ctx.draggingSample() === sample,
|
|
11038
|
+
"accent-color": __props.node.color,
|
|
11039
|
+
"checkbox-size": "tiny",
|
|
11040
|
+
removable: "",
|
|
11041
|
+
onDragstart: (e) => __props.ctx.onSampleDragStart(sample, __props.node.group.name, e),
|
|
11042
|
+
onDragend: __props.ctx.onSampleDragEnd,
|
|
11043
|
+
onToggle: ($event) => __props.ctx.toggleSample(sample),
|
|
11044
|
+
onRemove: ($event) => __props.ctx.removeSampleFromGroup(sample, __props.node.group.name)
|
|
11045
|
+
}, null, 8, [
|
|
11046
|
+
"sample",
|
|
11047
|
+
"selected",
|
|
11048
|
+
"dragging",
|
|
11049
|
+
"accent-color",
|
|
11050
|
+
"onDragstart",
|
|
11051
|
+
"onDragend",
|
|
11052
|
+
"onToggle",
|
|
11053
|
+
"onRemove"
|
|
11054
|
+
]);
|
|
11055
|
+
}), 128))], 4)) : createCommentVNode("", true)]),
|
|
11056
|
+
_: 1
|
|
11057
|
+
})], 16);
|
|
10759
11058
|
};
|
|
10760
11059
|
}
|
|
10761
11060
|
});
|
|
@@ -10764,10 +11063,6 @@ var SampleSelectorSampleRow_default = /* @__PURE__ */ defineComponent({
|
|
|
10764
11063
|
function detectSampleGroupSeparator(groups) {
|
|
10765
11064
|
return groups.some((group) => group.name.includes("/")) ? "/" : "_";
|
|
10766
11065
|
}
|
|
10767
|
-
function getSampleGroupMajorPrefix(groupName, separator) {
|
|
10768
|
-
const parts = groupName.split(separator);
|
|
10769
|
-
return parts.length > 1 ? parts[0] : groupName;
|
|
10770
|
-
}
|
|
10771
11066
|
function moveSampleToGroup(groups, sample, sourceGroup, targetGroup) {
|
|
10772
11067
|
if (sourceGroup === targetGroup) return groups;
|
|
10773
11068
|
return groups.map((group) => {
|
|
@@ -10782,12 +11077,14 @@ function moveSampleToGroup(groups, sample, sourceGroup, targetGroup) {
|
|
|
10782
11077
|
return group;
|
|
10783
11078
|
});
|
|
10784
11079
|
}
|
|
10785
|
-
|
|
10786
|
-
|
|
10787
|
-
|
|
10788
|
-
|
|
10789
|
-
|
|
10790
|
-
|
|
11080
|
+
/**
|
|
11081
|
+
* Drop every named group. Callers pass the concrete group names beneath the
|
|
11082
|
+
* node being removed, so one helper covers a single group, a whole family, or
|
|
11083
|
+
* any intermediate hierarchy level.
|
|
11084
|
+
*/
|
|
11085
|
+
function removeSampleGroups(groups, groupNames) {
|
|
11086
|
+
const removing = new Set(groupNames);
|
|
11087
|
+
return groups.filter((group) => !removing.has(group.name));
|
|
10791
11088
|
}
|
|
10792
11089
|
function removeSampleFromGroup(groups, sample, groupName) {
|
|
10793
11090
|
return groups.map((group) => group.name === groupName ? {
|
|
@@ -10893,7 +11190,7 @@ function useSampleSelectorDrag(groups) {
|
|
|
10893
11190
|
if (draggingGroup.value === name) return;
|
|
10894
11191
|
if (kind === "sub") {
|
|
10895
11192
|
const separator = detectSampleGroupSeparator(groups.value);
|
|
10896
|
-
if (
|
|
11193
|
+
if (getSampleGroupParentPath(draggingGroup.value, separator) !== getSampleGroupParentPath(name, separator)) return;
|
|
10897
11194
|
}
|
|
10898
11195
|
event.preventDefault();
|
|
10899
11196
|
if (event.dataTransfer) event.dataTransfer.dropEffect = "move";
|
|
@@ -10949,6 +11246,11 @@ function useSampleSelectorDrag(groups) {
|
|
|
10949
11246
|
}
|
|
10950
11247
|
//#endregion
|
|
10951
11248
|
//#region src/components/SampleSelector.selection.ts
|
|
11249
|
+
/**
|
|
11250
|
+
* Selection state for the sample selector. Works on plain sample arrays rather
|
|
11251
|
+
* than group names, so any level of the group hierarchy can drive it by handing
|
|
11252
|
+
* over the samples beneath that node.
|
|
11253
|
+
*/
|
|
10952
11254
|
function useSampleSelectorSelection(options) {
|
|
10953
11255
|
const sampleSelection = useListSelection({
|
|
10954
11256
|
selected: options.selected,
|
|
@@ -10966,46 +11268,19 @@ function useSampleSelectorSelection(options) {
|
|
|
10966
11268
|
function toggleSamplesSelection(samples) {
|
|
10967
11269
|
emitSelection(sampleSelection.toggleValues(samples));
|
|
10968
11270
|
}
|
|
10969
|
-
function toggleGroupSamples(groupName) {
|
|
10970
|
-
const group = options.findGroup(groupName);
|
|
10971
|
-
if (!group) return;
|
|
10972
|
-
toggleSamplesSelection(group.samples);
|
|
10973
|
-
}
|
|
10974
|
-
function toggleMajorGroupSamples(majorGroup) {
|
|
10975
|
-
toggleSamplesSelection(majorGroup.allSamples);
|
|
10976
|
-
}
|
|
10977
11271
|
function isFullySelected(samples) {
|
|
10978
11272
|
return sampleSelection.isFullySelected(samples);
|
|
10979
11273
|
}
|
|
10980
11274
|
function isPartiallySelected(samples) {
|
|
10981
11275
|
return sampleSelection.isPartiallySelected(samples);
|
|
10982
11276
|
}
|
|
10983
|
-
function isGroupFullySelected(groupName) {
|
|
10984
|
-
const group = options.findGroup(groupName);
|
|
10985
|
-
return group ? isFullySelected(group.samples) : false;
|
|
10986
|
-
}
|
|
10987
|
-
function isGroupPartiallySelected(groupName) {
|
|
10988
|
-
const group = options.findGroup(groupName);
|
|
10989
|
-
return group ? isPartiallySelected(group.samples) : false;
|
|
10990
|
-
}
|
|
10991
|
-
function isMajorGroupFullySelected(majorGroup) {
|
|
10992
|
-
return isFullySelected(majorGroup.allSamples);
|
|
10993
|
-
}
|
|
10994
|
-
function isMajorGroupPartiallySelected(majorGroup) {
|
|
10995
|
-
return isPartiallySelected(majorGroup.allSamples);
|
|
10996
|
-
}
|
|
10997
11277
|
return {
|
|
10998
11278
|
isAllSelected: sampleSelection.isAllSelected,
|
|
10999
11279
|
toggleSelectAll,
|
|
11000
11280
|
toggleSample,
|
|
11001
|
-
|
|
11002
|
-
toggleMajorGroupSamples,
|
|
11281
|
+
toggleSamplesSelection,
|
|
11003
11282
|
isFullySelected,
|
|
11004
|
-
isPartiallySelected
|
|
11005
|
-
isGroupFullySelected,
|
|
11006
|
-
isGroupPartiallySelected,
|
|
11007
|
-
isMajorGroupFullySelected,
|
|
11008
|
-
isMajorGroupPartiallySelected
|
|
11283
|
+
isPartiallySelected
|
|
11009
11284
|
};
|
|
11010
11285
|
}
|
|
11011
11286
|
//#endregion
|
|
@@ -11040,78 +11315,35 @@ var _hoisted_9$15 = {
|
|
|
11040
11315
|
var _hoisted_10$15 = { class: "mint-sample-selector__groups-header" };
|
|
11041
11316
|
var _hoisted_11$13 = { class: "mint-sample-selector__groups-title" };
|
|
11042
11317
|
var _hoisted_12$12 = { class: "mint-sample-selector__tree" };
|
|
11043
|
-
var _hoisted_13$12 =
|
|
11044
|
-
|
|
11045
|
-
"onDragstart",
|
|
11046
|
-
"onDragover",
|
|
11047
|
-
"onDrop"
|
|
11048
|
-
];
|
|
11049
|
-
var _hoisted_14$10 = [
|
|
11050
|
-
"checked",
|
|
11051
|
-
"indeterminate",
|
|
11052
|
-
"onChange"
|
|
11053
|
-
];
|
|
11054
|
-
var _hoisted_15$9 = ["onClick"];
|
|
11055
|
-
var _hoisted_16$8 = { class: "mint-sample-selector__major-name" };
|
|
11056
|
-
var _hoisted_17$8 = ["onClick"];
|
|
11057
|
-
var _hoisted_18$8 = ["onDragover", "onDrop"];
|
|
11058
|
-
var _hoisted_19$8 = [
|
|
11059
|
-
"onClick",
|
|
11060
|
-
"onDragstart",
|
|
11061
|
-
"onDragover",
|
|
11062
|
-
"onDrop"
|
|
11063
|
-
];
|
|
11064
|
-
var _hoisted_20$7 = [
|
|
11065
|
-
"checked",
|
|
11066
|
-
"indeterminate",
|
|
11067
|
-
"onChange"
|
|
11068
|
-
];
|
|
11069
|
-
var _hoisted_21$6 = { class: "mint-sample-selector__sub-name" };
|
|
11070
|
-
var _hoisted_22$5 = ["onClick"];
|
|
11071
|
-
var _hoisted_23$4 = ["onDragover", "onDrop"];
|
|
11072
|
-
var _hoisted_24$4 = [
|
|
11073
|
-
"onClick",
|
|
11074
|
-
"onDragstart",
|
|
11075
|
-
"onDragover",
|
|
11076
|
-
"onDrop"
|
|
11077
|
-
];
|
|
11078
|
-
var _hoisted_25$4 = [
|
|
11079
|
-
"checked",
|
|
11080
|
-
"indeterminate",
|
|
11081
|
-
"onChange"
|
|
11082
|
-
];
|
|
11083
|
-
var _hoisted_26$4 = ["onClick"];
|
|
11084
|
-
var _hoisted_27$3 = { class: "mint-sample-selector__major-name" };
|
|
11085
|
-
var _hoisted_28$2 = ["onClick"];
|
|
11086
|
-
var _hoisted_29$1 = {
|
|
11087
|
-
key: 2,
|
|
11318
|
+
var _hoisted_13$12 = {
|
|
11319
|
+
key: 0,
|
|
11088
11320
|
class: "mint-sample-selector__empty"
|
|
11089
11321
|
};
|
|
11090
|
-
var
|
|
11322
|
+
var _hoisted_14$10 = {
|
|
11091
11323
|
key: 0,
|
|
11092
11324
|
class: "mint-sample-selector__ungrouped"
|
|
11093
11325
|
};
|
|
11094
|
-
var
|
|
11095
|
-
var
|
|
11326
|
+
var _hoisted_15$9 = { class: "mint-sample-selector__ungrouped-count" };
|
|
11327
|
+
var _hoisted_16$8 = {
|
|
11096
11328
|
key: 0,
|
|
11097
11329
|
class: "mint-sample-selector__ungrouped-list"
|
|
11098
11330
|
};
|
|
11099
|
-
var
|
|
11100
|
-
var
|
|
11101
|
-
var
|
|
11331
|
+
var _hoisted_17$8 = { class: "mint-sample-selector__new-group" };
|
|
11332
|
+
var _hoisted_18$8 = ["value"];
|
|
11333
|
+
var _hoisted_19$8 = {
|
|
11102
11334
|
key: 2,
|
|
11103
11335
|
class: "mint-sample-selector__flat"
|
|
11104
11336
|
};
|
|
11105
|
-
var
|
|
11106
|
-
var
|
|
11107
|
-
var
|
|
11108
|
-
var
|
|
11337
|
+
var _hoisted_20$7 = { class: "mint-sample-selector__search" };
|
|
11338
|
+
var _hoisted_21$6 = { class: "mint-sample-selector__flat-list" };
|
|
11339
|
+
var _hoisted_22$5 = ["title", "aria-label"];
|
|
11340
|
+
var _hoisted_23$4 = [
|
|
11109
11341
|
"checked",
|
|
11110
11342
|
"aria-label",
|
|
11111
11343
|
"onChange"
|
|
11112
11344
|
];
|
|
11113
|
-
var
|
|
11114
|
-
var
|
|
11345
|
+
var _hoisted_24$4 = { class: "mint-sample-selector__flat-name" };
|
|
11346
|
+
var _hoisted_25$4 = {
|
|
11115
11347
|
key: 0,
|
|
11116
11348
|
class: "mint-sample-selector__empty"
|
|
11117
11349
|
};
|
|
@@ -11172,8 +11404,7 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11172
11404
|
samples: () => resolvedSamples.value,
|
|
11173
11405
|
groups: internalGroups
|
|
11174
11406
|
});
|
|
11175
|
-
const
|
|
11176
|
-
const showHierarchy = sampleGroups.showHierarchy;
|
|
11407
|
+
const groupTree = sampleGroups.groupTree;
|
|
11177
11408
|
const groupingEnabled = computed(() => internalGroups.value.length > 0);
|
|
11178
11409
|
const ungroupedSamples = sampleGroups.ungroupedSamples;
|
|
11179
11410
|
const groupingActionMode = computed(() => props.enableSmartGroup ? "auto" : "manual");
|
|
@@ -11182,10 +11413,9 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11182
11413
|
query: searchQuery,
|
|
11183
11414
|
getText: (sample) => sample
|
|
11184
11415
|
}).filteredItems;
|
|
11185
|
-
const { isAllSelected, toggleSelectAll, toggleSample,
|
|
11416
|
+
const { isAllSelected, toggleSelectAll, toggleSample, toggleSamplesSelection, isFullySelected, isPartiallySelected } = useSampleSelectorSelection({
|
|
11186
11417
|
selected: () => props.modelValue,
|
|
11187
11418
|
samples: () => resolvedSamples.value,
|
|
11188
|
-
findGroup: sampleGroups.findGroup,
|
|
11189
11419
|
emitSelected: (samples) => emit("update:modelValue", samples)
|
|
11190
11420
|
});
|
|
11191
11421
|
function toggleGroupExpanded(groupName) {
|
|
@@ -11195,13 +11425,7 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11195
11425
|
return groupExpansion.isExpanded(groupName);
|
|
11196
11426
|
}
|
|
11197
11427
|
function expandAllGroups() {
|
|
11198
|
-
|
|
11199
|
-
for (const major of hierarchicalGroups.value) {
|
|
11200
|
-
expanded.push(`major:${major.name}`);
|
|
11201
|
-
for (const sub of major.subGroups) expanded.push(sub.name);
|
|
11202
|
-
}
|
|
11203
|
-
expanded.push("__ungrouped__");
|
|
11204
|
-
groupExpansion.setExpanded(expanded);
|
|
11428
|
+
groupExpansion.setExpanded([...collectNodeKeys(groupTree.value), "__ungrouped__"]);
|
|
11205
11429
|
}
|
|
11206
11430
|
function collapseAllGroups() {
|
|
11207
11431
|
groupExpansion.collapseAll();
|
|
@@ -11217,28 +11441,20 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11217
11441
|
function clearGroups() {
|
|
11218
11442
|
internalGroups.value = [];
|
|
11219
11443
|
}
|
|
11220
|
-
function
|
|
11221
|
-
internalGroups.value =
|
|
11222
|
-
}
|
|
11223
|
-
function deleteGroup(groupName) {
|
|
11224
|
-
internalGroups.value = removeSampleGroup(internalGroups.value, groupName);
|
|
11444
|
+
function deleteGroups(groupNames) {
|
|
11445
|
+
internalGroups.value = removeSampleGroups(internalGroups.value, groupNames);
|
|
11225
11446
|
}
|
|
11226
11447
|
function removeSampleFromGroup$1(sample, groupName) {
|
|
11227
11448
|
internalGroups.value = removeSampleFromGroup(internalGroups.value, sample, groupName);
|
|
11228
11449
|
}
|
|
11229
|
-
function openColorPicker(
|
|
11450
|
+
function openColorPicker(groupNames, event) {
|
|
11230
11451
|
event.stopPropagation();
|
|
11231
|
-
editingColor.value = {
|
|
11452
|
+
editingColor.value = groupNames.length === 1 ? {
|
|
11232
11453
|
kind: "single",
|
|
11233
|
-
name:
|
|
11234
|
-
}
|
|
11235
|
-
colorPickerInput.value?.click();
|
|
11236
|
-
}
|
|
11237
|
-
function openMajorGroupColorPicker(majorGroup, event) {
|
|
11238
|
-
event.stopPropagation();
|
|
11239
|
-
editingColor.value = {
|
|
11454
|
+
name: groupNames[0]
|
|
11455
|
+
} : {
|
|
11240
11456
|
kind: "family",
|
|
11241
|
-
names:
|
|
11457
|
+
names: groupNames
|
|
11242
11458
|
};
|
|
11243
11459
|
colorPickerInput.value?.click();
|
|
11244
11460
|
}
|
|
@@ -11255,6 +11471,34 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11255
11471
|
const colorPickerSeed = computed(() => {
|
|
11256
11472
|
return getSampleGroupColorEditSeed(editingColor.value, getGroupColor);
|
|
11257
11473
|
});
|
|
11474
|
+
const treeContext = computed(() => ({
|
|
11475
|
+
isExpanded: isGroupExpanded,
|
|
11476
|
+
toggleExpanded: toggleGroupExpanded,
|
|
11477
|
+
isSampleSelected: (sample) => props.modelValue.includes(sample),
|
|
11478
|
+
isFullySelected,
|
|
11479
|
+
isPartiallySelected,
|
|
11480
|
+
toggleSamples: toggleSamplesSelection,
|
|
11481
|
+
toggleSample,
|
|
11482
|
+
removeGroups: deleteGroups,
|
|
11483
|
+
removeSampleFromGroup: removeSampleFromGroup$1,
|
|
11484
|
+
openColorPicker,
|
|
11485
|
+
draggingSample: () => draggingSample.value,
|
|
11486
|
+
dragOverGroup: () => dragOverGroup.value,
|
|
11487
|
+
draggingGroup: () => draggingGroup.value,
|
|
11488
|
+
draggingGroupKind: () => draggingGroupKind.value,
|
|
11489
|
+
reorderTarget: () => reorderTarget.value,
|
|
11490
|
+
reorderPosition: () => reorderPosition.value,
|
|
11491
|
+
onSampleDragStart: handleDragStart,
|
|
11492
|
+
onSampleDragEnd: handleDragEnd,
|
|
11493
|
+
onSampleDragOver: handleDragOver,
|
|
11494
|
+
onSampleDragLeave: handleDragLeave,
|
|
11495
|
+
onSampleDrop: handleDrop,
|
|
11496
|
+
onGroupDragStart: handleGroupDragStart,
|
|
11497
|
+
onGroupDragEnd: handleGroupDragEnd,
|
|
11498
|
+
onGroupDragOver: handleGroupDragOver,
|
|
11499
|
+
onGroupDragLeave: handleGroupDragLeave,
|
|
11500
|
+
onGroupDrop: handleGroupDrop
|
|
11501
|
+
}));
|
|
11258
11502
|
function addNewGroup() {
|
|
11259
11503
|
const newGroup = createSampleGroup(newGroupName.value, internalGroups.value);
|
|
11260
11504
|
if (!newGroup) return;
|
|
@@ -11271,7 +11515,7 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11271
11515
|
onChange: _cache[0] || (_cache[0] = (...args) => unref(toggleSelectAll) && unref(toggleSelectAll)(...args)),
|
|
11272
11516
|
class: "mint-sample-selector__checkbox"
|
|
11273
11517
|
}, null, 40, _hoisted_3$25),
|
|
11274
|
-
_cache[
|
|
11518
|
+
_cache[6] || (_cache[6] = createElementVNode("span", { class: "mint-sample-selector__select-all-label" }, "Select All", -1)),
|
|
11275
11519
|
createElementVNode("span", _hoisted_4$25, toDisplayString(resolvedSamples.value.length) + " samples", 1)
|
|
11276
11520
|
]),
|
|
11277
11521
|
__props.enableGrouping ? (openBlock(), createElementBlock("div", _hoisted_5$23, [createElementVNode("div", _hoisted_6$23, [createVNode(BaseButton_default, {
|
|
@@ -11281,17 +11525,17 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11281
11525
|
class: "mint-sample-selector__action-btn",
|
|
11282
11526
|
onClick: _cache[1] || (_cache[1] = ($event) => openGroupingModal(groupingActionMode.value))
|
|
11283
11527
|
}, {
|
|
11284
|
-
default: withCtx(() => [__props.enableSmartGroup ? (openBlock(), createElementBlock("svg", _hoisted_7$20, [..._cache[
|
|
11528
|
+
default: withCtx(() => [__props.enableSmartGroup ? (openBlock(), createElementBlock("svg", _hoisted_7$20, [..._cache[7] || (_cache[7] = [createElementVNode("path", {
|
|
11285
11529
|
"stroke-linecap": "round",
|
|
11286
11530
|
"stroke-linejoin": "round",
|
|
11287
11531
|
"stroke-width": "2",
|
|
11288
11532
|
d: "M13 10V3L4 14h7v7l9-11h-7z"
|
|
11289
|
-
}, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_8$17, [..._cache[
|
|
11533
|
+
}, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_8$17, [..._cache[8] || (_cache[8] = [createElementVNode("path", {
|
|
11290
11534
|
"stroke-linecap": "round",
|
|
11291
11535
|
"stroke-linejoin": "round",
|
|
11292
11536
|
"stroke-width": "2",
|
|
11293
11537
|
d: "M12 3 3 7.5l9 4.5 9-4.5L12 3ZM3 12l9 4.5 9-4.5M3 16.5l9 4.5 9-4.5"
|
|
11294
|
-
}, null, -1)])])), _cache[
|
|
11538
|
+
}, null, -1)])])), _cache[9] || (_cache[9] = createElementVNode("span", { class: "mint-sample-selector__action-label" }, "Grouping", -1))]),
|
|
11295
11539
|
_: 1
|
|
11296
11540
|
}, 8, ["variant", "disabled"]), createVNode(BaseButton_default, {
|
|
11297
11541
|
variant: "ghost",
|
|
@@ -11301,7 +11545,7 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11301
11545
|
onClick: clearGroups,
|
|
11302
11546
|
title: "Clear all groups"
|
|
11303
11547
|
}, {
|
|
11304
|
-
default: withCtx(() => [..._cache[
|
|
11548
|
+
default: withCtx(() => [..._cache[10] || (_cache[10] = [createElementVNode("svg", {
|
|
11305
11549
|
class: "mint-sample-selector__action-icon",
|
|
11306
11550
|
fill: "none",
|
|
11307
11551
|
stroke: "currentColor",
|
|
@@ -11321,7 +11565,7 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11321
11565
|
onClick: expandAllGroups,
|
|
11322
11566
|
title: "Expand all",
|
|
11323
11567
|
"aria-label": "Expand all groups"
|
|
11324
|
-
}, [..._cache[
|
|
11568
|
+
}, [..._cache[11] || (_cache[11] = [createElementVNode("svg", {
|
|
11325
11569
|
class: "mint-sample-selector__expand-icon",
|
|
11326
11570
|
fill: "none",
|
|
11327
11571
|
stroke: "currentColor",
|
|
@@ -11337,7 +11581,7 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11337
11581
|
onClick: collapseAllGroups,
|
|
11338
11582
|
title: "Collapse all",
|
|
11339
11583
|
"aria-label": "Collapse all groups"
|
|
11340
|
-
}, [..._cache[
|
|
11584
|
+
}, [..._cache[12] || (_cache[12] = [createElementVNode("svg", {
|
|
11341
11585
|
class: "mint-sample-selector__expand-icon",
|
|
11342
11586
|
fill: "none",
|
|
11343
11587
|
stroke: "currentColor",
|
|
@@ -11348,307 +11592,33 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11348
11592
|
"stroke-width": "2",
|
|
11349
11593
|
d: "M9 5l7 7-7 7"
|
|
11350
11594
|
})], -1)])])])]),
|
|
11351
|
-
createElementVNode("div", _hoisted_12$12, [
|
|
11352
|
-
return openBlock(),
|
|
11353
|
-
key:
|
|
11354
|
-
|
|
11355
|
-
|
|
11356
|
-
|
|
11357
|
-
|
|
11358
|
-
|
|
11359
|
-
|
|
11360
|
-
unref(reorderTarget) === majorGroup.name && unref(draggingGroupKind) === "major" && unref(reorderPosition) === "after" ? "mint-sample-selector__header--drag-over-after" : ""
|
|
11361
|
-
]),
|
|
11362
|
-
draggable: "true",
|
|
11363
|
-
onClick: ($event) => toggleGroupExpanded(`major:${majorGroup.name}`),
|
|
11364
|
-
onDragstart: ($event) => unref(handleGroupDragStart)(majorGroup.name, "major", $event),
|
|
11365
|
-
onDragend: _cache[3] || (_cache[3] = (...args) => unref(handleGroupDragEnd) && unref(handleGroupDragEnd)(...args)),
|
|
11366
|
-
onDragover: ($event) => unref(handleGroupDragOver)(majorGroup.name, "major", $event),
|
|
11367
|
-
onDragleave: _cache[4] || (_cache[4] = ($event) => unref(handleGroupDragLeave)($event)),
|
|
11368
|
-
onDrop: ($event) => unref(handleGroupDrop)(majorGroup.name, "major", $event)
|
|
11369
|
-
}, [
|
|
11370
|
-
(openBlock(), createElementBlock("svg", {
|
|
11371
|
-
class: normalizeClass(["mint-sample-selector__chevron", isGroupExpanded(`major:${majorGroup.name}`) ? "mint-sample-selector__chevron--open" : ""]),
|
|
11372
|
-
fill: "none",
|
|
11373
|
-
stroke: "currentColor",
|
|
11374
|
-
viewBox: "0 0 24 24"
|
|
11375
|
-
}, [..._cache[24] || (_cache[24] = [createElementVNode("path", {
|
|
11376
|
-
"stroke-linecap": "round",
|
|
11377
|
-
"stroke-linejoin": "round",
|
|
11378
|
-
"stroke-width": "2",
|
|
11379
|
-
d: "M9 5l7 7-7 7"
|
|
11380
|
-
}, null, -1)])], 2)),
|
|
11381
|
-
createElementVNode("input", {
|
|
11382
|
-
type: "checkbox",
|
|
11383
|
-
checked: unref(isMajorGroupFullySelected)(majorGroup),
|
|
11384
|
-
indeterminate: unref(isMajorGroupPartiallySelected)(majorGroup),
|
|
11385
|
-
class: "mint-sample-selector__checkbox",
|
|
11386
|
-
style: normalizeStyle({ accentColor: majorGroup.color }),
|
|
11387
|
-
onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"])),
|
|
11388
|
-
onChange: ($event) => unref(toggleMajorGroupSamples)(majorGroup)
|
|
11389
|
-
}, null, 44, _hoisted_14$10),
|
|
11390
|
-
createElementVNode("button", {
|
|
11391
|
-
type: "button",
|
|
11392
|
-
class: "mint-sample-selector__color-dot mint-sample-selector__color-dot--large mint-sample-selector__color-dot--clickable",
|
|
11393
|
-
style: normalizeStyle({ backgroundColor: majorGroup.color }),
|
|
11394
|
-
onClick: withModifiers(($event) => openMajorGroupColorPicker(majorGroup, $event), ["stop"]),
|
|
11395
|
-
title: "Click to change color family"
|
|
11396
|
-
}, null, 12, _hoisted_15$9),
|
|
11397
|
-
createElementVNode("span", _hoisted_16$8, toDisplayString(majorGroup.name), 1),
|
|
11398
|
-
createElementVNode("span", {
|
|
11399
|
-
class: "mint-sample-selector__count-badge",
|
|
11400
|
-
style: normalizeStyle({
|
|
11401
|
-
backgroundColor: majorGroup.color + "20",
|
|
11402
|
-
color: majorGroup.color
|
|
11403
|
-
})
|
|
11404
|
-
}, toDisplayString(majorGroup.allSamples.length), 5),
|
|
11405
|
-
createElementVNode("button", {
|
|
11406
|
-
type: "button",
|
|
11407
|
-
class: "mint-sample-selector__delete-btn mint-sample-selector__delete-btn--hidden",
|
|
11408
|
-
onClick: withModifiers(($event) => deleteMajorGroup(majorGroup), ["stop"]),
|
|
11409
|
-
title: "Remove major group"
|
|
11410
|
-
}, [..._cache[25] || (_cache[25] = [createElementVNode("svg", {
|
|
11411
|
-
fill: "none",
|
|
11412
|
-
stroke: "currentColor",
|
|
11413
|
-
viewBox: "0 0 24 24"
|
|
11414
|
-
}, [createElementVNode("path", {
|
|
11415
|
-
"stroke-linecap": "round",
|
|
11416
|
-
"stroke-linejoin": "round",
|
|
11417
|
-
"stroke-width": "2",
|
|
11418
|
-
d: "M6 18L18 6M6 6l12 12"
|
|
11419
|
-
})], -1)])], 8, _hoisted_17$8)
|
|
11420
|
-
], 42, _hoisted_13$12), createVNode(Transition, { name: "mint-collapse" }, {
|
|
11421
|
-
default: withCtx(() => [isGroupExpanded(`major:${majorGroup.name}`) ? (openBlock(), createElementBlock("div", {
|
|
11422
|
-
key: 0,
|
|
11423
|
-
class: "mint-sample-selector__sub-groups",
|
|
11424
|
-
style: normalizeStyle({ borderColor: majorGroup.color + "30" })
|
|
11425
|
-
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(majorGroup.subGroups, (subGroup) => {
|
|
11426
|
-
return openBlock(), createElementBlock("div", {
|
|
11427
|
-
key: subGroup.name,
|
|
11428
|
-
class: normalizeClass(["mint-sample-selector__sub-group", unref(dragOverGroup) === subGroup.name ? "mint-sample-selector__sub-group--drag-over" : ""]),
|
|
11429
|
-
onDragover: ($event) => unref(handleDragOver)(subGroup.name, $event),
|
|
11430
|
-
onDragleave: _cache[8] || (_cache[8] = (...args) => unref(handleDragLeave) && unref(handleDragLeave)(...args)),
|
|
11431
|
-
onDrop: ($event) => unref(handleDrop)(subGroup.name, $event)
|
|
11432
|
-
}, [createElementVNode("div", {
|
|
11433
|
-
class: normalizeClass([
|
|
11434
|
-
"mint-sample-selector__sub-header",
|
|
11435
|
-
unref(draggingGroup) === subGroup.name && unref(draggingGroupKind) === "sub" ? "mint-sample-selector__header--dragging" : "",
|
|
11436
|
-
unref(reorderTarget) === subGroup.name && unref(draggingGroupKind) === "sub" && unref(reorderPosition) === "before" ? "mint-sample-selector__header--drag-over-before" : "",
|
|
11437
|
-
unref(reorderTarget) === subGroup.name && unref(draggingGroupKind) === "sub" && unref(reorderPosition) === "after" ? "mint-sample-selector__header--drag-over-after" : ""
|
|
11438
|
-
]),
|
|
11439
|
-
draggable: "true",
|
|
11440
|
-
onClick: ($event) => toggleGroupExpanded(subGroup.name),
|
|
11441
|
-
onDragstart: ($event) => unref(handleGroupDragStart)(subGroup.name, "sub", $event),
|
|
11442
|
-
onDragend: _cache[6] || (_cache[6] = (...args) => unref(handleGroupDragEnd) && unref(handleGroupDragEnd)(...args)),
|
|
11443
|
-
onDragover: ($event) => unref(handleGroupDragOver)(subGroup.name, "sub", $event),
|
|
11444
|
-
onDragleave: _cache[7] || (_cache[7] = ($event) => unref(handleGroupDragLeave)($event)),
|
|
11445
|
-
onDrop: ($event) => unref(handleGroupDrop)(subGroup.name, "sub", $event)
|
|
11446
|
-
}, [
|
|
11447
|
-
(openBlock(), createElementBlock("svg", {
|
|
11448
|
-
class: normalizeClass(["mint-sample-selector__chevron mint-sample-selector__chevron--small", isGroupExpanded(subGroup.name) ? "mint-sample-selector__chevron--open" : ""]),
|
|
11449
|
-
fill: "none",
|
|
11450
|
-
stroke: "currentColor",
|
|
11451
|
-
viewBox: "0 0 24 24"
|
|
11452
|
-
}, [..._cache[26] || (_cache[26] = [createElementVNode("path", {
|
|
11453
|
-
"stroke-linecap": "round",
|
|
11454
|
-
"stroke-linejoin": "round",
|
|
11455
|
-
"stroke-width": "2",
|
|
11456
|
-
d: "M9 5l7 7-7 7"
|
|
11457
|
-
}, null, -1)])], 2)),
|
|
11458
|
-
createElementVNode("input", {
|
|
11459
|
-
type: "checkbox",
|
|
11460
|
-
checked: unref(isGroupFullySelected)(subGroup.name),
|
|
11461
|
-
indeterminate: unref(isGroupPartiallySelected)(subGroup.name),
|
|
11462
|
-
class: "mint-sample-selector__checkbox mint-sample-selector__checkbox--small",
|
|
11463
|
-
style: normalizeStyle({ accentColor: subGroup.displayColor }),
|
|
11464
|
-
onClick: _cache[5] || (_cache[5] = withModifiers(() => {}, ["stop"])),
|
|
11465
|
-
onChange: ($event) => unref(toggleGroupSamples)(subGroup.name)
|
|
11466
|
-
}, null, 44, _hoisted_20$7),
|
|
11467
|
-
createElementVNode("div", {
|
|
11468
|
-
class: "mint-sample-selector__color-dot",
|
|
11469
|
-
style: normalizeStyle({ backgroundColor: subGroup.displayColor }),
|
|
11470
|
-
"aria-hidden": "true"
|
|
11471
|
-
}, null, 4),
|
|
11472
|
-
createElementVNode("span", _hoisted_21$6, toDisplayString(subGroup.name), 1),
|
|
11473
|
-
createElementVNode("span", {
|
|
11474
|
-
class: "mint-sample-selector__count-badge mint-sample-selector__count-badge--small",
|
|
11475
|
-
style: normalizeStyle({
|
|
11476
|
-
backgroundColor: subGroup.displayBg,
|
|
11477
|
-
color: subGroup.displayColor
|
|
11478
|
-
})
|
|
11479
|
-
}, toDisplayString(subGroup.samples.length), 5),
|
|
11480
|
-
createElementVNode("button", {
|
|
11481
|
-
type: "button",
|
|
11482
|
-
class: "mint-sample-selector__delete-btn mint-sample-selector__delete-btn--hidden",
|
|
11483
|
-
onClick: withModifiers(($event) => deleteGroup(subGroup.name), ["stop"]),
|
|
11484
|
-
title: "Remove sub group"
|
|
11485
|
-
}, [..._cache[27] || (_cache[27] = [createElementVNode("svg", {
|
|
11486
|
-
fill: "none",
|
|
11487
|
-
stroke: "currentColor",
|
|
11488
|
-
viewBox: "0 0 24 24"
|
|
11489
|
-
}, [createElementVNode("path", {
|
|
11490
|
-
"stroke-linecap": "round",
|
|
11491
|
-
"stroke-linejoin": "round",
|
|
11492
|
-
"stroke-width": "2",
|
|
11493
|
-
d: "M6 18L18 6M6 6l12 12"
|
|
11494
|
-
})], -1)])], 8, _hoisted_22$5)
|
|
11495
|
-
], 42, _hoisted_19$8), createVNode(Transition, { name: "mint-collapse" }, {
|
|
11496
|
-
default: withCtx(() => [isGroupExpanded(subGroup.name) ? (openBlock(), createElementBlock("div", {
|
|
11497
|
-
key: 0,
|
|
11498
|
-
class: "mint-sample-selector__samples",
|
|
11499
|
-
style: normalizeStyle({ borderColor: subGroup.displayBorder })
|
|
11500
|
-
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(subGroup.samples, (sample) => {
|
|
11501
|
-
return openBlock(), createBlock(SampleSelectorSampleRow_default, {
|
|
11502
|
-
key: sample,
|
|
11503
|
-
sample,
|
|
11504
|
-
selected: __props.modelValue.includes(sample),
|
|
11505
|
-
dragging: unref(draggingSample) === sample,
|
|
11506
|
-
"accent-color": subGroup.displayColor,
|
|
11507
|
-
"checkbox-size": "tiny",
|
|
11508
|
-
removable: "",
|
|
11509
|
-
onDragstart: ($event) => unref(handleDragStart)(sample, subGroup.name, $event),
|
|
11510
|
-
onDragend: unref(handleDragEnd),
|
|
11511
|
-
onToggle: ($event) => unref(toggleSample)(sample),
|
|
11512
|
-
onRemove: ($event) => removeSampleFromGroup$1(sample, subGroup.name)
|
|
11513
|
-
}, null, 8, [
|
|
11514
|
-
"sample",
|
|
11515
|
-
"selected",
|
|
11516
|
-
"dragging",
|
|
11517
|
-
"accent-color",
|
|
11518
|
-
"onDragstart",
|
|
11519
|
-
"onDragend",
|
|
11520
|
-
"onToggle",
|
|
11521
|
-
"onRemove"
|
|
11522
|
-
]);
|
|
11523
|
-
}), 128))], 4)) : createCommentVNode("", true)]),
|
|
11524
|
-
_: 2
|
|
11525
|
-
}, 1024)], 42, _hoisted_18$8);
|
|
11526
|
-
}), 128))], 4)) : createCommentVNode("", true)]),
|
|
11527
|
-
_: 2
|
|
11528
|
-
}, 1024)]);
|
|
11529
|
-
}), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(internalGroups.value, (group) => {
|
|
11530
|
-
return openBlock(), createElementBlock("div", {
|
|
11531
|
-
key: group.name,
|
|
11532
|
-
class: normalizeClass(["mint-sample-selector__sub-group", unref(dragOverGroup) === group.name ? "mint-sample-selector__sub-group--drag-over" : ""]),
|
|
11533
|
-
onDragover: ($event) => unref(handleDragOver)(group.name, $event),
|
|
11534
|
-
onDragleave: _cache[12] || (_cache[12] = (...args) => unref(handleDragLeave) && unref(handleDragLeave)(...args)),
|
|
11535
|
-
onDrop: ($event) => unref(handleDrop)(group.name, $event)
|
|
11536
|
-
}, [createElementVNode("div", {
|
|
11537
|
-
class: normalizeClass([
|
|
11538
|
-
"mint-sample-selector__major-header",
|
|
11539
|
-
unref(draggingGroup) === group.name && unref(draggingGroupKind) === "flat" ? "mint-sample-selector__header--dragging" : "",
|
|
11540
|
-
unref(reorderTarget) === group.name && unref(draggingGroupKind) === "flat" && unref(reorderPosition) === "before" ? "mint-sample-selector__header--drag-over-before" : "",
|
|
11541
|
-
unref(reorderTarget) === group.name && unref(draggingGroupKind) === "flat" && unref(reorderPosition) === "after" ? "mint-sample-selector__header--drag-over-after" : ""
|
|
11542
|
-
]),
|
|
11543
|
-
draggable: "true",
|
|
11544
|
-
onClick: ($event) => toggleGroupExpanded(group.name),
|
|
11545
|
-
onDragstart: ($event) => unref(handleGroupDragStart)(group.name, "flat", $event),
|
|
11546
|
-
onDragend: _cache[10] || (_cache[10] = (...args) => unref(handleGroupDragEnd) && unref(handleGroupDragEnd)(...args)),
|
|
11547
|
-
onDragover: ($event) => unref(handleGroupDragOver)(group.name, "flat", $event),
|
|
11548
|
-
onDragleave: _cache[11] || (_cache[11] = ($event) => unref(handleGroupDragLeave)($event)),
|
|
11549
|
-
onDrop: ($event) => unref(handleGroupDrop)(group.name, "flat", $event)
|
|
11550
|
-
}, [
|
|
11551
|
-
(openBlock(), createElementBlock("svg", {
|
|
11552
|
-
class: normalizeClass(["mint-sample-selector__chevron", isGroupExpanded(group.name) ? "mint-sample-selector__chevron--open" : ""]),
|
|
11553
|
-
fill: "none",
|
|
11554
|
-
stroke: "currentColor",
|
|
11555
|
-
viewBox: "0 0 24 24"
|
|
11556
|
-
}, [..._cache[28] || (_cache[28] = [createElementVNode("path", {
|
|
11557
|
-
"stroke-linecap": "round",
|
|
11558
|
-
"stroke-linejoin": "round",
|
|
11559
|
-
"stroke-width": "2",
|
|
11560
|
-
d: "M9 5l7 7-7 7"
|
|
11561
|
-
}, null, -1)])], 2)),
|
|
11562
|
-
createElementVNode("input", {
|
|
11563
|
-
type: "checkbox",
|
|
11564
|
-
checked: unref(isGroupFullySelected)(group.name),
|
|
11565
|
-
indeterminate: unref(isGroupPartiallySelected)(group.name),
|
|
11566
|
-
class: "mint-sample-selector__checkbox",
|
|
11567
|
-
style: normalizeStyle({ accentColor: group.color }),
|
|
11568
|
-
onClick: _cache[9] || (_cache[9] = withModifiers(() => {}, ["stop"])),
|
|
11569
|
-
onChange: ($event) => unref(toggleGroupSamples)(group.name)
|
|
11570
|
-
}, null, 44, _hoisted_25$4),
|
|
11571
|
-
createElementVNode("button", {
|
|
11572
|
-
type: "button",
|
|
11573
|
-
class: "mint-sample-selector__color-dot mint-sample-selector__color-dot--large mint-sample-selector__color-dot--clickable",
|
|
11574
|
-
style: normalizeStyle({ backgroundColor: group.color }),
|
|
11575
|
-
onClick: withModifiers(($event) => openColorPicker(group.name, $event), ["stop"]),
|
|
11576
|
-
title: "Click to change color"
|
|
11577
|
-
}, null, 12, _hoisted_26$4),
|
|
11578
|
-
createElementVNode("span", _hoisted_27$3, toDisplayString(group.name), 1),
|
|
11579
|
-
createElementVNode("span", {
|
|
11580
|
-
class: "mint-sample-selector__count-badge",
|
|
11581
|
-
style: normalizeStyle({
|
|
11582
|
-
backgroundColor: group.color + "20",
|
|
11583
|
-
color: group.color
|
|
11584
|
-
})
|
|
11585
|
-
}, toDisplayString(group.samples.length), 5),
|
|
11586
|
-
createElementVNode("button", {
|
|
11587
|
-
type: "button",
|
|
11588
|
-
class: "mint-sample-selector__delete-btn mint-sample-selector__delete-btn--hidden",
|
|
11589
|
-
onClick: withModifiers(($event) => deleteGroup(group.name), ["stop"]),
|
|
11590
|
-
title: "Remove group"
|
|
11591
|
-
}, [..._cache[29] || (_cache[29] = [createElementVNode("svg", {
|
|
11592
|
-
fill: "none",
|
|
11593
|
-
stroke: "currentColor",
|
|
11594
|
-
viewBox: "0 0 24 24"
|
|
11595
|
-
}, [createElementVNode("path", {
|
|
11596
|
-
"stroke-linecap": "round",
|
|
11597
|
-
"stroke-linejoin": "round",
|
|
11598
|
-
"stroke-width": "2",
|
|
11599
|
-
d: "M6 18L18 6M6 6l12 12"
|
|
11600
|
-
})], -1)])], 8, _hoisted_28$2)
|
|
11601
|
-
], 42, _hoisted_24$4), createVNode(Transition, { name: "mint-collapse" }, {
|
|
11602
|
-
default: withCtx(() => [isGroupExpanded(group.name) ? (openBlock(), createElementBlock("div", {
|
|
11603
|
-
key: 0,
|
|
11604
|
-
class: "mint-sample-selector__samples",
|
|
11605
|
-
style: normalizeStyle({ borderColor: group.color + "40" })
|
|
11606
|
-
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(group.samples, (sample) => {
|
|
11607
|
-
return openBlock(), createBlock(SampleSelectorSampleRow_default, {
|
|
11608
|
-
key: sample,
|
|
11609
|
-
sample,
|
|
11610
|
-
selected: __props.modelValue.includes(sample),
|
|
11611
|
-
dragging: unref(draggingSample) === sample,
|
|
11612
|
-
"accent-color": group.color,
|
|
11613
|
-
"checkbox-size": "tiny",
|
|
11614
|
-
removable: "",
|
|
11615
|
-
onDragstart: ($event) => unref(handleDragStart)(sample, group.name, $event),
|
|
11616
|
-
onDragend: unref(handleDragEnd),
|
|
11617
|
-
onToggle: ($event) => unref(toggleSample)(sample),
|
|
11618
|
-
onRemove: ($event) => removeSampleFromGroup$1(sample, group.name)
|
|
11619
|
-
}, null, 8, [
|
|
11620
|
-
"sample",
|
|
11621
|
-
"selected",
|
|
11622
|
-
"dragging",
|
|
11623
|
-
"accent-color",
|
|
11624
|
-
"onDragstart",
|
|
11625
|
-
"onDragend",
|
|
11626
|
-
"onToggle",
|
|
11627
|
-
"onRemove"
|
|
11628
|
-
]);
|
|
11629
|
-
}), 128))], 4)) : createCommentVNode("", true)]),
|
|
11630
|
-
_: 2
|
|
11631
|
-
}, 1024)], 42, _hoisted_23$4);
|
|
11632
|
-
}), 128)), internalGroups.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_29$1, " Click Smart to auto-group samples ")) : createCommentVNode("", true)]),
|
|
11633
|
-
unref(ungroupedSamples).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_30$1, [createElementVNode("div", {
|
|
11595
|
+
createElementVNode("div", _hoisted_12$12, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(groupTree), (node) => {
|
|
11596
|
+
return openBlock(), createBlock(SampleSelectorGroupNode_default, {
|
|
11597
|
+
key: node.key,
|
|
11598
|
+
node,
|
|
11599
|
+
depth: 0,
|
|
11600
|
+
ctx: treeContext.value
|
|
11601
|
+
}, null, 8, ["node", "ctx"]);
|
|
11602
|
+
}), 128)), internalGroups.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_13$12, " Click Smart to auto-group samples ")) : createCommentVNode("", true)]),
|
|
11603
|
+
unref(ungroupedSamples).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_14$10, [createElementVNode("div", {
|
|
11634
11604
|
class: "mint-sample-selector__ungrouped-header",
|
|
11635
|
-
onClick: _cache[
|
|
11605
|
+
onClick: _cache[2] || (_cache[2] = ($event) => toggleGroupExpanded("__ungrouped__"))
|
|
11636
11606
|
}, [
|
|
11637
11607
|
(openBlock(), createElementBlock("svg", {
|
|
11638
11608
|
class: normalizeClass(["mint-sample-selector__chevron", isGroupExpanded("__ungrouped__") ? "mint-sample-selector__chevron--open" : ""]),
|
|
11639
11609
|
fill: "none",
|
|
11640
11610
|
stroke: "currentColor",
|
|
11641
11611
|
viewBox: "0 0 24 24"
|
|
11642
|
-
}, [..._cache[
|
|
11612
|
+
}, [..._cache[13] || (_cache[13] = [createElementVNode("path", {
|
|
11643
11613
|
"stroke-linecap": "round",
|
|
11644
11614
|
"stroke-linejoin": "round",
|
|
11645
11615
|
"stroke-width": "2",
|
|
11646
11616
|
d: "M9 5l7 7-7 7"
|
|
11647
11617
|
}, null, -1)])], 2)),
|
|
11648
|
-
_cache[
|
|
11649
|
-
createElementVNode("span",
|
|
11618
|
+
_cache[14] || (_cache[14] = createElementVNode("span", { class: "mint-sample-selector__ungrouped-label" }, "Ungrouped", -1)),
|
|
11619
|
+
createElementVNode("span", _hoisted_15$9, toDisplayString(unref(ungroupedSamples).length), 1)
|
|
11650
11620
|
]), createVNode(Transition, { name: "mint-collapse" }, {
|
|
11651
|
-
default: withCtx(() => [isGroupExpanded("__ungrouped__") ? (openBlock(), createElementBlock("div",
|
|
11621
|
+
default: withCtx(() => [isGroupExpanded("__ungrouped__") ? (openBlock(), createElementBlock("div", _hoisted_16$8, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(ungroupedSamples), (sample) => {
|
|
11652
11622
|
return openBlock(), createBlock(SampleSelectorSampleRow_default, {
|
|
11653
11623
|
key: sample,
|
|
11654
11624
|
sample,
|
|
@@ -11669,9 +11639,9 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11669
11639
|
}), 128))])) : createCommentVNode("", true)]),
|
|
11670
11640
|
_: 1
|
|
11671
11641
|
})])) : createCommentVNode("", true),
|
|
11672
|
-
createElementVNode("div",
|
|
11642
|
+
createElementVNode("div", _hoisted_17$8, [createVNode(BaseInput_default, {
|
|
11673
11643
|
modelValue: newGroupName.value,
|
|
11674
|
-
"onUpdate:modelValue": _cache[
|
|
11644
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => newGroupName.value = $event),
|
|
11675
11645
|
placeholder: "New group name...",
|
|
11676
11646
|
class: "mint-sample-selector__new-group-input",
|
|
11677
11647
|
onKeyup: withKeys(addNewGroup, ["enter"])
|
|
@@ -11682,7 +11652,7 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11682
11652
|
class: "mint-sample-selector__new-group-btn",
|
|
11683
11653
|
onClick: addNewGroup
|
|
11684
11654
|
}, {
|
|
11685
|
-
default: withCtx(() => [..._cache[
|
|
11655
|
+
default: withCtx(() => [..._cache[15] || (_cache[15] = [createTextVNode(" Add ", -1)])]),
|
|
11686
11656
|
_: 1
|
|
11687
11657
|
}, 8, ["disabled"])]),
|
|
11688
11658
|
createElementVNode("input", {
|
|
@@ -11692,9 +11662,9 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11692
11662
|
class: "mint-sample-selector__color-input",
|
|
11693
11663
|
value: colorPickerSeed.value,
|
|
11694
11664
|
onChange: handleColorChange
|
|
11695
|
-
}, null, 40,
|
|
11665
|
+
}, null, 40, _hoisted_18$8)
|
|
11696
11666
|
])) : createCommentVNode("", true),
|
|
11697
|
-
!groupingEnabled.value ? (openBlock(), createElementBlock("div",
|
|
11667
|
+
!groupingEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_19$8, [createElementVNode("div", _hoisted_20$7, [_cache[16] || (_cache[16] = createElementVNode("svg", {
|
|
11698
11668
|
class: "mint-sample-selector__search-icon",
|
|
11699
11669
|
fill: "none",
|
|
11700
11670
|
stroke: "currentColor",
|
|
@@ -11705,11 +11675,11 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11705
11675
|
"stroke-width": "2",
|
|
11706
11676
|
d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
|
|
11707
11677
|
})], -1)), withDirectives(createElementVNode("input", {
|
|
11708
|
-
"onUpdate:modelValue": _cache[
|
|
11678
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => searchQuery.value = $event),
|
|
11709
11679
|
type: "text",
|
|
11710
11680
|
placeholder: "Search samples...",
|
|
11711
11681
|
class: "mint-sample-selector__search-input"
|
|
11712
|
-
}, null, 512), [[vModelText, searchQuery.value]])]), createElementVNode("div",
|
|
11682
|
+
}, null, 512), [[vModelText, searchQuery.value]])]), createElementVNode("div", _hoisted_21$6, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(filteredSamples), (sample) => {
|
|
11713
11683
|
return openBlock(), createElementBlock("div", {
|
|
11714
11684
|
key: sample,
|
|
11715
11685
|
class: "mint-sample-selector__flat-item",
|
|
@@ -11721,11 +11691,11 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
11721
11691
|
class: "mint-sample-selector__checkbox",
|
|
11722
11692
|
"aria-label": `Select ${sample}`,
|
|
11723
11693
|
onChange: ($event) => unref(toggleSample)(sample)
|
|
11724
|
-
}, null, 40,
|
|
11725
|
-
}), 128)), unref(filteredSamples).length === 0 && searchQuery.value.trim() ? (openBlock(), createElementBlock("div",
|
|
11694
|
+
}, null, 40, _hoisted_23$4), createElementVNode("span", _hoisted_24$4, toDisplayString(sample), 1)], 8, _hoisted_22$5);
|
|
11695
|
+
}), 128)), unref(filteredSamples).length === 0 && searchQuery.value.trim() ? (openBlock(), createElementBlock("div", _hoisted_25$4, " No samples match \"" + toDisplayString(searchQuery.value) + "\" ", 1)) : createCommentVNode("", true)])])) : createCommentVNode("", true),
|
|
11726
11696
|
createVNode(AutoGroupModal_default, {
|
|
11727
11697
|
modelValue: showSmartGroupModal.value,
|
|
11728
|
-
"onUpdate:modelValue": _cache[
|
|
11698
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showSmartGroupModal.value = $event),
|
|
11729
11699
|
samples: resolvedSamples.value,
|
|
11730
11700
|
groups: internalGroups.value,
|
|
11731
11701
|
"initial-mode": groupingModalMode.value,
|
|
@@ -18278,4 +18248,4 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
18278
18248
|
//#endregion
|
|
18279
18249
|
export { SmartGroupFieldRecipe_default as $, ProtocolStepEditor_default as A, AppToastContainer_default as At, Breadcrumb_default as B, estimateSequenceRemainingSeconds as C, AppPluginSwitcher_default as Ct, sequenceSamplesRemaining as D, ThemeToggle_default as Dt, sequenceProgressPercent as E, CollapsibleCard_default as Et, RackEditor_default as F, BaseTabs_default as Ft, AppContainer_default as G, ProgressBar_default as H, BioTemplatePresetWorkspaceView_default as I, ColorSlider_default as It, ComponentBindingRenderer_default as J, DoseDesignWorkspaceView_default as K, BioTemplatePackWorkspaceView_default as L, ReagentEditor_default as M, Calendar_default as Mt, SmartGroupModal_default as N, DropdownButton_default as Nt, ChemicalFormula_default as O, ActionMenu_default as Ot, GroupAssigner_default as P, SegmentedControl_default as Pt, SmartGroupManual_default as Q, BioTemplateExperimentWorkspaceView_default as R, estimateSequenceFinishDate as S, AppTopBar_default as St, formatSequenceRemaining as T, PluginIcon_default as Tt, StatusIndicator_default as U, Avatar_default as V, Divider_default as W, SampleSelector_default as X, ScheduleCalendar_default as Y, AutoGroupModal_default as Z, reconstructLcmsPlateCellsFromSequenceItems as _, AppLayout_default as _t, ResourceCard_default as a, DoseCalculator_default as at, InstrumentAlertLog_default as b, FormActions_default as bt, BatchProgressList_default as c, GeneratedResultRenderer_default as ct, DEFAULT_LCMS_SEQUENCE_COLUMNS as d, LoadingSpinner_default as dt, ReagentList_default as et, basenameFromWindowsPath as f, generatedJobDefaults as ft, lcmsWellIdFromPosition as g, MobileSupportGate_default as gt, inferLcmsPlateTypeFromWellIds as h, PluginWorkspaceView_default as ht, SectionCard_default as i, ExperimentTimeline_default as it, SampleHierarchyTree_default as j, DataFrame_default as jt, ScientificNumber_default as k, IconButton_default as kt, AuditTrail_default as l, GeneratedPlotlyResult_default as lt, extractLcmsSampleName as m, normalizeGeneratedJobInput as mt, FitPanel_default as n, SampleLegend_default as nt, TimeRangeInput_default as o, GeneratedPluginView_default as ot, extractLcmsCommonPrefix as p, generatedJobFormSchema as pt, ControlWorkspaceView_default as q, ArtifactSaveDialog_default as r, WellPlate_default as rt, ExperimentDataViewer_default as s, JobsStatusTray_default as st, components_exports as t, PlateMapEditor_default as tt, LcmsSequenceTable_default as u, ChartContainer_default as ut, InstrumentStatusCard_default as v, AppSidebar_default as vt, formatSequenceEta as w, AppAvatarMenu_default as wt, SequenceProgressBar_default as x, StepWizard_default as xt, InstrumentStateBadge_default as y, FormBuilder_default as yt, BioTemplateRenderer_default as z };
|
|
18280
18250
|
|
|
18281
|
-
//# sourceMappingURL=components-
|
|
18251
|
+
//# sourceMappingURL=components-BbtUpCTv.js.map
|