@morscherlab/mint-sdk 1.0.0-beta.1 → 1.0.0-beta.2
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/PluginIcon.test.d.ts +1 -0
- package/dist/components/AppTopBar.vue.d.ts +2 -0
- package/dist/components/BaseButton.vue.d.ts +1 -1
- package/dist/components/BaseCheckbox.vue.d.ts +1 -1
- package/dist/components/BaseInput.vue.d.ts +1 -1
- package/dist/components/BasePill.vue.d.ts +1 -1
- package/dist/components/BaseRadioGroup.vue.d.ts +1 -1
- package/dist/components/BaseSelect.vue.d.ts +1 -1
- package/dist/components/BaseSlider.vue.d.ts +1 -1
- package/dist/components/BaseTextarea.vue.d.ts +1 -1
- package/dist/components/BaseToggle.vue.d.ts +1 -1
- package/dist/components/ColorSlider.vue.d.ts +1 -1
- package/dist/components/ConcentrationInput.vue.d.ts +1 -1
- package/dist/components/DatePicker.vue.d.ts +1 -1
- package/dist/components/DateTimePicker.vue.d.ts +1 -1
- package/dist/components/Divider.vue.d.ts +1 -1
- package/dist/components/DropdownButton.vue.d.ts +1 -1
- package/dist/components/FileUploader.vue.d.ts +1 -1
- package/dist/components/FormulaInput.vue.d.ts +1 -1
- package/dist/components/IconButton.vue.d.ts +1 -1
- package/dist/components/LoadingSpinner.vue.d.ts +1 -1
- package/dist/components/MultiSelect.vue.d.ts +1 -1
- package/dist/components/NumberInput.vue.d.ts +1 -1
- package/dist/components/PluginIcon.vue.d.ts +11 -0
- package/dist/components/ProgressBar.vue.d.ts +1 -1
- package/dist/components/ReagentEditor.vue.d.ts +1 -1
- package/dist/components/ResourceCard.vue.d.ts +1 -1
- package/dist/components/SampleSelector.vue.d.ts +1 -1
- package/dist/components/ScientificNumber.vue.d.ts +1 -1
- package/dist/components/SegmentedControl.vue.d.ts +1 -1
- package/dist/components/SettingsModal.vue.d.ts +22 -2
- package/dist/components/TagsInput.vue.d.ts +1 -1
- package/dist/components/TimePicker.vue.d.ts +1 -1
- package/dist/components/TimeRangeInput.vue.d.ts +1 -1
- package/dist/components/UnitInput.vue.d.ts +1 -1
- package/dist/components/WellPlate.vue.d.ts +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +3 -3
- package/dist/{components-CzbQQPCb.js → components-_XqPEhP9.js} +572 -362
- package/dist/components-_XqPEhP9.js.map +1 -0
- package/dist/composables/index.js +2 -2
- package/dist/composables/usePlatformContext.d.ts +3 -0
- package/dist/{composables-BXklV5ii.js → composables-tiZqLu1M.js} +2 -2
- package/dist/{composables-BXklV5ii.js.map → composables-tiZqLu1M.js.map} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -4
- package/dist/install.js +2 -2
- package/dist/stores/auth.d.ts +1 -1
- package/dist/styles.css +896 -553
- package/dist/types/components.d.ts +39 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/platform.d.ts +1 -0
- package/dist/{useScheduleDrag-CxBeqYcu.js → useScheduleDrag-CA9sGNJG.js} +4000 -4000
- package/dist/useScheduleDrag-CA9sGNJG.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/components/AppTopBar.test.ts +31 -13
- package/src/__tests__/components/PluginIcon.test.ts +119 -0
- package/src/components/AppTopBar.vue +32 -27
- package/src/components/PluginIcon.story.vue +71 -0
- package/src/components/PluginIcon.vue +88 -0
- package/src/components/SettingsModal.story.vue +337 -45
- package/src/components/SettingsModal.vue +251 -64
- package/src/components/index.ts +1 -0
- package/src/index.ts +4 -0
- package/src/styles/components/app-pill-nav.css +1 -2
- package/src/styles/components/app-top-bar.css +1 -2
- package/src/styles/components/button.css +3 -7
- package/src/styles/components/dropdown-button.css +4 -4
- package/src/styles/components/input.css +4 -5
- package/src/styles/components/number-input.css +3 -3
- package/src/styles/components/plugin-icon.css +38 -0
- package/src/styles/components/segmented-control.css +4 -7
- package/src/styles/components/settings-modal.css +184 -0
- package/src/styles/components/tabs.css +1 -2
- package/src/styles/components/textarea.css +4 -5
- package/src/styles/components/unit-input.css +3 -3
- package/src/types/components.ts +42 -0
- package/src/types/index.ts +3 -0
- package/src/types/platform.ts +1 -0
- package/dist/components-CzbQQPCb.js.map +0 -1
- package/dist/useScheduleDrag-CxBeqYcu.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as formatTime, A as
|
|
1
|
+
import { $ as formatTime, A as getFieldRegistryEntry, B as useChemicalFormula, C as SORT_OPTIONS, E as useApi, F as MoleculeInput_default, G as NumberInput_default, H as useTheme, I as SequenceInput_default, K as TagsInput_default, M as UnitInput_default, N as ConcentrationInput_default, O as useFormBuilder, P as useConcentrationUnits, Q as formatDuration, R as FormulaInput_default, S as EXPERIMENT_STATUS_VARIANT_MAP, T as formatExperimentDate, U as useToast, V as DateTimePicker_default, W as FileUploader_default, X as durationMinutes, Y as compareTime, _ as usePlatformContext, a as DEFAULT_UNITS, c as useDoseCalculator, ct as BaseSlider_default, d as parseCSV, dt as BaseCheckbox_default, f as useAutoGroup, ft as BaseSelect_default, h as APP_EXPERIMENT_KEY, i as DEFAULT_PRESETS, l as DEFAULT_COLORS, lt as BaseRadioGroup_default, m as useRackEditor, mt as BaseInput_default, n as useExperimentData, ot as DatePicker_default, p as useWellPlateEditor, pt as BaseTextarea_default, q as TimePicker_default, r as useProtocolTemplates, s as useReagentSeries, st as MultiSelect_default, t as useScheduleDrag, ut as BaseToggle_default, v as useExperimentSelector, x as EXPERIMENT_STATUS_OPTIONS, y as DATE_PRESET_OPTIONS } from "./useScheduleDrag-CA9sGNJG.js";
|
|
2
2
|
import { n as colorPalettes, r as useSettingsStore } from "./auth-DsI0rQ7_.js";
|
|
3
3
|
import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, h, inject, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, onUnmounted, openBlock, reactive, ref, renderList, renderSlot, resolveComponent, resolveDynamicComponent, toDisplayString, unref, useSlots, vModelCheckbox, vModelSelect, vModelText, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
|
|
4
4
|
//#region \0rolldown/runtime.js
|
|
@@ -14,8 +14,8 @@ var __exportAll = (all, no_symbols) => {
|
|
|
14
14
|
};
|
|
15
15
|
//#endregion
|
|
16
16
|
//#region src/components/BaseButton.vue?vue&type=script&setup=true&lang.ts
|
|
17
|
-
var _hoisted_1$
|
|
18
|
-
var _hoisted_2$
|
|
17
|
+
var _hoisted_1$65 = ["type", "disabled"];
|
|
18
|
+
var _hoisted_2$57 = {
|
|
19
19
|
key: 0,
|
|
20
20
|
class: "mint-button__spinner",
|
|
21
21
|
fill: "none",
|
|
@@ -62,7 +62,7 @@ var BaseButton_default = /* @__PURE__ */ defineComponent({
|
|
|
62
62
|
__props.disabled || __props.loading ? "mint-button--disabled" : ""
|
|
63
63
|
]),
|
|
64
64
|
onClick: handleClick
|
|
65
|
-
}, [__props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$
|
|
65
|
+
}, [__props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$57, [..._cache[0] || (_cache[0] = [createElementVNode("circle", {
|
|
66
66
|
style: { "opacity": "0.25" },
|
|
67
67
|
cx: "12",
|
|
68
68
|
cy: "12",
|
|
@@ -73,15 +73,15 @@ var BaseButton_default = /* @__PURE__ */ defineComponent({
|
|
|
73
73
|
style: { "opacity": "0.75" },
|
|
74
74
|
fill: "currentColor",
|
|
75
75
|
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"
|
|
76
|
-
}, null, -1)])])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$
|
|
76
|
+
}, null, -1)])])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$65);
|
|
77
77
|
};
|
|
78
78
|
}
|
|
79
79
|
});
|
|
80
80
|
//#endregion
|
|
81
81
|
//#region src/components/ColorSlider.vue?vue&type=script&setup=true&lang.ts
|
|
82
|
-
var _hoisted_1$
|
|
83
|
-
var _hoisted_2$
|
|
84
|
-
var _hoisted_3$
|
|
82
|
+
var _hoisted_1$64 = { class: "mint-color-slider__row" };
|
|
83
|
+
var _hoisted_2$56 = { class: "mint-color-slider__track" };
|
|
84
|
+
var _hoisted_3$52 = [
|
|
85
85
|
"value",
|
|
86
86
|
"min",
|
|
87
87
|
"max",
|
|
@@ -196,7 +196,7 @@ var ColorSlider_default = /* @__PURE__ */ defineComponent({
|
|
|
196
196
|
emit("update:modelValue", Number(target.value));
|
|
197
197
|
}
|
|
198
198
|
return (_ctx, _cache) => {
|
|
199
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-color-slider", { "mint-color-slider--disabled": __props.disabled }]) }, [createElementVNode("div", _hoisted_1$
|
|
199
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-color-slider", { "mint-color-slider--disabled": __props.disabled }]) }, [createElementVNode("div", _hoisted_1$64, [createElementVNode("div", _hoisted_2$56, [createElementVNode("input", {
|
|
200
200
|
type: "range",
|
|
201
201
|
value: currentValue.value,
|
|
202
202
|
min: __props.min,
|
|
@@ -213,7 +213,7 @@ var ColorSlider_default = /* @__PURE__ */ defineComponent({
|
|
|
213
213
|
"--thumb-size": `${sizeConfig.value.thumb}px`
|
|
214
214
|
}),
|
|
215
215
|
onInput: handleInput
|
|
216
|
-
}, null, 44, _hoisted_3$
|
|
216
|
+
}, null, 44, _hoisted_3$52)]), __props.showValue ? (openBlock(), createElementBlock("div", {
|
|
217
217
|
key: 0,
|
|
218
218
|
class: "mint-color-slider__badge",
|
|
219
219
|
style: normalizeStyle({
|
|
@@ -232,13 +232,13 @@ var ColorSlider_default = /* @__PURE__ */ defineComponent({
|
|
|
232
232
|
});
|
|
233
233
|
//#endregion
|
|
234
234
|
//#region src/components/BaseTabs.vue?vue&type=script&setup=true&lang.ts
|
|
235
|
-
var _hoisted_1$
|
|
235
|
+
var _hoisted_1$63 = [
|
|
236
236
|
"aria-selected",
|
|
237
237
|
"aria-disabled",
|
|
238
238
|
"onClick"
|
|
239
239
|
];
|
|
240
|
-
var _hoisted_2$
|
|
241
|
-
var _hoisted_3$
|
|
240
|
+
var _hoisted_2$55 = { class: "mint-tab__content" };
|
|
241
|
+
var _hoisted_3$51 = {
|
|
242
242
|
key: 0,
|
|
243
243
|
class: "mint-tab__icon"
|
|
244
244
|
};
|
|
@@ -282,27 +282,27 @@ var BaseTabs_default = /* @__PURE__ */ defineComponent({
|
|
|
282
282
|
tab.disabled ? "mint-tab--disabled" : ""
|
|
283
283
|
]),
|
|
284
284
|
onClick: ($event) => selectTab(tab.id)
|
|
285
|
-
}, [createElementVNode("span", _hoisted_2$
|
|
286
|
-
tab.icon ? (openBlock(), createElementBlock("span", _hoisted_3$
|
|
285
|
+
}, [createElementVNode("span", _hoisted_2$55, [
|
|
286
|
+
tab.icon ? (openBlock(), createElementBlock("span", _hoisted_3$51, toDisplayString(tab.icon), 1)) : createCommentVNode("", true),
|
|
287
287
|
createTextVNode(" " + toDisplayString(tab.label) + " ", 1),
|
|
288
288
|
tab.badge !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_4$44, toDisplayString(tab.badge), 1)) : createCommentVNode("", true)
|
|
289
|
-
])], 10, _hoisted_1$
|
|
289
|
+
])], 10, _hoisted_1$63);
|
|
290
290
|
}), 128))], 2);
|
|
291
291
|
};
|
|
292
292
|
}
|
|
293
293
|
});
|
|
294
294
|
//#endregion
|
|
295
295
|
//#region src/components/BaseModal.vue?vue&type=script&setup=true&lang.ts
|
|
296
|
-
var _hoisted_1$
|
|
296
|
+
var _hoisted_1$62 = {
|
|
297
297
|
key: 0,
|
|
298
298
|
class: "mint-modal__grab-hint",
|
|
299
299
|
"aria-hidden": "true"
|
|
300
300
|
};
|
|
301
|
-
var _hoisted_2$
|
|
301
|
+
var _hoisted_2$54 = {
|
|
302
302
|
key: 1,
|
|
303
303
|
class: "mint-modal__header"
|
|
304
304
|
};
|
|
305
|
-
var _hoisted_3$
|
|
305
|
+
var _hoisted_3$50 = {
|
|
306
306
|
key: 0,
|
|
307
307
|
class: "mint-modal__header-text"
|
|
308
308
|
};
|
|
@@ -430,8 +430,8 @@ var BaseModal_default = /* @__PURE__ */ defineComponent({
|
|
|
430
430
|
"aria-modal": "true",
|
|
431
431
|
tabindex: "-1"
|
|
432
432
|
}, [
|
|
433
|
-
__props.variant === "sheet" ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
434
|
-
__props.title || __props.subtitle || __props.closable || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
433
|
+
__props.variant === "sheet" ? (openBlock(), createElementBlock("div", _hoisted_1$62)) : createCommentVNode("", true),
|
|
434
|
+
__props.title || __props.subtitle || __props.closable || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_2$54, [__props.title || __props.subtitle || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_3$50, [renderSlot(_ctx.$slots, "header", {}, () => [__props.title ? (openBlock(), createElementBlock("h3", _hoisted_4$43, toDisplayString(__props.title), 1)) : createCommentVNode("", true), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_5$41, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)])])) : createCommentVNode("", true), __props.closable ? (openBlock(), createElementBlock("button", {
|
|
435
435
|
key: 1,
|
|
436
436
|
type: "button",
|
|
437
437
|
class: "mint-modal__close",
|
|
@@ -456,14 +456,14 @@ var BaseModal_default = /* @__PURE__ */ defineComponent({
|
|
|
456
456
|
});
|
|
457
457
|
//#endregion
|
|
458
458
|
//#region src/components/SegmentedControl.vue?vue&type=script&setup=true&lang.ts
|
|
459
|
-
var _hoisted_1$
|
|
459
|
+
var _hoisted_1$61 = [
|
|
460
460
|
"aria-checked",
|
|
461
461
|
"disabled",
|
|
462
462
|
"onClick",
|
|
463
463
|
"onKeydown"
|
|
464
464
|
];
|
|
465
|
-
var _hoisted_2$
|
|
466
|
-
var _hoisted_3$
|
|
465
|
+
var _hoisted_2$53 = { class: "mint-segmented-control__label" };
|
|
466
|
+
var _hoisted_3$49 = {
|
|
467
467
|
key: 0,
|
|
468
468
|
class: "mint-segmented-control__description"
|
|
469
469
|
};
|
|
@@ -526,18 +526,18 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
|
|
|
526
526
|
]),
|
|
527
527
|
onClick: ($event) => handleSelect(option),
|
|
528
528
|
onKeydown: ($event) => handleKeydown($event, option)
|
|
529
|
-
}, [createElementVNode("span", _hoisted_2$
|
|
529
|
+
}, [createElementVNode("span", _hoisted_2$53, toDisplayString(option.label), 1), option.description && __props.variant === "card" ? (openBlock(), createElementBlock("span", _hoisted_3$49, toDisplayString(option.description), 1)) : createCommentVNode("", true)], 42, _hoisted_1$61);
|
|
530
530
|
}), 128))], 2);
|
|
531
531
|
};
|
|
532
532
|
}
|
|
533
533
|
});
|
|
534
534
|
//#endregion
|
|
535
535
|
//#region src/components/BasePill.vue?vue&type=script&setup=true&lang.ts
|
|
536
|
-
var _hoisted_1$
|
|
536
|
+
var _hoisted_1$60 = {
|
|
537
537
|
key: 0,
|
|
538
538
|
class: "mint-pill__icon"
|
|
539
539
|
};
|
|
540
|
-
var _hoisted_2$
|
|
540
|
+
var _hoisted_2$52 = { class: "mint-pill__label" };
|
|
541
541
|
//#endregion
|
|
542
542
|
//#region src/components/BasePill.vue
|
|
543
543
|
var BasePill_default = /* @__PURE__ */ defineComponent({
|
|
@@ -582,8 +582,8 @@ var BasePill_default = /* @__PURE__ */ defineComponent({
|
|
|
582
582
|
"mint-pill--with-icon": __props.icon
|
|
583
583
|
}
|
|
584
584
|
]) }, [
|
|
585
|
-
__props.icon ? (openBlock(), createElementBlock("span", _hoisted_1$
|
|
586
|
-
createElementVNode("span", _hoisted_2$
|
|
585
|
+
__props.icon ? (openBlock(), createElementBlock("span", _hoisted_1$60, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true),
|
|
586
|
+
createElementVNode("span", _hoisted_2$52, [renderSlot(_ctx.$slots, "default")]),
|
|
587
587
|
__props.removable && !__props.disabled ? (openBlock(), createElementBlock("button", {
|
|
588
588
|
key: 1,
|
|
589
589
|
type: "button",
|
|
@@ -605,15 +605,15 @@ var BasePill_default = /* @__PURE__ */ defineComponent({
|
|
|
605
605
|
});
|
|
606
606
|
//#endregion
|
|
607
607
|
//#region src/components/DropdownButton.vue?vue&type=script&setup=true&lang.ts
|
|
608
|
-
var _hoisted_1$
|
|
609
|
-
var _hoisted_2$
|
|
608
|
+
var _hoisted_1$59 = ["disabled", "aria-expanded"];
|
|
609
|
+
var _hoisted_2$51 = {
|
|
610
610
|
key: 0,
|
|
611
611
|
class: "mint-dropdown-button__spinner",
|
|
612
612
|
viewBox: "0 0 24 24",
|
|
613
613
|
fill: "none",
|
|
614
614
|
"aria-hidden": "true"
|
|
615
615
|
};
|
|
616
|
-
var _hoisted_3$
|
|
616
|
+
var _hoisted_3$48 = { class: "mint-dropdown-button__label" };
|
|
617
617
|
var _hoisted_4$42 = ["aria-activedescendant"];
|
|
618
618
|
var _hoisted_5$40 = [
|
|
619
619
|
"id",
|
|
@@ -715,7 +715,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
715
715
|
"aria-haspopup": "listbox",
|
|
716
716
|
onClick: toggle
|
|
717
717
|
}, [
|
|
718
|
-
__props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$
|
|
718
|
+
__props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$51, [..._cache[0] || (_cache[0] = [createElementVNode("circle", {
|
|
719
719
|
cx: "12",
|
|
720
720
|
cy: "12",
|
|
721
721
|
r: "10",
|
|
@@ -728,7 +728,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
728
728
|
"stroke-width": "3",
|
|
729
729
|
"stroke-linecap": "round"
|
|
730
730
|
}, null, -1)])])) : createCommentVNode("", true),
|
|
731
|
-
createElementVNode("span", _hoisted_3$
|
|
731
|
+
createElementVNode("span", _hoisted_3$48, toDisplayString(selectedLabel.value), 1),
|
|
732
732
|
(openBlock(), createElementBlock("svg", {
|
|
733
733
|
class: normalizeClass(["mint-dropdown-button__chevron", { "mint-dropdown-button__chevron--open": isOpen.value }]),
|
|
734
734
|
viewBox: "0 0 24 24",
|
|
@@ -738,7 +738,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
738
738
|
"stroke-linecap": "round",
|
|
739
739
|
"stroke-linejoin": "round"
|
|
740
740
|
}, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))
|
|
741
|
-
], 10, _hoisted_1$
|
|
741
|
+
], 10, _hoisted_1$59), createVNode(Transition, { name: "mint-dropdown-button-menu" }, {
|
|
742
742
|
default: withCtx(() => [isOpen.value ? (openBlock(), createElementBlock("ul", {
|
|
743
743
|
key: 0,
|
|
744
744
|
class: "mint-dropdown-button__menu",
|
|
@@ -769,12 +769,12 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
|
|
|
769
769
|
});
|
|
770
770
|
//#endregion
|
|
771
771
|
//#region src/components/Calendar.vue?vue&type=script&setup=true&lang.ts
|
|
772
|
-
var _hoisted_1$
|
|
773
|
-
var _hoisted_2$
|
|
772
|
+
var _hoisted_1$58 = { class: "mint-calendar" };
|
|
773
|
+
var _hoisted_2$50 = {
|
|
774
774
|
key: 0,
|
|
775
775
|
class: "mint-calendar__header"
|
|
776
776
|
};
|
|
777
|
-
var _hoisted_3$
|
|
777
|
+
var _hoisted_3$47 = { class: "mint-calendar__title" };
|
|
778
778
|
var _hoisted_4$41 = { class: "mint-calendar__weekdays" };
|
|
779
779
|
var _hoisted_5$39 = { class: "mint-calendar__grid" };
|
|
780
780
|
var _hoisted_6$38 = [
|
|
@@ -1002,8 +1002,8 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
|
|
|
1002
1002
|
emit("navigate", "next", currentMonth.value, currentYear.value);
|
|
1003
1003
|
}
|
|
1004
1004
|
return (_ctx, _cache) => {
|
|
1005
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1006
|
-
__props.showNavigation ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
1005
|
+
return openBlock(), createElementBlock("div", _hoisted_1$58, [
|
|
1006
|
+
__props.showNavigation ? (openBlock(), createElementBlock("div", _hoisted_2$50, [
|
|
1007
1007
|
createElementVNode("button", {
|
|
1008
1008
|
type: "button",
|
|
1009
1009
|
class: "mint-calendar__nav-btn",
|
|
@@ -1022,7 +1022,7 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
|
|
|
1022
1022
|
year: currentYear.value,
|
|
1023
1023
|
prevMonth,
|
|
1024
1024
|
nextMonth
|
|
1025
|
-
}, () => [createElementVNode("span", _hoisted_3$
|
|
1025
|
+
}, () => [createElementVNode("span", _hoisted_3$47, toDisplayString(monthLabel.value), 1)]),
|
|
1026
1026
|
createElementVNode("button", {
|
|
1027
1027
|
type: "button",
|
|
1028
1028
|
class: "mint-calendar__nav-btn",
|
|
@@ -1076,12 +1076,12 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
|
|
|
1076
1076
|
});
|
|
1077
1077
|
//#endregion
|
|
1078
1078
|
//#region src/components/DataFrame.vue?vue&type=script&setup=true&lang.ts
|
|
1079
|
-
var _hoisted_1$
|
|
1079
|
+
var _hoisted_1$57 = {
|
|
1080
1080
|
key: 0,
|
|
1081
1081
|
class: "mint-dataframe__header"
|
|
1082
1082
|
};
|
|
1083
|
-
var _hoisted_2$
|
|
1084
|
-
var _hoisted_3$
|
|
1083
|
+
var _hoisted_2$49 = { class: "mint-dataframe__search-wrapper" };
|
|
1084
|
+
var _hoisted_3$46 = ["placeholder"];
|
|
1085
1085
|
var _hoisted_4$40 = { class: "mint-dataframe__table" };
|
|
1086
1086
|
var _hoisted_5$38 = {
|
|
1087
1087
|
key: 0,
|
|
@@ -1102,19 +1102,19 @@ var _hoisted_13$25 = {
|
|
|
1102
1102
|
class: "mint-dataframe__empty"
|
|
1103
1103
|
};
|
|
1104
1104
|
var _hoisted_14$24 = { class: "mint-dataframe__empty-text" };
|
|
1105
|
-
var _hoisted_15$
|
|
1105
|
+
var _hoisted_15$23 = {
|
|
1106
1106
|
key: 1,
|
|
1107
1107
|
class: "mint-dataframe__loading"
|
|
1108
1108
|
};
|
|
1109
|
-
var _hoisted_16$
|
|
1109
|
+
var _hoisted_16$22 = {
|
|
1110
1110
|
key: 1,
|
|
1111
1111
|
class: "mint-dataframe__footer"
|
|
1112
1112
|
};
|
|
1113
|
-
var _hoisted_17$
|
|
1114
|
-
var _hoisted_18$
|
|
1115
|
-
var _hoisted_19$
|
|
1116
|
-
var _hoisted_20$
|
|
1117
|
-
var _hoisted_21$
|
|
1113
|
+
var _hoisted_17$22 = { class: "mint-dataframe__page-info" };
|
|
1114
|
+
var _hoisted_18$22 = { class: "mint-dataframe__page-controls" };
|
|
1115
|
+
var _hoisted_19$20 = ["disabled"];
|
|
1116
|
+
var _hoisted_20$19 = { class: "mint-dataframe__page-number" };
|
|
1117
|
+
var _hoisted_21$16 = ["disabled"];
|
|
1118
1118
|
//#endregion
|
|
1119
1119
|
//#region src/components/DataFrame.vue
|
|
1120
1120
|
var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1291,7 +1291,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1291
1291
|
});
|
|
1292
1292
|
return (_ctx, _cache) => {
|
|
1293
1293
|
return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-dataframe", { "mint-dataframe--bordered": __props.bordered }]) }, [
|
|
1294
|
-
__props.searchable ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
1294
|
+
__props.searchable ? (openBlock(), createElementBlock("div", _hoisted_1$57, [createElementVNode("div", _hoisted_2$49, [_cache[4] || (_cache[4] = createElementVNode("svg", {
|
|
1295
1295
|
class: "mint-dataframe__search-icon",
|
|
1296
1296
|
viewBox: "0 0 24 24",
|
|
1297
1297
|
fill: "none",
|
|
@@ -1308,7 +1308,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1308
1308
|
type: "text",
|
|
1309
1309
|
class: "mint-dataframe__search",
|
|
1310
1310
|
placeholder: __props.searchPlaceholder
|
|
1311
|
-
}, null, 8, _hoisted_3$
|
|
1311
|
+
}, null, 8, _hoisted_3$46), [[vModelText, searchQuery.value]])])])) : createCommentVNode("", true),
|
|
1312
1312
|
createElementVNode("div", {
|
|
1313
1313
|
class: "mint-dataframe__table-wrapper",
|
|
1314
1314
|
style: normalizeStyle(wrapperStyle.value)
|
|
@@ -1395,7 +1395,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1395
1395
|
"stroke-linecap": "round",
|
|
1396
1396
|
"stroke-linejoin": "round"
|
|
1397
1397
|
}, [createElementVNode("polyline", { points: "22 12 16 12 14 15 10 15 8 12 2 12" }), createElementVNode("path", { d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" })], -1)), createElementVNode("p", _hoisted_14$24, toDisplayString(__props.emptyText), 1)])])) : createCommentVNode("", true),
|
|
1398
|
-
__props.loading ? (openBlock(), createElementBlock("div", _hoisted_15$
|
|
1398
|
+
__props.loading ? (openBlock(), createElementBlock("div", _hoisted_15$23, [renderSlot(_ctx.$slots, "loading", {}, () => [_cache[7] || (_cache[7] = createElementVNode("svg", {
|
|
1399
1399
|
class: "mint-dataframe__loading-spinner",
|
|
1400
1400
|
viewBox: "0 0 24 24",
|
|
1401
1401
|
fill: "none",
|
|
@@ -1414,7 +1414,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1414
1414
|
"stroke-linecap": "round"
|
|
1415
1415
|
})], -1))])])) : createCommentVNode("", true)
|
|
1416
1416
|
], 4),
|
|
1417
|
-
__props.pagination ? (openBlock(), createElementBlock("div", _hoisted_16$
|
|
1417
|
+
__props.pagination ? (openBlock(), createElementBlock("div", _hoisted_16$22, [renderSlot(_ctx.$slots, "footer", {}, () => [createElementVNode("span", _hoisted_17$22, toDisplayString((__props.pagination.page - 1) * __props.pagination.pageSize + 1) + "–" + toDisplayString(Math.min(__props.pagination.page * __props.pagination.pageSize, sortedData.value.length)) + " of " + toDisplayString(sortedData.value.length), 1), createElementVNode("div", _hoisted_18$22, [
|
|
1418
1418
|
createElementVNode("button", {
|
|
1419
1419
|
type: "button",
|
|
1420
1420
|
class: "mint-dataframe__page-btn",
|
|
@@ -1427,8 +1427,8 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1427
1427
|
"stroke-width": "2",
|
|
1428
1428
|
"stroke-linecap": "round",
|
|
1429
1429
|
"stroke-linejoin": "round"
|
|
1430
|
-
}, [createElementVNode("path", { d: "m15 18-6-6 6-6" })], -1)])], 8, _hoisted_19$
|
|
1431
|
-
createElementVNode("span", _hoisted_20$
|
|
1430
|
+
}, [createElementVNode("path", { d: "m15 18-6-6 6-6" })], -1)])], 8, _hoisted_19$20),
|
|
1431
|
+
createElementVNode("span", _hoisted_20$19, toDisplayString(__props.pagination.page) + " / " + toDisplayString(totalPages.value), 1),
|
|
1432
1432
|
createElementVNode("button", {
|
|
1433
1433
|
type: "button",
|
|
1434
1434
|
class: "mint-dataframe__page-btn",
|
|
@@ -1441,7 +1441,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1441
1441
|
"stroke-width": "2",
|
|
1442
1442
|
"stroke-linecap": "round",
|
|
1443
1443
|
"stroke-linejoin": "round"
|
|
1444
|
-
}, [createElementVNode("path", { d: "m9 18 6-6-6-6" })], -1)])], 8, _hoisted_21$
|
|
1444
|
+
}, [createElementVNode("path", { d: "m9 18 6-6-6-6" })], -1)])], 8, _hoisted_21$16)
|
|
1445
1445
|
])])])) : createCommentVNode("", true)
|
|
1446
1446
|
], 2);
|
|
1447
1447
|
};
|
|
@@ -1449,12 +1449,12 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
|
|
|
1449
1449
|
});
|
|
1450
1450
|
//#endregion
|
|
1451
1451
|
//#region src/components/FormField.vue?vue&type=script&setup=true&lang.ts
|
|
1452
|
-
var _hoisted_1$
|
|
1453
|
-
var _hoisted_2$
|
|
1452
|
+
var _hoisted_1$56 = { class: "mint-form-field" };
|
|
1453
|
+
var _hoisted_2$48 = {
|
|
1454
1454
|
key: 0,
|
|
1455
1455
|
class: "mint-form-field__label-row"
|
|
1456
1456
|
};
|
|
1457
|
-
var _hoisted_3$
|
|
1457
|
+
var _hoisted_3$45 = ["for"];
|
|
1458
1458
|
var _hoisted_4$39 = {
|
|
1459
1459
|
key: 0,
|
|
1460
1460
|
class: "mint-form-field__required",
|
|
@@ -1486,11 +1486,11 @@ var FormField_default = /* @__PURE__ */ defineComponent({
|
|
|
1486
1486
|
const hintId = computed(() => !props.error && props.hint && props.fieldId ? `${props.fieldId}-hint` : void 0);
|
|
1487
1487
|
const describedBy = computed(() => errorId.value ?? hintId.value);
|
|
1488
1488
|
return (_ctx, _cache) => {
|
|
1489
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1490
|
-
__props.label ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
1489
|
+
return openBlock(), createElementBlock("div", _hoisted_1$56, [
|
|
1490
|
+
__props.label ? (openBlock(), createElementBlock("div", _hoisted_2$48, [createElementVNode("label", {
|
|
1491
1491
|
for: __props.htmlFor,
|
|
1492
1492
|
class: "mint-form-field__label"
|
|
1493
|
-
}, [createTextVNode(toDisplayString(__props.label) + " ", 1), __props.required ? (openBlock(), createElementBlock("span", _hoisted_4$39, "*")) : createCommentVNode("", true)], 8, _hoisted_3$
|
|
1493
|
+
}, [createTextVNode(toDisplayString(__props.label) + " ", 1), __props.required ? (openBlock(), createElementBlock("span", _hoisted_4$39, "*")) : createCommentVNode("", true)], 8, _hoisted_3$45), !__props.required && __props.showOptional ? (openBlock(), createElementBlock("span", _hoisted_5$37, " optional ")) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
1494
1494
|
renderSlot(_ctx.$slots, "default", { describedBy: describedBy.value }),
|
|
1495
1495
|
__props.error ? (openBlock(), createElementBlock("p", {
|
|
1496
1496
|
key: 1,
|
|
@@ -1508,7 +1508,7 @@ var FormField_default = /* @__PURE__ */ defineComponent({
|
|
|
1508
1508
|
});
|
|
1509
1509
|
//#endregion
|
|
1510
1510
|
//#region src/components/AlertBox.vue?vue&type=script&setup=true&lang.ts
|
|
1511
|
-
var _hoisted_1$
|
|
1511
|
+
var _hoisted_1$55 = {
|
|
1512
1512
|
key: 0,
|
|
1513
1513
|
class: "mint-alert__icon mint-alert__icon--success",
|
|
1514
1514
|
viewBox: "0 0 24 24",
|
|
@@ -1518,7 +1518,7 @@ var _hoisted_1$54 = {
|
|
|
1518
1518
|
"stroke-linecap": "round",
|
|
1519
1519
|
"stroke-linejoin": "round"
|
|
1520
1520
|
};
|
|
1521
|
-
var _hoisted_2$
|
|
1521
|
+
var _hoisted_2$47 = {
|
|
1522
1522
|
key: 1,
|
|
1523
1523
|
class: "mint-alert__icon mint-alert__icon--error",
|
|
1524
1524
|
viewBox: "0 0 24 24",
|
|
@@ -1528,7 +1528,7 @@ var _hoisted_2$46 = {
|
|
|
1528
1528
|
"stroke-linecap": "round",
|
|
1529
1529
|
"stroke-linejoin": "round"
|
|
1530
1530
|
};
|
|
1531
|
-
var _hoisted_3$
|
|
1531
|
+
var _hoisted_3$44 = {
|
|
1532
1532
|
key: 2,
|
|
1533
1533
|
class: "mint-alert__icon mint-alert__icon--warning",
|
|
1534
1534
|
viewBox: "0 0 24 24",
|
|
@@ -1583,11 +1583,11 @@ var AlertBox_default = /* @__PURE__ */ defineComponent({
|
|
|
1583
1583
|
class: normalizeClass(["mint-alert", `mint-alert--${props.type}`]),
|
|
1584
1584
|
role: "alert"
|
|
1585
1585
|
}, [
|
|
1586
|
-
props.type === "success" ? (openBlock(), createElementBlock("svg", _hoisted_1$
|
|
1586
|
+
props.type === "success" ? (openBlock(), createElementBlock("svg", _hoisted_1$55, [..._cache[2] || (_cache[2] = [createElementVNode("circle", {
|
|
1587
1587
|
cx: "12",
|
|
1588
1588
|
cy: "12",
|
|
1589
1589
|
r: "10"
|
|
1590
|
-
}, null, -1), createElementVNode("path", { d: "m9 12 2 2 4-4" }, null, -1)])])) : props.type === "error" ? (openBlock(), createElementBlock("svg", _hoisted_2$
|
|
1590
|
+
}, null, -1), createElementVNode("path", { d: "m9 12 2 2 4-4" }, null, -1)])])) : props.type === "error" ? (openBlock(), createElementBlock("svg", _hoisted_2$47, [..._cache[3] || (_cache[3] = [
|
|
1591
1591
|
createElementVNode("circle", {
|
|
1592
1592
|
cx: "12",
|
|
1593
1593
|
cy: "12",
|
|
@@ -1595,7 +1595,7 @@ var AlertBox_default = /* @__PURE__ */ defineComponent({
|
|
|
1595
1595
|
}, null, -1),
|
|
1596
1596
|
createElementVNode("path", { d: "m15 9-6 6" }, null, -1),
|
|
1597
1597
|
createElementVNode("path", { d: "m9 9 6 6" }, null, -1)
|
|
1598
|
-
])])) : props.type === "warning" ? (openBlock(), createElementBlock("svg", _hoisted_3$
|
|
1598
|
+
])])) : props.type === "warning" ? (openBlock(), createElementBlock("svg", _hoisted_3$44, [..._cache[4] || (_cache[4] = [
|
|
1599
1599
|
createElementVNode("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }, null, -1),
|
|
1600
1600
|
createElementVNode("path", { d: "M12 9v4" }, null, -1),
|
|
1601
1601
|
createElementVNode("path", { d: "M12 17h.01" }, null, -1)
|
|
@@ -1635,9 +1635,9 @@ var AlertBox_default = /* @__PURE__ */ defineComponent({
|
|
|
1635
1635
|
});
|
|
1636
1636
|
//#endregion
|
|
1637
1637
|
//#region src/components/ToastNotification.vue?vue&type=script&setup=true&lang.ts
|
|
1638
|
-
var _hoisted_1$
|
|
1639
|
-
var _hoisted_2$
|
|
1640
|
-
var _hoisted_3$
|
|
1638
|
+
var _hoisted_1$54 = { class: "mint-toast__container" };
|
|
1639
|
+
var _hoisted_2$46 = ["onClick"];
|
|
1640
|
+
var _hoisted_3$43 = { class: "mint-toast__message" };
|
|
1641
1641
|
//#endregion
|
|
1642
1642
|
//#region src/components/ToastNotification.vue
|
|
1643
1643
|
var ToastNotification_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1652,7 +1652,7 @@ var ToastNotification_default = /* @__PURE__ */ defineComponent({
|
|
|
1652
1652
|
info: "#3B82F6"
|
|
1653
1653
|
};
|
|
1654
1654
|
return (_ctx, _cache) => {
|
|
1655
|
-
return openBlock(), createBlock(Teleport, { to: "body" }, [createElementVNode("div", _hoisted_1$
|
|
1655
|
+
return openBlock(), createBlock(Teleport, { to: "body" }, [createElementVNode("div", _hoisted_1$54, [createVNode(TransitionGroup, { name: "toast" }, {
|
|
1656
1656
|
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(toasts), (toast) => {
|
|
1657
1657
|
return openBlock(), createElementBlock("div", {
|
|
1658
1658
|
key: toast.id,
|
|
@@ -1726,7 +1726,7 @@ var ToastNotification_default = /* @__PURE__ */ defineComponent({
|
|
|
1726
1726
|
createElementVNode("path", { d: "M12 16v-4" }, null, -1),
|
|
1727
1727
|
createElementVNode("path", { d: "M12 8h.01" }, null, -1)
|
|
1728
1728
|
])], 4)),
|
|
1729
|
-
createElementVNode("span", _hoisted_3$
|
|
1729
|
+
createElementVNode("span", _hoisted_3$43, toDisplayString(toast.message), 1),
|
|
1730
1730
|
createElementVNode("span", {
|
|
1731
1731
|
class: "mint-toast__progress",
|
|
1732
1732
|
style: normalizeStyle({
|
|
@@ -1734,7 +1734,7 @@ var ToastNotification_default = /* @__PURE__ */ defineComponent({
|
|
|
1734
1734
|
animationDuration: `${toast.duration ?? 3500}ms`
|
|
1735
1735
|
})
|
|
1736
1736
|
}, null, 4)
|
|
1737
|
-
], 14, _hoisted_2$
|
|
1737
|
+
], 14, _hoisted_2$46);
|
|
1738
1738
|
}), 128))]),
|
|
1739
1739
|
_: 1
|
|
1740
1740
|
})])]);
|
|
@@ -1743,7 +1743,7 @@ var ToastNotification_default = /* @__PURE__ */ defineComponent({
|
|
|
1743
1743
|
});
|
|
1744
1744
|
//#endregion
|
|
1745
1745
|
//#region src/components/IconButton.vue?vue&type=script&setup=true&lang.ts
|
|
1746
|
-
var _hoisted_1$
|
|
1746
|
+
var _hoisted_1$53 = [
|
|
1747
1747
|
"disabled",
|
|
1748
1748
|
"aria-label",
|
|
1749
1749
|
"title"
|
|
@@ -1805,13 +1805,13 @@ var IconButton_default = /* @__PURE__ */ defineComponent({
|
|
|
1805
1805
|
}, null, -1)])], 2)) : (openBlock(), createElementBlock("span", {
|
|
1806
1806
|
key: 1,
|
|
1807
1807
|
class: normalizeClass(`mint-icon-button__icon--${__props.size}`)
|
|
1808
|
-
}, [renderSlot(_ctx.$slots, "default")], 2))], 10, _hoisted_1$
|
|
1808
|
+
}, [renderSlot(_ctx.$slots, "default")], 2))], 10, _hoisted_1$53);
|
|
1809
1809
|
};
|
|
1810
1810
|
}
|
|
1811
1811
|
});
|
|
1812
1812
|
//#endregion
|
|
1813
1813
|
//#region src/components/ThemeToggle.vue?vue&type=script&setup=true&lang.ts
|
|
1814
|
-
var _hoisted_1$
|
|
1814
|
+
var _hoisted_1$52 = ["aria-label"];
|
|
1815
1815
|
//#endregion
|
|
1816
1816
|
//#region src/components/ThemeToggle.vue
|
|
1817
1817
|
var ThemeToggle_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1844,13 +1844,13 @@ var ThemeToggle_default = /* @__PURE__ */ defineComponent({
|
|
|
1844
1844
|
"stroke-width": "2",
|
|
1845
1845
|
"stroke-linecap": "round",
|
|
1846
1846
|
"stroke-linejoin": "round"
|
|
1847
|
-
}, [..._cache[2] || (_cache[2] = [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)])], 2))], 10, _hoisted_1$
|
|
1847
|
+
}, [..._cache[2] || (_cache[2] = [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)])], 2))], 10, _hoisted_1$52);
|
|
1848
1848
|
};
|
|
1849
1849
|
}
|
|
1850
1850
|
});
|
|
1851
1851
|
//#endregion
|
|
1852
1852
|
//#region src/components/SettingsButton.vue?vue&type=script&setup=true&lang.ts
|
|
1853
|
-
var _hoisted_1$
|
|
1853
|
+
var _hoisted_1$51 = { class: "mint-settings-dropdown" };
|
|
1854
1854
|
//#endregion
|
|
1855
1855
|
//#region src/components/SettingsButton.vue
|
|
1856
1856
|
var SettingsButton_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1898,15 +1898,15 @@ var SettingsButton_default = /* @__PURE__ */ defineComponent({
|
|
|
1898
1898
|
cx: "12",
|
|
1899
1899
|
cy: "12",
|
|
1900
1900
|
r: "3"
|
|
1901
|
-
}, null, -1)])], 2))], 2), withDirectives(createElementVNode("div", _hoisted_1$
|
|
1901
|
+
}, null, -1)])], 2))], 2), withDirectives(createElementVNode("div", _hoisted_1$51, [renderSlot(_ctx.$slots, "default", {}, () => [_cache[1] || (_cache[1] = createElementVNode("div", { class: "mint-settings-dropdown__empty" }, " No settings configured ", -1))])], 512), [[vShow, isOpen.value]])], 512);
|
|
1902
1902
|
};
|
|
1903
1903
|
}
|
|
1904
1904
|
});
|
|
1905
1905
|
//#endregion
|
|
1906
1906
|
//#region src/components/CollapsibleCard.vue?vue&type=script&setup=true&lang.ts
|
|
1907
|
-
var _hoisted_1$
|
|
1908
|
-
var _hoisted_2$
|
|
1909
|
-
var _hoisted_3$
|
|
1907
|
+
var _hoisted_1$50 = ["disabled", "aria-expanded"];
|
|
1908
|
+
var _hoisted_2$45 = { class: "mint-collapsible-card__title-section" };
|
|
1909
|
+
var _hoisted_3$42 = ["d"];
|
|
1910
1910
|
var _hoisted_4$37 = ["d"];
|
|
1911
1911
|
var _hoisted_5$35 = { class: "mint-collapsible-card__titles" };
|
|
1912
1912
|
var _hoisted_6$34 = { class: "mint-collapsible-card__title" };
|
|
@@ -1984,7 +1984,7 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
1984
1984
|
disabled: __props.disabled,
|
|
1985
1985
|
"aria-expanded": isOpen.value,
|
|
1986
1986
|
onClick: toggle
|
|
1987
|
-
}, [createElementVNode("div", _hoisted_2$
|
|
1987
|
+
}, [createElementVNode("div", _hoisted_2$45, [__props.icon ? (openBlock(), createElementBlock("div", {
|
|
1988
1988
|
key: 0,
|
|
1989
1989
|
class: "mint-collapsible-card__icon-badge",
|
|
1990
1990
|
style: normalizeStyle(iconBgStyle.value)
|
|
@@ -2002,7 +2002,7 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
2002
2002
|
return openBlock(), createElementBlock("path", {
|
|
2003
2003
|
key: i,
|
|
2004
2004
|
d
|
|
2005
|
-
}, null, 8, _hoisted_3$
|
|
2005
|
+
}, null, 8, _hoisted_3$42);
|
|
2006
2006
|
}), 128)) : (openBlock(), createElementBlock("path", {
|
|
2007
2007
|
key: 1,
|
|
2008
2008
|
d: __props.icon
|
|
@@ -2029,7 +2029,7 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
2029
2029
|
"stroke-linecap": "round",
|
|
2030
2030
|
"stroke-linejoin": "round",
|
|
2031
2031
|
viewBox: "0 0 24 24"
|
|
2032
|
-
}, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])], 10, _hoisted_1$
|
|
2032
|
+
}, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])], 10, _hoisted_1$50), createVNode(Transition, { name: "collapse" }, {
|
|
2033
2033
|
default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_10$27, [createElementVNode("div", _hoisted_11$27, [renderSlot(_ctx.$slots, "default")])], 512), [[vShow, isOpen.value]])]),
|
|
2034
2034
|
_: 3
|
|
2035
2035
|
})], 2);
|
|
@@ -2037,24 +2037,108 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
|
|
|
2037
2037
|
}
|
|
2038
2038
|
});
|
|
2039
2039
|
//#endregion
|
|
2040
|
+
//#region src/components/FormFieldRenderer.vue
|
|
2041
|
+
var FormFieldRenderer_default = /* @__PURE__ */ defineComponent({
|
|
2042
|
+
__name: "FormFieldRenderer",
|
|
2043
|
+
props: {
|
|
2044
|
+
field: {},
|
|
2045
|
+
resolvedProps: {},
|
|
2046
|
+
form: {}
|
|
2047
|
+
},
|
|
2048
|
+
setup(__props) {
|
|
2049
|
+
/**
|
|
2050
|
+
* Renders a single form field inside a FormField wrapper.
|
|
2051
|
+
*
|
|
2052
|
+
* Resolves the SDK component for the field type from the registry, shows
|
|
2053
|
+
* validation errors only after the field has been touched, and handles the
|
|
2054
|
+
* FileUploader's event-based upload pattern via `handleUpload`. Consumers can
|
|
2055
|
+
* override rendering via the `field:<name>` slot.
|
|
2056
|
+
*/
|
|
2057
|
+
const props = __props;
|
|
2058
|
+
const entry = computed(() => getFieldRegistryEntry(props.field.type));
|
|
2059
|
+
const errorMessage = computed(() => {
|
|
2060
|
+
const name = props.field.name;
|
|
2061
|
+
return props.form.touched[name] ? props.form.errors[name] : null;
|
|
2062
|
+
});
|
|
2063
|
+
function handleUpload(files) {
|
|
2064
|
+
props.form.setFieldValue(props.field.name, files);
|
|
2065
|
+
}
|
|
2066
|
+
return (_ctx, _cache) => {
|
|
2067
|
+
return openBlock(), createBlock(FormField_default, {
|
|
2068
|
+
label: __props.field.label,
|
|
2069
|
+
error: errorMessage.value ?? void 0,
|
|
2070
|
+
hint: __props.field.hint,
|
|
2071
|
+
required: !!__props.field.validation?.required,
|
|
2072
|
+
"html-for": __props.field.name
|
|
2073
|
+
}, {
|
|
2074
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, `field:${__props.field.name}`, {
|
|
2075
|
+
field: __props.field,
|
|
2076
|
+
form: __props.form,
|
|
2077
|
+
fieldProps: __props.form.getFieldProps(__props.field.name)
|
|
2078
|
+
}, () => [entry.value.vModel ? (openBlock(), createBlock(resolveDynamicComponent(entry.value.component), normalizeProps(mergeProps({ key: 0 }, __props.resolvedProps)), null, 16)) : (openBlock(), createBlock(resolveDynamicComponent(entry.value.component), mergeProps({ key: 1 }, __props.resolvedProps, { onUpload: handleUpload }), null, 16))])]),
|
|
2079
|
+
_: 3
|
|
2080
|
+
}, 8, [
|
|
2081
|
+
"label",
|
|
2082
|
+
"error",
|
|
2083
|
+
"hint",
|
|
2084
|
+
"required",
|
|
2085
|
+
"html-for"
|
|
2086
|
+
]);
|
|
2087
|
+
};
|
|
2088
|
+
}
|
|
2089
|
+
});
|
|
2090
|
+
//#endregion
|
|
2040
2091
|
//#region src/components/SettingsModal.vue?vue&type=script&setup=true&lang.ts
|
|
2041
|
-
var _hoisted_1$
|
|
2042
|
-
var _hoisted_2$43 = {
|
|
2092
|
+
var _hoisted_1$49 = {
|
|
2043
2093
|
key: 0,
|
|
2044
2094
|
class: "mint-settings-modal__tabs"
|
|
2045
2095
|
};
|
|
2046
|
-
var
|
|
2047
|
-
var
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
var
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2096
|
+
var _hoisted_2$44 = ["onClick"];
|
|
2097
|
+
var _hoisted_3$41 = {
|
|
2098
|
+
key: 1,
|
|
2099
|
+
class: "mint-settings-modal__rail",
|
|
2100
|
+
role: "tablist",
|
|
2101
|
+
"aria-orientation": "vertical",
|
|
2102
|
+
"aria-label": "Settings sections"
|
|
2103
|
+
};
|
|
2104
|
+
var _hoisted_4$36 = [
|
|
2105
|
+
"id",
|
|
2106
|
+
"aria-selected",
|
|
2107
|
+
"aria-controls",
|
|
2108
|
+
"tabindex",
|
|
2109
|
+
"onClick"
|
|
2110
|
+
];
|
|
2111
|
+
var _hoisted_5$34 = {
|
|
2112
|
+
class: "mint-settings-modal__rail-item-icon",
|
|
2113
|
+
"aria-hidden": "true"
|
|
2114
|
+
};
|
|
2115
|
+
var _hoisted_6$33 = ["innerHTML"];
|
|
2116
|
+
var _hoisted_7$29 = { class: "mint-settings-modal__rail-item-text" };
|
|
2117
|
+
var _hoisted_8$27 = { class: "mint-settings-modal__rail-item-label" };
|
|
2118
|
+
var _hoisted_9$27 = {
|
|
2119
|
+
key: 0,
|
|
2120
|
+
class: "mint-settings-modal__rail-item-description"
|
|
2121
|
+
};
|
|
2122
|
+
var _hoisted_10$26 = {
|
|
2123
|
+
key: 0,
|
|
2124
|
+
class: "mint-settings-modal__pane-header"
|
|
2125
|
+
};
|
|
2126
|
+
var _hoisted_11$26 = { class: "mint-settings-modal__pane-title" };
|
|
2127
|
+
var _hoisted_12$24 = {
|
|
2128
|
+
key: 0,
|
|
2129
|
+
class: "mint-settings-modal__pane-subtitle"
|
|
2130
|
+
};
|
|
2131
|
+
var _hoisted_13$24 = { key: 2 };
|
|
2132
|
+
var _hoisted_14$23 = { class: "mint-settings-modal__section" };
|
|
2133
|
+
var _hoisted_15$22 = { class: "mint-settings-modal__option-group" };
|
|
2134
|
+
var _hoisted_16$21 = ["onClick"];
|
|
2135
|
+
var _hoisted_17$21 = { class: "mint-settings-modal__section" };
|
|
2136
|
+
var _hoisted_18$21 = { class: "mint-settings-modal__option-group" };
|
|
2137
|
+
var _hoisted_19$19 = ["onClick"];
|
|
2138
|
+
var _hoisted_20$18 = { class: "mint-settings-modal__section" };
|
|
2139
|
+
var _hoisted_21$15 = { class: "mint-settings-modal__option-group" };
|
|
2140
|
+
var _hoisted_22$13 = ["onClick"];
|
|
2141
|
+
var APPEARANCE_TAB_ID = "appearance";
|
|
2058
2142
|
//#endregion
|
|
2059
2143
|
//#region src/components/SettingsModal.vue
|
|
2060
2144
|
var SettingsModal_default = /* @__PURE__ */ defineComponent({
|
|
@@ -2067,19 +2151,79 @@ var SettingsModal_default = /* @__PURE__ */ defineComponent({
|
|
|
2067
2151
|
type: Boolean,
|
|
2068
2152
|
default: true
|
|
2069
2153
|
},
|
|
2070
|
-
size: { default: "lg" }
|
|
2154
|
+
size: { default: "lg" },
|
|
2155
|
+
layout: { default: "horizontal" },
|
|
2156
|
+
schema: {},
|
|
2157
|
+
values: {},
|
|
2158
|
+
enhancements: {}
|
|
2071
2159
|
},
|
|
2072
|
-
emits: [
|
|
2160
|
+
emits: [
|
|
2161
|
+
"update:modelValue",
|
|
2162
|
+
"update:values",
|
|
2163
|
+
"close"
|
|
2164
|
+
],
|
|
2073
2165
|
setup(__props, { emit: __emit }) {
|
|
2074
|
-
/**
|
|
2166
|
+
/**
|
|
2167
|
+
* Tabbed settings modal with three usage modes:
|
|
2168
|
+
*
|
|
2169
|
+
* 1. Schema-driven (recommended) — pass `schema` + `v-model:values`. Each
|
|
2170
|
+
* group becomes a tab; fields auto-render via the SDK's FormFieldRenderer
|
|
2171
|
+
* registry (text, select, number, toggle, molecule, concentration, …).
|
|
2172
|
+
* Conditional visibility, validation, and dynamic options come for free.
|
|
2173
|
+
*
|
|
2174
|
+
* 2. Manual tabs + slots — pass `tabs` and a `<template #tab-{id}>` slot
|
|
2175
|
+
* per tab. Use this when you need bespoke widgets the form-builder
|
|
2176
|
+
* registry doesn't cover (or for legacy plugins).
|
|
2177
|
+
*
|
|
2178
|
+
* 3. Appearance only — `showAppearance` (default true) renders the built-in
|
|
2179
|
+
* theme / palette / table-density tab. Works alongside both modes above.
|
|
2180
|
+
*
|
|
2181
|
+
* Layout: `horizontal` (underline tabs, default) or `vertical` (sidebar rail
|
|
2182
|
+
* with optional icons + descriptions, recommended for 5+ groups).
|
|
2183
|
+
*/
|
|
2184
|
+
function buildFlatSchema(schema) {
|
|
2185
|
+
return { sections: schema.groups.map((g) => ({
|
|
2186
|
+
id: g.id,
|
|
2187
|
+
title: "",
|
|
2188
|
+
fields: g.fields,
|
|
2189
|
+
columns: g.columns,
|
|
2190
|
+
condition: g.condition
|
|
2191
|
+
})) };
|
|
2192
|
+
}
|
|
2075
2193
|
const props = __props;
|
|
2076
2194
|
const emit = __emit;
|
|
2077
2195
|
const settings = useSettingsStore();
|
|
2078
|
-
const
|
|
2079
|
-
id:
|
|
2080
|
-
label: "Appearance"
|
|
2081
|
-
|
|
2082
|
-
|
|
2196
|
+
const APPEARANCE_TAB = {
|
|
2197
|
+
id: APPEARANCE_TAB_ID,
|
|
2198
|
+
label: "Appearance",
|
|
2199
|
+
description: "Theme, color palette, and table density"
|
|
2200
|
+
};
|
|
2201
|
+
const isVertical = computed(() => props.layout === "vertical");
|
|
2202
|
+
const uid = `mint-settings-${Math.random().toString(36).slice(2, 9)}`;
|
|
2203
|
+
const tabId = (id) => `${uid}-tab-${id}`;
|
|
2204
|
+
const panelId = (id) => `${uid}-panel-${id}`;
|
|
2205
|
+
const builder = props.schema ? useFormBuilder(buildFlatSchema(props.schema), props.values, props.enhancements) : null;
|
|
2206
|
+
if (builder) watch(() => ({ ...builder.form.data }), (data) => emit("update:values", data), { deep: true });
|
|
2207
|
+
const visibleSchemaGroups = computed(() => builder && props.schema ? props.schema.groups.filter((g) => builder.isSectionVisible(g.id)) : []);
|
|
2208
|
+
const allTabs = computed(() => {
|
|
2209
|
+
const base = props.schema ? visibleSchemaGroups.value.map((g) => ({
|
|
2210
|
+
id: g.id,
|
|
2211
|
+
label: g.label,
|
|
2212
|
+
icon: g.icon,
|
|
2213
|
+
description: g.description
|
|
2214
|
+
})) : props.tabs;
|
|
2215
|
+
return props.showAppearance ? [...base, APPEARANCE_TAB] : base;
|
|
2216
|
+
});
|
|
2217
|
+
const activeTab = ref(allTabs.value[0]?.id || APPEARANCE_TAB_ID);
|
|
2218
|
+
const activeTabMeta = computed(() => allTabs.value.find((t) => t.id === activeTab.value));
|
|
2219
|
+
watch(allTabs, (tabs) => {
|
|
2220
|
+
if (!tabs.some((t) => t.id === activeTab.value)) activeTab.value = tabs[0]?.id ?? APPEARANCE_TAB_ID;
|
|
2221
|
+
});
|
|
2222
|
+
const activeGroup = computed(() => visibleSchemaGroups.value.find((g) => g.id === activeTab.value));
|
|
2223
|
+
const activeGroupVisibleFields = computed(() => {
|
|
2224
|
+
if (!activeGroup.value || !builder) return [];
|
|
2225
|
+
return activeGroup.value.fields.filter((f) => builder.isFieldVisible(f.name));
|
|
2226
|
+
});
|
|
2083
2227
|
const themeOptions = [
|
|
2084
2228
|
{
|
|
2085
2229
|
value: "light",
|
|
@@ -2120,46 +2264,97 @@ var SettingsModal_default = /* @__PURE__ */ defineComponent({
|
|
|
2120
2264
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event)),
|
|
2121
2265
|
onClose: handleClose
|
|
2122
2266
|
}, {
|
|
2123
|
-
default: withCtx(() => [createElementVNode("div",
|
|
2267
|
+
default: withCtx(() => [createElementVNode("div", { class: normalizeClass(["mint-settings-modal", `mint-settings-modal--${__props.layout}`]) }, [!isVertical.value && allTabs.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_1$49, [(openBlock(true), createElementBlock(Fragment, null, renderList(allTabs.value, (tab) => {
|
|
2124
2268
|
return openBlock(), createElementBlock("button", {
|
|
2125
2269
|
key: tab.id,
|
|
2126
2270
|
type: "button",
|
|
2127
2271
|
class: normalizeClass(["mint-settings-modal__tab", { "mint-settings-modal__tab--active": activeTab.value === tab.id }]),
|
|
2128
2272
|
onClick: ($event) => activeTab.value = tab.id
|
|
2129
|
-
}, toDisplayString(tab.label), 11,
|
|
2130
|
-
}), 128))])) :
|
|
2131
|
-
return
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2273
|
+
}, toDisplayString(tab.label), 11, _hoisted_2$44);
|
|
2274
|
+
}), 128))])) : isVertical.value ? (openBlock(), createElementBlock("div", _hoisted_3$41, [(openBlock(true), createElementBlock(Fragment, null, renderList(allTabs.value, (tab) => {
|
|
2275
|
+
return openBlock(), createElementBlock("button", {
|
|
2276
|
+
id: tabId(tab.id),
|
|
2277
|
+
key: tab.id,
|
|
2278
|
+
type: "button",
|
|
2279
|
+
role: "tab",
|
|
2280
|
+
class: normalizeClass(["mint-settings-modal__rail-item", { "mint-settings-modal__rail-item--active": activeTab.value === tab.id }]),
|
|
2281
|
+
"aria-selected": activeTab.value === tab.id,
|
|
2282
|
+
"aria-controls": panelId(tab.id),
|
|
2283
|
+
tabindex: activeTab.value === tab.id ? 0 : -1,
|
|
2284
|
+
onClick: ($event) => activeTab.value = tab.id
|
|
2285
|
+
}, [createElementVNode("span", _hoisted_5$34, [tab.icon ? (openBlock(), createElementBlock("span", {
|
|
2286
|
+
key: 0,
|
|
2287
|
+
innerHTML: tab.icon
|
|
2288
|
+
}, null, 8, _hoisted_6$33)) : createCommentVNode("", true)]), createElementVNode("span", _hoisted_7$29, [createElementVNode("span", _hoisted_8$27, toDisplayString(tab.label), 1), tab.description ? (openBlock(), createElementBlock("span", _hoisted_9$27, toDisplayString(tab.description), 1)) : createCommentVNode("", true)])], 10, _hoisted_4$36);
|
|
2289
|
+
}), 128))])) : createCommentVNode("", true), (openBlock(), createBlock(resolveDynamicComponent(isVertical.value ? "section" : "div"), {
|
|
2290
|
+
class: normalizeClass(isVertical.value ? "mint-settings-modal__pane" : "mint-settings-modal__content"),
|
|
2291
|
+
id: isVertical.value && activeTabMeta.value ? panelId(activeTabMeta.value.id) : void 0,
|
|
2292
|
+
role: isVertical.value ? "tabpanel" : void 0,
|
|
2293
|
+
"aria-labelledby": isVertical.value && activeTabMeta.value ? tabId(activeTabMeta.value.id) : void 0,
|
|
2294
|
+
tabindex: isVertical.value ? 0 : void 0
|
|
2295
|
+
}, {
|
|
2296
|
+
default: withCtx(() => [isVertical.value && activeTabMeta.value?.label ? (openBlock(), createElementBlock("header", _hoisted_10$26, [createElementVNode("h4", _hoisted_11$26, toDisplayString(activeTabMeta.value.label), 1), activeTabMeta.value.description ? (openBlock(), createElementBlock("p", _hoisted_12$24, toDisplayString(activeTabMeta.value.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(isVertical.value ? "mint-settings-modal__pane-body" : null) }, [__props.schema && unref(builder) && activeGroup.value ? (openBlock(), createElementBlock("div", {
|
|
2297
|
+
key: 0,
|
|
2298
|
+
class: "mint-settings-modal__group-grid",
|
|
2299
|
+
style: normalizeStyle({ "--mint-settings-cols": activeGroup.value.columns ?? 1 })
|
|
2300
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(activeGroupVisibleFields.value, (field) => {
|
|
2301
|
+
return openBlock(), createElementBlock("div", {
|
|
2302
|
+
key: field.name,
|
|
2303
|
+
style: normalizeStyle(field.colSpan ? { gridColumn: `span ${field.colSpan}` } : void 0)
|
|
2304
|
+
}, [renderSlot(_ctx.$slots, `field:${field.name}`, {
|
|
2305
|
+
field,
|
|
2306
|
+
form: unref(builder).form,
|
|
2307
|
+
fieldProps: unref(builder).form.getFieldProps(field.name)
|
|
2308
|
+
}, () => [createVNode(FormFieldRenderer_default, {
|
|
2309
|
+
field,
|
|
2310
|
+
"resolved-props": unref(builder).getResolvedFieldProps(field),
|
|
2311
|
+
form: unref(builder).form
|
|
2312
|
+
}, null, 8, [
|
|
2313
|
+
"field",
|
|
2314
|
+
"resolved-props",
|
|
2315
|
+
"form"
|
|
2316
|
+
])])], 4);
|
|
2317
|
+
}), 128))], 4)) : !unref(builder) ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(__props.tabs, (tab) => {
|
|
2318
|
+
return withDirectives((openBlock(), createElementBlock("div", { key: tab.id }, [renderSlot(_ctx.$slots, `tab-${tab.id}`)], 512)), [[vShow, activeTab.value === tab.id]]);
|
|
2319
|
+
}), 128)) : createCommentVNode("", true), __props.showAppearance ? withDirectives((openBlock(), createElementBlock("div", _hoisted_13$24, [
|
|
2320
|
+
createElementVNode("div", _hoisted_14$23, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "mint-settings-modal__section-label" }, "Theme", -1)), createElementVNode("div", _hoisted_15$22, [(openBlock(), createElementBlock(Fragment, null, renderList(themeOptions, (opt) => {
|
|
2152
2321
|
return createElementVNode("button", {
|
|
2153
2322
|
key: opt.value,
|
|
2154
2323
|
type: "button",
|
|
2155
|
-
class: normalizeClass(["mint-settings-modal__option-btn", { "mint-settings-modal__option-btn--active": unref(settings).
|
|
2156
|
-
onClick: ($event) => unref(settings).
|
|
2157
|
-
}, toDisplayString(opt.label), 11,
|
|
2158
|
-
}), 64))]),
|
|
2159
|
-
_cache[
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2324
|
+
class: normalizeClass(["mint-settings-modal__option-btn", { "mint-settings-modal__option-btn--active": unref(settings).theme === opt.value }]),
|
|
2325
|
+
onClick: ($event) => unref(settings).theme = opt.value
|
|
2326
|
+
}, toDisplayString(opt.label), 11, _hoisted_16$21);
|
|
2327
|
+
}), 64))])]),
|
|
2328
|
+
createElementVNode("div", _hoisted_17$21, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-settings-modal__section-label" }, "Color Palette", -1)), createElementVNode("div", _hoisted_18$21, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(colorPalettes), (palette, key) => {
|
|
2329
|
+
return openBlock(), createElementBlock("button", {
|
|
2330
|
+
key,
|
|
2331
|
+
type: "button",
|
|
2332
|
+
class: normalizeClass(["mint-settings-modal__option-btn", { "mint-settings-modal__option-btn--active": unref(settings).colorPalette === key }]),
|
|
2333
|
+
onClick: ($event) => unref(settings).colorPalette = key
|
|
2334
|
+
}, toDisplayString(palette.name), 11, _hoisted_19$19);
|
|
2335
|
+
}), 128))])]),
|
|
2336
|
+
createElementVNode("div", _hoisted_20$18, [
|
|
2337
|
+
_cache[3] || (_cache[3] = createElementVNode("div", { class: "mint-settings-modal__section-label" }, "Table Density", -1)),
|
|
2338
|
+
createElementVNode("div", _hoisted_21$15, [(openBlock(), createElementBlock(Fragment, null, renderList(densityOptions, (opt) => {
|
|
2339
|
+
return createElementVNode("button", {
|
|
2340
|
+
key: opt.value,
|
|
2341
|
+
type: "button",
|
|
2342
|
+
class: normalizeClass(["mint-settings-modal__option-btn", { "mint-settings-modal__option-btn--active": unref(settings).tableDensity === opt.value }]),
|
|
2343
|
+
onClick: ($event) => unref(settings).tableDensity = opt.value
|
|
2344
|
+
}, toDisplayString(opt.label), 11, _hoisted_22$13);
|
|
2345
|
+
}), 64))]),
|
|
2346
|
+
_cache[4] || (_cache[4] = createElementVNode("p", { class: "mint-settings-modal__note" }, "Adjusts row height in data tables.", -1))
|
|
2347
|
+
]),
|
|
2348
|
+
renderSlot(_ctx.$slots, "appearance")
|
|
2349
|
+
], 512)), [[vShow, activeTab.value === APPEARANCE_TAB_ID]]) : createCommentVNode("", true)], 2)]),
|
|
2350
|
+
_: 3
|
|
2351
|
+
}, 8, [
|
|
2352
|
+
"class",
|
|
2353
|
+
"id",
|
|
2354
|
+
"role",
|
|
2355
|
+
"aria-labelledby",
|
|
2356
|
+
"tabindex"
|
|
2357
|
+
]))], 2)]),
|
|
2163
2358
|
_: 3
|
|
2164
2359
|
}, 8, [
|
|
2165
2360
|
"model-value",
|
|
@@ -2171,12 +2366,12 @@ var SettingsModal_default = /* @__PURE__ */ defineComponent({
|
|
|
2171
2366
|
});
|
|
2172
2367
|
//#endregion
|
|
2173
2368
|
//#region src/components/ConfirmDialog.vue?vue&type=script&setup=true&lang.ts
|
|
2174
|
-
var _hoisted_1$
|
|
2175
|
-
var _hoisted_2$
|
|
2369
|
+
var _hoisted_1$48 = { class: "mint-confirm" };
|
|
2370
|
+
var _hoisted_2$43 = {
|
|
2176
2371
|
key: 1,
|
|
2177
2372
|
class: "mint-confirm__message"
|
|
2178
2373
|
};
|
|
2179
|
-
var _hoisted_3$
|
|
2374
|
+
var _hoisted_3$40 = { class: "mint-confirm__footer" };
|
|
2180
2375
|
var _hoisted_4$35 = ["disabled"];
|
|
2181
2376
|
var _hoisted_5$33 = ["disabled"];
|
|
2182
2377
|
var _hoisted_6$32 = {
|
|
@@ -2228,7 +2423,7 @@ var ConfirmDialog_default = /* @__PURE__ */ defineComponent({
|
|
|
2228
2423
|
"close-on-escape": !__props.loading,
|
|
2229
2424
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event))
|
|
2230
2425
|
}, {
|
|
2231
|
-
footer: withCtx(() => [createElementVNode("div", _hoisted_3$
|
|
2426
|
+
footer: withCtx(() => [createElementVNode("div", _hoisted_3$40, [createElementVNode("button", {
|
|
2232
2427
|
type: "button",
|
|
2233
2428
|
class: "mint-confirm__btn-cancel",
|
|
2234
2429
|
disabled: __props.loading,
|
|
@@ -2250,12 +2445,12 @@ var ConfirmDialog_default = /* @__PURE__ */ defineComponent({
|
|
|
2250
2445
|
fill: "currentColor",
|
|
2251
2446
|
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"
|
|
2252
2447
|
}, null, -1)])])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(__props.confirmLabel), 1)], 10, _hoisted_5$33)])]),
|
|
2253
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
2448
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$48, [
|
|
2254
2449
|
_ctx.$slots.icon ? (openBlock(), createElementBlock("div", {
|
|
2255
2450
|
key: 0,
|
|
2256
2451
|
class: normalizeClass(["mint-confirm__icon", `mint-confirm__icon--${__props.variant}`])
|
|
2257
2452
|
}, [renderSlot(_ctx.$slots, "icon")], 2)) : createCommentVNode("", true),
|
|
2258
|
-
__props.message ? (openBlock(), createElementBlock("p", _hoisted_2$
|
|
2453
|
+
__props.message ? (openBlock(), createElementBlock("p", _hoisted_2$43, toDisplayString(__props.message), 1)) : createCommentVNode("", true),
|
|
2259
2454
|
renderSlot(_ctx.$slots, "default")
|
|
2260
2455
|
])]),
|
|
2261
2456
|
_: 3
|
|
@@ -2272,12 +2467,12 @@ var ConfirmDialog_default = /* @__PURE__ */ defineComponent({
|
|
|
2272
2467
|
});
|
|
2273
2468
|
//#endregion
|
|
2274
2469
|
//#region src/components/ExperimentPopover.vue?vue&type=script&setup=true&lang.ts
|
|
2275
|
-
var _hoisted_1$
|
|
2276
|
-
var _hoisted_2$
|
|
2470
|
+
var _hoisted_1$47 = ["title"];
|
|
2471
|
+
var _hoisted_2$42 = {
|
|
2277
2472
|
key: 0,
|
|
2278
2473
|
class: "mint-experiment-popover__trigger-code"
|
|
2279
2474
|
};
|
|
2280
|
-
var _hoisted_3$
|
|
2475
|
+
var _hoisted_3$39 = {
|
|
2281
2476
|
key: 1,
|
|
2282
2477
|
class: "mint-experiment-popover__trigger-text"
|
|
2283
2478
|
};
|
|
@@ -2450,7 +2645,7 @@ var ExperimentPopover_default = /* @__PURE__ */ defineComponent({
|
|
|
2450
2645
|
"stroke-width": "1.75",
|
|
2451
2646
|
d: "M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"
|
|
2452
2647
|
})], -1)),
|
|
2453
|
-
__props.experimentCode ? (openBlock(), createElementBlock("span", _hoisted_2$
|
|
2648
|
+
__props.experimentCode ? (openBlock(), createElementBlock("span", _hoisted_2$42, toDisplayString(__props.experimentCode), 1)) : __props.experimentName ? (openBlock(), createElementBlock("span", _hoisted_3$39, toDisplayString(__props.experimentName), 1)) : (openBlock(), createElementBlock("span", _hoisted_4$34, "No experiment")),
|
|
2454
2649
|
_cache[2] || (_cache[2] = createElementVNode("svg", {
|
|
2455
2650
|
class: "mint-experiment-popover__trigger-chevron",
|
|
2456
2651
|
viewBox: "0 0 24 24",
|
|
@@ -2460,7 +2655,7 @@ var ExperimentPopover_default = /* @__PURE__ */ defineComponent({
|
|
|
2460
2655
|
"stroke-linecap": "round",
|
|
2461
2656
|
"stroke-linejoin": "round"
|
|
2462
2657
|
}, [createElementVNode("path", { d: "m6 9 6 6 6-6" })], -1))
|
|
2463
|
-
], 10, _hoisted_1$
|
|
2658
|
+
], 10, _hoisted_1$47), __props.showSave && __props.experimentName ? (openBlock(), createElementBlock("button", {
|
|
2464
2659
|
key: 0,
|
|
2465
2660
|
type: "button",
|
|
2466
2661
|
class: normalizeClass([
|
|
@@ -2599,9 +2794,9 @@ var Skeleton_default = /* @__PURE__ */ defineComponent({
|
|
|
2599
2794
|
});
|
|
2600
2795
|
//#endregion
|
|
2601
2796
|
//#region src/components/EmptyState.vue?vue&type=script&setup=true&lang.ts
|
|
2602
|
-
var _hoisted_1$
|
|
2603
|
-
var _hoisted_2$
|
|
2604
|
-
var _hoisted_3$
|
|
2797
|
+
var _hoisted_1$46 = ["d"];
|
|
2798
|
+
var _hoisted_2$41 = ["d"];
|
|
2799
|
+
var _hoisted_3$38 = { class: "mint-empty-state__body" };
|
|
2605
2800
|
var _hoisted_4$33 = {
|
|
2606
2801
|
key: 0,
|
|
2607
2802
|
class: "mint-empty-state__title"
|
|
@@ -2654,13 +2849,13 @@ var EmptyState_default = /* @__PURE__ */ defineComponent({
|
|
|
2654
2849
|
}, [__props.iconPath ? (openBlock(), createElementBlock("path", {
|
|
2655
2850
|
key: 0,
|
|
2656
2851
|
d: __props.iconPath
|
|
2657
|
-
}, null, 8, _hoisted_1$
|
|
2852
|
+
}, null, 8, _hoisted_1$46)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, renderList(defaultIconPaths, (d, i) => {
|
|
2658
2853
|
return createElementVNode("path", {
|
|
2659
2854
|
key: i,
|
|
2660
2855
|
d
|
|
2661
|
-
}, null, 8, _hoisted_2$
|
|
2856
|
+
}, null, 8, _hoisted_2$41);
|
|
2662
2857
|
}), 64))], 2))])], 2),
|
|
2663
|
-
createElementVNode("div", _hoisted_3$
|
|
2858
|
+
createElementVNode("div", _hoisted_3$38, [
|
|
2664
2859
|
__props.title ? (openBlock(), createElementBlock("h3", _hoisted_4$33, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
2665
2860
|
__props.description ? (openBlock(), createElementBlock("p", _hoisted_5$31, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
|
|
2666
2861
|
renderSlot(_ctx.$slots, "default")
|
|
@@ -2675,7 +2870,7 @@ var EmptyState_default = /* @__PURE__ */ defineComponent({
|
|
|
2675
2870
|
});
|
|
2676
2871
|
//#endregion
|
|
2677
2872
|
//#region src/components/ExperimentCodeBadge.vue?vue&type=script&setup=true&lang.ts
|
|
2678
|
-
var _hoisted_1$
|
|
2873
|
+
var _hoisted_1$45 = [
|
|
2679
2874
|
"role",
|
|
2680
2875
|
"tabindex",
|
|
2681
2876
|
"title"
|
|
@@ -2733,15 +2928,15 @@ var ExperimentCodeBadge_default = /* @__PURE__ */ defineComponent({
|
|
|
2733
2928
|
title: __props.copyable ? copied.value ? "Copied!" : "Click to copy" : void 0,
|
|
2734
2929
|
onClick: handleCopy,
|
|
2735
2930
|
onKeydown: handleKeydown
|
|
2736
|
-
}, toDisplayString(copied.value ? "Copied!" : __props.code), 43, _hoisted_1$
|
|
2931
|
+
}, toDisplayString(copied.value ? "Copied!" : __props.code), 43, _hoisted_1$45);
|
|
2737
2932
|
};
|
|
2738
2933
|
}
|
|
2739
2934
|
});
|
|
2740
2935
|
//#endregion
|
|
2741
2936
|
//#region src/components/ExperimentSelectorModal.vue?vue&type=script&setup=true&lang.ts
|
|
2742
|
-
var _hoisted_1$
|
|
2743
|
-
var _hoisted_2$
|
|
2744
|
-
var _hoisted_3$
|
|
2937
|
+
var _hoisted_1$44 = { class: "mint-experiment-selector__filters-row" };
|
|
2938
|
+
var _hoisted_2$40 = { class: "mint-experiment-selector__search" };
|
|
2939
|
+
var _hoisted_3$37 = { class: "mint-experiment-selector__filter-select" };
|
|
2745
2940
|
var _hoisted_4$32 = {
|
|
2746
2941
|
key: 0,
|
|
2747
2942
|
class: "mint-experiment-selector__filter-select"
|
|
@@ -2909,15 +3104,15 @@ var ExperimentSelectorModal_default = /* @__PURE__ */ defineComponent({
|
|
|
2909
3104
|
class: "mint-experiment-selector",
|
|
2910
3105
|
onKeydown: handleKeydown
|
|
2911
3106
|
}, [
|
|
2912
|
-
createElementVNode("div", _hoisted_1$
|
|
2913
|
-
createElementVNode("div", _hoisted_2$
|
|
3107
|
+
createElementVNode("div", _hoisted_1$44, [
|
|
3108
|
+
createElementVNode("div", _hoisted_2$40, [createVNode(BaseInput_default, {
|
|
2914
3109
|
modelValue: unref(filters).search,
|
|
2915
3110
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(filters).search = $event),
|
|
2916
3111
|
placeholder: "Search experiments...",
|
|
2917
3112
|
size: "sm",
|
|
2918
3113
|
type: "search"
|
|
2919
3114
|
}, null, 8, ["modelValue"])]),
|
|
2920
|
-
createElementVNode("div", _hoisted_3$
|
|
3115
|
+
createElementVNode("div", _hoisted_3$37, [createVNode(BaseSelect_default, {
|
|
2921
3116
|
"model-value": unref(filters).status ?? "",
|
|
2922
3117
|
options: unref(EXPERIMENT_STATUS_OPTIONS),
|
|
2923
3118
|
size: "sm",
|
|
@@ -3117,9 +3312,9 @@ var ExperimentSelectorModal_default = /* @__PURE__ */ defineComponent({
|
|
|
3117
3312
|
});
|
|
3118
3313
|
//#endregion
|
|
3119
3314
|
//#region src/components/AppPageSelector.vue?vue&type=script&setup=true&lang.ts
|
|
3120
|
-
var _hoisted_1$
|
|
3121
|
-
var _hoisted_2$
|
|
3122
|
-
var _hoisted_3$
|
|
3315
|
+
var _hoisted_1$43 = ["aria-expanded"];
|
|
3316
|
+
var _hoisted_2$39 = { class: "mint-page-selector__label" };
|
|
3317
|
+
var _hoisted_3$36 = {
|
|
3123
3318
|
class: "mint-page-selector__chevron-wrap",
|
|
3124
3319
|
"aria-hidden": "true"
|
|
3125
3320
|
};
|
|
@@ -3206,7 +3401,7 @@ var AppPageSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
3206
3401
|
"aria-expanded": isOpen.value,
|
|
3207
3402
|
"aria-haspopup": "menu",
|
|
3208
3403
|
onClick: withModifiers(toggle, ["stop"])
|
|
3209
|
-
}, [createElementVNode("span", _hoisted_2$
|
|
3404
|
+
}, [createElementVNode("span", _hoisted_2$39, toDisplayString(current.value?.label ?? __props.placeholder), 1), createElementVNode("span", _hoisted_3$36, [(openBlock(), createElementBlock("svg", {
|
|
3210
3405
|
class: normalizeClass(["mint-page-selector__chevron", { "mint-page-selector__chevron--open": isOpen.value }]),
|
|
3211
3406
|
viewBox: "0 0 24 24",
|
|
3212
3407
|
fill: "none",
|
|
@@ -3214,7 +3409,7 @@ var AppPageSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
3214
3409
|
"stroke-width": "2",
|
|
3215
3410
|
"stroke-linecap": "round",
|
|
3216
3411
|
"stroke-linejoin": "round"
|
|
3217
|
-
}, [..._cache[2] || (_cache[2] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])], 10, _hoisted_1$
|
|
3412
|
+
}, [..._cache[2] || (_cache[2] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])], 10, _hoisted_1$43), isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_4$31, [_cache[3] || (_cache[3] = createElementVNode("div", { class: "mint-page-selector__menu-title" }, "Go to", -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.pages, (page) => {
|
|
3218
3413
|
return openBlock(), createElementBlock(Fragment, { key: page.id }, [page.href ? (openBlock(), createElementBlock("a", {
|
|
3219
3414
|
key: 0,
|
|
3220
3415
|
href: page.href,
|
|
@@ -3268,12 +3463,12 @@ var AppPageSelector_default = /* @__PURE__ */ defineComponent({
|
|
|
3268
3463
|
});
|
|
3269
3464
|
//#endregion
|
|
3270
3465
|
//#region src/components/AppPillNav.vue?vue&type=script&setup=true&lang.ts
|
|
3271
|
-
var _hoisted_1$
|
|
3466
|
+
var _hoisted_1$42 = {
|
|
3272
3467
|
class: "mint-pill-nav",
|
|
3273
3468
|
"aria-label": "Primary"
|
|
3274
3469
|
};
|
|
3275
|
-
var _hoisted_2$
|
|
3276
|
-
var _hoisted_3$
|
|
3470
|
+
var _hoisted_2$38 = ["href"];
|
|
3471
|
+
var _hoisted_3$35 = ["disabled", "onClick"];
|
|
3277
3472
|
//#endregion
|
|
3278
3473
|
//#region src/components/AppPillNav.vue
|
|
3279
3474
|
var AppPillNav_default = /* @__PURE__ */ defineComponent({
|
|
@@ -3292,7 +3487,7 @@ var AppPillNav_default = /* @__PURE__ */ defineComponent({
|
|
|
3292
3487
|
}
|
|
3293
3488
|
return (_ctx, _cache) => {
|
|
3294
3489
|
const _component_router_link = resolveComponent("router-link");
|
|
3295
|
-
return openBlock(), createElementBlock("nav", _hoisted_1$
|
|
3490
|
+
return openBlock(), createElementBlock("nav", _hoisted_1$42, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
3296
3491
|
return openBlock(), createElementBlock(Fragment, { key: item.id }, [item.href ? (openBlock(), createElementBlock("a", {
|
|
3297
3492
|
key: 0,
|
|
3298
3493
|
href: item.href,
|
|
@@ -3301,7 +3496,7 @@ var AppPillNav_default = /* @__PURE__ */ defineComponent({
|
|
|
3301
3496
|
{ "mint-pill-nav__item--active": item.id === __props.currentItemId },
|
|
3302
3497
|
{ "mint-pill-nav__item--disabled": item.disabled }
|
|
3303
3498
|
])
|
|
3304
|
-
}, toDisplayString(item.label), 11, _hoisted_2$
|
|
3499
|
+
}, toDisplayString(item.label), 11, _hoisted_2$38)) : item.to ? (openBlock(), createBlock(_component_router_link, {
|
|
3305
3500
|
key: 1,
|
|
3306
3501
|
to: item.to,
|
|
3307
3502
|
class: normalizeClass([
|
|
@@ -3322,16 +3517,16 @@ var AppPillNav_default = /* @__PURE__ */ defineComponent({
|
|
|
3322
3517
|
]),
|
|
3323
3518
|
disabled: item.disabled,
|
|
3324
3519
|
onClick: ($event) => handleClick(item)
|
|
3325
|
-
}, toDisplayString(item.label), 11, _hoisted_3$
|
|
3520
|
+
}, toDisplayString(item.label), 11, _hoisted_3$35))], 64);
|
|
3326
3521
|
}), 128))]);
|
|
3327
3522
|
};
|
|
3328
3523
|
}
|
|
3329
3524
|
});
|
|
3330
3525
|
//#endregion
|
|
3331
3526
|
//#region src/components/AppAvatarMenu.vue?vue&type=script&setup=true&lang.ts
|
|
3332
|
-
var _hoisted_1$
|
|
3333
|
-
var _hoisted_2$
|
|
3334
|
-
var _hoisted_3$
|
|
3527
|
+
var _hoisted_1$41 = ["aria-expanded", "title"];
|
|
3528
|
+
var _hoisted_2$37 = { class: "mint-avatar-menu__avatar" };
|
|
3529
|
+
var _hoisted_3$34 = {
|
|
3335
3530
|
key: 0,
|
|
3336
3531
|
class: "mint-avatar-menu__name"
|
|
3337
3532
|
};
|
|
@@ -3474,7 +3669,7 @@ var AppAvatarMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
3474
3669
|
"aria-haspopup": "menu",
|
|
3475
3670
|
title: __props.userName ? `${__props.userName} · Account menu` : "Account menu",
|
|
3476
3671
|
onClick: withModifiers(toggle, ["stop"])
|
|
3477
|
-
}, [createElementVNode("span", _hoisted_2$
|
|
3672
|
+
}, [createElementVNode("span", _hoisted_2$37, [renderSlot(_ctx.$slots, "avatar", { initials: initials.value }, () => [createTextVNode(toDisplayString(initials.value), 1)])]), __props.userName ? (openBlock(), createElementBlock("span", _hoisted_3$34, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)], 10, _hoisted_1$41), isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_4$30, [
|
|
3478
3673
|
__props.userName || __props.userEmail ? (openBlock(), createElementBlock("div", _hoisted_5$28, [__props.userName ? (openBlock(), createElementBlock("div", _hoisted_6$27, toDisplayString(__props.userName), 1)) : createCommentVNode("", true), __props.userEmail ? (openBlock(), createElementBlock("div", _hoisted_7$25, toDisplayString(__props.userEmail), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
3479
3674
|
renderSlot(_ctx.$slots, "items", { close: () => isOpen.value = false }, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
3480
3675
|
return openBlock(), createElementBlock(Fragment, { key: item.id }, [item.divider ? (openBlock(), createElementBlock("div", _hoisted_8$23)) : item.href ? (openBlock(), createElementBlock("a", {
|
|
@@ -3531,9 +3726,9 @@ var AppAvatarMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
3531
3726
|
});
|
|
3532
3727
|
//#endregion
|
|
3533
3728
|
//#region src/components/AppPluginSwitcher.vue?vue&type=script&setup=true&lang.ts
|
|
3534
|
-
var _hoisted_1$
|
|
3535
|
-
var _hoisted_2$
|
|
3536
|
-
var _hoisted_3$
|
|
3729
|
+
var _hoisted_1$40 = ["aria-expanded"];
|
|
3730
|
+
var _hoisted_2$36 = { class: "mint-plugin-switcher__label" };
|
|
3731
|
+
var _hoisted_3$33 = {
|
|
3537
3732
|
key: 0,
|
|
3538
3733
|
class: "mint-plugin-switcher__version"
|
|
3539
3734
|
};
|
|
@@ -3667,8 +3862,8 @@ var AppPluginSwitcher_default = /* @__PURE__ */ defineComponent({
|
|
|
3667
3862
|
"aria-haspopup": "menu",
|
|
3668
3863
|
onClick: withModifiers(toggle, ["stop"])
|
|
3669
3864
|
}, [
|
|
3670
|
-
createElementVNode("span", _hoisted_2$
|
|
3671
|
-
__props.current.version ? (openBlock(), createElementBlock("span", _hoisted_3$
|
|
3865
|
+
createElementVNode("span", _hoisted_2$36, toDisplayString(__props.current.label), 1),
|
|
3866
|
+
__props.current.version ? (openBlock(), createElementBlock("span", _hoisted_3$33, "v" + toDisplayString(__props.current.version), 1)) : createCommentVNode("", true),
|
|
3672
3867
|
createElementVNode("span", _hoisted_4$29, [(openBlock(), createElementBlock("svg", {
|
|
3673
3868
|
class: normalizeClass(["mint-plugin-switcher__chevron", { "mint-plugin-switcher__chevron--open": isOpen.value }]),
|
|
3674
3869
|
viewBox: "0 0 24 24",
|
|
@@ -3678,7 +3873,7 @@ var AppPluginSwitcher_default = /* @__PURE__ */ defineComponent({
|
|
|
3678
3873
|
"stroke-linecap": "round",
|
|
3679
3874
|
"stroke-linejoin": "round"
|
|
3680
3875
|
}, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])
|
|
3681
|
-
], 10, _hoisted_1$
|
|
3876
|
+
], 10, _hoisted_1$40), isOpen.value ? (openBlock(), createElementBlock("div", _hoisted_5$27, [
|
|
3682
3877
|
_cache[6] || (_cache[6] = createElementVNode("div", { class: "mint-plugin-switcher__menu-title" }, "Switch plugin", -1)),
|
|
3683
3878
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.plugins, (plugin) => {
|
|
3684
3879
|
return openBlock(), createElementBlock(Fragment, { key: plugin.id }, [plugin.href ? (openBlock(), createElementBlock("a", {
|
|
@@ -3790,78 +3985,116 @@ var AppPluginSwitcher_default = /* @__PURE__ */ defineComponent({
|
|
|
3790
3985
|
}
|
|
3791
3986
|
});
|
|
3792
3987
|
//#endregion
|
|
3793
|
-
//#region src/components/
|
|
3794
|
-
var _hoisted_1$
|
|
3795
|
-
var _hoisted_2$34 = { class: "mint-topbar__brand" };
|
|
3796
|
-
var _hoisted_3$31 = ["href"];
|
|
3797
|
-
var _hoisted_4$28 = {
|
|
3798
|
-
key: 0,
|
|
3799
|
-
class: "mint-topbar__logo"
|
|
3800
|
-
};
|
|
3801
|
-
var _hoisted_5$26 = { class: "mint-topbar__logo-icon" };
|
|
3802
|
-
var _hoisted_6$25 = {
|
|
3803
|
-
class: "mint-topbar__logo-svg",
|
|
3804
|
-
viewBox: "0 0 24 24",
|
|
3805
|
-
fill: "none",
|
|
3806
|
-
stroke: "currentColor",
|
|
3807
|
-
"stroke-width": "2",
|
|
3808
|
-
"stroke-linecap": "round",
|
|
3809
|
-
"stroke-linejoin": "round"
|
|
3810
|
-
};
|
|
3811
|
-
var _hoisted_7$23 = ["d"];
|
|
3812
|
-
var _hoisted_8$21 = {
|
|
3988
|
+
//#region src/components/PluginIcon.vue?vue&type=script&setup=true&lang.ts
|
|
3989
|
+
var _hoisted_1$39 = {
|
|
3813
3990
|
key: 0,
|
|
3814
|
-
class: "mint-
|
|
3815
|
-
};
|
|
3816
|
-
var _hoisted_9$21 = {
|
|
3817
|
-
key: 0,
|
|
3818
|
-
class: "mint-topbar__logo"
|
|
3819
|
-
};
|
|
3820
|
-
var _hoisted_10$20 = { class: "mint-topbar__logo-icon" };
|
|
3821
|
-
var _hoisted_11$20 = {
|
|
3822
|
-
class: "mint-topbar__logo-svg",
|
|
3991
|
+
class: "mint-plugin-icon__svg",
|
|
3823
3992
|
viewBox: "0 0 24 24",
|
|
3824
3993
|
fill: "none",
|
|
3825
3994
|
stroke: "currentColor",
|
|
3826
3995
|
"stroke-width": "2",
|
|
3827
3996
|
"stroke-linecap": "round",
|
|
3828
|
-
"stroke-linejoin": "round"
|
|
3997
|
+
"stroke-linejoin": "round",
|
|
3998
|
+
"aria-hidden": "true"
|
|
3829
3999
|
};
|
|
3830
|
-
var
|
|
3831
|
-
var
|
|
4000
|
+
var _hoisted_2$35 = ["d"];
|
|
4001
|
+
var _hoisted_3$32 = ["src"];
|
|
4002
|
+
var 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";
|
|
4003
|
+
//#endregion
|
|
4004
|
+
//#region src/components/PluginIcon.vue
|
|
4005
|
+
var PluginIcon_default = /* @__PURE__ */ defineComponent({
|
|
4006
|
+
name: "PluginIcon",
|
|
4007
|
+
__name: "PluginIcon",
|
|
4008
|
+
props: {
|
|
4009
|
+
icon: {},
|
|
4010
|
+
size: { default: "md" },
|
|
4011
|
+
variant: { default: "solid" },
|
|
4012
|
+
tone: {}
|
|
4013
|
+
},
|
|
4014
|
+
setup(__props) {
|
|
4015
|
+
/** Renders a plugin's icon as a sized chip. Auto-detects format:
|
|
4016
|
+
* - SVG path data (e.g. "M13 10V3...") → inline <svg><path>
|
|
4017
|
+
* - Raster data URL (data:image/png|jpeg|jpg|gif|webp;...) → <img>
|
|
4018
|
+
* - https:// URL → <img> with no-referrer + lazy loading
|
|
4019
|
+
* - Anything else → MINT canonical plugin placeholder path
|
|
4020
|
+
*
|
|
4021
|
+
* http:// URLs and data:image/svg+xml URLs are deliberately rejected
|
|
4022
|
+
* (mixed-content + XSS, see spec 2026-05-04-plugin-icon-component-design.md). */
|
|
4023
|
+
const props = __props;
|
|
4024
|
+
const PATH_REGEX = /^[Mm][\s,\d\-.]/;
|
|
4025
|
+
const RASTER_DATA_URL_REGEX = /^data:image\/(png|jpeg|jpg|gif|webp);/;
|
|
4026
|
+
const detected = computed(() => {
|
|
4027
|
+
const raw = (props.icon ?? "").replace(/^[\s]+/, "");
|
|
4028
|
+
if (!raw) return {
|
|
4029
|
+
format: "fallback",
|
|
4030
|
+
value: FALLBACK_PATH
|
|
4031
|
+
};
|
|
4032
|
+
if (PATH_REGEX.test(raw)) return {
|
|
4033
|
+
format: "path",
|
|
4034
|
+
value: raw
|
|
4035
|
+
};
|
|
4036
|
+
if (RASTER_DATA_URL_REGEX.test(raw)) return {
|
|
4037
|
+
format: "data-url",
|
|
4038
|
+
value: raw
|
|
4039
|
+
};
|
|
4040
|
+
if (raw.startsWith("https://")) return {
|
|
4041
|
+
format: "https-url",
|
|
4042
|
+
value: raw
|
|
4043
|
+
};
|
|
4044
|
+
return {
|
|
4045
|
+
format: "fallback",
|
|
4046
|
+
value: FALLBACK_PATH
|
|
4047
|
+
};
|
|
4048
|
+
});
|
|
4049
|
+
const rootClasses = computed(() => [
|
|
4050
|
+
"mint-plugin-icon",
|
|
4051
|
+
`mint-plugin-icon--${props.size}`,
|
|
4052
|
+
`mint-plugin-icon--${props.variant}`
|
|
4053
|
+
]);
|
|
4054
|
+
const rootStyle = computed(() => props.tone ? { "--mint-plugin-icon-tone": props.tone } : void 0);
|
|
4055
|
+
return (_ctx, _cache) => {
|
|
4056
|
+
return openBlock(), createElementBlock("span", {
|
|
4057
|
+
class: normalizeClass(rootClasses.value),
|
|
4058
|
+
style: normalizeStyle(rootStyle.value)
|
|
4059
|
+
}, [detected.value.format === "path" || detected.value.format === "fallback" ? (openBlock(), createElementBlock("svg", _hoisted_1$39, [createElementVNode("path", { d: detected.value.value }, null, 8, _hoisted_2$35)])) : (openBlock(), createElementBlock("img", {
|
|
4060
|
+
key: 1,
|
|
4061
|
+
class: "mint-plugin-icon__img",
|
|
4062
|
+
src: detected.value.value,
|
|
4063
|
+
alt: "",
|
|
4064
|
+
referrerpolicy: "no-referrer",
|
|
4065
|
+
loading: "lazy"
|
|
4066
|
+
}, null, 8, _hoisted_3$32))], 6);
|
|
4067
|
+
};
|
|
4068
|
+
}
|
|
4069
|
+
});
|
|
4070
|
+
//#endregion
|
|
4071
|
+
//#region src/components/AppTopBar.vue?vue&type=script&setup=true&lang.ts
|
|
4072
|
+
var _hoisted_1$38 = { class: "mint-topbar__container" };
|
|
4073
|
+
var _hoisted_2$34 = { class: "mint-topbar__brand" };
|
|
4074
|
+
var _hoisted_3$31 = ["href"];
|
|
4075
|
+
var _hoisted_4$28 = {
|
|
3832
4076
|
key: 0,
|
|
3833
4077
|
class: "mint-topbar__logo"
|
|
3834
4078
|
};
|
|
3835
|
-
var
|
|
4079
|
+
var _hoisted_5$26 = {
|
|
3836
4080
|
key: 0,
|
|
3837
4081
|
class: "mint-topbar__logo"
|
|
3838
4082
|
};
|
|
3839
|
-
var
|
|
3840
|
-
var _hoisted_16$15 = {
|
|
3841
|
-
class: "mint-topbar__logo-svg",
|
|
3842
|
-
viewBox: "0 0 24 24",
|
|
3843
|
-
fill: "none",
|
|
3844
|
-
stroke: "currentColor",
|
|
3845
|
-
"stroke-width": "2",
|
|
3846
|
-
"stroke-linecap": "round",
|
|
3847
|
-
"stroke-linejoin": "round"
|
|
3848
|
-
};
|
|
3849
|
-
var _hoisted_17$15 = ["d"];
|
|
3850
|
-
var _hoisted_18$15 = {
|
|
4083
|
+
var _hoisted_6$25 = {
|
|
3851
4084
|
key: 0,
|
|
3852
4085
|
class: "mint-topbar__logo"
|
|
3853
4086
|
};
|
|
3854
|
-
var
|
|
4087
|
+
var _hoisted_7$23 = {
|
|
3855
4088
|
key: 2,
|
|
3856
4089
|
class: "mint-topbar-title-group"
|
|
3857
4090
|
};
|
|
3858
|
-
var
|
|
3859
|
-
var
|
|
3860
|
-
var
|
|
4091
|
+
var _hoisted_8$21 = { class: "mint-topbar-title" };
|
|
4092
|
+
var _hoisted_9$21 = { class: "mint-topbar-subtitle" };
|
|
4093
|
+
var _hoisted_10$20 = {
|
|
3861
4094
|
key: 1,
|
|
3862
4095
|
class: "mint-topbar-plugin-name--static"
|
|
3863
4096
|
};
|
|
3864
|
-
var
|
|
4097
|
+
var _hoisted_11$20 = {
|
|
3865
4098
|
key: 2,
|
|
3866
4099
|
class: "mint-topbar-separator",
|
|
3867
4100
|
width: "16",
|
|
@@ -3873,85 +4106,84 @@ var _hoisted_23$9 = {
|
|
|
3873
4106
|
"stroke-linecap": "round",
|
|
3874
4107
|
"stroke-linejoin": "round"
|
|
3875
4108
|
};
|
|
3876
|
-
var
|
|
4109
|
+
var _hoisted_12$18 = {
|
|
3877
4110
|
key: 3,
|
|
3878
4111
|
class: "mint-topbar-current-page"
|
|
3879
4112
|
};
|
|
3880
|
-
var
|
|
3881
|
-
var
|
|
3882
|
-
var
|
|
3883
|
-
var
|
|
4113
|
+
var _hoisted_13$18 = { class: "mint-topbar-dropdown" };
|
|
4114
|
+
var _hoisted_14$17 = ["href"];
|
|
4115
|
+
var _hoisted_15$16 = { class: "mint-topbar-dropdown-item__label" };
|
|
4116
|
+
var _hoisted_16$15 = {
|
|
3884
4117
|
key: 0,
|
|
3885
4118
|
class: "mint-topbar-dropdown-item__description"
|
|
3886
4119
|
};
|
|
3887
|
-
var
|
|
3888
|
-
var
|
|
4120
|
+
var _hoisted_17$15 = { class: "mint-topbar-dropdown-item__label" };
|
|
4121
|
+
var _hoisted_18$15 = {
|
|
3889
4122
|
key: 0,
|
|
3890
4123
|
class: "mint-topbar-dropdown-item__description"
|
|
3891
4124
|
};
|
|
3892
|
-
var
|
|
3893
|
-
var
|
|
3894
|
-
var
|
|
4125
|
+
var _hoisted_19$15 = ["onClick"];
|
|
4126
|
+
var _hoisted_20$15 = { class: "mint-topbar-dropdown-item__label" };
|
|
4127
|
+
var _hoisted_21$13 = {
|
|
3895
4128
|
key: 0,
|
|
3896
4129
|
class: "mint-topbar-dropdown-item__description"
|
|
3897
4130
|
};
|
|
3898
|
-
var
|
|
4131
|
+
var _hoisted_22$11 = {
|
|
3899
4132
|
key: 4,
|
|
3900
4133
|
class: "mint-topbar__title-only"
|
|
3901
4134
|
};
|
|
3902
|
-
var
|
|
4135
|
+
var _hoisted_23$9 = {
|
|
3903
4136
|
key: 5,
|
|
3904
4137
|
class: "mint-topbar__center"
|
|
3905
4138
|
};
|
|
3906
|
-
var
|
|
4139
|
+
var _hoisted_24$9 = {
|
|
3907
4140
|
key: 6,
|
|
3908
4141
|
class: "mint-topbar__center"
|
|
3909
4142
|
};
|
|
3910
|
-
var
|
|
3911
|
-
var
|
|
3912
|
-
var
|
|
3913
|
-
var
|
|
3914
|
-
var
|
|
4143
|
+
var _hoisted_25$8 = { class: "mint-topbar__tabs" };
|
|
4144
|
+
var _hoisted_26$8 = ["onClick"];
|
|
4145
|
+
var _hoisted_27$7 = ["href"];
|
|
4146
|
+
var _hoisted_28$6 = ["onClick"];
|
|
4147
|
+
var _hoisted_29$6 = {
|
|
3915
4148
|
key: 4,
|
|
3916
4149
|
class: "mint-topbar-tab-dropdown"
|
|
3917
4150
|
};
|
|
3918
|
-
var
|
|
3919
|
-
var
|
|
3920
|
-
var
|
|
4151
|
+
var _hoisted_30$6 = ["href"];
|
|
4152
|
+
var _hoisted_31$6 = { class: "mint-topbar-dropdown-item__label" };
|
|
4153
|
+
var _hoisted_32$6 = {
|
|
3921
4154
|
key: 0,
|
|
3922
4155
|
class: "mint-topbar-dropdown-item__description"
|
|
3923
4156
|
};
|
|
3924
|
-
var
|
|
3925
|
-
var
|
|
4157
|
+
var _hoisted_33$6 = { class: "mint-topbar-dropdown-item__label" };
|
|
4158
|
+
var _hoisted_34$6 = {
|
|
3926
4159
|
key: 0,
|
|
3927
4160
|
class: "mint-topbar-dropdown-item__description"
|
|
3928
4161
|
};
|
|
3929
|
-
var
|
|
3930
|
-
var
|
|
3931
|
-
var
|
|
4162
|
+
var _hoisted_35$6 = ["onClick"];
|
|
4163
|
+
var _hoisted_36$6 = { class: "mint-topbar-dropdown-item__label" };
|
|
4164
|
+
var _hoisted_37$5 = {
|
|
3932
4165
|
key: 0,
|
|
3933
4166
|
class: "mint-topbar-dropdown-item__description"
|
|
3934
4167
|
};
|
|
3935
|
-
var
|
|
3936
|
-
var
|
|
4168
|
+
var _hoisted_38$5 = { class: "mint-topbar__right" };
|
|
4169
|
+
var _hoisted_39$4 = {
|
|
3937
4170
|
key: 0,
|
|
3938
4171
|
class: "mint-topbar__standalone-badge"
|
|
3939
4172
|
};
|
|
3940
|
-
var
|
|
4173
|
+
var _hoisted_40$4 = {
|
|
3941
4174
|
key: 2,
|
|
3942
4175
|
class: "mint-topbar__standalone-badge"
|
|
3943
4176
|
};
|
|
3944
|
-
var
|
|
4177
|
+
var _hoisted_41$4 = {
|
|
3945
4178
|
key: 0,
|
|
3946
4179
|
class: "mint-topbar__icon-btn-dot",
|
|
3947
4180
|
"aria-hidden": "true"
|
|
3948
4181
|
};
|
|
3949
|
-
var
|
|
3950
|
-
var
|
|
4182
|
+
var _hoisted_42$3 = { class: "mint-topbar__profile-avatar" };
|
|
4183
|
+
var _hoisted_43$3 = {
|
|
3951
4184
|
key: 0,
|
|
3952
4185
|
class: "mint-topbar__profile-name"
|
|
3953
4186
|
};
|
|
3954
|
-
var SVG_PATH_PREFIX = "M";
|
|
3955
4187
|
//#endregion
|
|
3956
4188
|
//#region src/components/AppTopBar.vue
|
|
3957
4189
|
var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
@@ -4023,7 +4255,8 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4023
4255
|
"plugin-switcher-install",
|
|
4024
4256
|
"account-menu-select",
|
|
4025
4257
|
"sign-out",
|
|
4026
|
-
"notifications-click"
|
|
4258
|
+
"notifications-click",
|
|
4259
|
+
"settings-values-change"
|
|
4027
4260
|
],
|
|
4028
4261
|
setup(__props, { emit: __emit }) {
|
|
4029
4262
|
/** Full application top bar with brand logo, page selector or plugin switcher, centered pill nav, experiment popover, and avatar menu. */
|
|
@@ -4033,10 +4266,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4033
4266
|
const { isIntegrated, plugin } = usePlatformContext();
|
|
4034
4267
|
const isStandalone = computed(() => !isIntegrated.value);
|
|
4035
4268
|
const appExperiment = inject(APP_EXPERIMENT_KEY, null);
|
|
4036
|
-
const
|
|
4037
|
-
const icon = plugin.value?.icon;
|
|
4038
|
-
return icon && icon.startsWith(SVG_PATH_PREFIX) ? icon : null;
|
|
4039
|
-
});
|
|
4269
|
+
const hasPluginIcon = computed(() => !!plugin.value?.icon);
|
|
4040
4270
|
const profileInitial = computed(() => {
|
|
4041
4271
|
if (props.userInitial) return props.userInitial;
|
|
4042
4272
|
if (props.userName) return props.userName.charAt(0).toUpperCase();
|
|
@@ -4104,14 +4334,35 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4104
4334
|
key: 0,
|
|
4105
4335
|
href: __props.homePath,
|
|
4106
4336
|
class: "mint-topbar-home-link"
|
|
4107
|
-
}, [renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
4337
|
+
}, [renderSlot(_ctx.$slots, "icon", {}, () => [hasPluginIcon.value ? (openBlock(), createBlock(PluginIcon_default, {
|
|
4338
|
+
key: 0,
|
|
4339
|
+
class: "mint-topbar__plugin-icon",
|
|
4340
|
+
icon: unref(plugin).icon,
|
|
4341
|
+
tone: unref(plugin).color,
|
|
4342
|
+
size: "md",
|
|
4343
|
+
variant: "solid"
|
|
4344
|
+
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div", _hoisted_4$28, [..._cache[22] || (_cache[22] = [createElementVNode("div", { class: "mint-topbar__logo-icon" }, [createElementVNode("span", { class: "mint-topbar__logo-text" }, "M")], -1)])])) : createCommentVNode("", true)])])], 8, _hoisted_3$31)) : __props.homePath ? (openBlock(), createBlock(_component_router_link, {
|
|
4108
4345
|
key: 1,
|
|
4109
4346
|
to: __props.homePath,
|
|
4110
4347
|
class: "mint-topbar-home-link"
|
|
4111
4348
|
}, {
|
|
4112
|
-
default: withCtx(() => [renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
4349
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "icon", {}, () => [hasPluginIcon.value ? (openBlock(), createBlock(PluginIcon_default, {
|
|
4350
|
+
key: 0,
|
|
4351
|
+
class: "mint-topbar__plugin-icon",
|
|
4352
|
+
icon: unref(plugin).icon,
|
|
4353
|
+
tone: unref(plugin).color,
|
|
4354
|
+
size: "md",
|
|
4355
|
+
variant: "solid"
|
|
4356
|
+
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div", _hoisted_5$26, [..._cache[23] || (_cache[23] = [createElementVNode("div", { class: "mint-topbar__logo-icon" }, [createElementVNode("span", { class: "mint-topbar__logo-text" }, "M")], -1)])])) : createCommentVNode("", true)])])]),
|
|
4113
4357
|
_: 3
|
|
4114
|
-
}, 8, ["to"])) : renderSlot(_ctx.$slots, "icon", { key: 2 }, () => [
|
|
4358
|
+
}, 8, ["to"])) : renderSlot(_ctx.$slots, "icon", { key: 2 }, () => [hasPluginIcon.value ? (openBlock(), createBlock(PluginIcon_default, {
|
|
4359
|
+
key: 0,
|
|
4360
|
+
class: "mint-topbar__plugin-icon",
|
|
4361
|
+
icon: unref(plugin).icon,
|
|
4362
|
+
tone: unref(plugin).color,
|
|
4363
|
+
size: "md",
|
|
4364
|
+
variant: "solid"
|
|
4365
|
+
}, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div", _hoisted_6$25, [..._cache[24] || (_cache[24] = [createElementVNode("div", { class: "mint-topbar__logo-icon" }, [createElementVNode("span", { class: "mint-topbar__logo-text" }, "M")], -1)])])) : createCommentVNode("", true)])])]),
|
|
4115
4366
|
hasPluginSwitcher.value && __props.pluginSwitcher ? (openBlock(), createBlock(AppPluginSwitcher_default, {
|
|
4116
4367
|
key: 0,
|
|
4117
4368
|
current: __props.pluginSwitcher.current,
|
|
@@ -4139,7 +4390,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4139
4390
|
fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, "page-selector-item-icon", normalizeProps(guardReactiveProps(slotProps)))]),
|
|
4140
4391
|
key: "1"
|
|
4141
4392
|
} : void 0]), 1032, ["pages", "current-page-id"])) : createCommentVNode("", true),
|
|
4142
|
-
hasTitleGroup.value ? (openBlock(), createElementBlock("div",
|
|
4393
|
+
hasTitleGroup.value ? (openBlock(), createElementBlock("div", _hoisted_7$23, [createElementVNode("span", _hoisted_8$21, toDisplayString(__props.title), 1), createElementVNode("span", _hoisted_9$21, toDisplayString(__props.subtitle), 1)])) : hasLegacyBreadcrumb.value ? (openBlock(), createElementBlock("div", {
|
|
4143
4394
|
key: 3,
|
|
4144
4395
|
ref_key: "dropdownRef",
|
|
4145
4396
|
ref: dropdownRef,
|
|
@@ -4160,10 +4411,10 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4160
4411
|
"stroke-width": "2",
|
|
4161
4412
|
"stroke-linecap": "round",
|
|
4162
4413
|
"stroke-linejoin": "round"
|
|
4163
|
-
}, [..._cache[
|
|
4164
|
-
__props.title ? (openBlock(), createElementBlock("svg",
|
|
4165
|
-
__props.title ? (openBlock(), createElementBlock("span",
|
|
4166
|
-
withDirectives(createElementVNode("div",
|
|
4414
|
+
}, [..._cache[25] || (_cache[25] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])) : (openBlock(), createElementBlock("span", _hoisted_10$20, toDisplayString(__props.pluginName), 1)),
|
|
4415
|
+
__props.title ? (openBlock(), createElementBlock("svg", _hoisted_11$20, [..._cache[26] || (_cache[26] = [createElementVNode("path", { d: "m9 18 6-6-6-6" }, null, -1)])])) : createCommentVNode("", true),
|
|
4416
|
+
__props.title ? (openBlock(), createElementBlock("span", _hoisted_12$18, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
4417
|
+
withDirectives(createElementVNode("div", _hoisted_13$18, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.pages, (page) => {
|
|
4167
4418
|
return openBlock(), createElementBlock(Fragment, { key: page.id }, [page.href ? (openBlock(), createElementBlock("a", {
|
|
4168
4419
|
key: 0,
|
|
4169
4420
|
href: page.href,
|
|
@@ -4172,7 +4423,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4172
4423
|
"mint-topbar-dropdown-item--disabled": page.disabled
|
|
4173
4424
|
}]),
|
|
4174
4425
|
onClick: _cache[3] || (_cache[3] = ($event) => showPagesDropdown.value = false)
|
|
4175
|
-
}, [createElementVNode("span",
|
|
4426
|
+
}, [createElementVNode("span", _hoisted_15$16, toDisplayString(page.label), 1), page.description ? (openBlock(), createElementBlock("span", _hoisted_16$15, toDisplayString(page.description), 1)) : createCommentVNode("", true)], 10, _hoisted_14$17)) : page.to ? (openBlock(), createBlock(_component_router_link, {
|
|
4176
4427
|
key: 1,
|
|
4177
4428
|
to: page.to,
|
|
4178
4429
|
class: normalizeClass(["mint-topbar-dropdown-item", {
|
|
@@ -4181,7 +4432,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4181
4432
|
}]),
|
|
4182
4433
|
onClick: _cache[4] || (_cache[4] = ($event) => showPagesDropdown.value = false)
|
|
4183
4434
|
}, {
|
|
4184
|
-
default: withCtx(() => [createElementVNode("span",
|
|
4435
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_17$15, toDisplayString(page.label), 1), page.description ? (openBlock(), createElementBlock("span", _hoisted_18$15, toDisplayString(page.description), 1)) : createCommentVNode("", true)]),
|
|
4185
4436
|
_: 2
|
|
4186
4437
|
}, 1032, ["to", "class"])) : (openBlock(), createElementBlock("button", {
|
|
4187
4438
|
key: 2,
|
|
@@ -4191,17 +4442,17 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4191
4442
|
"mint-topbar-dropdown-item--disabled": page.disabled
|
|
4192
4443
|
}]),
|
|
4193
4444
|
onClick: ($event) => handlePageClick(page)
|
|
4194
|
-
}, [createElementVNode("span",
|
|
4445
|
+
}, [createElementVNode("span", _hoisted_20$15, toDisplayString(page.label), 1), page.description ? (openBlock(), createElementBlock("span", _hoisted_21$13, toDisplayString(page.description), 1)) : createCommentVNode("", true)], 10, _hoisted_19$15))], 64);
|
|
4195
4446
|
}), 128))], 512), [[vShow, showPagesDropdown.value]])
|
|
4196
|
-
], 512)) : hasTitleOnly.value ? (openBlock(), createElementBlock("span",
|
|
4447
|
+
], 512)) : hasTitleOnly.value ? (openBlock(), createElementBlock("span", _hoisted_22$11, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
|
|
4197
4448
|
renderSlot(_ctx.$slots, "nav"),
|
|
4198
|
-
hasPillNav.value || _ctx.$slots.center ? (openBlock(), createElementBlock("div",
|
|
4449
|
+
hasPillNav.value || _ctx.$slots.center ? (openBlock(), createElementBlock("div", _hoisted_23$9, [renderSlot(_ctx.$slots, "center", {}, () => [hasPillNav.value && __props.pillNav ? (openBlock(), createBlock(AppPillNav_default, {
|
|
4199
4450
|
key: 0,
|
|
4200
4451
|
items: __props.pillNav,
|
|
4201
4452
|
"current-item-id": __props.currentPillId,
|
|
4202
4453
|
onSelect: _cache[5] || (_cache[5] = ($event) => emit("pill-select", $event))
|
|
4203
4454
|
}, null, 8, ["items", "current-item-id"])) : createCommentVNode("", true)])])) : createCommentVNode("", true),
|
|
4204
|
-
!hasPillNav.value && __props.tabs?.length ? (openBlock(), createElementBlock("div",
|
|
4455
|
+
!hasPillNav.value && __props.tabs?.length ? (openBlock(), createElementBlock("div", _hoisted_24$9, [createElementVNode("div", _hoisted_25$8, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.tabs, (tab) => {
|
|
4205
4456
|
return openBlock(), createElementBlock("div", {
|
|
4206
4457
|
key: tab.id,
|
|
4207
4458
|
ref_for: true,
|
|
@@ -4226,7 +4477,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4226
4477
|
"stroke-width": "2",
|
|
4227
4478
|
"stroke-linecap": "round",
|
|
4228
4479
|
"stroke-linejoin": "round"
|
|
4229
|
-
}, [..._cache[
|
|
4480
|
+
}, [..._cache[27] || (_cache[27] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))], 10, _hoisted_26$8)) : tab.href ? (openBlock(), createElementBlock("a", {
|
|
4230
4481
|
key: 1,
|
|
4231
4482
|
href: tab.href,
|
|
4232
4483
|
class: normalizeClass([
|
|
@@ -4234,7 +4485,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4234
4485
|
{ "mint-topbar-tab--active": tab.id === __props.currentTabId },
|
|
4235
4486
|
{ "mint-topbar-tab--disabled": tab.disabled }
|
|
4236
4487
|
])
|
|
4237
|
-
}, toDisplayString(tab.label), 11,
|
|
4488
|
+
}, toDisplayString(tab.label), 11, _hoisted_27$7)) : tab.to ? (openBlock(), createBlock(_component_router_link, {
|
|
4238
4489
|
key: 2,
|
|
4239
4490
|
to: tab.to,
|
|
4240
4491
|
class: normalizeClass([
|
|
@@ -4254,7 +4505,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4254
4505
|
{ "mint-topbar-tab--disabled": tab.disabled }
|
|
4255
4506
|
]),
|
|
4256
4507
|
onClick: ($event) => handleTabClick(tab)
|
|
4257
|
-
}, toDisplayString(tab.label), 11,
|
|
4508
|
+
}, toDisplayString(tab.label), 11, _hoisted_28$6)), tab.children?.length ? withDirectives((openBlock(), createElementBlock("div", _hoisted_29$6, [(openBlock(true), createElementBlock(Fragment, null, renderList(tab.children, (option) => {
|
|
4258
4509
|
return openBlock(), createElementBlock(Fragment, { key: option.id }, [option.href ? (openBlock(), createElementBlock("a", {
|
|
4259
4510
|
key: 0,
|
|
4260
4511
|
href: option.href,
|
|
@@ -4264,7 +4515,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4264
4515
|
{ "mint-topbar-dropdown-item--disabled": option.disabled }
|
|
4265
4516
|
]),
|
|
4266
4517
|
onClick: _cache[6] || (_cache[6] = ($event) => openTabDropdown.value = null)
|
|
4267
|
-
}, [createElementVNode("span",
|
|
4518
|
+
}, [createElementVNode("span", _hoisted_31$6, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_32$6, toDisplayString(option.description), 1)) : createCommentVNode("", true)], 10, _hoisted_30$6)) : option.to ? (openBlock(), createBlock(_component_router_link, {
|
|
4268
4519
|
key: 1,
|
|
4269
4520
|
to: option.to,
|
|
4270
4521
|
class: normalizeClass([
|
|
@@ -4274,7 +4525,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4274
4525
|
]),
|
|
4275
4526
|
onClick: _cache[7] || (_cache[7] = ($event) => openTabDropdown.value = null)
|
|
4276
4527
|
}, {
|
|
4277
|
-
default: withCtx(() => [createElementVNode("span",
|
|
4528
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_33$6, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_34$6, toDisplayString(option.description), 1)) : createCommentVNode("", true)]),
|
|
4278
4529
|
_: 2
|
|
4279
4530
|
}, 1032, ["to", "class"])) : (openBlock(), createElementBlock("button", {
|
|
4280
4531
|
key: 2,
|
|
@@ -4285,11 +4536,11 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4285
4536
|
{ "mint-topbar-dropdown-item--disabled": option.disabled }
|
|
4286
4537
|
]),
|
|
4287
4538
|
onClick: ($event) => handleTabOptionClick(option, tab)
|
|
4288
|
-
}, [createElementVNode("span",
|
|
4539
|
+
}, [createElementVNode("span", _hoisted_36$6, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_37$5, toDisplayString(option.description), 1)) : createCommentVNode("", true)], 10, _hoisted_35$6))], 64);
|
|
4289
4540
|
}), 128))], 512)), [[vShow, openTabDropdown.value === tab.id]]) : createCommentVNode("", true)], 512);
|
|
4290
4541
|
}), 128))])])) : createCommentVNode("", true),
|
|
4291
|
-
createElementVNode("div",
|
|
4292
|
-
__props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span",
|
|
4542
|
+
createElementVNode("div", _hoisted_38$5, [
|
|
4543
|
+
__props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span", _hoisted_39$4, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
|
|
4293
4544
|
unref(appExperiment) && !isStandalone.value ? (openBlock(), createBlock(ExperimentPopover_default, {
|
|
4294
4545
|
key: 1,
|
|
4295
4546
|
"experiment-name": unref(appExperiment).experimentName.value,
|
|
@@ -4315,7 +4566,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4315
4566
|
"save-loading",
|
|
4316
4567
|
"save-success-message"
|
|
4317
4568
|
])) : createCommentVNode("", true),
|
|
4318
|
-
unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span",
|
|
4569
|
+
unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span", _hoisted_40$4, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
|
|
4319
4570
|
renderSlot(_ctx.$slots, "actions"),
|
|
4320
4571
|
__props.showNotifications ? (openBlock(), createElementBlock("button", {
|
|
4321
4572
|
key: 3,
|
|
@@ -4323,7 +4574,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4323
4574
|
class: "mint-topbar__icon-btn",
|
|
4324
4575
|
"aria-label": "Notifications",
|
|
4325
4576
|
onClick: _cache[11] || (_cache[11] = ($event) => emit("notifications-click"))
|
|
4326
|
-
}, [_cache[
|
|
4577
|
+
}, [_cache[28] || (_cache[28] = createElementVNode("svg", {
|
|
4327
4578
|
class: "mint-topbar__icon-btn-icon",
|
|
4328
4579
|
viewBox: "0 0 24 24",
|
|
4329
4580
|
fill: "none",
|
|
@@ -4331,7 +4582,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4331
4582
|
"stroke-width": "2",
|
|
4332
4583
|
"stroke-linecap": "round",
|
|
4333
4584
|
"stroke-linejoin": "round"
|
|
4334
|
-
}, [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",
|
|
4585
|
+
}, [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_41$4)) : createCommentVNode("", true)])) : createCommentVNode("", true),
|
|
4335
4586
|
__props.showThemeToggle ? (openBlock(), createBlock(ThemeToggle_default, {
|
|
4336
4587
|
key: 4,
|
|
4337
4588
|
size: "sm"
|
|
@@ -4342,7 +4593,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4342
4593
|
class: "mint-topbar__settings-btn",
|
|
4343
4594
|
"aria-label": "Open settings",
|
|
4344
4595
|
onClick: _cache[12] || (_cache[12] = ($event) => settingsOpen.value = true)
|
|
4345
|
-
}, [..._cache[
|
|
4596
|
+
}, [..._cache[29] || (_cache[29] = [createElementVNode("svg", {
|
|
4346
4597
|
class: "mint-topbar__settings-icon",
|
|
4347
4598
|
viewBox: "0 0 24 24",
|
|
4348
4599
|
fill: "none",
|
|
@@ -4362,7 +4613,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4362
4613
|
"aria-label": "Admin Dashboard",
|
|
4363
4614
|
onClick: _cache[13] || (_cache[13] = ($event) => emit("admin-click"))
|
|
4364
4615
|
}, {
|
|
4365
|
-
default: withCtx(() => [..._cache[
|
|
4616
|
+
default: withCtx(() => [..._cache[30] || (_cache[30] = [createElementVNode("svg", {
|
|
4366
4617
|
class: "mint-topbar__admin-icon",
|
|
4367
4618
|
viewBox: "0 0 24 24",
|
|
4368
4619
|
fill: "none",
|
|
@@ -4400,7 +4651,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4400
4651
|
class: "mint-topbar__profile-btn",
|
|
4401
4652
|
"aria-label": "Edit profile",
|
|
4402
4653
|
onClick: _cache[16] || (_cache[16] = ($event) => emit("profile-click"))
|
|
4403
|
-
}, [createElementVNode("div",
|
|
4654
|
+
}, [createElementVNode("div", _hoisted_42$3, toDisplayString(profileInitial.value), 1), __props.userName ? (openBlock(), createElementBlock("span", _hoisted_43$3, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true)
|
|
4404
4655
|
])
|
|
4405
4656
|
])], 2),
|
|
4406
4657
|
__props.showSettings ? (openBlock(), createBlock(SettingsModal_default, {
|
|
@@ -4410,7 +4661,12 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4410
4661
|
title: __props.settingsConfig?.title,
|
|
4411
4662
|
tabs: __props.settingsConfig?.tabs,
|
|
4412
4663
|
"show-appearance": __props.settingsConfig?.showAppearance ?? true,
|
|
4413
|
-
size: __props.settingsConfig?.size
|
|
4664
|
+
size: __props.settingsConfig?.size,
|
|
4665
|
+
layout: __props.settingsConfig?.layout,
|
|
4666
|
+
schema: __props.settingsConfig?.schema,
|
|
4667
|
+
values: __props.settingsConfig?.values,
|
|
4668
|
+
enhancements: __props.settingsConfig?.enhancements,
|
|
4669
|
+
"onUpdate:values": _cache[18] || (_cache[18] = ($event) => emit("settings-values-change", $event))
|
|
4414
4670
|
}, createSlots({
|
|
4415
4671
|
appearance: withCtx(() => [renderSlot(_ctx.$slots, "settings-appearance")]),
|
|
4416
4672
|
_: 2
|
|
@@ -4424,15 +4680,19 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
|
|
|
4424
4680
|
"title",
|
|
4425
4681
|
"tabs",
|
|
4426
4682
|
"show-appearance",
|
|
4427
|
-
"size"
|
|
4683
|
+
"size",
|
|
4684
|
+
"layout",
|
|
4685
|
+
"schema",
|
|
4686
|
+
"values",
|
|
4687
|
+
"enhancements"
|
|
4428
4688
|
])) : createCommentVNode("", true),
|
|
4429
4689
|
unref(appExperiment) && !isStandalone.value ? (openBlock(), createBlock(ExperimentSelectorModal_default, {
|
|
4430
4690
|
key: 1,
|
|
4431
4691
|
"model-value": unref(appExperiment).showModal.value,
|
|
4432
4692
|
"current-experiment-id": unref(appExperiment).experimentId.value,
|
|
4433
|
-
"onUpdate:modelValue": _cache[
|
|
4434
|
-
onSelect: _cache[
|
|
4435
|
-
onDeselect: _cache[
|
|
4693
|
+
"onUpdate:modelValue": _cache[19] || (_cache[19] = ($event) => $event ? unref(appExperiment).openModal() : unref(appExperiment).closeModal()),
|
|
4694
|
+
onSelect: _cache[20] || (_cache[20] = ($event) => unref(appExperiment).handleSelect($event)),
|
|
4695
|
+
onDeselect: _cache[21] || (_cache[21] = ($event) => unref(appExperiment).handleDetach())
|
|
4436
4696
|
}, null, 8, ["model-value", "current-experiment-id"])) : createCommentVNode("", true)
|
|
4437
4697
|
], 64);
|
|
4438
4698
|
};
|
|
@@ -13384,57 +13644,6 @@ var BatchProgressList_default = /* @__PURE__ */ defineComponent({
|
|
|
13384
13644
|
}
|
|
13385
13645
|
});
|
|
13386
13646
|
//#endregion
|
|
13387
|
-
//#region src/components/FormFieldRenderer.vue
|
|
13388
|
-
var FormFieldRenderer_default = /* @__PURE__ */ defineComponent({
|
|
13389
|
-
__name: "FormFieldRenderer",
|
|
13390
|
-
props: {
|
|
13391
|
-
field: {},
|
|
13392
|
-
resolvedProps: {},
|
|
13393
|
-
form: {}
|
|
13394
|
-
},
|
|
13395
|
-
setup(__props) {
|
|
13396
|
-
/**
|
|
13397
|
-
* Renders a single form field inside a FormField wrapper.
|
|
13398
|
-
*
|
|
13399
|
-
* Resolves the SDK component for the field type from the registry, shows
|
|
13400
|
-
* validation errors only after the field has been touched, and handles the
|
|
13401
|
-
* FileUploader's event-based upload pattern via `handleUpload`. Consumers can
|
|
13402
|
-
* override rendering via the `field:<name>` slot.
|
|
13403
|
-
*/
|
|
13404
|
-
const props = __props;
|
|
13405
|
-
const entry = computed(() => getFieldRegistryEntry(props.field.type));
|
|
13406
|
-
const errorMessage = computed(() => {
|
|
13407
|
-
const name = props.field.name;
|
|
13408
|
-
return props.form.touched[name] ? props.form.errors[name] : null;
|
|
13409
|
-
});
|
|
13410
|
-
function handleUpload(files) {
|
|
13411
|
-
props.form.setFieldValue(props.field.name, files);
|
|
13412
|
-
}
|
|
13413
|
-
return (_ctx, _cache) => {
|
|
13414
|
-
return openBlock(), createBlock(FormField_default, {
|
|
13415
|
-
label: __props.field.label,
|
|
13416
|
-
error: errorMessage.value ?? void 0,
|
|
13417
|
-
hint: __props.field.hint,
|
|
13418
|
-
required: !!__props.field.validation?.required,
|
|
13419
|
-
"html-for": __props.field.name
|
|
13420
|
-
}, {
|
|
13421
|
-
default: withCtx(() => [renderSlot(_ctx.$slots, `field:${__props.field.name}`, {
|
|
13422
|
-
field: __props.field,
|
|
13423
|
-
form: __props.form,
|
|
13424
|
-
fieldProps: __props.form.getFieldProps(__props.field.name)
|
|
13425
|
-
}, () => [entry.value.vModel ? (openBlock(), createBlock(resolveDynamicComponent(entry.value.component), normalizeProps(mergeProps({ key: 0 }, __props.resolvedProps)), null, 16)) : (openBlock(), createBlock(resolveDynamicComponent(entry.value.component), mergeProps({ key: 1 }, __props.resolvedProps, { onUpload: handleUpload }), null, 16))])]),
|
|
13426
|
-
_: 3
|
|
13427
|
-
}, 8, [
|
|
13428
|
-
"label",
|
|
13429
|
-
"error",
|
|
13430
|
-
"hint",
|
|
13431
|
-
"required",
|
|
13432
|
-
"html-for"
|
|
13433
|
-
]);
|
|
13434
|
-
};
|
|
13435
|
-
}
|
|
13436
|
-
});
|
|
13437
|
-
//#endregion
|
|
13438
13647
|
//#region src/components/FormSection.vue?vue&type=script&setup=true&lang.ts
|
|
13439
13648
|
var _hoisted_1$7 = {
|
|
13440
13649
|
key: 0,
|
|
@@ -15056,6 +15265,7 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
15056
15265
|
MultiSelect: () => MultiSelect_default,
|
|
15057
15266
|
NumberInput: () => NumberInput_default,
|
|
15058
15267
|
PlateMapEditor: () => PlateMapEditor_default,
|
|
15268
|
+
PluginIcon: () => PluginIcon_default,
|
|
15059
15269
|
ProgressBar: () => ProgressBar_default,
|
|
15060
15270
|
ProtocolStepEditor: () => ProtocolStepEditor_default,
|
|
15061
15271
|
RackEditor: () => RackEditor_default,
|
|
@@ -15084,6 +15294,6 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
15084
15294
|
WellPlate: () => WellPlate_default
|
|
15085
15295
|
});
|
|
15086
15296
|
//#endregion
|
|
15087
|
-
export { ExperimentPopover_default as $,
|
|
15297
|
+
export { ExperimentPopover_default as $, RackEditor_default as A, AppContainer_default as B, hexToHsl as C, ExperimentTimeline_default as D, StepWizard_default as E, Avatar_default as F, AppPluginSwitcher_default as G, AppSidebar_default as H, ProgressBar_default as I, AppPageSelector_default as J, AppAvatarMenu_default as K, StatusIndicator_default as L, ChartContainer_default as M, Tooltip_default as N, PlateMapEditor_default as O, Breadcrumb_default as P, Skeleton_default as Q, Divider_default as R, deriveShade as S, AutoGroupModal_default as T, AppTopBar_default as U, AppLayout_default as V, PluginIcon_default as W, ExperimentCodeBadge_default as X, ExperimentSelectorModal_default as Y, EmptyState_default as Z, ReagentEditor_default as _, ColorSlider_default as _t, TimeRangeInput_default as a, ThemeToggle_default as at, GroupingModal_default as b, FormActions_default as c, AlertBox_default as ct, AuditTrail_default as d, Calendar_default as dt, ConfirmDialog_default as et, ChemicalFormula_default as f, DropdownButton_default as ft, ReagentList_default as g, BaseTabs_default as gt, SampleHierarchyTree_default as h, BaseModal_default as ht, ScheduleCalendar_default as i, SettingsButton_default as it, WellPlate_default as j, SampleLegend_default as k, FormSection_default as l, FormField_default as lt, ProtocolStepEditor_default as m, SegmentedControl_default as mt, FitPanel_default as n, FormFieldRenderer_default as nt, ExperimentDataViewer_default as o, IconButton_default as ot, ScientificNumber_default as p, BasePill_default as pt, AppPillNav_default as q, ResourceCard_default as r, CollapsibleCard_default as rt, FormBuilder_default as s, ToastNotification_default as st, components_exports as t, SettingsModal_default as tt, BatchProgressList_default as u, DataFrame_default as ut, DoseCalculator_default as v, BaseButton_default as vt, hslToHex as w, SampleSelector_default as x, GroupAssigner_default as y, LoadingSpinner_default as z };
|
|
15088
15298
|
|
|
15089
|
-
//# sourceMappingURL=components-
|
|
15299
|
+
//# sourceMappingURL=components-_XqPEhP9.js.map
|